/**
 * Navigation specific handlers and events
 *
 * @category External
 * @package EuroTransplant
 * @copyright WEBclusive
 * @version $Id:$
 */

jQuery(function($) 
{ 
    /**
     * Handle collapsable content blocks
     */
    $("a.nav_collapse_handle").click(function() 
    {	
	var isAppPulldown = ($(this).parent("li").length == 1) ? false: true;
	var collapsableContent;
		
	if (false === $(this).next().hasClass("nav_collapsable_content")) {
	    if (false === $(this).parent().next().hasClass("nav_collapsable_content")) {
	  	return false;
	    }
	    else {
	    	collapsableContent = $(this).parent().next();
	    }
	}
	else {
	    collapsableContent = $(this).next();
	}
	
	if ($(this).hasClass("nav_unfolded")) {
	    collapsableContent.slideUp();
	    $(this).removeClass("nav_unfolded")
	    
	    if (isAppPulldown) {
    	        $(this).mouseover(function()
    	        {    $(this).css("background-position", "1px -1398px");
    	        }).mouseout(function()
    	        {    $(this).css("background-position", "1px -2049px");
    	        });
	    }
	}
	else {
	    collapsableContent.slideDown();
	    $(this).addClass("nav_unfolded");
	    
	    if (isAppPulldown) {
	        $(this).css("background-position", "1px -1290px"
	        ).mouseover(function()
	        {    $(this).css("background-position", "1px -1290px");
	        }).mouseout(function()
	        {    $(this).css("background-position", "1px -1941px");
	        });
	    }
	}
	
	return false;
    }).mouseover(function()        
    {    if ($(this).parent("li").length == 1) { return; } $(this).css("background-position", "1px -1398px");
    }).mouseout(function()
    {    if ($(this).parent("li").length == 1) { return; } $(this).css("background-position", "1px -2049px");
    });
    
    
    $("#nav_main_menu .nav_secondary_menu li.nav_current a").click(function() 
    {
    	return false;
    });
    
    
    /**
     * Show the pulldown menus for the main navigation 
     * in IE6 only
     */
    if ($("html").hasClass("ie6")) {
        var secondLevel = $("#nav_main_menu li ul");
        var secondLevelEntry = false;
        var hideTimeoutId = null;
        var timeoutTime = 400;
        
        $("#nav_main_menu li a").each(function(index, element) 
        {
            /**
             * Make sure all second level menus are hidden when a mouseenter is
             * triggered on the first level
             */
            $(element).mouseenter(
                function(event)
                {
                    if (1 === $(this).parents("ul").length) {
                        hideSecondLevel();
                    }
                }
            );
            
            /**
             * Assign events to first level elements only when there is a second
             * level menu present
             */
            var nextElement = $(element).next().get(0);
            if ("object" !== typeof(nextElement) || "ul" !== nextElement.tagName.toLowerCase()) {                
                return;
            }
            
            $(element).mouseenter(
                function(event)
                {
                    $(element).next().show();
                }
            );
            
            $(element).mouseout(
                function(event)
                {
                    hideTimeoutId = window.setTimeout(hideSecondLevel, timeoutTime);
                }
            );

            $(nextElement).mouseenter(
                function(event) 
                {
                    window.clearTimeout(hideTimeoutId);
                }
            );
            
            $(nextElement).mouseout(
                function(event) 
                {
                   //hideTimeoutId = window.setTimeout(hideSecondLevel, timeoutTime);
                }
            );
        });
    }
    
     
    function hideSecondLevel()
    {
        secondLevel.hide();
    }
});

