/**

 * Ce fichier contient les fonctione de manipulation des médias. 

 * 

 * */



var videoActuel = 0;



//Getting ord

var rand = Math.random()*10000000000000000;



//URDL du BB

var adBB = "";

var adTag = "";

var adPosition = "";

var adParams = ""


var adBB1 = "";

var adTag1 = "";

var adPosition1 = "";

var adParams1 = ""

/**

 * Permet de charger une vidéo

 * @param noVideo (int) : le numéro de la vidéo à charger

 * @param titre (string) : le titre de la vidéo

 * @param texte (string) : la description de la vidéo 

 * */



function chargerVideo( noVideo, titre, texte,adSite,adZone,adTile, adArgs, googleID ) {

	

	Element.update( 'titreVideo', titre );

	Element.update( 'descVideo', texte );

	chargerLecteur( noVideo,520,312, titre,adSite,adZone,adTile, adArgs,googleID);

	document.getElementById("companionPreroll").innerHTML = "";

	checkBB();

}



/**

 * In order for the companion ads to appear, this Javascript function is expected on the page.

 * This function handles the loading of the target node with the companion url. 

 * By default the expected function is syncRoadBlock.

 * @param tgtId : The target ID on the HTML page

 * @param adTag : Ads tag

 * */



function syncRoadBlock(tgtId, adTag) {

		document.getElementById(tgtId).innerHTML = '<iframe src="' + adTag + '"id="ifr_companion" width=300 height=250 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no>' + '</iframe>';

}





/**

 * Utilise l'API swfObject pour construire la balise <embed> permettant de lancer le lecteur

 * @param noVideo (int) : le numéro de la vidéo

 * @param height (int) : la hauteur du lecteur

 * @param width (int) : la largeur du lecteur

 * @param adSite (string) : le nom du site pour adserver(ex: tc.canadianlinng.com)

 * @param adZone (string) : la rubrique dans le site (ex: «Food basics» dans canadian li)

 * @param adArgs (string) : autres paramètres (pg=homesite)

 * 

 * */



