var SelectedMenu = new Array();
var SelectedMenuClassOff = new Array();
var VisibleSubmenu = new Array();

//-------------------------------------
// Activates a menu
//-------------------------------------
function SelectMenu(MenuId, menulevel, classOn, classOff) {
	cancelTimeout();

	//If the menu is already selected do nothing
	if (SelectedMenu[menulevel] == MenuId)
		return;

	//First deactivate all the sub menus
	UnselectMenu(menulevel);

	//Save the active menu info
	SelectedMenu[menulevel] = MenuId;
	SelectedMenuClassOff[menulevel] = classOff;

	//Activate the menu
	//MenuId.className = classOn;
}

//-------------------------------------
// Desactivates a menu 
//-------------------------------------
function UnselectMenu(menulevel) {
	cancelTimeout();
	for (i=menulevel; i<SelectedMenu.length; i++) {
		if (i<SelectedMenu.length) HideSubmenu(i);
		if (SelectedMenu[i] != null) {
			//SelectedMenu[i].className = SelectedMenuClassOff[i];
			SelectedMenu[i] = null;
		}
	}
}

//-------------------------------------
// Shows a menu
//-------------------------------------
function ShowSubmenu(MenuId, SubmenuId, menulevel, classOn, classOff) {
	cancelTimeout();
	if (VisibleSubmenu[menulevel] == SubmenuId)
		return;
	UnselectMenu(menulevel, classOff);
	SelectMenu(MenuId, menulevel, classOn, classOff);
	SubmenuId.style.visibility = 'visible';
	VisibleSubmenu[menulevel] = SubmenuId;
}

//-------------------------------------
// Hides a menu
//-------------------------------------
function HideSubmenu(menulevel) {
	if (VisibleSubmenu[menulevel] != null) {
		VisibleSubmenu[menulevel].style.visibility = 'hidden';
		VisibleSubmenu[menulevel] = null;
	}
} 

var hideMenuTimer;
//-------------------------------------
function cancelTimeout() {
	if (hideMenuTimer) clearTimeout(hideMenuTimer);
	hideMenuTimer = null;
}

//-------------------------------------
function startTimeout(menulevel) {
	if (hideMenuTimer) clearTimeout(hideMenuTimer);
	hideMenuTimer = setTimeout("UnselectMenu("+menulevel+")", 800);
}

/*
var activeObject = null; //This object is always visible
var visibleObject = null; //The currently visible objecte

//-------------------------------------
// Set the object that is always visible
//-------------------------------------
function setAlwaysVisible(menuId, itemId) {
	//Hide the previous active object
	if (activeObject != null) {
		activeObject.style.visibility='hidden';
	}
	// set the new object as the active one
	activeObject = document.getElementById(menuId);
if (activeObject != null) {
	activeObject.style.visibility='visible';
	visibleObject = activeObject;
}
	// set the class of the selected item
	selectdItem = document.getElementById(itemId);
	selectdItem.style.color="#b9692a";
}

//-------------------------------------
// Shows an object 
//-------------------------------------
function showObject(objectId) {
	cancelTimeout();
	if (visibleObject != null) hideObject(visibleObject.id);
	obj = document.getElementById(objectId);
	if(obj != null) {
		obj.style.visibility='visible';
		visibleObject = obj;
	}
}

//-------------------------------------
// Hides an object 
//-------------------------------------
function hideObject(objectId) {
	cancelTimeout();
	obj = document.getElementById(objectId);

	obj.style.visibility='hidden';
	visibleObject = null;
}

//-------------------------------------
// Hides all menu objects
//-------------------------------------
function hideAll() {
	hideObject('menu_2');		
	hideObject('menu_3');		
	hideObject('menu_4');		
	if (activeObject != null) showObject(activeObject.id);
}

var hideMenuTimer;
//-------------------------------------
function cancelTimeout() {
	if (hideMenuTimer) clearTimeout(hideMenuTimer);
	hideMenuTimer = null;
}

//-------------------------------------
function startTimeout() {
	if (hideMenuTimer) clearTimeout(hideMenuTimer);
	hideMenuTimer = setTimeout("hideAll()", 700);
}
*/
