function Menu (nbElements)
{
	this.nbElements = nbElements;
	this.selectedMenu;
	this.selectedSousMenu;
}

Menu.prototype.select = function (objectId, linkId, elementId) {
	var tabId = objectId.split("_");
	
	if(tabId[1] != "") {
		for(var nbMenu=0; nbMenu<this.nbElements; nbMenu++) {
			var element = document.getElementById("menu_" + nbMenu);
			var elementSousMenu = document.getElementById("sous_menu_" + nbMenu);
			
			/* If it's not the clicked menu we close it */
			if(tabId[1] != nbMenu) {
				element.className = "menu_default menu_" + linkId;
				document.getElementById("text_" + nbMenu).style.display = "";
				if(elementSousMenu) {
					elementSousMenu.style.display = "none";
				}
			}
			/* If it's the clicked menu */
			else {
				var selectedId = -1;
				if(this.selectedMenu) {
					var tabSelectedId = this.selectedMenu.split("_");
					selectedId = tabSelectedId[1];
				}
				
				/* If it's closed we open it */
				if(selectedId != nbMenu) {
					element.className = "menu_" + linkId + "_hover";
					document.getElementById("text_" + nbMenu).style.display = "none";
					if(elementSousMenu) {
						elementSousMenu.style.display = "";
					}
					this.selectedMenu = objectId;
					
					if(elementId != "" && elementId != "error") {
						document.getElementById("menu_element_" + tabId[1] + "_" + elementId).className = "menu_element_" + elementId + "_selected";
						this.selectedSousMenu = elementId;
					}
				}
				/* If it's already opened we close it */
				else {
					element.className = "menu_default menu_" + linkId;
					document.getElementById("text_" + nbMenu).style.display = "";
					if(elementSousMenu) {
						elementSousMenu.style.display = "none";
					}
					this.selectedMenu = "";
				}
			}
		}
	}
}

Menu.prototype.changePage = function(page, rubrique) {
	var url = "index.php?page=" + page;
	
	if(rubrique) {
		url += "&rubrique=" + rubrique;
	}
	
	document.location = url;
}

Menu.prototype.switchMenu = function (idMenu) {
	this.selectedMenu = idMenu;
	for(var nbMenu=1; nbMenu<=this.nbElements; nbMenu++) {
		var element = document.getElementById("menu" + nbMenu);
		var elementSousMenu = document.getElementById("sous_menu" + nbMenu);
		
		if(idMenu != nbMenu) {
			element.className = "menu_close";
			if(elementSousMenu) {
				elementSousMenu.style.display = "none";
			}
		}
		else {
			element.className = "menu_open";
			if(elementSousMenu) {
				elementSousMenu.style.display = "";
			}
		}
	}
}

Menu.prototype.unhighlightMenu = function (idMenu) {
	if(this.selectedMenu != idMenu) {
		document.getElementById("menu" + idMenu).className = "menu_close";
		document.getElementById("menu_text_" + idMenu).className = "menu_text_" + idMenu + "_default";
	}
}

Menu.prototype.highlight = function (object,mode,linkId) {
	var tabClass = object.id.split("_");
	var tabSelectedId = "";
	
	if(this.selectedMenu) {
		var tabSelectedId = this.selectedMenu.split("_");
	}
	
	if(tabSelectedId[1] != tabClass[1]) {
		if(mode) {
			object.className = "menu_" + linkId + "_hover";
			document.getElementById("text_" + tabClass[1]).style.display = "none";
		}
		else {
			object.className = "menu_default menu_" + linkId;
			document.getElementById("text_" + tabClass[1]).style.display = "";
		}
	}
}

Menu.prototype.highlightElement = function (idMenu, idElement) {
	var menu = document.getElementById("sous_menu_" + idMenu);
	var tabElements = menu.getElementsByTagName("div");
	
	for(var nbElement=1; nbElement<tabElements.length; nbElement++) {
		var tabSelectedId = tabElements[nbElement].id.split("_");
				
		if(this.selectedSousMenu != tabSelectedId[3]) {
			tabElements[nbElement].className = "menu_element_" + tabSelectedId[3] + "_default";
		}
	}
	
	document.getElementById("menu_element_" + idMenu + "_" + idElement).className = "menu_element_" + idElement + "_selected";
}

Menu.prototype.unhighlightElement = function (idMenu, idElement) {
	if(this.selectedSousMenu != idElement) {
		document.getElementById("menu_element_" + idMenu + "_" + idElement).className = "menu_element_" + idElement + "_default";
	}
}
