var form;
var inputs;
var errorHolder;

var count = 0;
var errors = new Array;
var errorText = ['Please enter your first and last name, correctly formatted.','Please enter a valid email address','Please enter a valid phone number.']

// Form validation
function formValidate() {
	// reset
	$(errorHolder).children('p').remove();
	count = 0;
	errors = new Array;
	
	for (i=0; i<inputs.length; i++) {
		$(inputs[i]).removeClass('error');
	}
	
	var name = $(inputs[0]).attr('value');
  	if (name) name = name.match(/^[a-zA-Z\-]+\s+[a-zA-Z\-\.\,\s]+$/);
	var email = $(inputs[1]).attr('value');
	if (email) email = email.match(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/);
	var phone = $(inputs[2]).attr('value');
	if (phone) phone = phone.match(/^((\+\d{1,3}(-| |\.)?\(?\d\)?(-| |\.)?\d{1,5})|(\(?\d{2,6}\)?))(-| |\.)?(\d{3,4})(-| |\.)?(\d{4})(( x| ext)\d{1,5}){0,1}$/);
	
    if (!name) registerError(0);
	if (!email) registerError(1);
	if (!phone) registerError(2);
	
	if (errors.length != 0) {
		for (i=0; i<errors.length; i++) {
			errorP = $('<p>').addClass('error');
			$(errorP).append(errors[i])
			$(errorHolder).append(errorP);
		}
		return false;
	}
}

function registerError(num) {
    $(inputs[num]).addClass('error');
    errors[count] = errorText[num];
    count++;
}

$(document).ready(function(){
	form = $('#contactForm');
	inputs = $(form).find('input');
	errorHolder = $(form).find('div.error');
	
	$(form).submit(formValidate);
});
