/* 	Afficher ou cacher les sous-menu */
function menuExpand(expand_id, elem_id, elem_class){
	var el = document.getElementById(elem_id);
	var ex = document.getElementById(expand_id);
	if(el.style.display == "block"){
		el.style.display = "none"; // cacher le sous-menu
		ex.innerHTML = "+&nbsp;"; // "fermer" le sous-menu
		ex.className = "expandOff"; // identifier le sous-menu "fermer"
	}
	else {
		var x = document.getElementById("menu_wrapper").getElementsByTagName("UL");
		for (var i=0; i<x.length; i++){
			if(x[i].className == elem_class){
				x[i].style.display = "none"; // cacher tous les sous-menu
			}
		}
		var y = document.getElementById("menu_wrapper").getElementsByTagName("B");
		for (var i=0; i<y.length; i++){
			if(y[i].className == "expandOn"){ 
				y[i].innerHTML = "+&nbsp;"; // "fermer" tous les sous-menu
			}
		}
		el.style.display = "block"; // afficher le bon sous-menu
		ex.innerHTML = "-&nbsp;"; // ouvrir le bon sous-menu
		ex.className = "expandOn"; // identifier le sous-menu "ouvert"
	}
}

/* 	Cacher toutes les sous-catégories au chargement 	*
 *	de la page. 										*
 *	Afficher la sous-catégorie correspondante si nous	*
 *  sommes dans une page constituant une sous-catégorie.*
 *	Cette fonction est appelé par les menus ssi.		*/
 
function menuLoad(elem_class){	
	if(elem_class){ // cacher tous les sous-menu (evaluer avec la 'class')
		var x = document.getElementById("menu_wrapper").getElementsByTagName("UL");
		for (var i=0; i<x.length; i++){
			if(x[i].className == elem_class){
				x[i].style.display = "none";
			}
		}
	}
	var y = document.getElementById("menu_wrapper").getElementsByTagName("A");
	for (var i=0; i<y.length; i++){
		// evaluer les liens html du menu et comparer avec la valeur du URL de la page.
		// le 'replace' est utilise pour enlever certains symboles (dans les liens et URL), 
		// ces symboles peuvent fausser la comparaison
		if(document.location.href.replace(/[&?=]/g,"").match(".*"+y[i].getAttribute('href').replace(/[&?=]/g,""))) {
			if (y[i].className == "menu_link") {
				y[i].style.color = "#ccc" ; // couleur de la catégorie sélectionné
			}
			else if (y[i].className == "sub_menu_link") {
				y[i].style.color = "#fff"; // couleur de la sous-catégorie sélectioné
				var node = y[i].parentNode.parentNode.parentNode; // récupérer le node parent
				var elem_id = node.getAttribute('id'); // récupérer la valeur de l'attribut 'id'
				var elem_class = node.getAttribute('class'); // récupérer la valeur de l'attribut 'class'
				var expand_id = node.getAttribute('expand_id'); // récupérer la valeur de l'attribut 'expand_id'
				menuExpand(expand_id, elem_id, elem_class); // faire afficher le sous-menu correspondant
			}
		}
	}
}

