//*********************************************************
//Fonction générique pour le suivi d'événement dans GA
//Params: categorie(obligatoire), action(obligatoire), label(optionnel)
//Les paramètres correspondent à l'arborescence des événements dans GA:
//le label x sous l'action y de la catégorie z (voir GA)
//L'objet pageTracker doit avoir préalablement été créé (plugin struts).
//**********************************************************
function saveStats(categorie, action, label) {	 
	
	var lLangue;	
	
	if (location.href.indexOf("/en/") == -1){		
		lLangue = "_FR";
	} else {
		lLangue = "_EN";
	}	
	
	if (typeof pageTracker != "undefined") {
		if (typeof label != "undefined") {			
			label += lLangue;
			pageTracker._trackEvent(categorie, action, label);		
		} else {
			action += lLangue;
			pageTracker._trackEvent(categorie, action);	
		}
	} 
	     	
}

function appliqueSuiviStatistique(){
	jQuery(document).ready(function($) {
	
		$("#boxFull div div div a").click(function() {
			var categorie = $(this).parents(".sectionbas").get(0).id;
			var action = $(this).attr('id');
			var label = "click";
		 	saveStats(categorie, action ,label);
		});
		
	});
}

// Fonction qui resize les flash selon si la résolution 
// de l'écran du client est de 800 x 600.
function tracer(msg){
  console.log(msg);
}

function resizeFlash() {
	if (screen.width == 800){
	var largeur = 590;
	var hauteur = 420;
	document.getElementById('encadreFlash').style.width=largeur+"px";
	document.getElementById('encadreFlash').style.height=hauteur+"px";
	}
}
// Fonction qui detecte l'activation des cookies
function detecterActivationCookie (link) {
	if(!document.cookie){
		top.location.href = link; 
	}
}
// En test
function detectErreurServeurDistant(serveur){
	var xmlhttp = false; 
		if(window.XMLHttpRequest) {// Firefox   
			alert("ff");    
			xmlhttp = new XMLHttpRequest(); 
			}  
		else if(window.ActiveXObject){ // Internet Explorer     
			alert("IE");
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");    
			}
		else { // XMLHttpRequest non supporté par le navigateur       
			//alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");   
  	 		return;
		}
		
	  // xmlhttp.open("HEAD","http://www.google.ca",false);
	  
	   xmlhttp.onreadystatechange = function() {
	   alert("Entre dedans");
	   if (xmlhttp.status !=200) {
	   		alert("Serveur distant ne répond pas");
	   		top.location.href = "/pages/error500.jsp";
	   		}
	   	if (xmlhttp.status ==200) {
	   		alert("Code 200");
	   		}
	  }
	   xmlhttp.send(null);
}

// fonction qui ajoute un zero si le texte en entree n'a qu'un seul chiffre (1 ->01)
// pour tous les vieux fureteurs et si les fureteurs plantent, ne rien faire - si le javascript plante, les liens devraient fonctionner et on tombera dans 
// la version du site sans javascript
function rien() {return true;}
window.onerror = rien;

// fonction qui ajoute un zero si le texte en entree n'a qu'un seul chiffre (1 ->01)
function preZero(istr) {
	var str = '' + istr;
	if (str.length < 2) {
		str = '0' + str;
	}
	return str;
}
	
// fonction qui vérifie la présence de certains fureteur pour optimiser la fonctionnalité sur chacun de ces fureteurs
// en théorie, Netscape 6.22 et plus, Mozilla 1.0 et plus, Opera 7 et plus, et Ie 5.5 et plus
// sur Mac, Windows et Linux

