var emptyFieldErrMsg = "You must enter a value for #.";
var noneCheckedErrMsg = "You must choose an option from #.";
var errMsgDiv = "validation_err";

function validate(form) {
	var element; 
	
	hideErr();
	
	for (i = 0; i < form.elements.length; i++) {
		element = form.elements[i];
		if (element.type == "text" || element.type.indexOf("select") > -1) {
			if(isRequired(element) && isEmpty(element)) {
				errRoutine(element, emptyFieldErrMsg);
				return false;
			} 
		} else if (element.type == "checkbox") {
			if (isRequired(element) && noneChecked(element)) {
				errRoutine(element, noneCheckedErrMsg);
				return false;
			}
		}
	}
	return true;
}

function isRequired(field) {
	var id = field.id;
	var className = document.getElementById(id).className;
	
	if (className == "req") {
		return true;
	} else {
		return false;
	}
}

function noneChecked(field) {
	var arrChk = document.getElementsByName(field.name);
	var none_checked = true; 
	
	for (j = 0; j < arrChk.length; j++) {
		if (arrChk[j].checked) {
			none_checked = false;
			break;
		}
	}
	return none_checked;
}

function isEmpty(field) {
	var value = field.value; 
	
	value = value.replace(/ /g, "");
	if (value.length == 0) {
		return true;
	} else { 
		return false;
	}
}

function formatPhone(field) {
	var value = field.value; 
	var returnValue = "";
	
	value = value.replace(/ /g, "").replace(/-/g, "").replace(/\(/g, "").replace(/\)/g, "");
	
	if (value.length < 3) {
		returnValue = value;
	} else if (value.length < 7) {
		returnValue = value.substring(0,3) + "-" + value.substring(3);
	} else {
		returnValue = "(" + value.substring(0, 3) + ") " + value.substring(3, 6) + "-" + value.substring(6);
	}
	field.value = returnValue;
}

function errRoutine(field, message) {
	var fieldName = field.id.replace(/_/g, " " );
	message = message.replace(/\#/g, fieldName);
	document.getElementById(field.name + "_label").style.fontWeight = "bold";
	document.getElementById(field.name + "_label").style.fontStyle = "italic";
	field.focus();
	showErr(message);
}

function showErr(message) {
	document.getElementById(errMsgDiv).innerHTML = message;
	document.getElementById(errMsgDiv).style.display = "inline";
}

function hideErr() {
	var lab = document.getElementsByTagName('label');
	
	for (i = 0; i < lab.length; i++) {
		lab[i].style.fontWeight = "normal";
		lab[i].style.fontStyle = "normal";
	}
	document.getElementById(errMsgDiv).innerHTML = "";
	document.getElementById(errMsgDiv).style.display = "none";
}

function changeForm(form, value) {
	if (value == "Services") {
		form.formid.value = "5";
		form.OnSuccess.value = "http://" + document.domain + "/services.aspx";
	} else if (value == "Admissions") {
		form.formid.value = "1";
		form.OnSuccess.value = "http://" + document.domain + "/thankyou.aspx";
	}
}

function changeRequest(form, value) {
	if (value == "Services") {
		form.formid.value = "5";
		form.OnSuccess.value = "http://" + document.domain + "/services.aspx";
	} else if (value == "Admissions") {
		form.formid.value = "3";
		form.OnSuccess.value = "http://" + document.domain + "/thankyou.aspx";
	}
}