function checkForm(form){

	var errors = new Array;

	with (form){

		if (Trim(Fname.value) == "") errors.push("Fname");
		if (Trim(Lname.value) == "") errors.push("Lname");
		if (Trim(Email.value) == "") errors.push("Email");
		if (Trim(ConfirmEmail.value) == "") errors.push("ConfirmEmail");
		if (Trim(Zip.value) == "" || Zip.value.length != 5) errors.push("Zip");

		if (Trim(Email.value) == ""){
			errors.push("Email");
		}
		else if (BadEmail(Email.value)){
			errors.push("Email");
		}
		else if(Email.value != ConfirmEmail.value ){
			errors.push("Email");
			errors.push("ConfirmEmail");
			document.getElementById("errorConfirmEmail").style.display = "block";
		}
	}

	if (errors.length){

		resetFields();
		illuminateFields(errors);

		document.getElementById("error").style.display = "block";

		return false;
	}
	else {
		return true;
	}
}

function resetFields (){

	var fields = new Array("Fname","Lname","Email","ConfirmEmail","Zip");
	var len = fields.length;

	for (var i = 0; i < len; i++)
	{
		var elm = document.getElementById(fields[i])
		elm.className = "";
	}
}


function illuminateFields (errors){

	var len = errors.length;
	for (var i = 0; i < len; i++)
	{
		var elm = document.getElementById(errors[i]);
		elm.className = "error";
	}
}

function BadEmail(str){
	var regexp = "";
	regexp = /@.*@/;
	if (regexp.test(str)) return true;
	regexp = /[, ;]/;
	if (regexp.test(str)) return true;
	regexp = /.+@[A-Za-z0-9\-]+\.[A-Za-z0-9\-.]*$/;
	if (regexp.test(str)) return false;
	return true;
}

function Trim(str){
	var regexp = "";
	regexp = / $/;
	while (regexp.test(str)) str = str.substr(0,str.length - 1);
	regexp = /^ /;
	while (regexp.test(str)) str = str.substr(1);
	return str;
}

var nav4 = window.Event ? true : false;
function acceptNum(evt){
	// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57
	var key = nav4 ? evt.which : evt.keyCode;
	return (key <= 13 || (key >= 48 && key <= 57));
}



