/*contact_us.js*/

//variable containing the error message elements to show/hide
var validationElements = new Array("errorMessageIntro","errorList","enterName","enterPhone","enterValidPhone","enterValidExtension","enterEmail","enterRemail","enterValidEmail","enterReason","enterMessage");

//function validate(form)
//method for validating contact us form
//depends:  needs to be included on a page with validate.js
//denends:  needs to be included on a page with utilities.js
//needs to be called in a form sumbit or passed a form
//returns true if valid, else returns false
function validate(form) {
	var errors = new Boolean(false);
	
	//hide all error message items, the list and the error message headline
	hideList(validationElements);
	//validate that a name is entered
	if(isBlank(get("visitorName").value)) {
		errors = new Boolean(true);
		show("enterName");
	}

	//validate that phone number isn't blank	
	if(isBlank(get("visitorPhone").value)) {
		errors = new Boolean(true);
		show("enterPhone");
	} else if(!isValidPhone(get("visitorPhone").value)) {
		errors = new Boolean(true);
		show("enterValidPhone");
	
	}

	//validate that extension is all numeric if not blank
	if(!isBlank(get("visitorPhoneExtension").value)) {
		if(!isNumeric(get("visitorPhoneExtension").value)) {
			errors = new Boolean(true);
			show("enterValidExtension");
		}
	}




	
	//validate that an e-mail address is entered
	if(isBlank(get("emailAddress").value)) {
		errors = new Boolean(true);
		show("enterEmail");
	} else {

		//validate that it's a valid e-mail address
		if(isValidEmail(get("emailAddress").value)) {
			//if valid, validate that a re-enter is entered
			//if entered, validate that the re-enter matches the entered

			if(get("emailAddress").value != get("remailAddress").value) {
				errors = new Boolean(true);
				show("enterRemail");
			}

		} else {
			errors = new Boolean(true);
			show("enterValidEmail");
		}
	}

	//validate that a reason is selected
	if(isBlank(get("contactReason").value)) {
		errors = new Boolean(true);
		show("enterReason");
	}

	//validate that a message is entered
	if(isBlank(get("messageBody").value) || get("messageBody").value == "Enter your comment, question or message here") {
		errors = new Boolean(true);
		show("enterMessage");
	}

	//if for any reason a validation catch failed
	if(errors == true) {
		//show the messages
		show("errorMessageIntro");
		show("errorList");
		
		//scroll to the page top
		window.scrollTo(0,0);
		
		//flash the error message border;
		//flashBorder(elementId, borderWidth, borderStyle, color1, color2, times, interval);
		flashBorder("errorMessages","","","#CC0000","#FFFFFF");
		
		return false;
	} else {
		//otherwise
		return true;
	}

}

