
var previousMenuID
var mostRecentTimeout

function ShowSubMenu(mainMenuItem, subMenuID) {
    ClearMostRecentTimeOut();
    var subMenu = document.getElementById(subMenuID);
    HidePreviousSubMenu();
    previousMenuID = subMenuID;
	subMenu.style.display = "block";
	subMenu.left = mainMenuItem.x;
	subMenu.top  = mainMenuItem.y + 15;
}

function SetSubMenuTimeOut() {
    ClearMostRecentTimeOut()
    mostRecentTimeout = setTimeout("HidePreviousSubMenu()", 1000);
}

function ClearMostRecentTimeOut() {
    clearTimeout(mostRecentTimeout);
}

function HideSubMenu(subMenuID) {
    if (subMenuID == null) { return; }
    var subMenu = document.getElementById(subMenuID);
    subMenu.style.display = "none";
}

function HidePreviousSubMenu() {
    HideSubMenu(previousMenuID);
}

function HideSubMenuJustExited(e, subMenuID) {
    if (!e) var e = window.event;
    var tg = (window.event) ? e.srcElement : e.target;
    if (tg.nodeName != 'DIV') return;
    var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
    while (reltg != tg && reltg.nodeName != 'BODY')
        reltg = reltg.parentNode
    if (reltg == tg) return;

    HideSubMenu(subMenuID);
}
