var menuOver = 0;
var subOver = 0;
var menuToggle = false;
var openMenus = new Array();
var suppressClose = false;
var toggledOff = false;

function toggleMenu() {
	if (menuToggle) {
		menuToggle = false;
		toggledOff = true;
	}
	else {
		menuToggle = true;
		suppressClose = true;
	}
	openMenu();
}

function overMenu(mymenu,mysub) {
	menuOver = mymenu;
	subOver = mysub;
	closeMenus(true);
	openMenu();
}

function openMenu() {
	if (menuToggle) {
		var tempArray = new Array();
	 	tempArray['id'] = menuOver;
		tempArray['level'] = subOver;
	 	
		openMenus.push(tempArray);
		if ($("sub_of_"+menuOver)) {
			Element.show("sub_of_"+menuOver);
		}
		Element.addClassName("menu_"+menuOver,"menu_selected");
	}
}

function closeMenus(suppressToggle,zeroSub) {
	if (zeroSub) {
		subOver = 0;
	}
	if ((menuToggle || toggledOff) && !suppressClose) {
		toggledOff = false;
		if (!suppressToggle) {
			menuToggle = false;
		}
		var popArray = new Array();
		for (var i = 0; i < openMenus.length; i++) {
			if (openMenus[i]['level']>=subOver) {
				if ($("sub_of_"+openMenus[i]['id'])) {
					Element.hide("sub_of_"+openMenus[i]['id']);
				}
				Element.removeClassName("menu_"+openMenus[i]['id'],"menu_selected");
			}
			else {
				popArray.push(openMenus[i]);
			}
		}
		openMenus = popArray;
	}
	suppressClose = false;
}