//----------------------------------------------------------
//--	Copyright (c) 2005 The Working Group				
//--		 http://theworkinggroup.ca					
//--		  Developed by: Jack Neto					
//----------------------------------------------------------
var SelectedMenu = new Array();
var SelectedMenuClassOff = new Array();
var VisibleSubmenu = new Array();

var visibleObject = null;	//This object is always visible

//-------------------------------------
// Set the object that is always visible
//-------------------------------------
function setAlwaysVisible(itemId, value) {
	visibleObject = document.getElementById('icon'+itemId);

	if (visibleObject != null) {
		visibleObject.innerHTML = value;
		document.getElementById('link'+itemId).style.color='#233b84'; //blue
	}
}

//-------------------------------------
// Sets the innerHTML of the object to value
//-------------------------------------
function setContent(obj, value) {

	if (visibleObject != document.getElementById(obj) )
		document.getElementById(obj).innerHTML = value;
}

//-------------------------------------
// 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;

}

//-------------------------------------
// 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] = 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+")", 400);
}
