/*
	Auteurs : 
		Dominic Gauthier 	: 6924
		Martin Rancourt 	: 7526
		
	Dernière modification :
		Martin Rancourt 	: 2005-07-07	Optimiser le code
		Martin Rancourt		: 2005-07-19	Ajouter le system d'exeption pour le hightlight
		Martin Rancourt		: 2005-07-19	Ajustement pour faire le menu de droite des EPSS au lieu du menu d gauche
*/
var domaine = "http://"+location.host;
var pathURL = location.pathname.toString().toLowerCase();
var arrParentUlA = new Array();
function construireSMenu(objUl, firstObjUl) {
	//loop dans les childs du UL
	for(var i=0;i<objUl.childNodes.length;i++) {
		//valide si le node est un LI
		if (objUl.childNodes[i].tagName == "LI") {
			//loop dans les childs du LI
			for(j=0;j<objUl.childNodes[i].childNodes.length;j++) {
				//reset la valeur de la varible qui indique si on doit sélectionné ou ouvrir l'item
				needProcess = false;
				//valide si le node est un A
				if(objUl.childNodes[i].childNodes[j].tagName == "A") {
					//garde le path du lien trouvé
					var path = objUl.childNodes[i].childNodes[j].getAttribute('href').toString().toLowerCase();
					//enlève le domaine si il le contien
					if(path.indexOf(domaine) != -1){
						path = path.slice(domaine.length);
					}
					//alert("path = " + path + " & pathURL = " + pathURL);
					if (path == pathURL) {
						needProcess = true;
					}
					//loop dans les childs du LI
					for(var k=0;k<objUl.childNodes[i].childNodes.length;k++) {
						//Si on doit ouvrir ou sélectionner l'item
						if (needProcess) {
							//valide si c'est un élément A
							if (objUl.childNodes[i].childNodes[k].tagName == "A") {
								// Allume le menu -> mets un class "On" au A
								objUl.childNodes[i].childNodes[k].setAttribute("className", "On Open");
								objUl.childNodes[i].childNodes[k].setAttribute("class", "On Open");
								//Remonte au parent jusqu'au ul du départ
								for(var el = objUl.childNodes[i].childNodes[k]; el != firstObjUl; el = el.parentNode) {
									//valide si le node est un UL
									if (el.tagName == "UL" || el.tagName == "OL") {
										//regarde les éléments précédents au même niveauque le UL
										for (var prevEl=el;prevEl!=undefined;prevEl=prevEl.previousSibling) {
											//Valide si c'est un A
											if (prevEl.tagName == "A") {
												//Allume le menu -> mets un class "On" au A
												prevEl.setAttribute("className", "Open");
												prevEl.setAttribute("class", "Open");
											}
										}
										//Ouvre le menu
										el.style.display = "block";
									}
								}
							}
						}
						//valide si il y a un UL
						if(objUl.childNodes[i].childNodes[k].tagName == "UL" || objUl.childNodes[i].childNodes[k].tagName == "OL") {
							//Ouvre le sous menu
							if (needProcess) objUl.childNodes[i].childNodes[k].style.display = "block";
							//Recall la fonction pour appliquer le processus au child
							construireSMenu(objUl.childNodes[i].childNodes[k], firstObjUl);			
							break;
						}
					}
				}
			}
		}
	}
}

