//Globales

var elementAllume="";

var intTimerVisibilite;

var bolAvecAnim = false;

var currentOpenedElement = "";

var currentOpenedElementTemp = "";

var menuopen = false;





/*

Initialise les param?tre pour les animations.

Utilise les s?lecteur et fonctions de Mootools.

*/

function initialiserParamsAnimation() 

{

	var elementsMenu = $("ul#menuhaut li ul", "ul#menugauche li ul");

	element = elementsMenu

	elementsMenu.each(function() {element = this;});

};



/*

Timer de disparition du menu

*/

function lancerTimerVisibilite() 

{

	intTimerVisibilite=setTimeout("fermerElementVisible()",1000);

};



/*

Arr?te le timer quand on passe rapidement d'un menu ? l'autre.

*/

function interrompreTimerVisibilite() 

{

	clearTimeout(intTimerVisibilite);

};



/*

Fait apparaitre le sous-menu au survol d'un ?l?ment de menu

*/

function montrerSousMenu(intIdRecu) 

{

	var check = document.getElementById("menugauche").firstChild.className;

	if(menuopen == false && check != "actif"){

		interrompreTimerVisibilite();

		//Si on nous ne nous envoie pas le m?me ID et qu'il y a d?j? un ?l?ment de menu ouvert, fermer ce menu.

		if (currentOpenedElement != "" && currentOpenedElement != intIdRecu) {

			fermerElementVisible();

		};

		//Si l'?l?ment demand? existe et qu'il n'est pas d?j? allum?, faire appara?tre

		if (document.getElementById(intIdRecu) && ($("#"+intIdRecu) != elementAllume)) {

			elementAllume=$("#"+intIdRecu);

			currentOpenedElement = intIdRecu;

			if (elementAllume[0].parentNode.className != "actif") {

				elementAllume[0].parentNode.className="allume";

			} else {

				elementAllume[0].className = "allumeactif"

			};

			//Mettre le zIndex du LI de menu plus haut que les autres

			elementAllume[0].parentNode.style.zIndex = retournerZIndex(elementAllume[0].parentNode) + 100;

			elementAllume[0].style.display="block";

			//Si on veut de l'animation. Placez les valeurs de CSS pour la fin de la transition ici.

			if (bolAvecAnim == true) {

				elementAllume[0].style.visibility="visible";

			};

		};

		menuopen = true;

	}else{

		elementAllume=$("#"+intIdRecu);

		elementAllume[0].style.display="none";

		elementAllume[0].parentNode.className="";

		menuopen = false;

	}

};



/*

Fait disparaitre le sous-menu

*/

function fermerElementVisible() 

{

	//Si on a un ?l?ment allum?

	if(currentOpenedElement != "") 

	{

		//Si on veut de l'animation. Placez les valeurs de CSS pour le d?but de la transition ici.

		if (bolAvecAnim == true) 

		{

			elementAllume[0].style.visibility="hidden";

		}

		else 

		{

			elementAllume[0].style.display="none";

		};

		//Remettre l'?l?ment au bon zIndex

		var zindex = retournerZIndex(elementAllume[0].parentNode);

		if(isNaN(zindex)) {

			zindex=5;

		}

		elementAllume[0].parentNode.style.zIndex = zindex - 1;

		if (elementAllume[0].parentNode.className != "actif") {

			elementAllume[0].parentNode.className="";

		} else {

			

		};

		currentOpenedElement="";

	};

};



/*

Retourne le z-index d'un element

Source : http://www.quirksmode.org/dom/getstyles.html

*/

function retournerZIndex(element) 

{

	if (element.currentStyle) {

		var intZIndex = parseInt(element.currentStyle["zIndex"]);

	}

	else if (window.getComputedStyle) {

		var intZIndex = parseInt(document.defaultView.getComputedStyle(element,null).getPropertyValue("z-index"));

	};

	return intZIndex;

};