/*
	functions.forms.css
	Form Validation / Interactivity Functions
	Created: Nov. 5, 2007
	Creator: Matt Kircher, Mainline Media LLC
*/

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

function validateContactForm(){

	var form = document.getElementById('contact-form');
	var submitInfo = true;
	
	var fields = new Array('fname', 'lname', 'email', 'areacode', 'phone_prefix', 'phone_suffix', 'address1', 'city', 'zipcode', 'comments');
	var field_titles = new Array('a first name', 'a last name', 'a valid email address', 'an valid phone number area code', 'a valid phone number', 'a valid phone number', 'a valid address', 'a valid city', 'a valid zipcode', 'Continue without leaving questions or comments?');
	
	for(var x=0; x<fields.length; x++){
		if(form.elements[fields[x]].value.trim() == ""){
			if(fields[x] != "comments"){
				//for all required fields
				alert('Please provide '+field_titles[x]+'.');
				form.elements[fields[x]].value = '';
				form.elements[fields[x]].focus();
				x = fields.length;
				submitInfo = false;
			} else {
				//for comment field
				if(!confirm(field_titles[x])){
					form.elements[fields[x]].focus();
					x = fields.length;
					submitInfo = false;
				}
			}
		} else if(fields[x] == "email" && !form.elements[fields[x]].value.match(/^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/)){
			//double check email format
			alert('Please provide '+field_titles[x]+'.');
			form.elements[fields[x]].value = '';
			form.elements[fields[x]].focus();
			x = fields.length;
			submitInfo = false;
		}
	}
	
	if(submitInfo == true){ form.submit(); }
	return false;
}