﻿/* *
 * Global Members
 */
function show(domObject)
{
	domObject.style.display = "block";
}

function hide(domObject)
{
	domObject.style.display = "none";
}

var $_GET, $_COOKIES;

/* *
 * Main Menu Script
 */
var Menu = {
	_currentMenu : null,
	_tmId : 0,
	
	Initialize : function()
	{
	    var domObject = $get("main-menu");
	    
		if (!domObject.getElementsByTagName) return;
		
		var menuItems = domObject.getElementsByTagName("li");
		
		for (var i=0; i<menuItems.length; i++)
		{
			var id = menuItems[i].getAttribute("id");
			
			if (id && $get("sub-" + id))
			{
				menuItems[i].onmouseover = this._showSubmenu;
				menuItems[i].onmouseout = this._startCountdown;
			}
		}
	},
	
	_startCountdown : function()
	{
		Menu._stopCountdown();
		
		Menu._tmId = setTimeout('Menu._hideSubmenu();', 1200);
	},
	
	_stopCountdown : function()
	{
		if (!Menu._tmId) return;
		
		clearTimeout(Menu._tmId);
	},
	
	_showSubmenu : function()
	{
		Menu._hideSubmenu();
		
		Menu._currentMenu = 
			$get("sub-"+this.getAttribute("id"));
		
		Menu._currentMenu.onmouseover = 
			Menu._stopCountdown;
		
		Menu._currentMenu.onmouseout = 
			Menu._startCountdown;
		
		show(Menu._currentMenu);
	},
	
	_hideSubmenu : function()
	{
		if (!Menu._currentMenu) return;
		
		Menu._stopCountdown();
		
		hide(Menu._currentMenu);
		
		Menu._currentMenu.onmouseout = null;
		Menu._currentMenu =  null;
	}
};

/* *
 * Page Menu Script
 */
var PageMenu = {
    Initialize : function()
    {
        var menuObj = $get("page-menu");
        var pageObj = $get("page-content");
        
        if (!menuObj || !pageObj) return;
        
        /**
         *  Set the height of page container if menu is higher.
         */
        if (menuObj.offsetHeight > pageObj.offsetHeight)
            pageObj.style.height = menuObj.offsetHeight + "px";
        
        var menuItems = menuObj.getElementsByTagName("li");
        
        for (var i=0; i<menuItems.length; i++)
        {
            /**
             *  Highlight the current page
             */
            var link = menuItems[i].getElementsByTagName("a")[0];
            
            if (typeof(link) != "string")
                link = link.getAttribute("href");
            
            var re = /([^\/]+\.aspx)/;
            
            var subItems = menuItems[i].getElementsByTagName("ul");
            
            if (subItems && subItems.length)
            {
                with (menuItems[i]) { setAttribute("class", className = "expanded"); }
                
                menuObj = menuItems[i].getElementsByTagName("a")[0];
                
                $addHandler(menuObj, "click", PageMenu.submenuTrigger);
            }
            
            if (re.test(link) && re.exec(link)[0] == re.exec(window.location)[0])
            {
                with (menuItems[i]) { setAttribute("class", className = "current"); }
            }
        }
    },
    
    submenuTrigger : function($e)
    {
        $e.preventDefault();
        
        var item = $e.target.parentNode;
        
        if(item.className == "expanded")
            PageMenu._hideSubmenu(item);
        else
            PageMenu._showSubmenu(item);
    },
    
    _hideSubmenu : function(domObject)
    {
        with (domObject) {
            setAttribute("class", className = "");
            
            hide(getElementsByTagName("ul")[0]);
        }
    },
    
    _showSubmenu : function(domObject)
    {
        with (domObject) {
            setAttribute("class", className = "expanded");
            
            show(getElementsByTagName("ul")[0]);
        }
    }
};

/**
 * Site Search Script
 */
var SiteSearch = {
    _watermark : null, 
    _popuppane : null,
    
    Initialize : function()
    {
        this._watermark = $find("watermarkSearch");
        this._popuppane = $find("popupSearch");
        
        var txtSearch = this._watermark.get_element();
        
        $addHandler(txtSearch, "keydown", function($e) {
            if ($e.keyCode != 13) return;
            
            $e.preventDefault();
            
            SiteSearch.performSearch();
        });
        
        $addHandler(txtSearch, "focus", function($e) {
            if (SiteSearch._watermark.get_Text() != "")
                setTimeout("SiteSearch.performSearch();", 100);
        });
    },
    
    performSearch : function()
    {
        var strSearch = this._watermark.get_Text();
        
        if (this._popuppane)
            this._popuppane.populate(strSearch + "\n" + $_COOKIES["lang"]);
    }
};

function siteSearch()
{
    var txtSearch = $find("watermarkSearch");
    
    if (txtSearch)
        txtSearch.get_element().focus();
}

function pageLoad()
{
    $_GET       = parseQuery();
    $_COOKIES   = parseCookie();
    
    Menu.Initialize();
    
    PageMenu.Initialize();
    
    SiteSearch.Initialize();
    
    if (typeof(__internal_pageLoad) == "function")
        __internal_pageLoad();
}