//form validation


function validateForm(formName, checkPass) {
	var badfields = 0;
	
	badfields += validName(formName.fld_Name, "Name", "*Please enter your name.");
	badfields += validName(formName.verificationCode, "verificationCode", "*Please enter the security code.");
	badfields += validEmail(formName.fld_Email, "Email");
	badfields += validName(formName.fld_Comments, "Comments", "*Please enter your comments.");

	// verify that no badfields retruned a value. Alert or return true.
	if (badfields != 0){
		if (badfields == 1) {alert("You have 1 field that is not completed correctly.\nPlease correct the form and re-submit.");}
		else if (badfields > 1) {alert("You have " + badfields + " fields not completed correctly.\nPlease correct the form and re-submit.");}
		return false;
	}else{
		return true;
	}
}

/*----------------------------------------------------------
--------------validation functions--------------------------
----------------------------------------------------------*/

function validName(field, fieldId, errorMsg){	
		var error = 0;
		if (field.value == null || field.value.length == 0) {error=1;highlightErrors(field, fieldId, errorMsg);}
		return error;
}


function validEmail (field, fieldId) {
	var error = 0;
	var emailFilter=/^.+@.+\..{2,3}$/;
	var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
	if (field.value == null || field.value.length == 0) {error = 1; highlightErrors(field, fieldId, "*Please enter your email address.");}
	if (!(emailFilter.test(field.value))) {error = 1; highlightErrors(field, fieldId, "*Email address is invalid.");}
	if (field.value.match(illegalChars)) {error = 1; highlightErrors(field, fieldId, "*Email Address contains illegal characters.");}
	if (error == 0) {normalDisplay(fieldId); field.value=field.value.toLowerCase();}
return error;
}

/*----------------------------------------------------------
--------Reformat Form Fileds after Validation---------------
----------------------------------------------------------*/
function reformat(s){
	var arg;
	var sPos = 0;
	var result = "";
	for (i = 1; i < reformat.arguments.length; i ++){
		arg = reformat.arguments[i];
		if (i % 2 == 1) result += arg;
		else {
			result += s.substring(sPos, sPos + arg);
			sPos += arg;
		}
	}
	return result;
}


/*----------------------------------------------------------
--------------Process Errors------------------------
----------------------------------------------------------*/
function highlightErrors(field, fieldId, errorMsg){
			document.getElementById(fieldId + "ID").innerHTML = "<p class='formhighlight'>" + errorMsg;
		field.focus();
}
function normalDisplay(fieldId){
			document.getElementById(fieldId + "ID").innerHTML = "";
}


function checkName(nameField){
	if (nameField.value == "Your Name*") {
		nameField.value = "";
	}else if (nameField.value == "") {
		nameField.value = "Your Name*";
	} 
}

function checkEmail(emailField){
	if (emailField.value == "Your Email*") {
		emailField.value = "";
	}else if (emailField.value == "") {
		emailField.value = "Your Email*";
	} 
}

function checkFriendEmail(FriendEmailField){
	if (FriendEmailField.value == "Friend's Email*") {
		FriendEmailField.value = "";
	}else if (FriendEmailField.value == "") {
		FriendEmailField.value = "Friend's Email*";
	} 
}


function checkSecurityCode(securityField){
	if (securityField.value == "Security Code*") {
		securityField.value = "";
	}else if (securityField.value == "") {
		securityField.value = "Security Code*";
	} 
}

function isMaxLength(obj){
var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
if (obj.getAttribute && obj.value.length>mlength)
obj.value=obj.value.substring(0,mlength)
}

