﻿var Menus = {

    currentlyVisible: null, 
    currentAttachElem: null, 
    hideTimeout: null, 
    imgTab: new Image(), 
    imgOver: new Image(), 
    imgActive: new Image(), 

    ShowMenu: function(menuDiv, attachElem, 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, ++attempt); }, 50);
            return; 
        }
        
        clearTimeout(Menus.hideTimeout);
        if (Menus.currentlyVisible != null) Menus.HideMenu(Menus.currentlyVisible);
        
        menuElem.style.display = "block";
        menuElem.style.top = (findPosY(attachElem) + attachElem.offsetHeight) + "px";
        menuElem.style.left = (findPosX(attachElem) + attachElem.offsetWidth - 250 - findPosX(Get("MainContainer")) + 3) + "px";
        
        if (attachElem.style.backgroundImage.indexOf("page_nav_button_over.jpg") >= 0) attachElem.tabstate = "active";
        else attachElem.tabstate = "inactive";
        attachElem.style.backgroundImage = "url(" + Menus.imgActive.src + ")";
        
        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);
        
        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;
    }

};

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";