/*
		<!-- 
		
			'' 
			 '	Author: Bruno Rovito [x. 4421]
			 '	Date: 2007 / 01/ 05
			 '  
			 '
			 '  Log Modification -> TopNouvelles
			 '	Log Author -> Bruno Rovito
			 '  Log Date -> 2007/02/22     
			'' 
		
		-->


*/





/*------- DOM_ functions  -------*/

	/* utiliser avec DOM_changeProp() pour trouver un element/objet dans le DOM */
	function DOM_findObj(n, d) { //v4.01
	  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=DOM_findObj(n,d.layers[i].document);
	  if(!x && d.getElementById) x=d.getElementById(n); return x;
	}
	
	/* utiliser pour changer le src d'un image, par exemple, ou le stlye d'un objet */
	// exige la fonction DOM_findObj()
	function DOM_changeProp(objName,theProp,theValue) { //v6.0
	 // var obj = DOM_findObj(objName);
	  var obj = document.getElementById(objName);
	  if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
		if (theValue == true || theValue == false)
		  eval("obj."+theProp+"="+theValue);
		else eval("obj."+theProp+"='"+theValue+"'");
	  }
	}
	
	
	
	/*  pour  ajouter des EVENT comme <body onLoad=""> sans devoir placer le code dans l'HTML  */
	// i.e. DOM_addEvent(window, 'load', onLoadBody);
	function DOM_addEvent(obj, evType, fn){ 
		 if (obj.addEventListener){ 
		   obj.addEventListener(evType, fn, false); 
		   return true; 
		 } else if (obj.attachEvent){ 
		   var r = obj.attachEvent("on"+evType, fn); 
		   return r; 
		 } else { 
		   return false; 
		 } 
		}
	
	
	
	
	//=============================================================
	//	----------	Cookie		----------
	//=============================================================
	function DOM_setCookie(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		} else {
			var expires = "";
		}
		document.cookie = name+"="+value+expires+"; path=/";
	}
	
	function DOM_getCookie(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	}
	
	function DOM_deleteCookie(name) {
		DOM_setCookie(name,"",-1);
	}
		
	
	
	
	
	
/*------- WEB TRENDS -------*/
	//- ClicTrack 
	function setClicTrack(strAction, strContenu, strCategorie) {
			ClicTrack('dcsuri','vide.html','clic_action',strAction,'clic_contenu',strContenu,'WT.ti','','WT.clic', strCategorie);
	}
	
	//- WebTrends page
	function setWebTrends() {
			return false;
	}






