// Form Validation //
// Chip Medema //
// eClick Performance //

// Regular Expressions For Form Validation \\
var fullNameRE = /^\w{1,}([ ])\w{1,}$/; /* Must Be First & Last Name */
var emailRE = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
var telephoneRE = /\([0-9]{3}\)[0-9]{3}-[0-9]{4}/;
var phone2 = /^(\+\d)*\s*(\(\d{3}\)\s*)*\d{3}(-{0,1}|\s{0,1})\d{2}(-{0,1}|\s{0,1})\d{2}$/; 
var phone3 = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/;
var zipCodeRE = /^(\d{5}-\d{4})|(\d{5})$/;
var date1RE = /^\d{1,2}\/\d{1,2}\/\d{4}$/; /* i.e. 01/02/2007 */
var ynBooleanRE = /^(Yes|No)$/;
var tfBooleanRE = /^(True|False)$/;
var multipleChoiceAnswers = /^(A|B|C|D)$/;
var alphaNumericOnlyRE = /^(\W)$/;
var integerOnlyRE = /^\d$/;


var theTotalFormElements = 4; // Total Elements In Form Minus The Hidden Fields & Submit Reset Buttons \\
var theTotalElements = theTotalFormElements - 1;

var regExLookUpTable = new Array();
	regExLookUpTable.push(null);
	regExLookUpTable.push(null);
	regExLookUpTable.push(null);
	regExLookUpTable.push(null);

// Setting Up Alerts For User //
var noFillAlertStart = "Please enter a value for the field labeled";
var validationAlertArray = new Array();
	validationAlertArray.push("Please enter your address");
	validationAlertArray.push("Please enter your city");
	validationAlertArray.push("Please select your state");
	validationAlertArray.push("Please enter zip code");

function validateCF(me){
	for(i=0;i<=theTotalElements;i++){
		var theElementName = me.elements[i].name;
		var theElementValue = me.elements[i].value;
		var theElementTitle = me.elements[i].title;
		if(validationAlertArray[i] != null){
			if(theElementValue == ""){
				alert(noFillAlertStart + " " + theElementTitle);
				return(false);
			}else{
				var theRegEx = regExLookUpTable[i];
				if(theRegEx != null){
					if(!theRegEx.test(theElementValue)){
						alert(validationAlertArray[i]);
						return(false);
					}
				}
			}
		}
	}
  return(true);
}


