/*  ____________________________________________________
   | popPlayer
    ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ */
function popPlayer(titre, emission, video, promotion) {
	
	// relative links 
	// -------------------
	
	// Regexp pour une video
	var RegexpBrightCove = new RegExp("^[0-9]+$");
	if (video.toString().substring(0,7) != "http://"
	&&  video.toString().substring(0,6) != "mms://"
	&&  video != 'diffusionendirect')	{

		if (video.toString().substring(0,1) == "/") {
			video = "http://" + window.location.host + video;
		} else if (!RegexpBrightCove.test(video)){
			var pathname = '';
			var splitParam = window.location.pathname.toString().split("/");

			for (i=0; i<(splitParam.length-1); i++) {
			    pathname = pathname + splitParam[i] + "/";
			}
					
			video = "http://" + window.location.host + pathname + video;
		}	    
	}
	
	
	// from other servers
	// --------------------
	if (emission == "mysterecanoecom") {
		playerDomain = "tva.canoe.ca";
		reseau = 'mystere';
	} else if (emission == "prise2canoecom") {
		playerDomain = "tva.canoe.ca";
		reseau = 'prise2';
	} else if (!(/tva\.canoe\.ca/.test(window.location.host))                                  // prod
	&&         !(/[a-zA-Z]+tva-[0-9][0-9]\.dev\.canoe\.com/.test(window.location.host))        // ex: devtva-01.dev.canoe.com || stagingtva-01.dev.canoe.com
	&&         !(/[a-zA-Z]+tva-int-[0-9][0-9]\.dev\.canoe\.com/.test(window.location.host))) { // ex: devtva-int-01.dev.canoe.com
		playerDomain = "/devtva-12.dev.com.dev1.in.canoe.com";
		reseau = 'TVA';
	} else {
		playerDomain = window.location.host;
		reseau = 'TVA';
	}
	
	
	if (typeof(promotion) == "undefined") { promotion = ''; }

	var preroll = true;

	
	// base parameters
	// -------------------
	var url;
	if (preroll)	{
		url = 'http://'+playerDomain+'/cgi-bin/player/player_preroll.pl?titre='+escape(titre)+'&emission='+escape(emission)+'&video='+escape(video)+'&reseau='+escape(reseau)+'&promotion='+escape(promotion);
	}
	else	{
		url = 'http://'+playerDomain+'/cgi-bin/player/player.pl?titre='+escape(titre)+'&emission='+escape(emission)+'&video='+escape(video)+'&reseau='+escape(reseau)+'&promotion='+escape(promotion);
	}
	var width   = 340;
	var height  = 480;
	var left    = 200;
	var top     = 200;
	var popname = 'playertva_'+emission;

	
	
	if (preroll)	{
		width  = 650;
		height = 490;
	}
	
	

	// custom player
	// -------------------
	/*if (emission == "deuxfilleslematin") {
		width  = 348;
		height = 400;
	}*/
		
	if (emission == "pourlemeilleuretpourlepire") {
		url = "http://ads5.canoe.ca/event.ng/Type=click&FlightID=12168&AdID=22179&TargetID=1973&Segments=2371,3502,4176,4788,7005&Targets=439,1973&Values=31,43,51,60,72,85,91,100,110,150,155,213,224,266,332,334,353,379,380,392,490,493,659,722,1086,1286,1315,1379,1380,1444,1467,1545,1549,1551,1567,1570,1620,1946,2234,2293,2307,2553,2670,2686,2698,2700,2702,2703,2788&RawValues=USERID%2Cc0a8dccd-11176-1094842570-1&Redirect="+url;
		width  = 519;
		height = 453;
	}
	
	if (emission == "retrouvailles") {
//		url_redirect = escape(url);
//		url = "http://ads5.canoe.ca/event.ng/Type=click&FlightID=12168&AdID=22179&TargetID=1973&Segments=2371,3502,4176,4788,7005&Targets=439,1973&Values=31,43,51,60,72,85,91,100,110,150,155,213,224,266,332,334,353,379,380,392,490,493,659,722,1086,1286,1315,1379,1380,1444,1467,1545,1549,1551,1567,1570,1620,1946,2234,2293,2307,2553,2670,2686,2698,2700,2702,2703,2788&RawValues=USERID%2Cc0a8dccd-11176-1094842570-1&Redirect="+url_redirect;
		width  = 610;
		height = 518;
	}

	if (emission == "banquier") {
		url	   = video;
		width  = 754;
		height = 455;
	}

	if (emission == "queferiezvouspour100piasses") {
		width  = 671;
		height = 493;
	}

	if (emission == "queferiezvouspour1000piasses") {
		width  = 671;
		height = 493;
	}

	if (emission == "mamaisonrona2007") {
		width  = 658;
		height = 444;
	}
	
	if (emission == "mamaisonrona2008") {
		width  = 658;
		height = 444;
	}
	
	if (emission == "mamaisonrona2009") {
		width  = 658;
		height = 444;
	}

	if (emission == "deuxfillesenvacances") {
		width  = 665;
		height = 504;
	}

	if (emission == "deuxfillesenvacances_nissan") {
		width  = 665;
		height = 504;
	}
	if (emission == "je") {
		var width   = 800;
		var height  = 444;
		widthBrightCove  = 480;
		heightBrightCove = 306;
		player 	  = 43787007001;
		publisher = 43787007001;
		url = url+"&player="+player+"&publisher="+publisher+"&width="+widthBrightCove+"&height="+heightBrightCove;
	}
	
	if (emission == "salutbonjour") {
		var width   = 800;
		var height  = 444;
		widthBrightCove  = 480;
		heightBrightCove = 306;
		player	  = 42806365001;
		publisher = 43787007001;
		url = url+"&player="+player+"&publisher="+publisher+"&width="+widthBrightCove+"&height="+heightBrightCove;
	}

	if (emission == "salutbonjourwe") {
		var width   = 800;
		var height  = 444;
		widthBrightCove  = 480;
		heightBrightCove = 306;
		player 	  = 42806365001;
		publisher = 43787007001;
		url = url+"&player="+player+"&publisher="+publisher+"&width="+widthBrightCove+"&height="+heightBrightCove;
	}

	
	// custom diffusionendirect
	// -------------------
	if (video == 'diffusionendirect') {
		width  = 650;
		height = 490;
		popname = video+'tva_'+emission;
	
		if (emission == "electionsquebec2007") {
			width  = 340;
			left   = screen.width-width-20;
		} 

		if (emission == "lesauditions") {
			width  = 705;
		} 
		
		if (emission == "operationenfantsoleil2009") {
			url = 'http://'+playerDomain+'/cgi-bin/player_enfantsoleil2009/player.pl?titre='+escape(titre)+'&emission='+escape(emission)+'&video='+escape(video)+'&reseau='+escape(reseau)+'&promotion='+escape(promotion);
		} 
		if (emission == "hommagemichaeljackson") {
                        url = 'http://'+playerDomain+'/cgi-bin/player_hommagemichaeljackson/player.pl?titre='+escape(titre)+'&emission='+escape(emission)+'&video='+escape(video)+'&reseau='+escape(reseau)+'&promotion='+escape(promotion);
                }

		if (emission == 'staracademie2009'
		||  emission == 'staracademiequo')	{
			url    =  'http://www.staracademie.ca/diffusion-web-academie/';
			width  = 705;
			height = 520;
		}
	}

	popPlayerWin = window.open(url, popname, 'scrollbars=no,width='+width+',height='+height+',top='+top+',left='+left );
	setTimeout('popPlayerWin.focus();',250);
	
	return false;
}



