var minuterie = null;
var minuterie2 = null;

var delaiMenu = 750;
var delaiSousMenu = 750;

function attacherEvenement(obj, evt, fct) {
	try {
		var lObjet = obj;
		if(lObjet) {
			if(lObjet.addEventListener) {
				lObjet.addEventListener(evt, fct, false);
			} else if(lObjet.attachEvent) {
				lObjet.attachEvent("on"+ evt, fct);
			} else {
				return false;
			}
		}

	} catch(ex) { return false; }

	return true;
}

function afficherCalque(idCalque) {
	cacherTousLesCalquesSaufUn(idCalque);
	var leCalque = document.getElementById(idCalque);

	if(leCalque) {
		leCalque.style.display = "block";
	}
}

function afficherSousCalque(idCalque, idSousCalque) {
	cacherTousLesSousCalquesSaufUn(idCalque, idSousCalque);

	var leSousCalque = document.getElementById(idSousCalque);

	if(leSousCalque) {
		leSousCalque.style.display = "block";
	}
}

function cacherCalque(idCalque) {
	var leCalque = document.getElementById(idCalque);
	if(leCalque) {
		cacherTousLesSousCalques(idCalque);

		leCalque.style.display = "none";
	}
}

function cacherSousCalque(idCalque, idSousCalque) {
	var leSousCalque = document.getElementById(idSousCalque);
	if(leSousCalque) {
		leSousCalque.style.display = "none";

		var leLien = document.getElementById(leSousCalque.idLien);

		if(leLien) {
			leLien.className = "lien";
		}
	}
}

function cacherTousLesCalques() {
	for(var iMenu=0; iMenu<lesMenus.length; iMenu++) {
		var leMenu = lesMenus[iMenu];
		cacherCalque(leMenu.idCalque);
	}
}

function cacherTousLesSousCalques(idCalque) {
	var leCalque = document.getElementById(idCalque);
	if(leCalque) {
		var lesLiens = leCalque.getElementsByTagName("A");
		
		for(var iLien=0; iLien<lesLiens.length; iLien++) {
			var leLien = lesLiens[iLien];
			if(leLien.parentNode.id == idCalque) {
				cacherSousCalque(idCalque, leLien.id +"_sousMenu");
			}
		}
	}
}

function cacherTousLesCalquesSaufUn(idCalque) {
	for(var iMenu=0; iMenu<lesMenus.length; iMenu++) {
		var leMenu = lesMenus[iMenu];
		if(leMenu.idCalque != idCalque)
			cacherCalque(leMenu.idCalque);
	}
}

function cacherTousLesSousCalquesSaufUn(idCalque, sousCalque) {
	var leCalque = document.getElementById(leCalque);
	if(leCalque) {
		var lesLiens = leCalque.getElementsByTagName("A");
		
		for(var iLien=0; iLien<lesLiens.length; iLien++) {
			var leLien = lesLiens[iLien];
			if(leLien.parentNode.id == idCalque && (leLien.id +"_sousMenu" != lesousCalque) ) {
				cacherSousCalque(idCalque, leLien.id +"_sousMenu");
			}
		}
	}
}

var lesMenus = new Array();

function oMenu(idDeclancheur, idCalque, gauche, haut) {
	this.idDeclancheur = idDeclancheur;
	this.idCalque = idCalque;

	this.gauche = gauche;
	this.haut = haut;

	return this;
}

function ajouterMenu(idDeclancheur, idCalque, gauche, haut) {
	lesMenus[lesMenus.length] = new oMenu(idDeclancheur, idCalque, gauche, haut);
}

function menu_onmouseover() {
	window.clearTimeout(minuterie);

	var obj;
	if(typeof event != "undefined") obj = event.srcElement;
	else obj = this;

	if(obj.menu) {
		afficherCalque(obj.menu.idCalque);
	}
}

function menu_onmouseout() {
	var obj;
	if(typeof event != "undefined") obj = event.srcElement;
	else obj = this;

	if(obj.menu) {
		minuterie = window.setTimeout("cacherCalque('"+ obj.menu.idCalque +"')", delaiMenu);
	}
}

function calque_onmouseover() {
	window.clearTimeout(minuterie);
}

function calque_onmouseout() {
	var obj;
	if(typeof event != "undefined") obj = event.srcElement;
	else obj = this;

	if(obj.tagName == "A") obj = obj.parentElement;

	if(obj.menu) {
		minuterie = window.setTimeout("cacherCalque('"+ obj.menu.idCalque +"')", delaiMenu);
	}
}

