//  Owner		: Chip Age
//  Creater		: Yu Man
//  Date		:  15 october 2008
//  Description	: Mainmenu with Dropdown submenu  working only with  UL and LI
//  Last edit	: 22 oktober 2008 

var dropdown_rootNode = null; // Reference to root node of the current navigation.
var dropdown_timer = null; // Timer to hide all menu's on a 'onmouseout'.
var dropdown_timerWait = 750; // Time to wait before closing all open menu's.
var dropdown_zIndex = 1000; // zIndex of the navigation.

function createDropdown(nav_id)
{
    if(document.getElementById) // Browser compatability
    {
        try 
        {
            var rootNode = document.getElementById(nav_id);

            // Add javascript to items in navigation and hide submenu's.
            for(var i = 0; i < rootNode.childNodes.length; i++)
            {
                var ulNode = rootNode.childNodes[i];

                if(ulNode.nodeName == 'UL') // Lookup UL tags
                {
                    for(var j = 0; j < ulNode.childNodes.length; j++)
                    {
                        var liNode = ulNode.childNodes[j];

                        if(liNode.nodeName == 'LI') // Lookup LI tags
                        {
                            // Init subitems
                            initDropdown(liNode);

                            // Add a mouseover-event to each list item.
                            liNode.onmouseover = function() 
                            {
                                try
                                {
                                    clearTimeout(dropdown_timer);
                                }
                                catch(e)
                                {
                                }

                                showDropdown(this);
                            }

                            liNode.onmouseout = function()
                            {
                                try
                                {
                                    clearTimeout(dropdown_timer);
                                }
                                catch(e)
                                {
                                }

                                dropdown_timer = setTimeout('hideDropdown()', dropdown_timerWait);
                            }
                        }
                    }
                }
            }
        }
        catch(e)
        {
            // Ignore
        }
    }
}

// Add classes and mouse-events to subitems.
function initDropdown(rootNode)
{
    dropdown_zIndex += 2;
    var zIndex = dropdown_zIndex;

    // Open subitems
    for(var i = 0; i < rootNode.childNodes.length; i++)
    {
        var ulNode = rootNode.childNodes[i];

        if(ulNode.nodeName == 'UL')
        {
            ulNode.style.display = 'none';
            ulNode.style.visibility = 'hidden';
            ulNode.style.zIndex = zIndex;

            for(var j = 0; j < ulNode.childNodes.length; j++)
            {
                var liNode = ulNode.childNodes[j];

                if(liNode.nodeName == 'LI')
                {
                    // liNode.style.zIndex = zIndex + 1;

                    // Init subitems
                    initDropdown(liNode);

                    // Add a mouseover-event to each list item.
                    liNode.onmouseover = function() 
                    {
                        try
                        {
                            clearTimeout(dropdown_timer);
                        }
                        catch(e)
                        {
                        }

                        this.className += ' hover';
                        showDropdown(this);
                    }

                    liNode.onmouseout = function()
                    {
                        try
                        {
                            clearTimeout(dropdown_timer);
                        }
                        catch(e)
                        {
                        }

                        this.className = this.className.replace('hover', '');

                        dropdown_timer = setTimeout('hideDropdown()', dropdown_timerWait);
                    }
                }
            }
        }
    }
}

// Show submenu
function showDropdown(rootNode)
{
    if(dropdown_rootNode == null)
    {
        dropdown_rootNode = rootNode.parentNode.parentNode;
    }

    // Hide siblings' submenu's
    var ulNode = rootNode.parentNode;
    for(var i = 0; i < ulNode.childNodes.length; i++)
    {
        var liNode = ulNode.childNodes[i];

        if(liNode.nodeName == 'LI')
        {
            if(liNode != rootNode)
            {
                hideDropdown(liNode);
            }
        }
    }

    // Show submenu's (if any)
    for(var i = 0; i < rootNode.childNodes.length; i++)
    {
        var ulNode = rootNode.childNodes[i];

        if(ulNode.nodeName == 'UL')
        {
            ulNode.style.display = 'block';
            ulNode.style.visibility = 'visible';
        }
    }
}

// Hide submenu's
function hideDropdown(rootNode)
{
    if(hideDropdown.arguments.length < 1)
    {
        var tmpNode = dropdown_rootNode;
        dropdown_rootNode = null;

        if(tmpNode != null)
        {
            for(var i = 0; i < tmpNode.childNodes.length; i++)
            {
                var ulNode = tmpNode.childNodes[i];

                if(ulNode.nodeName == 'UL')
                {
                    for(var j = 0; j < ulNode.childNodes.length; j++)
                    {
                        var liNode = ulNode.childNodes[j];
                        if(liNode.nodeName == 'LI')
                        {
                            hideDropdown(liNode);
                        }
                    }
                }
            }
        }
    }
    else
    {
        for(var i = 0; i < rootNode.childNodes.length; i++)
        {
            var ulNode = rootNode.childNodes[i];

            if(ulNode.nodeName == 'UL')
            {
                ulNode.style.display = 'none';
                ulNode.style.visibility = 'hidden';

                for(var j = 0; j < ulNode.childNodes.length; j++)
                {
                    var liNode = ulNode.childNodes[j];

                    if(liNode.nodeName == 'LI')
                    {
                        hideDropdown(liNode);
                    }
                }
            }
        }
    }
} 
//pre_load images
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
