$(document).ready(function() { 
   	// bind contact page form using ajaxForm
    $('#contact-form').ajaxForm( {success: onSuccess,  beforeSubmit: validateContactForm} ); 

	// bind contact page form using ajaxForm
    $('#membership-form').ajaxForm( {success: onSuccess,  beforeSubmit: validateMembershipForm} ); 
	
	// make reset button reset error messages
	$('.resetButton').click(function (){
		$(".errorField").remove();
		$("#OKMsg").remove();
		$("div").removeClass("error");
	});
});

function onSuccess(result){
	$("fieldset").after('<div id="OKMsg"><p>Message sent, thank you!</p></div>');
	$('#contact-form').resetForm();
	$('#membership-form').resetForm();
}

function validateMembershipForm(formData) { 

	var hasError = false;
	$(".errorField").remove();
	$("div").removeClass("error");

	//// Name Field ////

	var nameVal = $("#name").val();
	
	if(nameVal == '') {
		$("#name").parent().addClass("error");
		$("#name").parent().prepend('<p class="errorField">Please enter your name</p>');
		hasError = true;
	} 

	//// Email Field ////

	var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;

	var emailFromVal = $("#email").val();
	
	if(emailFromVal == '') {
		$("#email").parent().addClass("error");
		$("#email").parent().prepend('<p class="errorField">Please enter an email address</p>');
		hasError = true;
	} else if(!emailReg.test(emailFromVal)) {	
		$("#email").parent().addClass("error");
		$("#email").parent().prepend('<p class="errorField">Please enter a valid email address</p>');
		hasError = true;
	}
	
	//// Address Field ////

	var addressVal = $("#address").val();
	
	if(addressVal == '') {
		$("#address").parent().addClass("error");
		$("#address").parent().prepend('<p class="errorField">Please enter a address</p>');
		hasError = true;
	}

	
	//// City Field ////

	var cityVal = $("#city").val();
	
	if(cityVal == '') {
		$("#city").parent().addClass("error");
		$("#city").parent().prepend('<p class="errorField">Please enter a city</p>');
		hasError = true;
	}
	
	
	//// State Field ////

	var stateVal = $("#state").val();
	
	if(stateVal == '') {
		$("#state").parent().addClass("error");
		$("#state").parent().prepend('<p class="errorField">Please enter a state</p>');
		hasError = true;
	}
	
	
	//// Zip Field ////

	var zipVal = $("#zip").val();
	
	if(zipVal == '') {
		$("#zip").parent().addClass("error");
		$("#zip").parent().prepend('<p class="errorField">Please enter a zip</p>');
		hasError = true;
	}
	
	
	
	//// Zip Field ////

	var phoneVal = $("#phone").val();
	
	if(phoneVal == '') {
		$("#phone").parent().addClass("error");
		$("#phone").parent().prepend('<p class="errorField">Please enter a phone number</p>');
		hasError = true;
	}
	
	
	if(hasError){
		return false;
	}

}

function validateContactForm(formData) { 

	var hasError = false;
	$(".errorField").remove();
	$("div").removeClass("error");


	//// Name Field ////

	var nameVal = $("#name").val();
	
	if(nameVal == '') {
		$("#name").parent().addClass("error");
		$("#name").parent().prepend('<p class="errorField">Please enter your name</p>');
		hasError = true;
	} 

	//// Email Field ////

	var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;

	var emailFromVal = $("#email").val();
	
	if(emailFromVal == '') {
		$("#email").parent().addClass("error");
		$("#email").parent().prepend('<p class="errorField">Please enter an email address</p>');
		hasError = true;
	} else if(!emailReg.test(emailFromVal)) {	
		$("#email").parent().addClass("error");
		$("#email").parent().prepend('<p class="errorField">Please enter a valid email address</p>');
		hasError = true;
	}
	
	//// Subject Field ////

	var subjectVal = $("#subject").val();
	
	if(subjectVal == '') {
		$("#subject").parent().addClass("error");
		$("#subject").parent().prepend('<p class="errorField">Please enter a subject</p>');
		hasError = true;
	}

	//// Message Field ////

	var messageVal = $("#message").val();
	
	if(messageVal == '') {
		$("#message").parent().addClass("error");
		$("#message").parent().prepend('<p class="errorField">Please enter a message</p>');
		hasError = true;
	}
	
	if(hasError){
		return false;
	}

}