function lib_bwcheck(){
	var bw = new Object();
	bw.ver=navigator.appVersion;
	bw.agent=navigator.userAgent;
	bw.dom=document.getElementById?1:0;
	bw.win=bw.agent.indexOf("Win")>-1;
	bw.operaOld=((!bw.dom)&&bw.agent.indexOf("Opera")>-1);
	bw.opera5=bw.agent.indexOf("Opera 5")>-1;
	bw.opera5=bw.agent.indexOf("Opera/5")>-1;
	bw.opera6=bw.agent.indexOf("Opera 6")>-1;
	bw.opera6=bw.agent.indexOf("Opera/6")>-1;
	bw.operaM=(bw.opera5||bw.opera6);	
	bw.opera7p=(!bw.operaOld)&&(!bw.operaM)&&(bw.agent.indexOf("Opera")>-1);
	bw.opera=(bw.opera5||bw.opera6||bw.opera7p);
	bw.ie5=(bw.ver.indexOf("MSIE 5")>-1 && bw.dom && !bw.opera)?1:0; 
	bw.ie5_5=(bw.ver.indexOf("MSIE 5.5")>-1 && bw.dom && !bw.opera)?1:0; 	
	bw.ie6=(bw.ver.indexOf("MSIE 6")>-1 && bw.dom && !bw.opera)?1:0;
	bw.ie7=(bw.ver.indexOf("MSIE 7")>-1 && bw.dom && !bw.opera)?1:0;
	bw.ie4=(document.all && !bw.dom && !bw.opera5)?1:0;
	bw.ie6p=(bw.dom && (bw.ver.indexOf("MSIE")>-1))?1:0 
	bw.ie=bw.ie4||bw.ie5||bw.ie6||bw.ie7||bw.ie6p;
	bw.mac=bw.agent.indexOf("Mac")>-1;
	bw.ns6=(bw.dom && parseInt(bw.ver) >= 5 &&!bw.opera) ?1:0;
	bw.ns6p = bw.ns6; 
	bw.ns4=(document.layers && !bw.dom)?1:0;
	bw.bw=(bw.ie7 || bw.ie6 || bw.ie5 || bw.ie5_5  || bw.ns6 || bw.opera);
	return bw;
}
var bw = lib_bwcheck();

var tabImg = new Array();


function preloadImg() {
	preload("img");
	preload("input");
}

function preload(tag) { 
  var elements = document.getElementsByTagName(tag);
  var objA;
  for (i=0;i<elements.length;i++) {
  	if (elements[i].src) {
  		//alert(elements[i].id);
  		//alert(elements[i].src);
	  	if (regExpPatternImgOff.test(elements[i].src)) {
	  		tabImg[i] = new Image();
	  		tabImg[i].src = elements[i].src.replace(regExpPatternImgOff, patternImgOn);
			if (!regExpImgMenu.test(elements[i].id)) {  
				objA = chercheElementParent("a", elements[i]);	
				if (bw.ie && !bw.opera) {
					elements[i].onmouseover=swap;
					elements[i].onmouseout=restore;	
					if (objA) {
						objA.onfocus=swapChildImg;
						objA.onblur=restoreChildImg;			
					}
				} else  {
					elements[i].setAttribute("onmouseover", "swap(this)");	
					elements[i].setAttribute("onmouseout", "restore(this)");	
					if(objA) {
						objA.setAttribute("onfocus", "swapChildImg(this)");	
						objA.setAttribute("onblur", "restoreChildImg(this)");				
					}
				}	
			}
	  	}
	  }	
  } 
} 
// fonction pour mouseover sur images
function swap(imgSwpObj) {
	if (imgSwpObj) {
		imgSwpObj.src = imgSwpObj.src.replace(regExpPatternImgOff, patternImgOn);
	} else {
		if (this) swap(this); 
	}
}

function restore(imgSwpObj) {
	if (imgSwpObj) {
		imgSwpObj.src = imgSwpObj.src.replace(regExpPatternImgOn, patternImgOff);
	} else {
		if (this) restore(this); 	
	}
}

function swapChildImg(aSwpObj) {
	var imgSwpObj;
	if (aSwpObj) {
		imgSwpObj = chercheElementEnfant("img", aSwpObj);
		swap(imgSwpObj);
	} else {
		if (this) swapChildImg(this); 
	}
}

function restoreChildImg(aSwpObj) {
	var imgSwpObj;
	if (aSwpObj) {
		imgSwpObj = chercheElementEnfant("img", aSwpObj);
		restore(imgSwpObj);
	} else {
		if (this) restoreChildImg(this); 
	}
}

var regExpPatternImgOff;
var regExpPatternImgOn;
var patternImgOn;
var patternImgOff;

function setPatternImgOver(patternOff, patternOn) {
	regExpPatternImgOff = new RegExp(patternOff);
	regExpPatternImgOn = new RegExp(patternOn);	
	patternImgOn = patternOn;
	patternImgOff = patternOff;	
}

setPatternImgOver("_0", "_1"); // pattern des url des images ayant un mouseover et devant etre preloadée
regExpImgMenu = new RegExp("^im"); // pattern des id des images faisant parties d'un menu

// les recherches se font sur un seul niveau, pas de recursivite pour questions de perf

function chercheElementParent(nomElement, domObj) {
	var objCourant = domObj.parentNode;
	// on essai juste avec le premier
	if (objCourant.nodeName.toLowerCase() == nomElement.toLowerCase()) return objCourant;
	else return false;	
}

