/*
	this will manage multiple video players on a story page
   the web tag looks like this where the number with each variable and player area needs to be unique per video
   and the div wrapping the detail table needs to match the video id
   
*********************************************   
<div class="cnnCVPPlayer">
   <div id="playerArea1"></div>
   <div id="060210.vansickle_tiger.mov.testjenny">
    	<div class="cnnVideoTimerCont"><span class="adCountdown"></span></div>
       <dl class="cnnVideoDetailsTable">
    		<dt><span class="cvpHeadline">Inside Report: Tiger says little</span></dt>
    		<dd><strong>Source:</strong> <span class="cvpSource">SI</span><span class="isNhlVideo"></span></dd>
       </dl>
       <h6 class="cvpDescription">This is the description for the first video on the page</h6>
   </div>
</div>
<script language="JavaScript" type="text/javascript">
<!--
var player1;
var videoId1 = '060210.vansickle_tiger.mov.testjenny';
var playerObjId1 = 'cvp_1'
var videoContext1 = 'story_4_1';
player1 = buildCVP(videoId1,videoContext1,playerObjId1);
player1.embedSWF("playerArea1");
//-->
</script>
****************************************************
   
*/
/**** THIS FUNCTION IS REPLACED IN GLOBAL VIDEO JS FILE
function buildCVP(videoId,vContext,playerObjId){
	// get width and height values
   var vWidth; var vHeight; var autoStart = 1;
	if (vContext == "storyEmbed_4_1") {
		vWidth = 400; vHeight = 225; autoStart = 0;
   } else { // main, GotuitStream
		vWidth = 640; vHeight = 360;
	}
var thiscvpplayer = new CVP({
	 id : playerObjId, // id of object
    width : vWidth, 
    height : vHeight,
    flashVars : {
    	contentId : videoId,
    	context : vContext
    },
    embed : {
        containerSwf : 'http://i.cdn.turner.com/si/.element/swf/4.1/global/si_video.swf',
        expressInstallSwf : 'http://i.cdn.turner.com/si/.e1d/swf/4.0/global/expressInstall.swf',
        options : {
            quality : 'high',
            bgcolor : '#000000',
            allowFullScreen : 'true',
            allowScriptAccess : 'always',
            wmode : 'transparent'
        }
    },
    onContentTrackingAdCountdown : function(secs, mode) {	
    	// this manages the ad countdown associated for this specific player

       var adCont = $c('cnnVideoTimerCont', 'div', $e(videoId));
       var adMsgCont = $c('adCountdown', 'span', $e(videoId));
   	var detailCont = $c('cnnVideoDetailsTable', 'dl', $e(videoId));
       var descrCont = $c('cvpDescription', 'h6', $e(videoId));
       
       if (secs == 0) {
       	if(adCont[0] && detailCont[0])
           {
        		adCont[0].style.display = 'none';
               detailCont[0].style.display = 'block';
               if(descrCont[0]) descrCont[0].style.display = 'block';
           }
       } else {
       	if(adCont[0] && detailCont[0] && adMsgCont[0])
           {
           	adCont[0].style.display = 'block';
               detailCont[0].style.display = 'none';
               if(descrCont[0])descrCont[0].style.display = 'none';
        		if (secs == 1) {
        			adMsgCont[0].innerHTML = 'Your video will play in <span class="cnnVideoAdCountdown">00:01</span>';
        		} else {
        			if(secs < 10)secs = '0'+secs;
        			adMsgCont[0].innerHTML = 'Your video will play in <span class="cnnVideoAdCountdown">00:' + secs + '</span>';
        		}
           }
    	}
    }, 
    
    onContentPlay : function(videoId) {
    	document.getElementById(adArea).style.display = 'none';
    }
});
	cvpPlayers.push(thiscvpplayer);
   return thiscvpplayer;
}
*****/

function siVideoBegin(cvpInstance, videoId) { 
	cnnInitVideoConfig(cvpInstance, videoId); 
}

function siVideoPlay(cvpInstance, videoId) {
	var cvpData = cvpInstance.getContentEntry(videoId);
	var cvpObject = window.JSON.parse(cvpData);
	var videoSource = cvpObject.source;
	if (videoSource == 'Sports Illustrated') {
		videoSource = 'SI';
	}
	if ($e('cvpSource')) {$e('cvpSource').innerHTML = videoSource;}
	document.getElementById(adArea).style.display = 'none';
}

function siVideoAdStarted(cvpInstance, videoId) { }

function siVideoAdFinished(cvpInstance, videoId) { }

