// JavaScript Document

function checkFields() {
    var noErrors = true;
    var fields = [];
    var defaults = ["First Name", "Last Name", "Phone Number", "Email Address", "Message", "Street Address", "City", "State", "Zip Code"];

    fields.push(document.getElementById("fname"), document.getElementById("lname"), document.getElementById("phone"), document.getElementById("email"), 
		document.getElementById("message"), document.getElementById("address"), document.getElementById("city"), document.getElementById("state"), document.getElementById("zip"));

    for (var i = 0; i < fields.length; i++) {
		if(fields[i] != null) {
			if (!validTags(fields[i], defaults[i])) {
				noErrors = false;
			}
		}
    }

    return noErrors;
}

function validTags(thisField, thisDefault) {
	var email_reg = /([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+/;
	var account_reg = /^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$/;
	var zip_reg = /^\d{5}$|^\d{5}-\d{4}$/;
	var empty_reg = /.+/;

	var good = true;
	var ret = true;

	switch(thisField.id) {
		case "account":
			good = account_reg.test(thisField.value);
			break;
		case "email":
			good = email_reg.test(thisField.value);
			break;
		case "zip":
			good = zip_reg.test(thisField.value);
			break;
		default:
			good = empty_reg.test(thisField.value);
			break;
	}

	if(good && thisField.value != thisDefault) {
		goodEntryDisplay(thisField);
	} else {
		badEntryDisplay(thisField, thisDefault);
		ret = false;
	}

	return ret;
} 

function goodEntryDisplay(thisField) {
	thisField.style.color = "#FFFFFF";
}

function badEntryDisplay(thisField, thisDefault) {
	document.getElementById("comment_sent").style.color = "#ff000a";
	document.getElementById("comment_sent").innerHTML = "Please Correct The Field(s) With Red Text";

	thisField.focus();
	thisField.value = thisDefault;
	thisField.style.color = "#ff000a";
}
