/************************************************************
 ** Clears a field
 ** By: 	Joshua Sowin (fireandknowledge.org)
 ** HTML: <input type="text" value="Search" name="search"
 **			id="search" size="25" 
 ** 		onFocus="clearInput('search', 'Search')" 
 ** 		onBlur="clearInput('search', 'Search')" />
 ***********************************************************/
function clearInput(field_id, term_to_clear) {
	
	// Clear input if it matches default value
	if (document.getElementById(field_id).value == term_to_clear ) {
		document.getElementById(field_id).value = '';
	}
	
	// If the value is blank, then put back term
	else if (document.getElementById(field_id).value == '' ) {
		document.getElementById(field_id).value = term_to_clear;
	}
} // end clearSearch()

// menu drop down
jQuery(document).ready(function($){
  function megaHoverOver(){
  		$(this).find(".sub").stop().fadeTo('fast', 1).show();
  			
  		//Calculate width of all ul's
  		(function($) { 
  			jQuery.fn.calcSubWidth = function() {
  				rowWidth = 0;
  				//Calculate row
  				$(this).find("ul").each(function() {					
  					rowWidth += $(this).width(); 
  				});	
  			};
  		})(jQuery); 
  		
  		if ( $(this).find(".row").length > 0 ) { //If row exists...
  			var biggestRow = 0;	
  			//Calculate each row
  			$(this).find(".row").each(function() {							   
  				$(this).calcSubWidth();
  				//Find biggest row
  				if(rowWidth > biggestRow) {
  					biggestRow = rowWidth;
  				}
  			});
  			//Set width
  			$(this).find(".sub").css({'width' :biggestRow});
  			$(this).find(".row:last").css({'margin':'0'});
  			
  		} else { //If row does not exist...
  			
  			$(this).calcSubWidth();
  			//Set Width
  			$(this).find(".sub").css({'width' : rowWidth});
  			
  		}
  	}
  	
  	function megaHoverOut(){ 
  	  $(this).find(".sub").stop().fadeTo('fast', 0, function() {
  		  $(this).hide(); 
  	  });
  	}
   
   
  	var config = {    
  		 sensitivity: 2, // number = sensitivity threshold (must be 1 or higher)    
  		 interval: 100, // number = milliseconds for onMouseOver polling interval    
  		 over: megaHoverOver, // function = onMouseOver callback (REQUIRED)    
  		 timeout: 500, // number = milliseconds delay before onMouseOut    
  		 out: megaHoverOut // function = onMouseOut callback (REQUIRED)    
  	};
   
  	$("ul#topnav li .sub").css({'opacity':'0'});
  	$("ul#topnav li").hoverIntent(config);
});