/*  ____________________________________________________
   | popDiffusionEnDirect
    ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ */

function popDiffusionEnDirect(emission) {

	// from other servers
	// --------------------
	if (emission == "mysterecanoecom") {
		playerDomain = "tva.canoe.ca";
		reseau = 'mystere';
	} else if (emission == "prise2canoecom") {
		playerDomain = "tva.canoe.ca";
		reseau = 'prise2';
	} else if (!(/tva\.canoe\.ca/.test(window.location.host))                                  // prod
	&&         !(/[a-zA-Z]+tva-[0-9][0-9]\.dev\.canoe\.com/.test(window.location.host))        // ex: devtva-01.dev.canoe.com || stagingtva-01.dev.canoe.com
	&&         !(/[a-zA-Z]+tva-int-[0-9][0-9]\.dev\.canoe\.com/.test(window.location.host))) { // ex: devtva-int-01.dev.canoe.com
		playerDomain = "tva.canoe.ca";
		reseau = 'TVA';
	} else {
		playerDomain = window.location.host;
		reseau = 'TVA';
	}




	window.location.replace('http://' + playerDomain + '/dws/?emission=' + emission);
	return false;
}



/*  ____________________________________________________
   | writeRealPlayer
    ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ */
function writeRealPlayer(video) {
	document.write(''+
		'<object id="player" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" height="120" width="160">'+
		'	<param name="controls" value="imagewindow" />'+
		'	<param name="console" value="clip1" />'+
		'	<param name="autostart" value="true" />'+
		'	<param name="src" value="'+video+'" />'+
		'	<embed src="'+video+'" type="audio/x-pn-realaudio-plugin" console="clip1" controls="imagewindow" height="120" width="160" autostart="true" />'+
		'</object><br />'+
		''+
		'<object id="player2" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" height="25" width="45">'+
		'	<param name="_extentx" value="1191" />'+
		'	<param name="_extenty" value="661" />'+
		'	<param name="autostart" value="0" />'+
		'	<param name="shuffle" value="0" />'+
		'	<param name="prefetch" value="0" />'+
		'	<param name="nolabels" value="0" />'+
		'	<param name="controls" value="playbutton" />'+
		'	<param name="console" value="clip1" />'+
		'	<param name="loop" value="0" />'+
		'	<param name="numloop" value="0" />'+
		'	<param name="center" value="0" />'+
		'	<param name="maintainaspect" value="0" />'+
		'	<param name="backgroundcolor" value="#000000" />'+
		''+
		'	<embed type="audio/x-pn-realaudio-plugin" console="clip1" controls="playbutton" height="25" width="45" autostart="true" />'+
		'</object>'+
		''+
		'<object id="player3" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" height="25" width="35">'+
		'	<param name="_extentx" value="926" />'+
		'	<param name="_extenty" value="661" />'+
		'	<param name="autostart" value="0" />'+
		'	<param name="shuffle" value="0" />'+
		'	<param name="prefetch" value="0" />'+
		'	<param name="nolabels" value="0" />'+
		'	<param name="controls" value="stopbutton" />'+
		'	<param name="console" value="clip1" />'+
		'	<param name="loop" value="0" />'+
		'	<param name="numloop" value="0" />'+
		'	<param name="center" value="0" />'+
		'	<param name="maintainaspect" value="0" />'+
		'	<param name="backgroundcolor" value="#000000" />'+
		'	<embed type="audio/x-pn-realaudio-plugin" console="clip1" controls="stopbutton" height="25" width="35" autostart="true" />'+
		'</object><br />'+
	'');
}



