var timerDetails;
var timerMain;
var timerMenu;
var detailsShowed;
var mainTextShowed;
var subMenuShowed;
var animatingTexte = false;
var animatingSubs = false;
var animatingDetails = false

var css_browser_selector = function()
{
	var ua=navigator.userAgent.toLowerCase(),is=function(t)
	{
		return ua.indexOf(t) != -1;
	}
	,h=document.getElementsByTagName('html')[0],b=(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?'gecko ff2':is('firefox/3')?'gecko ff3':is('gecko/')?'gecko':is('opera/9')?'opera opera9':/opera\s(\d)/.test(ua)?'opera opera'+RegExp.$1:is('konqueror')?'konqueror':is('chrome')?'chrome webkit safari':is('applewebkit/')?'webkit safari':is('mozilla/')?'gecko':'',os=(is('x11')||is('linux'))?' linux':is('mac')?' mac':is('win')?' win':'';var c=b+os+' js'; h.className += h.className?' '+c:c;
}

();

function styleSwitcher()
{
	var theDiv = document.getElementById("main");
	if (document.body.clientHeight < 583){
		theDiv.className = "down";
	}
	else {
		theDiv.className = "up";
	}
} 

function lienMainBleu(numLien)
{
	var monLien = document.getElementById("mainLien" + numLien);
	monLien.className = "menuprincvisit";	
	var racineLiens = document.getElementById("menu");
	var liens = racineLiens.getElementsByTagName("a");
	var fleche = racineLiens.getElementsByTagName("img");
	fleche.src = "images/fleche.png";
	
	for(var iLien = 0; iLien < liens.length; iLien++)
	{
		if(liens[iLien].id.indexOf("mainLien") == 0 && liens[iLien].id != "mainLien" + numLien )
		{
			//changer le gestionnaire d'évènements du onclick de chacun des liens.	
			liens[iLien].className = "menuprinc"; 			
		}		
	}	
}

function sousLienBleu(numLien)
{
	var monLien = document.getElementById("sousLien" + numLien);
	monLien.className = "menusubvisit";	
	var racineLiens = document.getElementById("menu");
	var liens = racineLiens.getElementsByTagName("a");
	
	for(var iLien = 0; iLien < liens.length; iLien++)
	{
		if(liens[iLien].id.indexOf("sousLien") == 0 && liens[iLien].id != "sousLien" + numLien )
		{
			//changer le gestionnaire d'évènements du onclick de chacun des liens.	
			liens[iLien].className = "menusub"; 			
		}		
	}
}

function lienEquipeBleu(numLien)
{
	var monLien = document.getElementById("texteLiens" + numLien);
	monLien.className = "nomsvisit";	
	var racineLiens = document.getElementById("equipe");
	var liens = racineLiens.getElementsByTagName("a");
	
	for(var iLien = 0; iLien < liens.length; iLien++)
	{
		if(liens[iLien].id.indexOf("texteLiens") == 0 && liens[iLien].id != "texteLiens" + numLien)
		{
			//changer le gestionnaire d'évènements du onclick de chacun des liens.	
			liens[iLien].className = "noms"; 			
		}		
	}
}

function clickMenu(idTexte)
{
	if(idTexte != mainTextShowed)
	{			
		clearTimeout(timerMain);
		
		animatingTexte = true;
		animatingDetails = true;
		//cacher le div de droite
		hideAndShowDetails(detailsShowed, 1, "");	
		detailsShowed = "";
		//cacher l'ancien div que l'on ne veut plus voir et montrer le nouveau div	
		hideAndShowMainTexte(mainTextShowed, 1, idTexte);	
	}	
}


function clickLienDiv(idTexte)
{		
	if(idTexte != detailsShowed && !animatingDetails)
	{	
		clearTimeout(timerDetails);
		
		//patch pour l'Équipe
		lienEquipeBleu(idTexte);
		
		animatingDetails = true;
		//cacher l'ancien div que l'on ne veut plus voir et montrer le nouveau div	
		hideAndShowDetails(detailsShowed, 1, "details" + idTexte);			
	}		
}

function showSubMenu(idSub)
{
	subMenuShowed = idSub;
	//Aller chercher les sous menus. 
	var menu = document.getElementById("menu");
		
	var lesSubs = menu.getElementsByTagName("td");
		
	//changer le lien visité
	lienMainBleu(idSub.substring(3));
		
	if(document.getElementById(idSub) != null)
	{	
		setOpacity(document.getElementById(idSub), 1);
	}
}

function showMainTexte(idTexte)
{
	mainTextShowed = idTexte;
	//Aller chercher les sous menus. 
	var texte = document.getElementById(idTexte);
			
	if(texte != null)
	{	
		setOpacity(texte, 1);
		texte.style.display = "block";
	}
}

function showDetails(idDetails)
{
	detailsShowed = idDetails;
	//Aller chercher les sous menus. 
	var texte = document.getElementById(idDetails);
	setOpacity(texte, 1);
	texte.style.display = "block";
}

function clickMain(idMain)
{
	if(!animatingTexte && !animatingSubs && !animatingDetails)
	{
		clickMenu(idMain);
		
		lienMainBleu(idMain.substring(5));

		//s'il y avait un sous menu à afficher
		if(showSubMenuAnim("sub" + idMain.substring(5)))
		{
			sousLienBleu(idMain.substring(5));
		}
	}
}

function clickSub(idSub)
{
	if(!animatingTexte && !animatingSubs && !animatingDetails)
	{
		clickMenu(idSub);
		
		sousLienBleu(idSub.substring(5));
	}
}

function showSubMenuAnim(idSub)
{
	if(subMenuShowed != idSub)
	{
	
		subMenuShowed = idSub;
		animatingSubs = true;
		clearTimeout(timerMenu);
		//Aller chercher les sous menus. 
		var menu = document.getElementById("menu");
		
		var lesSubs = menu.getElementsByTagName("td");
		
		//cacher les sous menus que l'on ne veut plus voir, et trouver le div à afficher
		for(var i = 0; i < lesSubs.length; i++)
		{		
			if(lesSubs[i].id.indexOf("sub") == 0 && lesSubs[i].id != idSub)
			{
				changeLinksToSpans(lesSubs[i].id);
				hideGradualMenu(lesSubs[i].id, lesSubs[i].style.opacity);
			}
		}	
		
		if(document.getElementById(idSub) != null)
		{	
			//démarrer l'affichage graduel
			changeSpansToLinks(idSub);
			timerMenu = setTimeout("showGradualMenu('" + idSub + "', 0.2)", 25);
			return true;
		}	
		else
		{
			animatingSubs = false;	
			return false;
		}
	}
	else return false;
}

function setOpacity(element, newopac)
{
	//pour le div que l'on doit afficher, mettre l'opacité à zéro
	element.style.MozOpacity = newopac;	
	element.style.opacity = newopac;
	element.style.filter = 'alpha(opacity=' + newopac*100 + ')';
}

function tieLinks()
{
	//obtenir les liens dans le texte du centre
	var divGauche = document.getElementById("equipe");
	var liens = divGauche.getElementsByTagName("a");
	
	//pour chaque lien, vérifier que c'est un lien avec un id, ce qui signifie qu'il pointe 
	for(var iLien = 0; iLien < liens.length; iLien++)
	{
		if(liens[iLien].id.indexOf("texteLiens") == 0)
		{
			//changer le gestionnaire d'évènements du onclick de chacun des liens.	
			if(document.getElementById("details" + liens[iLien].id.substring(10) != null));
				liens[iLien].onclick = new Function("clickLienDiv('" + liens[iLien].id.substring(10) + "'); return false;"); 			
		}		
	}	
	
	var areas = divGauche.getElementsByTagName("area");
	
	//pour chaque lien, vérifier que c'est un lien avec un id, ce qui signifie qu'il pointe 
	for(var iArea = 0; iArea < areas.length; iArea++)
	{
		if(areas[iArea].id.indexOf("texteLiens") == 0)
		{
			//changer le gestionnaire d'évènements du onclick de chacun des liens.	
			if(document.getElementById("details" + areas[iArea].id.substring(10) != null));
				areas[iArea].onclick = new Function("clickLienDiv('" + areas[iArea].id.substring(10) + "'); return false;"); 			
		}		
	}	
}

function tieMenuLinks()
{
	//obtenir les liens dans le texte du centre
	var menu = document.getElementById("menu");
	var liens = menu.getElementsByTagName("a");
	
	//pour chaque lien, vérifier que c'est un lien avec un id, ce qui signifie qu'il pointe 
	for(var iLien = 0; iLien < liens.length; iLien++)
	{
		if(liens[iLien].id.indexOf("mainLien") == 0)
		{			
			//changer le gestionnaire d'évènements du onclick de chacun des liens.	
			if(document.getElementById("texte" + liens[iLien].id.substring(8) != null));
				liens[iLien].onclick = new Function("clickMain('texte" + liens[iLien].id.substring(8) + "'); return false;"); 			
		}
		else if(liens[iLien].id.indexOf("sousLien") == 0)
		{
			if(document.getElementById("texte" + liens[iLien].id.substring(9) != null));
				liens[iLien].onclick = new Function("clickSub('texte" + liens[iLien].id.substring(8) + "'); return false;"); 			
		}
	}	
}

//fonction d'initialisation
function init()
{
	hideDetails();
	tieLinks();
	//tieMains();
	showDetails("details1");
}

function hideDetails()
{
	var racineDroite = document.getElementById("personnes");
	var lesDivs = racineDroite.getElementsByTagName("div");
	
	//cacher les divs que l'on ne veut plus voir, et trouver le div à afficher
	for(var i = 0; i < lesDivs.length; i++)
	{		
		if(lesDivs[i].id.indexOf("details") == 0)
			lesDivs[i].style.display="none";	
	}	
}

function hideMainTexte()
{
	var racineGauche = document.getElementById("equipe");
	var lesDivs = racineGauche.getElementsByTagName("div");
	
	//cacher les divs que l'on ne veut plus voir, et trouver le div à afficher
	for(var i = 0; i < lesDivs.length; i++)
	{		
		if(lesDivs[i].id.indexOf("texte") == 0)
			lesDivs[i].style.display="none";	
	}	
}

function changeLinksToSpans(idRacine)
{
	//changer liens du menu en span 
	var racine = document.getElementById(idRacine);
	
	var liens = racine.getElementsByTagName("a");
		
	for(var i = 0; i < liens.length; )
	{
		var nouveauSpan = document.createElement("span");
		nouveauSpan.id = liens[i].id;
		nouveauSpan.className = liens[i].className;
		nouveauSpan.innerHTML = liens[i].innerHTML;
		liens[i].parentNode.replaceChild(nouveauSpan, liens[i]); 
	}	
}

function changeSpansToLinks(idRacine)
{
	//changer liens du menu en span 
	var racine = document.getElementById(idRacine);
	
	var spans = racine.getElementsByTagName("span");
		
	for(var i = 0; i < spans.length; )
	{		
		var nouveauLien = document.createElement("a");
		nouveauLien.id = spans[i].id;
		nouveauLien.onclick = new Function("clickSub('texte" + spans[i].id.substring(8) + "'); return false;");
		nouveauLien.className = spans[i].className;
		nouveauLien.href="#";
		//porter le onClick ici
		//nouveauLien.onclick = 
		nouveauLien.innerHTML = spans[i].innerHTML;
		spans[i].parentNode.replaceChild(nouveauLien, spans[i]); 
	}	
}

function hideSubs()
{
	//obtenir les liens dans le texte du centre
	var racineLiens = document.getElementById("menu");
	var tds = racineLiens.getElementsByTagName("td");
	
	//pour chaque lien, vérifier que c'est un lien avec un id, ce qui signifie qu'il pointe 
	for(var iTD = 0; iTD < tds.length; iTD++)
	{
		if(tds[iTD].id.indexOf("sub") == 0)
			setOpacity(tds[iTD], 0.2);	
	}
}


function showGradualDetails(idTexte, opacity)
{
	var divDetails = document.getElementById(idTexte);
	
	if(divDetails != null)
	{
		setOpacity(divDetails, opacity);
		
		if(opacity < 1)
		{
			var newopacity = opacity + 0.05;
			timerDetails = setTimeout("showGradualDetails('" + idTexte +"'," + newopacity + ")", 25);
		}
		else
		{
			detailsShowed = idTexte;
			animatingDetails = false;
		}	
	}	
	else
		animatingDetails = false;
}


function showGradualMain(idTexte, opacity)
{
	var divDetails = document.getElementById(idTexte);
	
	if(divDetails != null)
	{
		setOpacity(divDetails, opacity);
		
		if(opacity < 1)
		{
			var newopacity = opacity + 0.05;
			timerDetails = setTimeout("showGradualMain('" + idTexte +"'," + newopacity + ")", 25);
		}
		else
		{
			mainTextShowed = idTexte;
			animatingTexte = false;
		}	
	}
	else
		animatingTexte = false;
}

function showGradualMenu(idMenu, opacity)
{
	var subMenu = document.getElementById(idMenu);
	setOpacity(subMenu, opacity);
	
	if(opacity < 1)
	{
		var newopacity = opacity + 0.05;
		timerMenu = setTimeout("showGradualMenu('" + idMenu +"'," + newopacity + ")", 25);
	}
	else
	{
		if (document.attachEvent) 
			document.getElementById(idMenu).style.display="block";	
		else
			document.getElementById(idMenu).style.display="table-cell";	
		animatingSubs = false;
	}
}

function hideGradualMenu(idTexte, opacity)
{
	var divDetails = document.getElementById(idTexte);
	setOpacity(divDetails, opacity);

	if(opacity >= 0.2)
	{
		var newopacity = opacity - 0.05;
		timerMenu = setTimeout("hideGradualMenu('" + idTexte +"'," + newopacity + ")", 25);
	}
	else
		animatingSubs = false;
}

function hideAndShowDetails(idTexteToHide, opacity, idTexteToShow)
{
	var divDetails = document.getElementById(idTexteToHide);
	
	if(divDetails != null)
	{
		setOpacity(divDetails, opacity);

		if(opacity >= 0)
		{
			var newopacity = opacity - 0.05;
			timerDetails = setTimeout("hideAndShowDetails('" + idTexteToHide +"'," + newopacity + ",'" + idTexteToShow + "')", 25);
		}
		else
		{
			divDetails.style.display = "none";
			//pour le div que l'on doit afficher, mettre l'opacité à zéro
			var toShow = document.getElementById(idTexteToShow);
			if(toShow != null)
			{
				setOpacity(toShow, 0);	
				toShow.style.display="block";
				//démarrer l'affichage graduel
				timerDetails = setTimeout("showGradualDetails('" + idTexteToShow +"', 0.05)", 25);	
			}
			else
			{
				animatingDetails = false;
				detailsShowed = idTexteToShow;
			}
		}
	}
	else
	{
			//pour le div que l'on doit afficher, mettre l'opacité à zéro
			var toShow = document.getElementById(idTexteToShow);
			if(toShow != null)
			{
				setOpacity(toShow, 0);	
				toShow.style.display="block";
				//démarrer l'affichage graduel
				timerDetails = setTimeout("showGradualDetails('" + idTexteToShow +"', 0.05)", 25);	
			}
			else
			{
				animatingDetails = false;
				detailsShowed = idTexteToShow;
			}
	}	
}

function hideAndShowMainTexte(idTexteToHide, opacity, idTexteToShow)
{
	var divMainTexte = document.getElementById(idTexteToHide);
	
	if(divMainTexte != null)
	{
		setOpacity(divMainTexte, opacity);

		if(opacity >= 0)
		{
			var newopacity = opacity - 0.05;
			timerMain = setTimeout("hideAndShowMainTexte('" + idTexteToHide +"'," + newopacity + ",'" + idTexteToShow + "')", 25);
		}
		else
		{
			divMainTexte.style.display = "none";
			//pour le div que l'on doit afficher, mettre l'opacité à zéro
			var toShow = document.getElementById(idTexteToShow);
			if(toShow != null)
			{
				setOpacity(toShow, 0);	
				toShow.style.display="block";
				//démarrer l'affichage graduel
				timerMain = setTimeout("showGradualMain('" + idTexteToShow +"', 0.05)", 25);	
			}
			else
			{
				animatingTexte = false;
				mainTextShowed = idTexteToShow;
			}
		}
	}
	else
	{
			var toShow = document.getElementById(idTexteToShow);
			if(toShow != null)
			{
				setOpacity(toShow, 0);	
				toShow.style.display="block";
				//démarrer l'affichage graduel
				timerMain = setTimeout("showGradualMain('" + idTexteToShow +"', 0.05)", 25);	
			}
			else
			{
				animatingTexte = false;
				mainTextShowed = idTexteToShow;
			}
	}	
}
