	var currentOpenMenu = null;

	function openNewSubMenu(intMenu, maxMenuItems, preSelectedTab) {
		if (getDiv('openSubmenu'))
			show('openSubmenu', false);
		// show the open submenu (close all others)
		for (i = 0; i < maxMenuItems; i++) {
			// get a reference to the div tag
			// document.getElementById works in IE4< and NS6, document.layers works in NS4
			if (i == preSelectedTab)
				continue;
			else if (i == intMenu) {
				if (( document.getElementById("submenu" + i) != null ) ) {
					objDiv = (document.getElementById) ? document.getElementById("submenu" + i).style : document.layers["submenu" + i];
					objDiv.visibility = "inherit";
                }
                document.getElementById("button-menu"+i).className = "menu-button-hover";
            }            
            else {
				if (( document.getElementById("submenu" + i) != null ) ) {
					objDiv = (document.getElementById) ? document.getElementById("submenu" + i).style : document.layers["submenu" + i];
					objDiv.visibility = (document.getElementById) ? "hidden" : "hide";
				}
                document.getElementById("button-menu"+i).className = "menu-button";
            }
		} // end for

		registerMenuOver(intMenu, preSelectedTab);
	}

	function registerMenuOver(id, preSelectedTab){
		if (i == preSelectedTab)
			return;
		currentOpenMenu = id+1; /* NOTE! Adding one since we do not want currentOpenMenu to be zero since "if (currentOpenMenu)" will be true in that case  */
	}

	function registerMenuOut(menuResetMS, maxMenuItems, preSelectedTab){
		currentOpenMenu = null;
		setTimeout('resetMenu(' + maxMenuItems+ ', ' + preSelectedTab + ')', menuResetMS);
	}

	function resetMenu(maxMenuItems, preSelectedTab){
		/* do not close if any menu is open (= the mouse is over some menu option) */
		if (currentOpenMenu)
			return;

		/* "open" a dummy number to "close" all menu options */
		openNewSubMenu(1000, maxMenuItems, preSelectedTab);

		/* open sub menu if any */
		if (getDiv('openSubmenu'))
			show('openSubmenu', true);

		/* mark pre selected menu option */
		if (preSelectedTab && preSelectedTab != "null") {
			if (document.getElementById("button-menu"+preSelectedTab))
				document.getElementById("button-menu"+preSelectedTab).className = "menu-button-current";
		}
	}