/*  ____________________________________________________
   | checkStream
    ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ */
function checkStream(params) {
	var state      = params['state'];
	var serverTime = params['serverTime'];
	var emission   = params['emission'];

	// redirects
	// -------------------------
	var redirect = {
		enondes:    '/cgi-bin/player/player_preroll.pl?titre='+escape('TVA- Diffusion en direct')+'&emission='+emission+'&video=diffusionendirect',
		horsdondes: '/cgi-bin/player/player_preroll.pl?titre='+escape('TVA- Diffusion en direct')+'&emission='+emission+'&video=diffusionendirecthorsdondes'
	};	    

	// times
	// -------------------------
	var dt   = serverTime.split(' ');
	var date = dt[0].split('-');
	var time = dt[1].split(':');

	var dtServerTime = new Date(Number(date[0]),Number(date[1]-1),Number(date[2]),Number(time[0]), Number(time[1]), Number(time[2]));
	var dtEndOfDay   = new Date(Number(date[0]),Number(date[1]-1),Number(date[2]),23,59,59);

	
	
	// if no schedule for today
	// -------------------------
	if (typeof(horaire[emission]) == 'undefined') {

		// if trying to stream
		if (state == 'enondes') {
			location.replace(redirect['horsdondes']);	    
		
		// if hors d'ondes
		} else if (state == 'horsdondes') {
			window.setTimeout("window.close()", dtEndOfDay.getTime()-dtServerTime.getTime());
		}
		
	
	// if schedule for today
	// -------------------------
	} else {
	    
		
		var before;
		var current;
		var after;
		
		// foreach diffusion 
		for (i=0; i < horaire[emission].length; ++i) {
			var diffusionStart   = horaire[emission][i]['start'].split(':')
			var diffusionEnd     = horaire[emission][i]['end'].split(':')
			var diffusionDtStart = new Date(Number(date[0]),Number(date[1]-1),Number(date[2]),Number(diffusionStart[0]),Number(diffusionStart[1]),Number(diffusionStart[2]));
			var diffusionDtEnd   = new Date(Number(date[0]),Number(date[1]-1),Number(date[2]),Number(diffusionEnd[0]),  Number(diffusionEnd[1]),  Number(diffusionEnd[2]));
			

			// if before start 
			if (dtServerTime.getTime() < diffusionDtStart.getTime()) {
				before = (typeof(before) == 'undefined') ? diffusionDtStart : before;

			// if after end
			} else if (dtServerTime.getTime() >= diffusionDtEnd.getTime()) {
				after = 1;
			    
			// if current
			} else {
				current = diffusionDtEnd;
			}
		}
		

		

		// if trying to stream
		// -------------------------
		if (state == 'enondes') {
			
			// if in-schedule
			if (typeof(current) != 'undefined') {
				window.setTimeout("location.replace('"+redirect['horsdondes']+"')", current.getTime()-dtServerTime.getTime());
				//alert('en ondes | in-schedule | hd -> '+current+' - '+dtServerTime);
			
			// if out-schedule
			} else {
				location.replace(redirect['horsdondes']);
				//alert('en ondes | out-schedule | hd -> now');
			}
		
		
		// if hors d'ondes
		// -------------------------
		} else if (state == 'horsdondes') {
		    
			// if in-schedule
			if (typeof(current) != 'undefined') {
				location.replace(redirect['enondes']);
				//alert('hors ondes | in-schedule | eo -> now');
			
			// if before start
			} else if (typeof(before) != 'undefined') {
				window.setTimeout("location.replace('"+redirect['enondes']+"')", before.getTime()-dtServerTime.getTime());
				//alert('hors ondes | before | eo -> '+before+' - '+dtServerTime);
			
			// if after end
			} else if (typeof(after) != 'undefined') {
				window.setTimeout("window.close()", dtEndOfDay.getTime()-dtServerTime.getTime());
				//alert('hors ondes | before | close -> '+dtEndOfDay+' - '+dtServerTime);
			}			
		
		
		// if unknown
		// -------------------------
		} else if (state != 'horscanada') {
			location.replace(redirect['horsdondes']);		    
		}

	}

	return false;
}



