/* Instantiate EKMenu namespaces */
function EKMenu() {}
EKMenu.Config = function() {};

// EKMenu configuration
EKMenu.Config.delay             = 0; // SetTimeout Delay, to prevent the menu closing immediately when losing focus
EKMenu.Config.hide_dropdowns    = false; // Configure if dropdowns should be hidden on IE

// Browser detection
EKMenu.MSIE = (navigator.userAgent.indexOf("MSIE") >= 0 && navigator.userAgent.indexOf("Opera") < 0);

	
EKMenu.showMenu = function(objMenu, strMenu)
{
    var menu = objMenu.parentNode.nextSibling;
	
    // Clear the menu timer
    EKMenu.hideMenuImmediate();
    	
    if (menu)
    {		
        if (EKMenu.Config.hide_dropdowns && EKMenu.MSIE)
        {
            // Show the IFRAME overlay under the menu
            if ((menu.nextSibling) && (menu.nextSibling.tagName == "IFRAME"))
            {
                var iframe = menu.nextSibling;
    						
                iframe.style.left = menu.offsetLeft + "px";
                iframe.style.height = menu.clientHeight + "px";
                iframe.style.visibility = "visible";
            }					
        }
    	
        menu.style.visibility = "visible";
    }
};
	
EKMenu.hideMenuDelayed = function(objMenu)
{
    if (objMenu)
    {		
        if (EKMenu.Config.hide_dropdowns && EKMenu.MSIE)
        {
            // Hide the IFRAME overlay under the menu
            if ((objMenu.nextSibling) && (objMenu.nextSibling.tagName == "IFRAME"))
            {
                objMenu.nextSibling.style.visibility = "hidden";
            }
        }
    	
        // setTimeout function to create a delay
        EKMenu.timeout = setTimeout(	function() 
						        { 
						            try
						            {
						                EKMenu.hideSubMenu(objMenu);
						            }
						            catch(e)
						            {
					                    // Prevent error with FireFox still triggering after a page-reload
						            }  
						        }, EKMenu.Config.delay);
    }
};
	
EKMenu.hideMenuImmediate = function()
{
    // Clear the existing timeout was set using setTimeout().
    if (EKMenu.timeout)
    {
        clearTimeout(EKMenu.timeout);
    }
};

EKMenu.hideSubMenus = function(objContainer)
{		
	// Find all the children menu's
	var elements = objContainer.getElementsByTagName("ul");
	
	MM_swapImgRestore();

	for (var i = 0; i < elements.length; i++)
	{
    	EKMenu.hideSubMenu(elements[i]);
	}
};

EKMenu.hideSubMenu = function(objMenu) 
{
    if (objMenu)
    {
	    objMenu.style.visibility = "hidden";    	
        MM_swapImgRestore();
    }
};

EKMenu.HandleIBELink = function(oLink)
{
	oLink.href = oLink.href.replace("j=f", "j=t");
	return true;
};

