/* Copyright (c) 2011 Matrix Group International.  All rights reserved.  http://www.matrixgroup.net */

$(function() {
	var cgi = new Object();
    cgi.path_info = (location.pathname.indexOf('?') != -1) ? location.pathname.substring(0, location.pathname.indexOf('?')) : location.pathname;
    cgi.script_name = cgi.path_info;
   	cgi.query_string = (location.search) ? ((location.search.indexOf('#') != -1) ? location.search.substring(1, location.search.indexOf('#')) : location.search.substring(1)) : '';
	var numberFolders = cgi.script_name.split("/").length - 2;	
	//var numberFolders = cgi.script_name.split(/\//g).length - 2;
	
	if (numberFolders != 0) {
        if (numberFolders > 2){
            // we want to get the parent folders
            folders = cgi.script_name.split("/");
            parentFolder = folders[1];
            pathFolders = folders[1] + folders[2]
            subpathFolder = cgi.script_name.replace(/\//g,"");
        }
        else if (numberFolders == 2){
            pathFolders = cgi.script_name.replace(/\//g,"");
            folders = cgi.script_name.split("/");
            parentFolder = folders[1];
            subpathFolder = '';
        } 
        else {
            pathFolders = cgi.script_name.replace(/\//g,"");
            parentFolder = pathFolders;
            subpathFolder = '';
        }
        
		if (parentFolder == 'jobs' || parentFolder == 'programs' || parentFolder == 'news'){
			folderClassName = 'active-green';
		} else {
			folderClassName = 'active';
		}
        $("#nav-"+parentFolder).addClass(folderClassName);
    	//the following statements are executed in parallel.  
        
        $("#sub-nav ul li.active-trail ul").hide();
        
        $("#sub-nav ul li.#"+pathFolders+" ul").show();	
        $("#sub-nav ul li.active-trail ul li.active-trail-sub ul").hide();
		$("#sub-nav ul li.#"+pathFolders).addClass(folderClassName);
     
        if(subpathFolder != ''){
            $("#sub-nav ul li.active-trail ul li.#"+subpathFolder+" > ul").show();
            $("#sub-nav ul li.active-trail ul li.#"+subpathFolder).addClass(folderClassName);
        }
        
        $("#sub-nav ul li.active-trail").click(function(){
            $("#sub-nav ul li.active-trail a").css('background-image','url(/images/bullets/arrow-right.png)');
            $("#sub-nav ul li.active-trail ul").hide();
            $(this).children("ul").show();
            $(this).children("a").css('background-image','url(/images/bullets/arrow-down.png)');
        });
       
        $("#sub-nav ul li.active-trail ul li.active-trail-sub").click(function(){
            
            //$("#sub-nav ul li.active-trail ul li.active-trail-sub a").css('background-image','url(/images/bullets/arrow-right.png)');
            $(this).children("ul").show();
            
            /*if ($(this).children("ul").is(":visible") == true){
                alert('visible')
                $("#sub-nav ul li.active-trail ul li.active-trail-sub ul").hide();
                $(this).children("ul").hide();
                //$(this).css('background-image','url(/images/bullets/arrow-right.png)');
            } else {
                alert('not visible')
                $("#sub-nav ul li.active-trail ul li.active-trail-sub ul").hide();
                $(this).children("ul").show();
                //$(this).children("a").css('background-image','url(/images/bullets/arrow-down-grey.png)');
            }*/
        });
		
		if (cgi.query_string != '') {
			$("div#sub-nav").find("a[href*='" + cgi.query_string + "']").parent().addClass(folderClassName)
		} 
		//
	};

   	var last_menu, menu_timer;
    
    var menus = $(".dd-menu");
    menus.css('display', 'inline').hide();
    var zindx = 2000; 
    
    $("#main-nav > ul > li > a").hover(
       function() {             
           stop_menu_timer();
                    
           var me = $(this);
           var menu = me.next(".dd-menu");
           
           me.parent().css("z-index", zindx++);   
           
           if(last_menu && last_menu[0] != menu[0]) {               
               menu_out();
           }
           
           if(!menu[0]) {
               me.addClass("no-sub");
           }                      
          
           menu.slideDownBetter("fast");           
           me.addClass("hover");
           
           var mc = $("#main-nav");
           var menu_offset = menu.offset();
           var mc_offset = mc.offset();         
           
           var menu_offset_right = menu_offset.left + menu.width();
           var mc_offset_right = mc_offset.left + mc.width();
           
           if(menu_offset_right > mc_offset_right) {
                var new_offset = me.parent().offset().left;
                menu.css("left", -(menu.width() - me.width()));                       
           }           
       },
       function() {                                
           last_menu = $(this).next(".dd-menu");
           if(!last_menu[0]) {
               $(this).removeClass("no-sub").removeClass("hover"); 
           } else {
               start_menu_timer();
           }
       }
    ); 
    
    function start_menu_timer() {        
        menu_timer = setTimeout(menu_out, 300);        
    }
    
    function stop_menu_timer() {
        clearTimeout(menu_timer);        
    }
    
    function menu_out() {             
        if(last_menu != null) {            
            last_menu.slideUpBetter("fast", null, function() {
                $(this).prev("a.hover").removeClass("hover");                             
            });            
        }
    }
    
    $(".dd-menu").bind("mouseenter", stop_menu_timer);
    $(".dd-menu").bind("mouseleave", start_menu_timer);
    $(".dd-menu ul ul").unbind("mouseenter").unbind("mouseleave"); 
    
    var kit_menu_timer;    
    var kit_menu = $("ul.toolkit-list"); 
    kit_menu.css('display', 'inline').hide();     
    
    $("#tac-toolkits > a").hover(
       function() {             
           kit_stop_menu_timer();       
           $("#tac").addClass("toolkits-hover");            
           kit_menu.slideDownBetter("fast");
           trace("#tac-toolkits over");        
       },
       function() {                  
           kit_start_menu_timer();           
       }
    ); 
    
    function kit_start_menu_timer() {     
        kit_menu_timer = setTimeout(kit_menu_out, 300);        
    }
    
    function kit_stop_menu_timer() {
        clearTimeout(kit_menu_timer);        
    }
    
    function kit_menu_out() {        
        kit_menu.slideUpBetter("fast", null, function(e) {
            $("#tac").removeClass("toolkits-hover");                    
        }); 
    }
    
    kit_menu.bind("mouseenter", kit_stop_menu_timer);
    kit_menu.bind("mouseleave", kit_start_menu_timer);
});