/* ----- MISC --------*/ 
	
	
	/*-- STRETCH BOX --*/
	
	// toggleStretchBox() --> utilisée par les pages de la section "Les partis et les chefs" (itinéraires)
	function toggleStretchBox(pIdDivVise, pSuffixeIdCourant, pHauteurBoite){
		DOM_changeProp(pIdDivVise,'style.height',pHauteurBoite);
		DOM_changeProp(pIdDivVise+pSuffixeIdCourant,'style.display','none');
		var suffixeIdVoulu = (pSuffixeIdCourant=="Plus")?"Fermer":"Plus";
		DOM_changeProp(pIdDivVise+suffixeIdVoulu,'style.display','block');
	};//toggleStretchBox()
	
	// showStretchBoxOnglet() --> utilisée dans <body onLoad=> de les pages de la section "Les partis et les chefs" (itinéraires)
	function showStretchBoxOnglet(pIdDivVise, pHauteurBoiteOrig){
		// le paramètre pHauteurBoiteOrig = la hauteur + padding donnée au div en question 
		var innerbox = document.getElementById(pIdDivVise).scrollHeight;
		var outerboxName = new Array();
			if (pIdDivVise.indexOf("Liste")!= -1){ // convention de nom utilisé dans debat.shtml
					outerboxName = pIdDivVise.split("Liste");
			}else{ // convention de nom utilisé dans les pages de la section "Les partis et les chefs" 
				outerboxName[0] = pIdDivVise;
			}
		var outerbox =  document.getElementById(outerboxName[0]).clientHeight ;
		if (innerbox > outerbox) {
			document.getElementById(pIdDivVise+"Pied").style.display = "block";
			document.getElementById(pIdDivVise+"Plus").style.display = "block";
		}else{
			document.getElementById(pIdDivVise).style.borderBottom = "1px solid #CFCFCF";
		}
	};//showStretchBoxOnglet()
	
		
		
		
	// toggleStretchBoxV2() --> utilisée par les pages debat.shtml et  radioTele.shtml(page de  2ieme niveau)
	function toggleStretchBoxV2(pIdDivVise, pSuffixeIdCourant){
		var propListe = (pSuffixeIdCourant=="Plus")?"block":"none";
		DOM_changeProp(pIdDivVise+"2",'style.display', propListe);
		DOM_changeProp(pIdDivVise+pSuffixeIdCourant,'style.display','none');
		var suffixeIdVoulu = (pSuffixeIdCourant=="Plus")?"Fermer":"Plus";
		DOM_changeProp(pIdDivVise+suffixeIdVoulu,'style.display','block');
	};//toggleStretchBoxV2()
	
	// showStretchBoxOngletV2() --> utilisée dans <body onLoad=> des pages debat.shtml et radioTele.shtml (page de  2ieme niveau)
	function showStretchBoxOngletV2(pIdDivVise){
		if (document.getElementById(pIdDivVise+"2")) {
			document.getElementById(pIdDivVise+"Pied").style.display = "block";
			document.getElementById(pIdDivVise+"Plus").style.display = "block";
		}else{
			if(document.getElementById(pIdDivVise)){ /* s'assurer que le div existe pour éviter un erreur js dans la page */
				document.getElementById(pIdDivVise).style.borderBottom = "1px solid #CFCFCF";
			}
		}
	};//showStretchBoxOnglet()
	
	
	
	/*-- WINDOWS MEDIA PLAYER --*/
		// -- utiliser dans la pages debat.shtml, par exemple, pour visionner des .wmv
		//exige les div id: imgOnglet[un chiffre], Object[un chiffre] exemple: imgObject1, Object1
	
	var numPlayerCourant = 0;
	
	function toggleMediaPlayer(pNumPlayerVoulu,pFichier,pWidth,pHeight){
			//-- ancien player
				if (numPlayerCourant != 0){
					// image (qui cache le player)
						DOM_changeProp("imgObject"+numPlayerCourant, 'style.display', 'block');
					// div (qui contiend le player)
						document.getElementById("Object"+numPlayerCourant).innerHTML = "&nbsp;";
						DOM_changeProp("Object"+numPlayerCourant, 'style.display', 'none');
				}
				
			//-- VAR
				numPlayerCourant = pNumPlayerVoulu;
				
			//-- nouveau player
					
				// image (qui cache le player)
					DOM_changeProp("imgObject"+numPlayerCourant, 'style.display', 'none');
				// div (qui contiendra le player)
					DOM_changeProp("Object"+numPlayerCourant, 'style.display', 'block');
					
				// le player
					embedMediaPlayer(numPlayerCourant,pFichier,pWidth,pHeight);
					
			return false; /* Safari bug fix, cannot put the "return false" on the onClick Event of the <a> that calls this function:its a question of execution time, so we do onClick="return  toggleMediaPlayer(etc) instead */
	}; // toggleMediaPlayer()
	
	
	// embedMediaPlayer()
	function embedMediaPlayer(pNumPlayerVoulu,pFichier,pWidth,pHeight){
				document.getElementById("Object"+pNumPlayerVoulu).innerHTML =  "<span>Radio-Canada.ca</span>"; /* Safari bug fix: must write someting to innerHTML and then "+=" the other content ;See following innerHTML assignment*/
					document.getElementById("Object"+pNumPlayerVoulu).innerHTML +=  AC_AX_GetContent( 
									  'id','Player' +pNumPlayerVoulu,
									  'width',pWidth,
									  'height',pHeight,
									  'classid','CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95',
									  'standby','Loading Windows Media Player components...',
									  'type','application/x-mplayer2',
									  'src',pFichier,
									  'name','Player' +pNumPlayerVoulu,
									  'showcontrols','true',
									  'showstatusbar','false',
									  'showdisplay','false',
									  'autostart','true',
									  'filename',pFichier, 
									  'codebase', 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715'
									  ); //end AC code 
	}; // embedMediaPlayer()




	function removeCarriageReturn(input, replacement) {
		// Converts carriage returns to whatever you want
					
		var output = "";
		for (var i = 0; i < input.length; i++) {
			if ((input.charCodeAt(i) == 13) || (input.charCodeAt(i) == 10)) { /* 13 = \r */
				i++;
				output += replacement;
			} else {
				output += input.charAt(i);
			}
		}
					
		return output;
	}; //removeCarriageReturn()
	
	
	
	
	
	
