﻿collapsibles = new Array();

var SlideSetup =
{
    init: function()
    {
	    // top menu items
	    var topMenuItems = $$('#nav_menu #menuElem li.topmenuitem');
	
	    // sub menu groups
	    var subMenuGroups = $$('#nav_menu ul#menuElem li.topmenuitem ul.CMSListMenuUL');
    	
    	var inc = 0;
    	
	    topMenuItems.each( function(topMenuItem, i) 
	    {
	        SlideSetup.addEffect(topMenuItem, subMenuGroups[i], i, false);
	        inc++;
	    });
	    
	    var highlightedTopMenuItem = $$('#nav_menu #menuElem li.topmenuitemhighlighted');
	    var highlightedSubMenuGroups = $$('#nav_menu #menuElem li.topmenuitemhighlighted ul.CMSListMenuUL');
	    
	    if(highlightedTopMenuItem.length > 0)
	    {
	        SlideSetup.addEffect(highlightedTopMenuItem[0], highlightedSubMenuGroups[0], inc, true);
	    }
	},
	
	addEffect: function(topMenuItem, subMenuGroup, i, showSubMenu)
	{
	    //for each element create a slide effect        
        var collapsible = new Fx.Slide(subMenuGroup, 
        {                
            duration: 400,                
            transition: Fx.Transitions.linear        
        });
        
        collapsibles[i] = collapsible;
	    
        //add event listener        
        topMenuItem.addEvent('mousemove', function(e)
        {
            e = new Event(e);
            
            if(!collapsible.open)
            {
                for(var c = 0; c < collapsibles.length; c++)
                {
                    if(collapsibles[c] != collapsible)
                    {
                        collapsibles[c].slideOut();
                    }
                }
	            
                collapsible.slideIn();
            }
            
            e.stop();
            
            return;
        });
	    
	    // show sub-menu group
	    subMenuGroup.style.display = 'block';
	    
	    var highlightedSubMenuItem = subMenuGroup.getChildren('li.submenuitemhighlighted');
	    
	    if(!showSubMenu && highlightedSubMenuItem.length < 1)
        {
            //collapse all of the list items        
            collapsible.hide();
        }
        else if(highlightedSubMenuItem.length > 0)
        {
            //highlightedSubMenuItem[0].style.color='';
            var highlightedLink = highlightedSubMenuItem[0].getChildren('a.CMSListMenuLinkHighlighted');
            highlightedLink[0].style.color='#99ccff';
        }
	}
};

window.addEvent('domready', SlideSetup.init);