var g_nHideTimerID = 0;
var g_nDelayTimerID = 0;
var g_aInitTopSubmenus = new Array();
var g_nNewTopSubmenuNumber = 0;
var g_aInitSubSubmenus = new Array();
var g_nNewSubSubmenuNumber = 0;
var g_aActiveSubmenus = new Array();
var g_nActiveSubmenus = 0;
var g_oActiveMenuItem = null;
var g_aActiveGroupToggle = new Array();
var g_oTmp = null;

function InitializeMenu()
{
    if (!g_bDHTML) return;
    var i;
    for (i = 0; i < g_aInitTopSubmenus.length; i++)
    {
        var oMenu = g_aInitTopSubmenus[i];
        if (g_strBrowser == "Gecko")
        {
            var nPosLeft = 0, nPosTop = 0, oElement;
            oElement = oMenu.parentNode;
            while (oElement != null)
            {
                nPosLeft += oElement.offsetLeft;
                nPosTop += oElement.offsetTop;
                oElement = oElement.offsetParent;
            }
            oMenu.style.left = (nPosLeft) + "px";
            oMenu.style.top = (nPosTop + 40) + "px";
        }
        else
        {
            var oParent;
            if (g_strBrowser == "IE4")
                oParent = oMenu.parentElement;
            else
                oParent = oMenu.parentNode;
            oMenu.style.left = (oParent.offsetLeft) + "px";
            oMenu.style.top = (oParent.offsetTop + 40) + "px";
        }
    }
    for (i = g_aInitSubSubmenus.length - 1; i >= 0; i--)
    {
        var oMenu = g_aInitSubSubmenus[i];
        if (g_strBrowser == "Gecko")
        {
            var oSuperMenu= oMenu.parentNode.parentNode.parentNode.parentNode;
            oMenu.style.left = (oSuperMenu.offsetLeft + (oSuperMenu.offsetWidth / 2)) + "px";
            oMenu.style.top = (oMenu.parentNode.offsetTop + oSuperMenu.offsetTop + 21) + "px";
        }
        else if (g_strBrowser == "IE4")
        {
            var oParent = oMenu.parentElement;
            oMenu.style.left = (oParent.offsetLeft / 2) +20;
            oMenu.style.top = oParent.offsetTop + 24;
        }
        else
        {
            var oParent = oMenu.parentNode;
            oMenu.style.left = (oParent.offsetLeft / 2) + 20;
            oMenu.style.top = oParent.offsetTop + 20;
        }
    }
}

function StartHideTimer(strCode, nTimeout)
{
    StopHideTimer();
    g_nHideTimerID = window.setTimeout(strCode, nTimeout);
}

function StopHideTimer()
{
    if (g_nHideTimerID != 0)
    {
        window.clearTimeout(g_nHideTimerID);
        g_nHideTimerID = 0;
    }
}

function StartDelayTimer(strCode, nTimeout)
{
    StopDelayTimer();
    g_nDelayTimerID = window.setTimeout(strCode, nTimeout);
}

function StopDelayTimer()
{
    if (g_nDelayTimerID != 0)
    {
        window.clearTimeout(g_nDelayTimerID);
        g_nDelayTimerID = 0;
    }
}

function ActivateSubmenu(bRootMenu, strSubmenuID)
{
    if (!g_bDHTML) return;
    StartDelayTimer("ActivateSubmenu2(" + (bRootMenu ? "true" : "false") + ", '" + strSubmenuID + "');", 200);
}

function ActivateSubmenu2(bRootMenu, strSubmenuID)
{
    StopHideTimer();
    if (bRootMenu)
    {
        HideSubmenu("");
    }
    var oMenu = GetElement(strSubmenuID);
    oMenu.style.visibility = "visible";
    g_aActiveSubmenus[g_nActiveSubmenus++] = oMenu;
}

function DeactivateSubmenu()
{
    if (!g_bDHTML) return;
    StopDelayTimer();
    StartHideTimer("HideSubmenu('');", 750);
}

function DeactivateSubSubmenu(strSubmenuID)
{
    StartHideTimer("HideSubmenu('" + strSubmenuID + "');", 200);
}

function HideSubmenu(strSubmenuID)
{
    if (strSubmenuID == "")
    {
        var i;
        for (i = g_nActiveSubmenus - 1; i >= 0; i--)
        {
            g_aActiveSubmenus[i].style.visibility = "hidden";
            g_aActiveSubmenus[i] = null;
        }
        g_nActiveSubmenus = 0;
    }
    else
    {
        var oMenu = GetElement(strSubmenuID);
        while ((g_nActiveSubmenus > 0) && (g_aActiveSubmenus[g_nActiveSubmenus - 1] != oMenu))
        {
            g_aActiveSubmenus[g_nActiveSubmenus - 1].style.visibility = "hidden";
            g_aActiveSubmenus[g_nActiveSubmenus - 1] = null;
            g_nActiveSubmenus--;
        }
    }
}