function chercheElementEnfant(nomElement, domObj) {
	var objEnfants = domObj.childNodes;
	var objRech = false;
	for (i=0;i<objEnfants.length;i++) {
	   if (objEnfants[i].nodeType==1) {
			if (objEnfants[i].nodeName.toLowerCase() == nomElement.toLowerCase()) {
				objRech = objEnfants[i];
			}
		}
	}	
	return objRech;	
}

function getURLFlashDetect(strPageId,strLangParam,suivi) {
    
    strPageId = strPageId != null ? new String(strPageId) : null;
    strNewPageId = strPageId;
   	strInk = "";
    nPos = strPageId.indexOf("INK");
    
    if (nPos > -1) {
        strNewPageId = strPageId.substring(0,nPos);
        strInk = "#" + strPageId.substring(nPos + 3);
    }
    if(flashPage){
    	flashVersion = "Y";
    	userFlashChoice = "0";
    }
    else{
    	flashVersion = "N";
    	userFlashChoice = "1";
    }
    if (strLangParam != null) {
        strLangToUse = strLangParam;
    }
    if (suivi != null){
    	top.location.href = "/web/jsp/MainPage.jsp?Params=" + flashVersion + "." + strLangParam + "." + strNewPageId + "." + userFlashChoice + strInk + suivi;
    	}
    else{
    	top.location.href = "/web/jsp/MainPage.jsp?Params=" + flashVersion + "." + strLangParam + "." + strNewPageId + "." + userFlashChoice + strInk;
    }
    	
}

//*********************************************
//Gestion des "popup"
//*********************************************
function afficherEncadre(idEncadre){		
	document.getElementById(idEncadre).style.display="block";	
}
function fermerEncadre(idEncadre){
	document.getElementById(idEncadre).style.display="none";
}


//*********************************************
//Déplacemnet automatique d'une div "blockId" lors 
//d'un scroll verticalement. posLimitBas et posLimitHaut
//doivent-être spécifie le range dans laquel on veut faire 
//bouger la div.
//*********************************************
var lastScrollerpos=0;
var posLimitBas=29;
var posLimitHaut=656;

function deplacerPaneau(blockId, hauteur){
	if (hauteur > posLimitHaut) { hauteur = posLimitHaut;}
	if (hauteur < posLimitBas) { hauteur = posLimitBas;}
	document.getElementById(blockId).style.top=hauteur+"px";	
}


function scrollingDetector(blockId){	
	var currentpos=document.documentElement.scrollTop;		
	if (currentpos != lastScrollerpos){		
			deplacerPaneau(blockId, currentpos);
			lastScrollerpos=currentpos;				
	}		
}


//*********************************************************
//Gestion de l'etat (ouvert ou ferme) de la fenetre de pub
//*********************************************************
var Nom="pubBannerState";
var FERME="ferme";
var OUVERT="ouvert";

function sauvegaderEtat(etat) {

	var cookieEnabled=(navigator.cookieEnabled)? true : false		
	var Contenu=etat;
	if (cookieEnabled) {		
		document.cookie= Nom + "=" + Contenu + "; path=/;";		
	}
}

function getEtatFenetre(){		
	var etat = OUVERT;
	var nameEQ=Nom + "=";
	if (document.cookie.length>0 && document.cookie.indexOf(nameEQ!=-1)) {		
	
		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) {				
				etat = c.substring(nameEQ.length,c.length);							
			}
		}	
	}	
	//alert("Etat= " + etat);	
	
	return etat;
}


function resizeAndSave(size) {	
	//alert("in resizeAndSave: " + size);
	if (size == "plus") {
		sauvegaderEtat(OUVERT);				
	} else {
		sauvegaderEtat(FERME);	
	}
	resize(size);
}

function resize(size) {	
	//alert("in resize: " + size);
	if (size == "plus") {		
		if(document.all && !document.getElementById) {
			
			document.getElementById('espaceFlash').style.height="575px";
		} else {			
			document.getElementById('espaceHTML').style.marginTop="319px";
		}
	} else {		
		if(document.all && !document.getElementById) {		
			document.getElementById('espaceFlash').style.height="253px";
		} else {				
			document.getElementById('espaceHTML').style.marginTop="0px";
		}
	}

}


function jSwitchMovie() {
		if(document.all && !document.getElementById) {		
			document.getElementById('espaceFlash').style.height="396px";
			flashMovie = document.getElementById("PubEntete");
			flashMovie.switchMovie();
		} else {				
			document.getElementById('espaceHTML').style.marginTop="174px";
			flashMovie = document.getElementById("PubEntete");
			flashMovie.switchMovie();
		}
		
			
		
}


