window.onload = initForms;
//Check to see how many forms are on the page, to see how many times validateForm() needs to run.
function initForms() {
	for (var i=0; i< document.forms.length; i++) {
		document.forms[i].onsubmit = function() {return validateForm();} //DEMO -- validateForm();
	}
} // end initForms

function validateForm() {
	// Flag used to return result to calling function
	var allGood = false;
	var i = 0;
	var validationMsg = "";
	
	// Retrieve the data from the form
	// First Name
	//var formFirstName 	= document.getElementById('firstName').value;
	//validateLength(formFirstName);
	if (validateLength(document.getElementById('required-fname').value)) {
		i++;
	} else {
		validationMsg += "-First Name.\n";
		
	}
	
	// Last Name
	if (validateLength(document.getElementById('required-lname').value)) {
		i++;
	} else {
		validationMsg += "-Last Name.\n"
	}
	
	// Email Address 1 
	var formEmailAddr = document.getElementById('required-email').value;
	if (validateLength(formEmailAddr)
		&& validateEmailWithRE(formEmailAddr)) {
		i++;
	} else {
		validationMsg += "-Valid Email Address.\n"
	}
	
		// Last Name
	if (validateLength(document.getElementById('required-color').value)) {
		i++;
	} else {
		validationMsg += "-Favorite Color (Lets me know you're not SPAM!).\n"
	}
	
	if (i == 4) {
		allGood = true;
		alert("Thanks For Submitting Your Information!")
	} else {
		alert("Looks like you left out some required information!\n" + validationMsg);
	}
	
	return allGood;
}// end validateForm

function validateLength(pData) {
	var isValid = false;
	if (pData.length > 0) {
		isValid = true;
	}
	return isValid
}// end validateLength

function validateEmailWithRE(emailAddress) {
	//var reEmailPattern = /^[a-zA-Z0-9]+(\.[a-zA-Z0-9_-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-z]{2,4})$/; 
	var reEmailPattern = new RegExp("^[a-zA-Z0-9]+(\.[a-zA-Z0-9_-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-z]{2,4})$"); 

	if (!reEmailPattern.test(emailAddress)) {
		//alert('Please provide a valid email address');
		return false;
	}  
	return true;
}	



