/*****************************************************************************
 ***                                                                       ***
 *** DropMenu Engine V2.0                                                  ***
 ***                                                                       ***
 ***                              Stefan Haglund, 5D Systemkonsult AB 2011 ***
 ****************************************************************************/

    var iAlwaysHighlightedDropMenu=-1;
    var iActiveDropMenu=-1;
    var sDropMenuTimeoutId;

    function dropMenu_OpenMenu(iMenuId)
    {
        var oMenuTitle=document.getElementById("dropmenutitle"+iMenuId);
        var oMenuBody=document.getElementById("dropmenubody"+iMenuId);

        if(oMenuTitle) {
            if(iActiveDropMenu!=-1) dropMenu_CloseMenu();

            dropMenu_HighlightMenuTitle(iMenuId)
            if(oMenuBody) {
                oMenuBody.style.display="inline";
                oMenuBody.style.top=getElementPositionTop(oMenuTitle)+getClosestAncestor(oMenuTitle,"TABLE").offsetHeight+"px";
                oMenuBody.style.left=getElementPositionLeft(oMenuTitle)+"px";
            }
            resetEventControl();

            iActiveDropMenu=iMenuId;
        }
    }

    function dropMenu_CloseMenu()
    {
        var oMenuTitle=document.getElementById("dropmenutitle"+iActiveDropMenu);
        var oMenuBody=document.getElementById("dropmenubody"+iActiveDropMenu);

        if(oMenuTitle) {
            if(iActiveDropMenu!=-1) {
                if(sDropMenuTimeoutId) { clearTimeout(sDropMenuTimeoutId); sDropMenuTimeoutId=null; }

                if(iActiveDropMenu!=iAlwaysHighlightedDropMenu) dropMenu_UnHighlightMenuTitle(iActiveDropMenu)
                if(oMenuBody) {
                    oMenuBody.style.display="none";
                }

                iActiveDropMenu=-1;
            }
        }
    }

    function dropMenu_HighlightMenuTitle(iMenuId)
    {
        var oMenuTitle=document.getElementById("dropmenutitle"+iMenuId);
        var oMenuAnchor=getClosestDescendant(oMenuTitle,"A");

        if(oMenuTitle) {
            oMenuTitle.className="dropmenutitleactive";
            if(oMenuAnchor) {
                oMenuAnchor.className="dropmenutitleactive"
            }
        }
    }


    function dropMenu_UnHighlightMenuTitle(iMenuId)
    {
        var oMenuTitle=document.getElementById("dropmenutitle"+iMenuId);
        var oMenuAnchor=getClosestDescendant(oMenuTitle,"A");

        if(oMenuTitle) {
            oMenuTitle.className="dropmenutitle";
            if(oMenuAnchor) {
                oMenuAnchor.className="dropmenutitle"
            }
        }
    }

    function dropMenu_ExecuteTitleAction(iMenuId)
    {
        var oMenuTitle=document.getElementById("dropmenutitle"+iMenuId);
        var oMenuAnchor=getClosestDescendant(oMenuTitle,"A");

        if(oMenuTitle) {
            if(oMenuAnchor) {
                if(oMenuAnchor.href && oMenuAnchor.href!="") document.location=oMenuAnchor.href;
            }
        }
    }


    function dropMenu_EnterMenuTitle(iMenuId)
    {
        dropMenu_OpenMenu(iMenuId);
    }
    function dropMenu_ExitMenuTitle(iMenuId)
    {
        var oMenuBody=document.getElementById("dropmenubody"+iActiveDropMenu);

        if(oMenuBody) {
            sDropMenuTimeoutId=setTimeout("dropMenu_CloseMenu()",2000);
        } else {
            dropMenu_CloseMenu();
        }
    }
    function dropMenu_ClickMenuTitle(iMenuId) {
        dropMenu_ExecuteTitleAction(iMenuId);
    }

    function dropMenu_EnterMenuBody(iMenuId)
    {
        if(sDropMenuTimeoutId) { clearTimeout(sDropMenuTimeoutId); sDropMenuTimeoutId=null; }
    }
    function dropMenu_ExitMenuBody(iMenuId)
    {
        sDropMenuTimeoutId=setTimeout("dropMenu_CloseMenu()",500);
        //dropMenu_CloseMenu(); //CURRENTLY UNUSED
    }

