﻿var _MenuHolder;


function InitializeMenu(mouseOverColor)
{
    if(_MenuHolder != null)
    {
        var menuItems = _MenuHolder.getElementsByTagName("LI");
       
        for(var menuItemIndex = 0; menuItemIndex < menuItems.length; menuItemIndex++)
        {
            menuItems[menuItemIndex].onmouseover = function(event){ShowSubMenu(this, mouseOverColor);}
            menuItems[menuItemIndex].onmouseout = function(){HideSubMenu(this);}
        }
    }
}

function ShowSubMenu(menuItem, mouseOverColor)
{
    var subMenus = menuItem.getElementsByTagName("UL");
    var parentItem;
    var previousItem;
    var _offsetLeft = 0;
    var _offsetTop = 0;
    var _offsetHeight = 0;
    
    if(mouseOverColor.length > 0)
        menuItem.style.backgroundColor = mouseOverColor;
    
    if(subMenus.length > 0)
    {
        if(subMenus[0].getElementsByTagName("LI").length > 0)
        {
            if(isNaN(parseInt(subMenus[0].style.left)))
            {
                var location = Sys.UI.DomElement.getBounds(menuItem);
                
                _offsetLeft = location.x + menuItem.offsetWidth;
                _offsetTop = location.y;
                _offsetHeight = GetMenuItemHeight();
                
                parentItem = menuItem.parentNode.parentNode;
                
                while(parentItem.tagName.toUpperCase() == "LI")
                {
                    _offsetLeft = _offsetLeft + parentItem.offsetWidth;
                    parentItem.parentNode.style.display = "";
                    parentItem = parentItem.parentNode.parentNode;
                }
            
                if(_offsetTop == 0)
                {
                    _offsetTop = _offsetTop + (parseInt(menuItem.getAttribute("index"))  * _offsetHeight);
                }
                
                subMenus[0].style.left = _offsetLeft + "px";
                subMenus[0].style.top = _offsetTop + "px";
               
            }
            subMenus[0].style.display = "";
        }
    }
}

function HideSubMenu(menuItem)
{
    var subMenus = menuItem.getElementsByTagName("UL");

    menuItem.style.backgroundColor = "Transparent";
    
    if(subMenus.length > 0)
    {
        subMenus[0].style.display = "none";
    }
}

function GetMenuItemHeight()
{
    var itemHeight = 0;
    
    if(_MenuHolder.getElementsByTagName("UL").length > 0)
    {
        if(_MenuHolder.getElementsByTagName("UL")[0].getElementsByTagName("LI")[0] != null)
        {
            var location = Sys.UI.DomElement.getBounds(_MenuHolder.getElementsByTagName("UL")[0].getElementsByTagName("LI")[0]);
            itemHeight = location.height;
        }
    }
    
    return itemHeight;
}


