// Hide from older browsers
	var timeoutId = null;
    var hideMenuId = null;
    var mouseXpos = 0;    
//
// Find out which broswer page has been opened with
	var ns4 = false;
    var ie4 = false;
    var ns6 = false;
        
	if(document.layers){
    	ns4 = true;
    }
    else if(!document.all && document.getElementById){
        ns6 = true;
    }
    else if(document.all){
        ie4 = true;
    }

    if (! ie4) {
        if (ns4) {document.captureEvents(Event.MOUSEMOVE);}
	  	document.onmousemove = captureMousePosition;
    }
    
function captureMousePosition (e) {
	mouseXpos = e.pageX;
}

//
// Clear timeout for hiding menu
function stopCountdown () {
	// check that countdown is active.
    // If it is, deactivate countdown and reset stored countdownId
    if (timeoutId != null) { clearTimeout(timeoutId); timeoutId = null; };
}

//
// Show/Hide functions
function show(id, xpos) {
	if (ns4) {
        document.layers[id].left = xpos;
    	document.layers[id].visibility = "visible";
    }
	else if (ie4) {
    	document.all[id].style.left = xpos + "px";
    	document.all[id].style.visibility = "visible";
    }
    else {
    	document.getElementById(id).style.left = xpos + "px";
    	document.getElementById(id).style.visibility = "visible";
    }
}

function hide(id) {
	if (ns4) {
    	document.getElementById[id].visibility = "hidden";
    }
	else if (ie4) {
    	document.all[id].style.visibility = "hidden";
    }
    else {
    	document.getElementById(id).style.visibility = "hidden";
    }
}

//
// Hide all menus
function hideMenus() {
    hide("menu1");
    hide("menu2");
}

//
// Show hidden menu item
function showMenu(menuItem) {
    // find mouse position (x-axis)
    // set left edge of menu to be 21 pixels left of cursor
	var menuEdge = 0;
        
    if (ie4) {
    	menuEdge = event.clientX - 21;
    } else {
    	menuEdge = mouseXpos;
    }

    // if menu position is too far left, adjust accordingly
    if ( menuEdge < 0 ) { menuEdge = 0; }
    
    // hide any currently open menus
    hideMenus();
    
    // stop any current countdowns for closing open menus
    stopCountdown();

    // set menu position, then unhide selefted menu
    show(menuItem, menuEdge);
    return false;
}

//
// Set countdown to hide menu item
function waitOnMenu(menuItem) {
	// store ID of menu to be hidden
	hideMenuId = menuItem;
    
    // start countdown (half a second)
	timeoutId = setTimeout("hideMenu();", 500);
}

//
// Hide menu item
function hideMenu() {
	// hide menu
    hide(hideMenuId);
    
    // clear timeout
    stopCountdown();
}

// end of script