function chargerLecteur( noVideo,  height, width, title,adSite,adZone,adTile,adArgs, googleID, langue) {
	//TODO : virer les 2 lignes suivantes
	//var adSite= 'dart.test.site';
	//var adZone = 'eric';
	if ( noVideo == 0 ) {

		var video = new SWFObject("/swf/flvplayer.swf","single",height,width,"9", title);
		video.addVariable("rotatetime","60");
		video.addVariable("repeat","true");
		video.addVariable("showicons","false");
		video.addVariable("displayheight","314");
		video.addParam("allowScriptAccess","always");

			// Google Analytics - stats temps des videos
			if(googleID != undefined){
				video.addVariable("flashvars","file=http://"+url+"/imgs/latv/fond.jpg&autostart=true&plugins=dcinstream,gapro-1&gapro.accountid="+googleID+"&gapro.tracktime=true&gapro.trackpercentage=true&gapro.trackstarts=true&gapro.trackcompletes=true&gapro.trackerror=true");			
			}else{
				video.addVariable("flashvars","file=http://"+url+"/imgs/latv/fond.jpg&autostart=true&plugins=dcinstream");			
			}	
		video.write("player");

	} else {
	
		if ( $( 'video'+videoActuel ) && noVideo != videoActuel ) {
			$( 'video'+videoActuel ).removeClassName( 'on' );
		}

		if ( noVideo != videoActuel ) {
			videoActuel = noVideo;
			if ( $( 'video'+noVideo ) ) {
				$( 'video'+noVideo ).addClassName( 'on' );
			}
			
			var ord = ";ord="+rand;
			var zone;

			if(adZone != undefined && adZone != ""){
				zone = "/"+nettoyer(adZone);
			}else zone = "";

			var pg;
			if(adPg != undefined && adPg != ""){
				pg = ";pg="+adPg;
			}else pg = "";

			var tile;

			if(adTile != undefined && adTile != ""){
				tile = ";tile="+adTile;
			}else tile = "";

			// Clean title argument added by Francis Brassard on 08/06/2010
			if( title != undefined && title != "" ) {
				roll_title = ";atitle="+nettoyer( title );
			} else {
				roll_title = "";
			}
			
      		// le PRE ROLL
			adTag = "&dcinstream.ad.first_ad.tag=http://ad.doubleclick.net/pfadx/"+adSite+zone+pg+roll_title+";sz=2000x2000;pos=pre"+tile+ord;
			adPosition = "&dcinstream.ad.first_ad.position=pre";
			
			// le POST ROLL
			adTag1 = "&dcinstream.ad.second_ad.tag=http://ad.doubleclick.net/pfadx/"+adSite+zone+pg+roll_title+";sz=2000x2000;pos=post"+tile+ord;
			adPosition1 = "&dcinstream.ad.second_ad.position=post";

			//Where the companion will be displayed(This is ID of a DIV target for example)
			var adTarget = "&dcinstream.ad.first_ad.target=companionPreroll";
			var adTarget1 = "&dcinstream.ad.second_ad.target=companionPreroll";
			
			// For the companion increment the tile
			if(adTile != undefined && adTile != ""){
				adTile = adTile + 1;
				var tile = ";tile="+adTile;
			}
			
			// Construction du compagnon de pub(BigBox)
			adBB = "http://ad.doubleclick.net/adi/"+adSite+zone+tile+adArgs+ord;

			var adCompanion = "&dcinstream.ad.first_ad.companion="+adBB+";pos=pre";
			var adCompanion1 = "&dcinstream.ad.second_ad.companion="+adBB+";pos=post";


			var video = new SWFObject("http://"+url+"/swf/flvplayer.swf","single",height,width,"9", title);		                                                                     
			video.addParam("wmode","transparent");// Nécessaire pour voir l'infobulle onmouseover sur la video
			video.addParam("allowfullscreen","true");
			video.addParam("allowScriptAccess","always");
			
			//config du streaming
			video.addVariable("bandwidth_clear","true");
			video.addVariable("bandwidth_file","http://"+url+"/swf/bw100.swf");
			
			//config du message d'attente FR / EN			         
			if(langue != undefined && langue=='FR'){
		        adParams = "&dcinstream.admessagedynamickey=XX&dcinstream.admessagedynamic=La publicité se terminera dans XX secondes";
   			}else{
		        adParams = "&dcinstream.admessagedynamickey=XX&dcinstream.admessagedynamic=Your video will display after XX seconds";
		    }

			// Google Analytics - stats temps des videos
			if(googleID != undefined){
				video.addParam("flashvars", "file=http://"+url+"/video-"+noVideo+".xml&plugins=dcinstream,gapro-1&gapro.accountid="+googleID+"&gapro.tracktime=true&gapro.trackpercentage=true&gapro.trackstarts=true&gapro.trackcompletes=true&gapro.trackerror=true"+adTag+adParams+adCompanion+adTarget+adPosition+adTag1+adCompanion1+adTarget1+adPosition1+"&streamer=http://"+url+"/stream.php&autostart=true");
				
        		//TEST Sans le STREAMER
				//video.addParam("flashvars", "file=http://"+url+"/video-"+noVideo+".xml&plugins=dcinstream,gapro-1&gapro.accountid="+googleID+"&gapro.tracktime=true&gapro.trackpercentage=true&gapro.trackstarts=true&gapro.trackcompletes=true&gapro.trackerror=true"+adTag+adParams+adCompanion+adTarget+adPosition+adTag1+adCompanion1+adTarget1+adPosition1+"&autostart=true");			      
			}else{
				video.addParam("flashvars", "file=http://"+url+"/video-"+noVideo+".xml&plugins=dcinstream"+adTag+adParams+adCompanion+adTarget+adPosition+adTag1+adCompanion1+adTarget1+adPosition1+"&streamer=http://"+url+"/stream.php&autostart=true");
				
				//TEST Sans le STREAMER
				//video.addParam("flashvars", "file=http://"+url+"/video-"+noVideo+".xml&plugins=dcinstream"+adTag+adParams+adCompanion+adTarget+adPosition+adTag1+adCompanion1+adTarget1+adPosition1+"&autostart=true");
			}
	
  		$( 'player' ).update( '' );
			video.write("player");

			
		}

	}

}



