// Initialize OnSubmit Function
function initFormSubmit(){
	if (document.getElementsByTagName){
		formObj 			= document.getElementsByTagName("form")[0];
		formObj.onsubmit 	= formSubmit; 
	} else {
		return false;
	}
}

// Form OnSubmit Function
function formSubmit(e){
	if (!e){
		e = event;
	}
	return validate();
}

// Form Validation
function validate(){
	firstNamePattern	= /^[a-z\s\.]+$/i;
	lastNamePattern		= /^[a-z\s\-\'\.]+$/i;
	emailPattern		= /^[a-z0-9\-\_]+(\.[a-z0-9\-\_]+)*\@[a-z0-9\-\_]+(\.[a-z0-9\-\_]+)+$/i;
	phonePattern		= /^(\(\d{3}\)|\d{3})[\s\-\.]?\d{3}[\s\-\.]?\d{4}$/i;
	streetPattern		= /^[a-z0-9\s\-\'\.\,\#]+$/i;
	cityPattern			= /^[a-z0-9\s\-\']+$/i;
	zipPattern			= /^\d{5}([\-\s\.]?\d{4})?$/i;
	invalidPattern		= new Array();
	invalidPattern[0]	= /(\/\*|\*\/|\/\/|\<\!\-\-|\-\-\>)/gi;
	invalidPattern[1]	= /UPDATE.+SET.+\=.+|DELETE FROM.+|SELECT.+FROM.+|INSERT[\s\t\r]*INTO.+VALUES/gi;
	invalidPattern[2]	= /CDO\.Message|CreateObject|[a-z0-9]*\.(Send|From|To|Body|HTMLBody|CreateHTMLBody)/gi;
	invalidPattern[3]	= /(\<|\&lt\;)script|script(\>|\&gt\;)/gi;
	invalidPattern[4]	= /(\<|\&lt\;)([a-z0-9]+).+\2(\>|\&gt\;)/gi;
	invalidPattern[5]	= /\/\>|\<\/|\/\&gt\;|\&lt\;\//;
	
	firstName 			= document.getElementById("FirstName");
	lastName 			= document.getElementById("LastName");
	email 				= document.getElementById("Email");
	phone 				= document.getElementById("Phone");
/*
	street 				= document.getElementById("Street");
	city 				= document.getElementById("City");
	state				= document.getElementById("State");
	zip 				= document.getElementById("Zip");
*/
	comments 			= document.getElementById("Comments");

	if (!firstNamePattern.test(firstName.value)){
		alert("Please enter a valid first name.");
		firstName.focus();
		return false;
	}
	if (!lastNamePattern.test(lastName.value)){
		alert("Please enter a valid last name.");
		lastName.focus();
		return false;
	}
	if (!emailPattern.test(email.value)){
		alert("Please enter a valid email address.");
		email.focus();
		return false;
	}
	if (!phonePattern.test(phone.value)){
		alert("Please enter a valid 10-digit phone number.");
		phone.focus();
		return false;
	}
/*
	if (!streetPattern.test(street.value)){
		alert("Please enter a valid street address.");
		street.focus();
		return false;
	}
	if (!cityPattern.test(city.value)){
		alert("Please enter a valid city name.");
		city.focus();
		return false;
	}
	if (!zipPattern.test(zip.value)){
		alert("Please enter a valid 5-digit or 9-digit zip code.");
		zip.focus();
		return false;
	}
*/
	for (i=0; i<invalidPattern.length; i++){
		if (invalidPattern[i].test(comments.value)){
			alert("Please do not enter any computer programming.");
			comments.focus();
			return false;
		}
	}
	
	firstName.name		= firstName.id;
	lastName.name		= lastName.id;
	email.name			= email.id;
	phone.name			= phone.id;
/*
	street.name			= street.id;
	city.name			= city.id;
	state.name			= state.id;
	zip.name			= zip.id;
*/
	comments.name		= comments.id;
	return true;
}