/*  ____________________________________________________
   | refreshStreamPub
    ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ */
function refreshStreamPub(params) {
	var state      = params['state'];
	var serverTime = params['serverTime'];
	var INTERVAL   = 15;

	// refresh only if streaming
	if (state == 'enondes') {

		// if first time
		var timeout;
		if (typeof(serverTime) != 'undefined') {

			// calculate timeout
			var time    = serverTime.split(' ')[1].split(':');
			var minutes = Number(time[1]);
			var seconds = Number(time[2]);

			var minutesTilRefresh = (Math.ceil(minutes / INTERVAL) * INTERVAL) - minutes;
				 minutesTilRefresh = (minutesTilRefresh) ? minutesTilRefresh : INTERVAL;

			timeout = ((minutesTilRefresh * 60) - seconds) * 1000;

		// if not
		} else {
			timeout = INTERVAL * 60 * 1000;
		}
		
		document.getElementById('pub').innerHTML = '<img src="http://ads5.canoe.ca/image.ng/site=tva&vertical=tvaweb&sujet=television&sousvertical=vosemissions&categorie=ros&souscategorie=video&position=pixel" />';

		window.setTimeout(function() { refreshStreamPub({ state: state }); }, timeout);
	}
}










/*

/*  ____________________________________________________
   | doStopStream
    ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ *
function doStopStream(serverTime, startTime, emStartTime, emEndTime, redirect) {
	var now     = new Date();
	var realNow = new Date(now.getTime()-startTime.getTime()+serverTime.getTime()); 
	

//	alert(realNow    +'    ___    '+    realNow.getTime());
//	alert(emStartTime+'    ___    '+emStartTime.getTime());
//	alert(emEndTime  +'    ___    '+  emEndTime.getTime());


	if (realNow.getTime() < emStartTime.getTime() || realNow.getTime() > emEndTime.getTime()) {
//		alert (redirect); 
		window.location = redirect;
	}

	window.setTimeout("doStopStream(new Date('"+serverTime+"'), new Date('"+startTime+"'), new Date('"+emStartTime+"'), new Date('"+emEndTime+"'), '"+redirect+"')", 30000); // 30 secondes
}



/*  ____________________________________________________
   | stopStream
    ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ *
function stopStream(params) {
	var serverTime = params['serverTime'];
	var emission   = params['emission'];

	var emissions = {
		tvaendirect: {
			start:    '12:25:00',
			end:      '13:35:00',
			redirect: '/emissions/tvaendirect/streamingpetit/horsondes.html'
		}
	};
	

	
	
	var dt   = serverTime.split(' ');
	var date = dt[0].split('-');
	var time = dt[1].split(':');

	var start = emissions[emission]['start'].split(':')
	var end   = emissions[emission]['end'].split(':')
	

	
	var parServerTime = new Date(Number(date[0]),Number(date[1]-1),Number(date[2]),Number(time[0]), Number(time[1]), Number(time[2]));
	var parEmStart    = new Date(Number(date[0]),Number(date[1]-1),Number(date[2]),Number(start[0]),Number(start[1]),Number(start[2]));
	var parEmEnd      = new Date(Number(date[0]),Number(date[1]-1),Number(date[2]),Number(end[0]),  Number(end[1]),  Number(end[2]));
	
	
	doStopStream(parServerTime, new Date(), parEmStart, parEmEnd, emissions[emission]['redirect']);
}


*/