/**

 * 

 * Vérifie si le BB est vide il ajoute une pub par défaut

 * @param id : id de la DIV contenant le BB

 * */

function checkBB(id){

	// Vérification s'il y a quelaue dans le compagnon

	if(id == undefined || id ==""){

		id = "companionPreroll";

	}

	if(document.getElementById(id) != null){

		if(document.getElementById(id).innerHTML == ""){

			document.getElementById(id).innerHTML = '<iframe src="' + adBB + '"id="ifr_companion" width=300 height=250 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no>' + '</iframe>';

		}else{

			//BB contient une pub

			//alert("BB non vide : "+document.getElementById(id).innerHTML)

		}

	}

}



/**

 * Permet d'executer une fonction après que la page soit complètement chargée

 * @param func : fonction à exécuter

 * 

 * */

function addLoadEvent(func) {

	  var oldonload = window.onload;

	  if (typeof window.onload != 'function') {

	    window.onload = func;

	  } else {

	    window.onload = function() {

	      if (oldonload) {

	        oldonload();

	      }

	      func;

	    }

	  }

	}



/**

 * Permet de générer l'url de lecteur d'une vidéo

 * */



function lienDirect() {

	$('lienfichier').value="http://"+url+"/video-"+videoActuel+"-"+nettoyer(titreActuel);

	Effect.toggle( 'liendirectfichier', 'blind' ); 

}



/**

 * Permet de créer une balise <embed> qu'un utilisateur peut intégrer dans sa propre page web pour visualiser la vidéo.

 * 

 **/

function lienLecteur(titre) {

	var leTag = adTag.replace('tc.fr.biz.afel.tv','tc.lesaffaires');

	$('lienlecteur').value='<scr'+'ipt src="http://lesaffaires.tv/scripts/integration-'+videoActuel+'.js" type="text/javascript"></scr'+'ipt>';



	//$('lienlecteur').value='<embed src="http://'+url+'/swf/flvplayer.swf" flashvars="file=http://'+url+'/video-'+videoActuel+'.xml&amp;streamer=http://'+url+'/stream.php&amp;overstretch=true&amp;plugins=dcinstream,googlytics-1'+leTag+adPosition+adParams+'" wmode="transparent" title="'+titre+'" width="520" height="314" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" allowScriptAccess="always"/>';
  	//$('lienlecteur').value='<embed src="http://'+url+'/swf/flvplayer.swf" flashvars="file=http://'+url+'/video-'+videoActuel+'.xml&amp;overstretch=true&amp;plugins=dcinstream,googlytics-1'+leTag+adPosition+adParams+'" wmode="transparent" title="'+titre+'" width="520" height="314" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" allowScriptAccess="always"/>';
  
	Effect.toggle( 'liendirectlecteur', 'blind' );

}



/**

 * Remplace certains caractère spéciaux par leur correspondant

 * @param titre (string) : le texte à nettoyer

 * @return nouvChaine (string) : le nouveua texte dépourvu de certains caractères spéciaux

 * */

function nettoyer( titre ) {

	var reg = new RegExp( "[a-zA-Z0-9-_]" );

	var nouvChaine = '';

	titre = titre.replace( /[ ']/g, '-' );

	titre = titre.replace( /[Ã©Ã¨ÃªÃ«éèêÈÊÉ]/g, 'e' );

	titre = titre.replace( /[Ã Ã¡Ã¤Ã¢àâÀÂ]/g, 'a' );

	titre = titre.replace( /[Ã´Ã¶Ã²Ã³ôÔ]/g, 'o' );

	titre = titre.replace( /[Ã¹ÃºÃ»Ã¼ûÛ]/g, 'u' );

	titre = titre.replace( /[Ã®Ã¯Ã­Ã¬îÎ]/g, 'i' );



	for( i = 0; i < titre.length; i++ ) {
		
		if ( reg.test( titre.charAt(i) ) ) {
			nouvChaine += titre.charAt(i);
		}
	}


	if ( nouvChaine == undefined ) {

		nouvChaine = 'lecture';	

	}

	// Added by Francis Brassard on 08/06/2010
	nouvChaine = nouvChaine.toLowerCase();
	
	return nouvChaine;

}

