<!-- expandCollapse from http://www.blakems.com/archives/000087.html -->
function expandCollapse() {
	for (var i=0; i<expandCollapse.arguments.length; i++) {
		var element = document.getElementById(expandCollapse.arguments[i]);
		element.style.display = (element.style.display == "none") ? "block" : "none";
	}
}

//FORM VALIDATION
//More info about the following script can be found at http://www.blakems.com/archives/000087.html
function check_required(myForm) {
	var requiredFields = myForm._required.value.split("|");
	var errorString = '';
	for (var i=0; i<requiredFields.length; i++) {
		var parts = requiredFields[i].split(",");
		var field = parts[0]; var title = parts[1];
		for (var j=0; j<myForm.elements.length; j++) {
			var myElement = myForm.elements[j];
			var isNull = false;
			if (myElement.name == field && myElement.style.display != "none") {
				if (myElement.type == "select-one" || myElement.type == "select-multiple") {
					if ((myElement.options[myElement.selectedIndex].value == null || myElement.options[myElement.selectedIndex].value == '') && errorString.indexOf(title) == -1) {
						isNull = true;
					}
				} else if ((myElement.value == null || myElement.value.search(/\w/) == -1) && errorString.indexOf(title) == -1) {
					isNull = true;
				}
				
				if (isNull) {
					errorString += title + ", ";
					if (document.getElementById('label_'+myElement.name)) { document.getElementById('label_'+myElement.name).className="error"; }
					myElement.className="errorInput";
				} else {
					if (document.getElementById('label_'+myElement.name)) {
						document.getElementById('label_'+myElement.name).className="styled";
					}
					myElement.className="styled";
				}
			}
		}
	}
	if (errorString != '') {
		errorString = errorString.slice(0,errorString.length-2);
		//The commented code below generates a popup that tells what required fields were left empty
		//window.alert("Please fill in the following required fields before submitting this form:\n\n"+errorString)
		document.getElementById('errorText').className="visible";		
		return false;
	}
	else {
		//Executes the busyform script if there are no errors
		expandCollapse('contactForm','sending');
		return true;
	}}
        function submitForm(myForm) {
                if ( !check_required(myForm) ) { return false; }
                if ( !validZip(myForm.zip) ) { return false; }
               if ( !validAreaCode(myForm.area_code) ) { return false; }
                if ( !validPhone(myForm.phone) ) { return false; }
                if (myForm.From.value) {
                        if ( !validEmail(myForm.From) ) { return false; }
                }
                return true;
        }