//******************************************************************
//Scrollers pour les colonnes de jeux
//******************************************************************
	
function TextScroll(scrollname, div_name, up_name, down_name, holder_name)
{
    this.div_name = div_name;
    this.name = scrollname;
    this.scrollCursor = 0;
    this.speed = 5;
    this.timeoutID = 0;
    this.div_obj = null;
    this.up_name = up_name;
    this.dn_name = down_name;
  	   	
{
        	        
        if (document.getElementById) {
        	
            div_obj = document.getElementById(this.div_name);
            if (div_obj) {
                this.div_obj = div_obj;

				document.getElementById(holder_name).style.height="auto";
				
				var gh = document.getElementById(holder_name).offsetHeight;
				var base_div_height=document.getElementById(this.div_name).offsetHeight;					
				
				
				var diff_height = base_div_height - gh;
				 
				div_name_obj = document.getElementById(this.name);
	        	if (div_name_obj && diff_height <= 0) {
	                this.div_name_obj = div_name_obj;
	                this.div_name_obj.style.display = 'block';
	            }	        	
  
                
                this.div_obj.style.overflow = 'hidden';
            }
            div_up_obj = document.getElementById(this.up_name);
            div_dn_obj = document.getElementById(this.dn_name);
            if (div_up_obj && div_dn_obj) {
                 div_up_obj.onmousedown = function() { eval(scrollname + ".scrollUp();") };
			div_up_obj.onmouseup = function() { eval(scrollname + ".stopScroll();") };
			
			div_dn_obj.onmousedown = function() { eval(scrollname + ".scrollDown();") };
			div_dn_obj.onmouseup = function() { eval(scrollname + ".stopScroll();") };
            }
        }
    }

this.stopScroll = function() {
        clearTimeout(this.timeoutID);
    }

this.scrollUp = function() {
        if (this.div_obj) {
            this.scrollCursor = (this.scrollCursor - this.speed) < 0 ? 0 : this.scrollCursor - this.speed;
            this.div_obj.scrollTop = this.scrollCursor;
            this.timeoutID = setTimeout(this.name + ".scrollUp()", 60);
        }
    }

this.scrollDown = function() {
	if (this.div_obj) {
		this.scrollCursor += this.speed;
		this.div_obj.scrollTop = this.scrollCursor;
		if (this.div_obj.scrollTop == this.scrollCursor) {
			this.timeoutID = setTimeout(this.name + ".scrollDown()", 60);
		} else {
			this.scrollCursor = this.div_obj.scrollTop;
		}
	}
}

this.resetScroll = function() {
        if (this.div_obj) {
            this.div_obj.scrollTop = 0;
            this.scrollCursor = 0;
        }
    }
}  
	
//******************************************************************
//Fonction pour déplacer le logo 18+ de la barre portail lorsqu'on 
//est en basse résolution (800X600 et moins). La valeur du pageId est
//setter dans le tiles-def.
//******************************************************************	
var screenwidth;
function checkScreenRes() {	
	var logo18;
	var recherche;
	if (screen.width > 800) {
		if (getPageId()=='offredejeux') {
			logo18=document.getElementById("logo18Plus"); 			
			logo18.style.margin='0px 230px 0px 10px;';
		} else if (getPageId()=='offredejeux_e'){
			logo18=document.getElementById("logo18Plus_e"); 			
			logo18.style.margin='0px 230px 0px 10px;';
		} else {
			var logo18=document.getElementById("logo-18ans");				
			logo18.style.margin='0px 230px 0px 10px;';				
		}
	}	
}


function getPageId(){
	var pageId;
	var mylink_array=location.href.split("/");
	var nbChain =  mylink_array.length;
	var tmpPageId=mylink_array[nbChain-1]
	//alert(mylink_array[nbChain-1]);
	
	switch (tmpPageId){	
		case "reglements":
			pageId="reglements";
			break;				
		case "rules":
			pageId="reglements";
			break;				
		case "aide-technique":
			pageId="aide";
			break;				
		case "technical-help":
			pageId="aide";
			break;				
		break;
		default : pageId="generic";
	}

	return pageId;
}



/***********************************/
/* Prototype */
/***********************************/

function overTab(ong)
{		
	//alert("test");
	//ong.setStyle('background-color','#f2f2f2');
	ong.style.backgroundColor="#f2f2f2"; 
	//alert("test");
}

function outTab(ong)
{	
	//ong.setStyle('background-color','');
	ong.style.backgroundColor="#ffffff";  
}


