﻿/* 
	> Modification 6 Juin 2008
		Transition à Mootools 1.2, gesiton de section active
*/
//Globales
var elementAllume="";
var intTimerVisibilite;
var intTimerVisibilite2;
var bolAvecAnim = false;
var last_menu_item = "";
var intTimerVisibilite_stay_on;

/*
Si on veut des animations
*/
if (bolAvecAnim == true) {
	window.addEvent("domready",function() {
		//initialiserParamsAnimation();
	});
};

/*
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");
	elementsMenu.each(function(element) {
		//Styles directs ici - pour placer un style directement
		element.stylesDirect = new Fx.Tween(element);
		element.stylesDirect.set("opacity",0);
		//Settings de l'effet ici.
		element.effet = new Fx.Morph(element, {duration:200,wait:false,Transition:"Cubic.easeOut"});
	});
};

/*
Timer de disparition du menu
*/
function lancerTimerVisibilite() {
	intTimerVisibilite=setTimeout("fermerElementVisible()",1500);
	intTimerVisibilite2=setTimeout("replace_default_menu()",1500);
};

/*
Arrête le timer quand on passe rapidement d'un menu à l'autre.
*/
function interrompreTimerVisibilite() {
	clearTimeout(intTimerVisibilite);
	clearTimeout(intTimerVisibilite2);
};

function lancerTimerVisibilite_stay_on() {
	intTimerVisibilite_stay_on=setTimeout("replace_default_menu()",500);
};

function interrompreTimerVisibilite_stay_on() {
	clearTimeout(intTimerVisibilite_stay_on);
	//alert('clear')
};

/*
Fait apparaitre le sous-menu au survol d'un élément de menu
*/
function montrerSousMenu(intIdRecu) {
	
	interrompreTimerVisibilite();
	//interrompreTimerVisibilite_stay_on();
	//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 (elementAllume != "" && elementAllume.id != intIdRecu) {
		fermerElementVisible();
	};
	//Si l'élément demandé existe et qu'il n'est pas déjà allumé, faire apparaître
	if (document.getElementById(intIdRecu) && (document.getElementById(intIdRecu) != elementAllume)) {
		close_all_menu();
		elementAllume=document.getElementById(intIdRecu);
		if (elementAllume.parentNode.className != "actif") {
			elementAllume.parentNode.className="allume";
		};
		
		elementAllume.style.zIndex = 100
		
		//Mettre le zIndex du LI de menu plus haut que les autres
		//elementAllume.parentNode.style.zIndex = retournerZIndex(elementAllume.parentNode) + 1;
		elementAllume.style.display="block";
		//Si on veut de l'animation. Placez les valeurs de CSS pour la fin de la transition ici.
	};
};

/*
Fait disparaitre le sous-menu
*/
function fermerElementVisible() {
	//Si on a un élément allumé
		
	close_all_menu();
	if(elementAllume) {
		//Si on veut de l'animation. Placez les valeurs de CSS pour le début de la transition ici.
		if (bolAvecAnim == true) {
			elementAllume.effet.removeEvents("onComplete");
			elementAllume.effet.addEvent("onComplete",function(element) {
				element.style.visibility="hidden";
			});
			elementAllume.effet.start({
				"opacity" : 0
			});	
		}
		else {
			elementAllume.style.display="none";
		};
		elementAllume.style.zIndex = -1
		if (elementAllume.parentNode.className != "actif") {
			elementAllume.parentNode.className="";
		};
		elementAllume="";
	};
};

function replace_default_menu() {
	jQuery(".stay_on").css('display', 'block');
	jQuery(".stay_on").css('Z-index', 1);
}

function remove_default_menu() {
	if (document.getElementById(last_menu_item) && temp_val) {
		perm=document.getElementById(last_menu_item);
		perm.style.display="none";
	};
}

function highlight_menu(what) {
	close_all_menu();
	$('.sous_menu').each( function () {
		$(this).removeClass("stay_on");
	});
	$('.sous_menu [rel=' + what + '] ').parent().addClass("stay_on");
	$('.sous_menu [rel=' + what + '] ').parent().css('display', 'block');
	$('.selected_sm').removeClass("selected_sm");
	$('.sous_menu [rel=' + what + '] ').addClass("selected_sm");
	$('.sous_menu [rel=' + what + '] ').parent().css('display', 'block');
	$('.selected_m').removeClass("selected_m");
	$('#menu_element_' + $('.sous_menu [rel=' + what + '] ').parent().attr('id').substring(10)).addClass("selected_m");
}

function close_all_menu() {
	$('.sous_menu').each( function () {
		$(this).css('display', 'none');	
	});
}






/*
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;
};