function ActivateMenuItem(oEvent)
{
    if (!g_bDHTML) return;
    DeactivateMenuItem();
    g_oActiveMenuItem = this;
    if (g_strBrowser == "IE4")
    {
        if (g_oActiveMenuItem.children(0).className.indexOf("highlight") >= 0)
        {
            g_oActiveMenuItem.children(0).className = "activehighlight";
            g_oActiveMenuItem.children(1).className = "activehighlight";
        }
        else
        {
            g_oActiveMenuItem.children(0).className = "active";
            g_oActiveMenuItem.children(1).className = "active";
        }
        DeactivateSubSubmenu(g_oActiveMenuItem.parentElement.parentElement.id);
    }
    else
    {
        if (g_oActiveMenuItem.childNodes[0].className.indexOf("highlight") >= 0)
        {
            g_oActiveMenuItem.childNodes[0].className = "activehighlight";
            g_oActiveMenuItem.childNodes[1].className = "activehighlight";
        }
        else
        {
            g_oActiveMenuItem.childNodes[0].className = "active";
            g_oActiveMenuItem.childNodes[1].className = "active";
        }
        DeactivateSubSubmenu(g_oActiveMenuItem.parentNode.parentNode.id);
    }
    if (oEvent == null) oEvent = window.event;
    oEvent.cancelBubble = true;
}

function ActivateMenuItemSubmenu(oEvent)
{
    if (!g_bDHTML) return;
    DeactivateMenuItem();
    g_oActiveMenuItem = this;
    if (g_strBrowser == "IE4")
    {
        if (g_oActiveMenuItem.children(0).className.indexOf("highlight") >= 0)
        {
            g_oActiveMenuItem.children(0).className = "activehighlight";
            g_oActiveMenuItem.children(1).className = "activehighlight";
        }
        else
        {
            g_oActiveMenuItem.children(0).className = "active";
            g_oActiveMenuItem.children(1).className = "active";
        }
        DeactivateSubSubmenu(g_oActiveMenuItem.parentElement.parentElement.id);
        ActivateSubmenu(false, this.children(1).children(0).id);
    }
    else
    {
        if (g_oActiveMenuItem.childNodes[0].className.indexOf("highlight") >= 0)
        {
            g_oActiveMenuItem.childNodes[0].className = "activehighlight";
            g_oActiveMenuItem.childNodes[1].className = "activehighlight";
        }
        else
        {
            g_oActiveMenuItem.childNodes[0].className = "active";
            g_oActiveMenuItem.childNodes[1].className = "active";
        }
        DeactivateSubSubmenu(g_oActiveMenuItem.parentNode.parentNode.id);
        ActivateSubmenu(false, this.childNodes[1].childNodes[0].id);
    }

    if (oEvent == null) oEvent = window.event;
    oEvent.cancelBubble = true;
}

function DeactivateMenuItem()
{
    if (!g_bDHTML) return;
    if (g_oActiveMenuItem != null)
    {
        if (g_strBrowser == "IE4")
        {
            if (g_oActiveMenuItem.children(0).className.indexOf("highlight") > 0)
            {
                g_oActiveMenuItem.children(0).className = "notactivehighlight";
                g_oActiveMenuItem.children(1).className = "notactivehighlight";
            }
            else
            {
                g_oActiveMenuItem.children(0).className = "notactive";
                g_oActiveMenuItem.children(1).className = "notactive";
            }
        }
        else
        {
            if (g_oActiveMenuItem.childNodes[0].className.indexOf("highlight") > 0)
            {
                g_oActiveMenuItem.childNodes[0].className = "notactivehighlight";
                g_oActiveMenuItem.childNodes[1].className = "notactivehighlight";
            }
            else
            {
                g_oActiveMenuItem.childNodes[0].className = "notactive";
                g_oActiveMenuItem.childNodes[1].className = "notactive";
            }
        }
        g_oActiveMenuItem = null;
    }
}

function Navigate()
{
    DeactivateMenuItem();
    HideSubmenu("");
    if (g_strBrowser == "IE4")
        window.navigate(this.children(0).children(0).href);
    else
        window.location = this.childNodes[0].childNodes[0].href;
    return false;
}

function NavigatePriceInfo()
{
    DeactivateMenuItem();
    HideSubmenu("");
    if (g_strBrowser == "IE4")
        OpenPriceInfoWizard(this.children(0).children(0));
    else
        OpenPriceInfoWizard(this.childNodes[0].childNodes[0]);
    return false;
}

function NavigateEditor()
{
    DeactivateMenuItem();
    HideSubmenu("");
    OpenEditor(g_strWebRoot + "/Editor/Editor.asp");
    return false;
}

function ToggleLeftSubmenu(strSubmenuID)
{
    if (!g_bDHTML) return;
    var oSubmenu = GetElement(strSubmenuID);
    if (oSubmenu != null)
    {
        if (oSubmenu.style.display == "none")
        {
            oSubmenu.style.display = "";
        }
        else
        {
            oSubmenu.style.display = "none";        
        }
        AdjustBodyHeight();
    }
}

function ToggleLeftSubmenuGroup(strSubmenuID, nGroupToggle)
{
    if (!g_bDHTML) return;
    var oSubmenu = GetElement(strSubmenuID);
    if (oSubmenu != null)
    {
        if (oSubmenu.style.display == "none")
        {
            if (g_aActiveGroupToggle[nGroupToggle] != null)
                g_aActiveGroupToggle[nGroupToggle].style.display = "none";
            oSubmenu.style.display = "";
            g_aActiveGroupToggle[nGroupToggle] = oSubmenu;
        }
        else
        {
            g_aActiveGroupToggle[nGroupToggle] = null;
            oSubmenu.style.display = "none";        
        }
        AdjustBodyHeight();
    }
}

function AdjustBodyHeight()
{
    var nNewHeight = GetElement("LeftColumn").offsetHeight - 100;
    if (nNewHeight < 300) nNewHeight = 300;
    
}