function setCurrentImage(imageid){
	//document.getElementById("flashContent").style.display="none";
	document.getElementById("currenImage").style.display="block";
	document.images["currenImage"].src="images/" + imageid;
}

function openFlash(){
	document.getElementById("currenImage").style.display="none";
	document.getElementById("flashContent").style.display="block";
}

function tester() {
	//alert("test");
	var t_effet = new Array();
	t_effet[0] = new Effect.Appear('contenuSup', {duration:2, fps:25, from:0.0, to:1.0});	
	t_effet[1] = new Effect.MoveBy('contenuSup', -200, -500, {duration:3, fps:25, from:0.0, to:1.0});
	new Effect.Parallel(t_effet,{duration:2, fps:25, from:0.0, to:1.0});
	//alert("fin");
}

function fermerEncadreGrey(idEncadre){	
	var t_effet = new Array();
	t_effet[0] = new Effect.Squish('contenuSup');
	//t_effet[1] = new Effect.MoveBy('contenuSup', -200, -500, {duration:3, fps:25, from:0.0, to:1.0});
	new Effect.Parallel(t_effet,{duration:2, fps:25, from:0.0, to:1.0, afterFinish:replaceDiv});
	function replaceDiv() {
		document.getElementById("contenuSup").style.top="200px";	
		document.getElementById("contenuSup").style.left="500px";	
	}		
}

function fermerEncadreGrey2(idEncadre){	
	var t_effet = new Array();
	t_effet[0] = new Effect.Fade('contenuSup', {duration:2, fps:25, from:1.0, to:0.0});	
	t_effet[1] = new Effect.MoveBy('contenuSup', 200, 500, {duration:3, fps:25, from:0.0, to:1.0});
	new Effect.Parallel(t_effet,{duration:2, fps:25, from:0.0, to:1.0, afterFinish:replaceDiv});
	function replaceDiv() {
		document.getElementById("contenuSup").style.top="200px";	
		document.getElementById("contenuSup").style.left="500px";	
	}			
	
}


function openPanneau(){
	
	alert("test: " + this.style.display);
	if (document.getElementById("bt_etendre").src=="http://z500wxpg14901:9080/montreal/images/bt_fleche_expand.jpg") {		
		document.getElementById("bt_etendre").src="http://z500wxpg14901:9080/montreal/images/bt_fleche_expand_bas.jpg";
	} else {
		document.getElementById("bt_etendre").src="http://z500wxpg14901:9080/montreal/images/bt_fleche_expand.jpg";
	}
	
	//new Effect.toggle('panneau','blind');
		
}


//*********************************************************
//Gestion de l'etat (ouvert ou ferme) de la fenetre de pub
//*********************************************************
var Nom="pubBannerState";
var FERME="ferme";
var OUVERT="ouvert";

function sauvegaderEtat(etat) {

	var cookieEnabled=(navigator.cookieEnabled)? true : false		
	var Contenu=etat;
	if (cookieEnabled) {		
		document.cookie= Nom + "=" + Contenu + "; path=/;";		
	}
}

function getEtatFenetre(){		
	var etat = OUVERT;
	var nameEQ=Nom + "=";
	if (document.cookie.length>0 && document.cookie.indexOf(nameEQ!=-1)) {		
	
		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) {				
				etat = c.substring(nameEQ.length,c.length);							
			}
		}	
	}	
	//alert("Etat= " + etat);	
	
	return etat;
}

function EcrireCookie(nom, valeur){
	
	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	/******************************************************/
	// On peut maintenant changer la date d'expiration du cookie (au lieu de la fin de la session)
	// Si on entre "never", le cookie expire dans un an.
	if (expires != null && expires.length > 0) {
		if (expires.indexOf("never") >= 0) {
			date=new Date;
			date.setYear(date.getFullYear()+1);
			expires=date;
		} else {
			expires = new Date( expires );  // mm/dd/yyyy [IE, FF]
		}
	}
	/******************************************************/
	
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	//En commentaire pour fixer le cookie de session
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "/" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}

function LireCookie(nom){
	var arg=nom+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
		while (i<clen){
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;
		}
	return null; 
}

function getCookieVal(offset){
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr)); 
}


function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

// Fonction pour regénérer le captcha
function refreshCAPTCHA() 
{ 
	document.getElementById('CAPTCHA').src=document.getElementById('CAPTCHA').src + Date();
	document.forms[0].lettresEntresPourCaptcha.value = '';
	document.forms[0].lettresEntresPourCaptcha.focus();
}