function lien_onmouseover() {
	window.clearTimeout(minuterie);
	window.clearTimeout(minuterie2);

	var obj;
	if(typeof event != "undefined") obj = event.srcElement;
	else obj = this;

	if(obj.menu) {
		if(obj.sousMenu) {
			cacherTousLesSousCalquesSaufUn(obj.menu.idCalque, obj.sousMenu);
			afficherSousCalque(obj.menu.idCalque, obj.sousMenu);

			obj.className = "lien lienActif";
		} else {
			cacherTousLesSousCalques(obj.parentNode.id);
		}
	}
}

function lien_onmouseout() {
	var obj;
	if(typeof event != "undefined") obj = event.srcElement;
	else obj = this;

	if(obj.menu) {
		minuterie2 = window.setTimeout("cacherSousCalque('"+ obj.menu.idCalque +"', '"+ obj.id +"_sousMenu')", delaiSousMenu);
	}
}

function sousCalque_onmouseover() {
	window.clearTimeout(minuterie2);
}

function sousCalque_onmouseout() {
	var obj;
	if(typeof event != "undefined") obj = event.srcElement;
	else obj = this;

	if(obj.tagName == "A") obj = obj.parentElement;

	if(obj.menu) {
		minuterie2 = window.setTimeout("cacherSousCalque('"+ obj.menu.idCalque +"', '"+ obj.id +"')", delaiSousMenu);
	}
}

function initMenu() {
	cacherTousLesCalques();

	for(var iMenu=0; iMenu<lesMenus.length; iMenu++) {
		var leMenu = lesMenus[iMenu];
		
		var leDeclancheur = document.getElementById(leMenu.idDeclancheur);

			var leCalque = document.getElementById(leMenu.idCalque);
	
			if(leDeclancheur.offsetLeft + 32 - 12 + 200 + 25 > leDeclancheur.parentNode.offsetWidth) {
				leCalque.style.right = "-1px";
			} else if(leDeclancheur.offsetLeft - 16 - 12 < 0) {
				leCalque.style.left = "-1px";
			} else {
				leCalque.style.left = (leDeclancheur.offsetLeft - 16 - 12) +"px";
			}

			leCalque.style.left = '-1px';
			
	
			leCalque.style.top = leMenu.haut +"px";
			leCalque.style.left = leMenu.gauche + "px";
			attacherEvenement(leCalque, "mouseover", calque_onmouseover);
			attacherEvenement(leCalque, "mouseout", calque_onmouseout);
	
			leDeclancheur.menu = leMenu;
			leCalque.menu = leMenu;
	
			attacherEvenement(leDeclancheur, "mouseover", menu_onmouseover);
			attacherEvenement(leDeclancheur, "mouseout", menu_onmouseout);
	
			var lesLiens = leCalque.getElementsByTagName("A");
			for(var iLien=0; iLien<lesLiens.length; iLien++) {
				if(lesLiens[iLien].parentNode.id == leCalque.id) {
					var leLien = lesLiens[iLien];
					var leSousCalque = document.getElementById(leLien.id +"_sousMenu");
	
					if(leSousCalque) {
					
						leCalque.style.left = leMenu.gauche +"px";
						leSousCalque.style.top = leLien.offsetTop - 1 +"px";
	
						leSousCalque.menu = leMenu;
						
	
						leLien.sousMenu = leSousCalque.id;
						leSousCalque.idLien = leLien.id;
	
						attacherEvenement(leSousCalque, "mouseover", sousCalque_onmouseover);
						attacherEvenement(leSousCalque, "mouseout", sousCalque_onmouseout);
					}
	
					leLien.menu = leMenu;
					attacherEvenement(leLien, "mouseover", lien_onmouseover);
					attacherEvenement(leLien, "mouseout", lien_onmouseout);
	
				}
			}

	}
}

function debug(msg) {
	alert("DEBUG: "+ msg);
}

if(document.location.href.indexOf("/en/") > 0) {
	ajouterMenu("menu_about_en", "m_apropos", 80, 139);
	//ajouterMenu("menu_portfolio_en", "m_portefolio", 168, 139);
	//ajouterMenu("menu_highlights_en", "m_highlights", 331, 139);
	ajouterMenu("menu_highlights_en", "m_highlights", 240, 139);
} else {
	ajouterMenu("menu_about_fr", "m_apropos", 80, 139);
	//ajouterMenu("menu_portfolio_fr", "m_portefolio", 166, 139);
	//ajouterMenu("menu_highlights_fr", "m_highlights", 346, 139);
	ajouterMenu("menu_highlights_fr", "m_highlights", 230, 139);
}

//attacherEvenement(window, "load", initMenu);
attacherEvenement(document, "click", cacherTousLesCalques);



