var Menus = {

    currentlyVisible: null,
    currentAttachElem: null,
    hideTimeout: null,
    currentStyle: null,
    //imgTab: new Image(),
    //imgOver: new Image(),
    //imgActive: new Image(),

    ShowMenu: function(menuDiv, attachElem, myOffset, attempt) {
        if (attempt == null || attempt == undefined) attempt = 1;
        if (attempt > 100) return;

        var menuElem = Get(menuDiv);
        if (menuElem == null || menuElem == undefined) {
            setTimeout(function() { Menus.ShowMenu(menuDiv, attachElem, myOffset, ++attempt); }, 50);
            return;
        }

        clearTimeout(Menus.hideTimeout);
        if (Menus.currentlyVisible != null) Menus.HideMenu(Menus.currentlyVisible);

        menuElem.style.display = "block";
        if (navigator.appVersion.indexOf("Mac") != -1)
        {
            if (IsFirefox())
            {
                if (myOffset == 519)
                    myOffset -= 4;
                else if (myOffset == 660)
                    myOffset -= 12;
                else if (myOffset == 729)
                    myOffset -= 14;
                else if (myOffset == 809)
                    myOffset -= 15;
            }
            else if (IsSafari())
            {
                if (myOffset == 519)
                    myOffset -= 1;
                else if (myOffset == 660)
                    myOffset -= 6;
                else if (myOffset == 729)
                    myOffset -= 6;
                else if (myOffset == 809)
                    myOffset -= 7;
            }
        }
        menuElem.style.left = (findPosX(Get("MainContainer")) + myOffset) + "px";
        menuElem.style.top = (findPosY(attachElem) + attachElem.offsetHeight - 1) + "px";

        currentStyle = attachElem.className;
        if (currentStyle != "TopMenuItemSelected"){
            attachElem.className = "TopMenuItemHover";
        }

        menuElem = menuContainer = null;
        Menus.currentlyVisible = menuDiv;
        Menus.currentAttachElem = attachElem;
    },

    WaitHideMenu: function(menuDiv) {
        Menus.hideTimeout = setTimeout(function() { Menus.HideMenu(menuDiv); }, 250);
    },

    HideMenu: function(menuDiv) {
        clearTimeout(Menus.hideTimeout);
        Menus.currentAttachElem.className = currentStyle;
        //if (Menus.currentAttachElem != null)
        //    if (Menus.currentAttachElem.tabstate == "active")
        //        Menus.currentAttachElem.style.backgroundImage = "url(" + Menus.imgOver.src + ")";
        //    else
        //        Menus.currentAttachElem.style.backgroundImage = "url(" + Menus.imgTab.src + ")";

        Menus.currentlyVisible = Menus.currentAttachElem = null;

        var menuElem = Get(menuDiv);
        if (menuElem == null || menuElem == undefined) return;

        menuElem.style.display = "none";
        menuElem = null;
    }

};

function IsFirefox()
{
    return (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent));
}

function IsSafari()
{
    var agt=navigator.userAgent.toLowerCase();
    return (agt.indexOf("safari") != -1);
}

//Menus.imgTab.src = "/images/layout2008/page_nav_button.jpg";
//Menus.imgActive.src = "/images/layout2008/page_nav_button_active.jpg";
//Menus.imgOver.src = "/images/layout2008/page_nav_button_over.jpg";