// New jquery function to auto collapse nav elements - R.Warmingham - 24/09/2009
function initMenu() {
  $('#menu1 ul').hide();
 // $('#menu1 ul:first').show();
  $("#productCatHeadingUL").show();
  $("#productCatHeadingLink").removeClass('arrowRight');
  $("#productCatHeadingLink").addClass('arrowDown');
 
	$('.navHeading ul a').filter( function(){	
		
		var menuItem = $("#lastRequestURI").val();
		if ($(this).attr("href") == menuItem){			
			$("#productCatHeadingLink").removeClass('arrowDown');
			$("#productCatHeadingLink").addClass('arrowRight');
			
			 var sumLinks = $(this).parents("ul").length;					 
			 var level    = sumLinks-1;
			 var sublevel = sumLinks-2;			 
			 var navLink = $(this).parents("li:eq("+level+")").find('a:first').html();
			 var subLink = $(this).parents("li:eq("+sublevel+")").find('a:first').html();
			
			 var checkElement = $(this).parents("li:eq("+level+")").find('a:first').next();
			 if((checkElement.is('ul')) && (!checkElement.is(':visible'))){
				 $('#menu1 ul:visible').hide();
				 checkElement.show();
				 $(this).parents("li:eq("+level+")").find('a:first').removeClass("arrowRight");
				 $(this).parents("li:eq("+level+")").find('a:first').addClass("arrowDown");
			 }	
			 if(sublevel == 0){
				 $(this).css("background-color", "#56a177").css("color", "#FFFFFF");				
			 }else{
				 $(this).parents("li:eq("+sublevel+")").find('a:first').css("background-color", "#56a177").css("color", "#FFFFFF");
			 	}
			
			 if(navLink == 'Product Categories'){
				 $("#productCatHeadingLink").removeClass('arrowRight');
				 $("#productCatHeadingLink").addClass('arrowDown');
			 }					 
		}
	});		
	
  $('#menu1 li a').click(		
    function() {
    	
      var checkElement = $(this).next();
	  
	  $('li.navHeading a.arrowRight').each(function() {
		$(this).removeClass('arrowDown');
	  });
	  
      if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
        $('#menu1 ul:visible').slideUp('normal');
		
        checkElement.slideDown('normal');
		$(this).addClass("arrowDown");
		
        return false;
        }
		else
		{
			$('#menu1 ul:visible').slideUp('normal');
			$(this).removeClass("arrowDown");
			
			$("#productCatHeadingLink").addClass('arrowRight');
		}
      }
    );
  }

/*
function jqueryBuildSubMenus() {
	$('.test ul').each(function(i) {
		$(this).css("position", "absolute");
		$(this).css("left", "170px");

		$(this).parent().mouseover(function() {	
			var ul = $(this).children('ul');
            $(this).find('a:first').css("background", '#56A177').css("color", '#FFFFFF');  	
			ul.css("left", "170px");
			ul.css("margin-top", "-25px");
			ul.css("display", "block");	
			ul.css("z-index", "2");	
		
			var elementHeight = ul.height() + ul.offset().top;
			var bottomOfWindow = $(window).height();			
			var scrollTop = $(window).scrollTop();

			if(elementHeight > bottomOfWindow + scrollTop) {				
				jQuery.each(jQuery.browser, function(i) {
				  if($.browser.msie && $.browser.version==6){
				     ul.css("bottom", "0px");
				     
				  }else{
				     ul.css("margin-top", "-" + ( elementHeight - (bottomOfWindow + scrollTop) + 25 ) + "px");
				  }
				});				
			}
	});
		
		$(this).parent().mouseout(function() {
            $(this).find('a:first').css("background", '#EBF4F0').css("color", '#00713D');
			var ul = $(this).children('ul');
			ul.css("display", "none");
			ul.css("left", "170px");
			ul.css("margin-top", null);
			ul.css("bottom", null);
		});
	});	
}*/

/* added by [RR161009] Adaptris, this is a plugin for Jquery to do delays */
$.fn.delay = function(time, callback){
    // Empty function:
    jQuery.fx.step.delay = function(){};
    // Return meaningless animation, (will be added to queue)
    return this.animate({delay:1}, time, callback);
}

$(document).ready(function(){

	// Flyout with tracking and abiliy to return back to flyout if mouse left it by accident
	// build [RR191009:02] by Robert Rozmyslowicz Adaptris LTD. all rights reserved, do not use or modify it without written permission
	//$('#errors').append(', liout:'+stayed_on_ul); // use this for debuging, must have empty div with ID=errors
	var outside_time       = 350;
	var marker_css_class   = 'isactive';
	var tracker_background = '#56A177';
	var tracker_color      = '#FFFFFF';
	var field_background   = '#EBF4F0';
	var field_color        = '#00713D';
	var stayed_on_ul       = true;

		$('#menu1 ul').mouseover(function() {
			$(this).addClass(marker_css_class);
			stayed_on_ul = true;
		});	

		$('#menu1 ul').mouseleave(function() {	
			$(this).removeClass(marker_css_class);
			stayed_on_ul = false;
		});

		$('#menu1 .navHeading li').mouseover(function() {	  
			$(this).addClass(marker_css_class);		
			
			$(this).find('a:first').css("background", tracker_background).css("color", tracker_color);  
			
			var ul = $(this).children('ul');
			ul.css("left", "170px").css("margin-top", "-25px").css("display", "block");		
	        
			var elementHeight = ul.height() + ul.offset().top;
			var bottomOfWindow = $(window).height();			
			var scrollTop = $(window).scrollTop();

			if(elementHeight > bottomOfWindow + scrollTop) {				
				jQuery.each(jQuery.browser, function(i) {
				  if($.browser.msie && $.browser.version==6){
					 ul.css("bottom", "0px");
					 
				  }else{
					 ul.css("margin-top", "-" + ( elementHeight - (bottomOfWindow + scrollTop) + 25 ) + "px");
				  }
				});				
			}
		});	
		

		$('#menu1 .navHeading li').mouseleave(function() {	
		    var set_delay = (stayed_on_ul) ? 0 : outside_time;
			$(this).delay(set_delay, function(){
			  // if A has a UL hide it
			  if ($(this).children("ul:eq(0)").attr('class') != marker_css_class)
			  {
			    $(this).children('ul').css("display", "none").css("left", "170px").css("margin-top", null).css("bottom", null);
			    $(this).find('a:first').css("background", field_background).css("color", field_color);
			  }
			});		  
			  
	          var hide_it = true;
	          // if user returned to A do not hide it if not hide it		  
			  hide_it = ($(this).attr('class') == marker_css_class) ? false : hide_it;		  

			  if (hide_it)
			  {
			    // get all parent UL
				var headers = $(this).parents().filter('ul').not('#menu1, .test');
				
				  headers.each(function(i){
					var curobj = $(this);
					if (curobj.is('.'+marker_css_class) == false) 
					{
					  if (curobj.parents('ul:eq(0)').find('.'+marker_css_class).length == 0) curobj.css("display", "none").css("left", "170px").css("margin-top", null).css("bottom", null);
					  else curobj.children('ul').css("left", "170px").css("margin-top", "-25px").css("display", "block");	
					}
				  });	
				  
			  }
			
			$(this).removeClass("isactive");	
		});
		

		initMenu();
		
	 //jqueryBuildSubMenus();
	    
	  $("p.navHeading").click(function() {					   
	    list = $(this).parent().next('div');
	    if($(list).is(":hidden")) {
	        $(list).slideDown();
			
	      } else {
	      $(list).slideUp();
			
	      }
	  
	  });
});