function setupNavHovers() {
var aLIs =  YAHOO.util.Dom.getElementsByClassName("menuBarLI");
	for(var i = 0;i<aLIs.length;i++ ) {
		var uniqueId = YAHOO.util.Event.generateId(aLIs[i]);
		YAHOO.util.Event.addListener(aLIs[i], 'mouseover', hover , [uniqueId,1]);
		YAHOO.util.Event.addListener(aLIs[i], 'mouseout', hover , [uniqueId,0]);
	}
}

function validateForm(formId, colonDelimitedRequired) {
 var formToValidate = document.getElementById(formId);
 var inputFields = formToValidate.getElementsByTagName('input');
 var textarea = formToValidate.getElementsByTagName('textarea');
 var listOfRequired = colonDelimitedRequired.split(":");
 
 var incompleteFields = "";
 var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]\/]/g ;
 var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;

 //Check for required fields on client side
 for(var t = 0;t<inputFields.length;t++) {
 //strip scripting characters
 inputFields[t].value = (inputFields[t].value).replace(illegalChars,'');
	if(inputFields[t].name == 'email' && inputFields[t].value != "" && inputFields[t].value != null) {
		if( !emailFilter.test(inputFields[t].value)) {
			incompleteFields += inputFields[t].value + " is not a valid email address";
		}
	}
 
	for(var i=0;i<listOfRequired.length;i++ ){	
		if(listOfRequired[i] == inputFields[t].name) {
			if(inputFields[t].name == 'phone' && inputFields[t].value.length!=0) {
				var stripped = inputFields[t].value.replace(/[\(\)\.\-\ ]/g, '');
				if (!(stripped.length == 10)) {
					incompleteFields += "The phone number is the wrong length. Please include an area code.<br/>";
					
				} 				
			}
						
			if(inputFields[t].value == null || inputFields[t].value == "") {
				var prettyLabel = (inputFields[t].name).substr(0,1);
				prettyLabel = prettyLabel.toUpperCase();
				prettyLabel = prettyLabel + (inputFields[t].name).substr(1,inputFields[t].name.length);
				
				incompleteFields +=prettyLabel + " is empty<br/>";
			}
		}
	}
	
	
 }
 if(incompleteFields.length > 0) {
	alert("Please fill out all required fields");
	document.getElementById("contactErrorMessage").innerHTML = "<b>Please fix the following errors: <br/></b>" + incompleteFields.toString();
	document.getElementById("contactErrorMessage").style.display="block";
	
	return false;
	
 }
 else {
	document.getElementById("contactErrorMessage").style.display="none";
	return true;
 }
 
}

function hover(e, onOff) {
  var img = document.getElementById(onOff[0]);	
  var imgSrc = img.src;		
  var originalImgSrc = imgSrc;
  switch(onOff[1]) {
  case 0:  
	var overSpot = imgSrc.indexOf('_over');
	var imgSrcNEW = imgSrc.substring(0,overSpot);
	imgSrcNEW += ".jpg";	
	img.src = imgSrcNEW;	
	//img.style.cursor = "default";
	break;
  case 1:  
	var imgSrcNEW = imgSrc.substring(0,imgSrc.length-4);
	imgSrcNEW += "_over.jpg";	
	img.src = imgSrcNEW;
	//img.style.cursor = "pointer";
	var parentLI = YAHOO.util.Dom.getAncestorByClassName(img,"yuimenubaritem");
	YAHOO.util.Event.addListener(parentLI, 'mouseover', function(e){img.src = imgSrcNEW;} );
	YAHOO.util.Event.addListener(parentLI, 'mouseout', function(e){img.src = originalImgSrc;} );
	break;
  
  }
}


YAHOO.util.Event.onDOMReady(setupNavHovers);



	

