var menuItems = new Array();
var subToClose = new Array();
var subToOpen = new Array();
var thisMenu = new String();
thisMenu = 0;

/*------------
menuAdd is not used at this time.
It is part of an attempt to automatically find menu items in an HTML document.
This feature would obsolesce the menu argument fed to openSubMenu.
Editing the menu would be simplified to setting the class and id of a menu <div>.
--------------*/

function menuAdd(){
	var divs = new Array();
	var divs = document.getElementsByTagName("div");
	for(i=0;i<divs.length;i++){
		if(divs[i].parentNode.id == "leftMenu"){
			menuItems.push(divs[i].id);
		}
	}
}


/*------------
The function openSubMenu is called when the user clicks on a menu item.
The 'menu' argument is always the id value of the <div> containing the submenu.
This function first closes any open submenus, and then opens the submenu specified by 'menu'.
--------------*/

function openSubMenu(menu){
	if( thisMenu == menu){
		thisMenu = 0;
		closeOldMenu();
	}else{
		thisMenu = menu;
		var delay = closeOldMenu();
		setTimeout("openNewMenu()", delay+30 );
	}
}

/*------------
Gets all <li> elements, adds any that are open in the left navigation bar and then closes them.
--------------*/

function closeOldMenu(){
	subToClose.length = 0;
	var liItems = document.getElementsByTagName("li");
	for(i=0;i<liItems.length;i++){
		if(liItems[i].parentNode.parentNode.parentNode.id == "leftMenu" && liItems[i].style.display != 'none'){
			subToClose.push(liItems[i]);
		}
	}
	var delay = subToClose.length*30;
	for(i=0;i<subToClose.length;i++){
		setTimeout("closeSubMenus()", i*30);
	}
	return delay;
}

function openNewMenu(){
	subToOpen.length = 0;
	var liItems = document.getElementsByTagName("li");
	for(i=0;i<liItems.length;i++){
		if(liItems[i].parentNode.parentNode.id == thisMenu){
			subToOpen.push(liItems[i]);
		}
	}
	for(i=0,d=70;i<subToOpen.length;i++,d=d+70){
		setTimeout("openSubMenus()", d);
	}
}

function closeSubMenus(){
	var me = subToClose.shift();
	me.style.display = "none";
}

function openSubMenus(){
	var me = subToOpen.shift();
	me.style.display = "block";
}

function closeAllMenus(){
	var liItems = document.getElementsByTagName("li");
	for(i=0;i<liItems.length;i++){
		if(liItems[i].parentNode.parentNode.parentNode.id == "leftmenu"){
			liItems[i].style.display="none";
		}
	}
}