function siVideoTrackingAdCountdown(secs) {
    	// this manages the ad countdown associated for this specific player

       if (secs == 0) {
         if ($('div.cnnVideoTimerCont').is('*')) {
       	       $('div.cnnVideoTimerCont').hide();
         }
         if($('dl.cnnVideoDetailsTable').is('*')) {
               $('dl.cnnVideoDetailsTable').show();
         }
         if($('h6.cvpDescription').is('*')) {
               $('h6.cvpDescription').show();
         }
       } else {
         if ($('div.cnnVideoTimerCont').is('*')) {
       	       $('div.cnnVideoTimerCont').show();
         }
         if($('dl.cnnVideoDetailsTable').is('*')) {
               $('dl.cnnVideoDetailsTable').hide();
         }
         if($('h6.cvpDescription').is('*')) {
               $('h6.cvpDescription').hide();
         }
         if (secs == 1) {
           $('span.adCountdown').html('Your video will play in <span class="cnnVideoAdCountdown">00:01</span>');
         } else {
           if(secs < 10) { secs = '0'+secs; }
           $('span.adCountdown').html('Your video will play in <span class="cnnVideoAdCountdown">00:' + secs + '</span>');
         }
       }
}

function siVideoPlayHead(cvpInstance, playheadTime, totalDuration) { }

function siVideoComplete(cvpInstance, videoId) { }

function siVideoPause(cvpInstance, videoId, paused) { }

function siVideoSeek() { }

function siSetAdSection() {
	var section_map = {
		"/football/nfl" : 'si.com_nfl_article',
		"/basketball/nba" : 'si.com_nba_article',
		"/baseball/mlb" : 'si.com_mlb_article',
		"/football/ncaa" : 'si.com_ncaafootball_article',
		"/basketball/ncaa" : 'si.com_ncaabasketball_article',
		"/hockey/nhl" : 'si.com_nhl_article',
		"/racing" : 'si.com_nascar_article',
		"/soccer" : 'si.com_soccer_article',
		"/tennis" : 'si.com_tennis_article',
		"/highschool" : 'si.com_highschool_article',
		"/specials/highschool-potw" : 'si.com_highschool_playeroftheweek',
		"/writers/peter_king" : 'si.com_nfl_writers_peterking',
		"/writers/don_banks" : 'si.com_nfl_writers_donbanks',
		"/writers/jerome_bettis" : 'si.com_nfl_writers_jeromebettis',
		"/writers/ross_tucker" : 'si.com_nfl_writers_rosstucker',
		"/writers/ian_thomsen" : 'si.com_nba_writers_ianthomsen',
		"/writers/chris_mannix" : 'si.com_nba_writers_chrismannix',
		"/writers/steve_aschburner" : 'si.com_nba_writers_steveaschburner',
		"/writers/jack_mccallum" : 'si.com_nba_writers_jackmccallum',
		"/writers/jon_heyman" : 'si.com_mlb_writers_jonheyman',
		"/writers/joe_posnanski" : 'si.com_mlb_writers_joeposnanski',
		"/writers/tom_verducci" : 'si.com_mlb_writers_tomverducci',
		"/writers/ted_keith" : 'si.com_mlb_writers_tedkeith',
		"/writers/stewart_mendel" : 'si.com_ncaafootball_writers_stewartmandel',
		"/writers/stewart_mandel" : 'si.com_ncaafootball_writers_stewartmandel',
		"/writers/andy_staples" : 'si.com_ncaafootball_writers_andystaples',
		"/writers/seth_davis" : 'si.com_ncaabasketball_writers_sethdavis',
		"/writers/luke_winn" : 'si.com_ncaabasketball_writers_lukewinn',
		"/writers/andy_glockner" : 'si.com_ncaabasketball_writers_andyglockner',
		"/writers/allan_muir" : 'si.com_nhl_writers_allanmuir',
		"/writers/jon_wertheim" : 'si.com_tennis_writers_jonwertheim'
	};
	var url_map = {
		"/heisman" : 'si.com_heismanwatch'
	};
	for (var sect in section_map) {
		if (cnnPageInfo_section == sect) {
			siLog.debug ('cnnInitVideoConfig: cnnCVP.setAdSection: ' + section_map[sect] );
			cnnCVP.setAdSection(section_map[sect]);
		}
	}
	for (var url in url_map) {
		if (cnnPageInfo_url.indexOf(url)>=0) {
			siLog.debug ('cnnInitVideoConfig: cnnCVP.setAdSection: ' + url_map[url] );
			cnnCVP.setAdSection(url_map[url]);
		}
	}
}

// Helper function for 'onVideoPlayerBegin'
function cnnInitVideoConfig(cvpId, videoId) {
	try {
		siLog.debug('cnnInitVideoConfig: cvpId='+cvpId);
		//var cvp_obj = CVP.instances[cvpId];
		var cvp_obj = cvpId;
		siLog.debug('cnnInitVideoConfig:1');
		var jsonText = cvp_obj.getContentEntry(videoId);
		siLog.debug('cnnInitVideoConfig:2');

		var videoObj = eval( "(" + jsonText + ")" );
		siLog.debug('cnnInitVideoConfig:3');
		var videoSource = videoObj.source;
		if (videoSource.toLowerCase() == 'nba') {
			cvp_obj.setTrackingContext("nba");
		} else {
			cvp_obj.setTrackingContext("si_default");
		}
	} catch (e) { }
}