/*------- ONGLETs/DATAs -------*/

	
	//*** pour activer et allumer les onglets/data AJAX appropriés
	
		var ajaxOngletXDataz = new Array(); // définie au niveau du document (at runtime) // va contenir les objets AjaxOngletXData 
		var activeAjaxOnglet = ""; // defaut // pour pouvoir verifier quel onglet est actif et que l'on visionne
		
		
		// AjaxOngletXData()-> objet qui va être utilisé pour le matrice ajaxOngletXDataz 
		// ajaxOnlgetXDataz est appelée par la fonction getOnLoadAjaxOngletXData() qui est dans global.js spécifique au élections en question (ie. "/nouvelles/elections/electionsQc2007/js/global.js")
		// relation entre les onglets et datas (les données associées)
		function AjaxOngletXData(pIdOnglet, pDataFileHtml, pDataFileJs){
			this.idOnglet = pIdOnglet;
			this.dataFileHtml = pDataFileHtml;//(pDataFileHtml==null || pDataFileHtml== '') ? '' : pDataFileHtml;
			this.dataFileJs = pDataFileJs//(pDataFileJs==null || pDataFileJs=='') ? '' : pDataFileJs;
		}//function
		
	
		// getAjaxOngletXData()->  appelée par onClick des onglets Ajax
		function getAjaxOngletXData(pOngletXDataObject){
			var targetObj = pOngletXDataObject;
			var ongletClicked = targetObj.idOnglet.substr(6); // 6 = "onglet" de ongletA, par exemple
			var targetDataDiv = "dataAjax";  //on utilise toujour le même div pour le data
				// "vieux" onglet
					if (activeAjaxOnglet != ""){
							var oldOnglet = "onglet"+activeAjaxOnglet;
							DOM_changeProp(oldOnglet,'className', 'a');
					}
				// vieux data
					// comme on utilise toujour le même div il se re-écrit en appellant l'Ajax, pas besion de "l'effacer" avant d'afficher le nouveau data
				// vars
					activeAjaxOnglet = ongletClicked;
				// nouveau onglet 
					if(ongletClicked != ""){
						var newOnglet = targetObj.idOnglet; 
						DOM_changeProp(newOnglet,'className', 'on');
					}
				// nouveau data
					var noAjaxCache = "?nocache=" + (Math.random()*90000)+Date();
					new Ajax().getValue(targetDataDiv, targetObj.dataFileHtml+noAjaxCache, targetObj.dataFileJs+noAjaxCache, "");

		}//function
		
		
		
		
	//*** pour allumer les onglets "normales" appropriés	
		
		var strOnLoadOngletToHighLightOnglet;
		
		function onLoadHighLightOnglet() {
			DOM_changeProp(strOnLoadOngletToHighLightOnglet,'className', 'on');
		}// function
		
		function highLightOnglet(strOngletToHighLightOnglet) {
			strOnLoadOngletToHighLightOnglet = strOngletToHighLightOnglet;
			DOM_addEvent(window, "load", onLoadHighLightOnglet);
		}// function

	

	




	


