YAHOO.widget.MenuBarItem.prototype.IMG_ROOT = "http://i.mktw.net/";
YAHOO.widget.MenuBarItem.prototype.IMG_ROOT_SSL = "https://i.mktw.net/";
YAHOO.widget.MenuBarItem.prototype.SUBMENU_INDICATOR_IMAGE_PATH = "1.gif";
YAHOO.widget.MenuBarItem.prototype.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH = "1.gif";
YAHOO.widget.MenuBarItem.prototype.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH = "1.gif";

if (MKTW)
{
	MKTW.namespace("Navigation");
}

MKTW.Navigation.onWindowLoad = function(p_oEvent)
{
    function hideSubmenus()
    {
        if(oMenuBar.activeItem)
        {
            var oSubmenu = oMenuBar.activeItem.cfg.getProperty("submenu");

            if(oSubmenu)
            {
                oSubmenu.hide();
            }    
        }
        
        showBadControls();
    }    

    function cancelTimer()
    {
        if(nTimeoutId)
        {
            window.clearTimeout(nTimeoutId);
        }
    }
    
    function cancelShowTimer()
    {
		if (showTimeoutId)
		{
			window.clearTimeout(showTimeoutId);
		}
    }

	function onSubmenuMouseOver(p_sType, p_aArguments, p_oMenu)
	{
		hideBadControls();
	}
  
    function onSubmenuMouseOut(p_sType, p_aArguments, p_oMenu)
    {
        cancelTimer();
        nTimeoutId = window.setTimeout(hideSubmenus, 250);
    }

    function onMenuBarItemMouseOver(p_sType, p_aArguments, p_oMenuItem)
    {
		var me = this;
		
		showTimeoutId = setTimeout(
			function()
			{
				hideBadControls();
			
				var oActiveItem = me.parent.activeItem;

				// Hide any other submenus that might be visible
				if(oActiveItem && oActiveItem != me)
				{
					me.parent.clearActiveItem();
				}
		    
		    
				// Select and focus the current MenuItem instance
				me.cfg.setProperty("selected", true);
				me.focus();
		    
				// Show the submenu for this instance
				var oSubmenu = me.cfg.getProperty("submenu");
				if(oSubmenu)
				{
					oSubmenu.show();
				}
			},
			125
		);
		/*}*/
    }

    function onMenuBarItemMouseOut(p_sType, p_aArguments, p_oMenuItem)
    {
		cancelShowTimer();
    
	    this.cfg.setProperty("selected", false);

        var oSubmenu = this.cfg.getProperty("submenu");
    
        if(oSubmenu)
        {
            var oDOMEvent = p_aArguments[0],
                oRelatedTarget = YAHOO.util.Event.getRelatedTarget(oDOMEvent);
    
            if(!(oRelatedTarget == oSubmenu.element || YAHOO.util.Dom.isAncestor(oSubmenu.element, oRelatedTarget)))
            {
                oMenuBar.clearActiveItem();
            }
        }    
        
        showBadControls();
    }
    
    function hideBadControls()
	{
		badControls = document.getElementsByTagName("select");
		
		for (i = 0; i < badControls.length; i++)
		{
			if (badControls[i].style != null)
			{
				badControls[i].style.visibility = "hidden";
			}
		}
	}

	function showBadControls()
	{
		badControls = document.getElementsByTagName("select");
		
		for (i = 0; i < badControls.length; i++)
		{
			if (badControls[i].style != null)
			{
				badControls[i].style.visibility = "visible";
			}
		}
	}

    var nTimeoutId;
    var showTimeoutId;

    // Initialize the root menubar
    var oMenuBar = new YAHOO.widget.MenuBar("SiteNavigation");
    
    oMenuBar.showEvent.unsubscribe(oMenuBar._onShow, oMenuBar);
    
    oMenuBar.render();
    
    var aMenuBarItems = oMenuBar.getItemGroups()[0];

    for (i = 0; i < aMenuBarItems.length; i++)
    {
        aMenuBarItems[i].mouseOverEvent.subscribe(onMenuBarItemMouseOver);
        aMenuBarItems[i].mouseOutEvent.subscribe(onMenuBarItemMouseOut);
        var subMenu = oMenuBar.getItem(i).cfg.getProperty("submenu");
        if (subMenu)
        {
			subMenu.mouseOverEvent.subscribe(cancelTimer);
			subMenu.mouseOverEvent.subscribe(onSubmenuMouseOver, subMenu, true);
			subMenu.mouseOutEvent.subscribe(onSubmenuMouseOut, subMenu, true);
        }
    }
    
    oMenuBar.mouseOverEvent.subscribe(cancelTimer);
    YAHOO.util.Event.addListener(document, "click", hideSubmenus);
    
}

/*function MenuAvailObj(id) {
	YAHOO.util.Event.onAvailable(id, MKTW.Navigation.onWindowLoad, this); 
}

var menuAvailObj = new MenuAvailObj("SiteNavigation");*/
YAHOO.util.Event.addListener(window, "load", MKTW.Navigation.onWindowLoad);