// Form Validation //
// Chip Medema //

// Regualr 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/2008 */
var ynBooleanRE = /^(Yes|No)$/;
var tfBooleanRE = /^(True|False)$/;
var multipleChoiceAnswers = /^(A|B|C|D)$/;
var alphaNumericOnlyRE = /^(\W)$/;
var integerOnlyRE = /^[0-9]+$/;


var theTotalFormElements = 10;
var theTotalElements = theTotalFormElements - 1;

// Setting Up RegEx //
var regExLookUpTable = new Array();
	regExLookUpTable.push(null);
	regExLookUpTable.push(null);
	regExLookUpTable.push(emailRE);
	regExLookUpTable.push(null);
	regExLookUpTable.push(phone3);
	regExLookUpTable.push(null);
	regExLookUpTable.push(null);
	regExLookUpTable.push(null);
	regExLookUpTable.push(null);
	regExLookUpTable.push(null);
	regExLookUpTable.push(integerOnlyRE);
	
// Setting Up Alerts For User //
var noFillAlertStart = "Please enter a value for the field labeled";
var validationAlertArray = new Array();
	validationAlertArray.push("Please enter your name.");
	validationAlertArray.push(null);
	validationAlertArray.push("Please enter a valid email address.");
	validationAlertArray.push(null);
	validationAlertArray.push("Please enter a valid phone number.");
	validationAlertArray.push(null);
	validationAlertArray.push(null);
	validationAlertArray.push(null);
	validationAlertArray.push(null);
	validationAlertArray.push(null);
	

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;
		var theElementType = me.elements[i].type;
		if(validationAlertArray[i] != null){
			if(theElementValue == ""){
				alert(validationAlertArray[i]);
				return(false);
			}else{
				var theRegEx = regExLookUpTable[i];
				if(theRegEx != null){
					if(!theRegEx.test(theElementValue)){
						alert(validationAlertArray[i]);
						return(false);
					}
				}
			}
		}
	}
  return(true);
}


