// global JS object
VHA_MegaMenu = function() {


		//global vars
		//var;

	return{
		
		/************************
			Init function
			-- attach event handlers
			-- fire drop down menu if present
		
		************************/
		init: function(){
			

			//console.log("init");
			
			//Prevent default link behaviour
			//$("#menu li.top-level a.top-level-item").click(this.topLevelClick);
			
			// detect mobile device and set handlers.
			if ((navigator.userAgent.indexOf('iPhone') != -1) || (navigator.userAgent.indexOf('iPod') != -1) || (navigator.userAgent.indexOf('iPad') != -1)){
				
				$("#menu li.top-level, #top-globalnav li, #top-quicklinks li").click(this.mobileDevice);
					
			} else {
			
				
				//Mega Menu Hover States
				$("#menu li.top-level, #top-globalnav li, #top-quicklinks li").hover(
				
					function(){
						$(this).addClass("nav-item-on");
						
						//normalise height for support panel
						if($(this).hasClass("top-level") && !$(this).hasClass("nav-item-home")){
							
							
							
							VHA_MegaMenu.setPanelHeight($(this));	
						}
						
						
			
					},
					function(){
						$(this).removeClass("nav-item-on");	
					}
											  
				)
			
			}
			
			//handle search
			
			$("#top-search-field").focus(function(){
					if($(this).val() =='Search'){
						$(this).val('');	
					}
			});
			
			$("#top-search-field").blur(function(){
					if($(this).val() ==''){
						$(this).val("Search");	
					}
				});
				
			//submit on enter	
			$("#top-search-field").keypress(this.searchSubmit);
			
			
		},
		// end init
		
		topLevelClick : function(e){
			
			e.preventDefault();	
			
			
		
		},
		//end top level click
		
		mobileDevice : function(e){

			//get clicked item
			var clickedEl = $(this);
			
			
			if($(this).attr("clicked") == "true"){
				
				clickedEl.removeClass("nav-item-on")
				
				$(clickedEl).attr("clicked","false");
				
				return true	
				
				
				
				
			} else {
				
				e.preventDefault();
				$(clickedEl).attr("clicked","true");
			
			}
			
			//console.log(clickedEl);
			
			// filter all other menu items remove open item
			$("#menu li.nav-item-on, #top-globalnav li").not(clickedEl).removeClass("nav-item-on").attr("clicked","false");
			
			//toggle clicked item
			if(clickedEl.hasClass("nav-item-on")){				
				
				clickedEl.removeClass("nav-item-on")
				$(clickedEl).attr("clicked","false");
				
			} else {
				
				//$(this).removeClass("nav-item-off")
				clickedEl.addClass("nav-item-on");
				
				//normalise height for support panel
				if($(this).hasClass("top-level")){
					VHA_MegaMenu.setPanelHeight($(this));	
				}
			}
			
			
		},
		
		setPanelHeight : function(parentEl){
			
			
			
			
			var navDl = $(parentEl).children().find("dl.sub-nav-support");

			var subNavs = $(parentEl).children().find("dl");
			
			var thisAnchor = $(parentEl).children("a.top-level-item");
			
			var thisNav = $(parentEl).children(".nav-item-dd");
			
			thisAnchor = thisAnchor.position();

			if(!navDl.hasClass("height-set")){
				var navDlPar = $(navDl).parent().height();
				$(navDl).addClass("height-set").css("height",navDlPar+"px");
			}
			
			if(subNavs.length < 2){
				
				$(thisNav).children("ul").css(
					
					{
						"padding-left":thisAnchor.left,
						"float":"left"	
					}
				
				)
				
					
			}
				
		},
		//end mobile Device
		
		searchSubmit : function(e){
			
			var code = (e.keyCode ? e.keyCode : e.which);
				if(code == 13){
			   		
					$("#top-search").submit();
					
			 	}

			
		}
		
			
	 }

}();

// load on document ready
$(function() {
	VHA_MegaMenu.init();
})
