$(document).ready(function() { 
	$('#submit').attr('disabled', false);
	$('#submit').css('opacity', '1');
	$(".loading").css('display', 'none');
	
	$('#fax').attr('value', '');
	$('#company').attr('value', '');
	
	function validate_form(thisform) {
		var hasError = false;
		var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
		var phoneReg = /^([\(]{1}[0-9]{3}[\)]{1}[\.| |\-]{0,1}|^[0-9]{3}[\.|\-| ]?)?[0-9]{3}(\.|\-| )?[0-9]{4}$/;
		var zipReg = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
		
		$(".error").remove();
		
		var nameVal = $("#name").val();
		if(nameVal == '') {
			$("#name").after('<span class="error">You forgot to enter your name.</span>');
			hasError = true;
		}
		
		var addressVal = $("#address").val();
		if(addressVal == '') {
			$("#address").after('<span class="error">You forgot to enter your address.</span>');
			hasError = true;
		} 
		
		var cityVal = $("#city").val();
		if(cityVal == '') {
			$("#city").after('<span class="error">You forgot to enter your city.</span>');
			hasError = true;
		} 
		
		var stateVal = $("#state").val();
		if(stateVal == '') {
			$("#state").after('<span class="error">You forgot to pick a state.</span>');
			hasError = true;
		} 
		
		var zipVal = $("#zip").val();
		if(zipVal == '') {
			$("#zip").after('<span class="error">You forgot to enter a zip code.</span>');
			hasError = true;
		} else if(!zipReg.test(zipVal)) {	
			$("#zip").after('<span class="error">Please enter a valid zip code.</span>');
			hasError = true;
		}
		
		var phoneVal = $("#phone").val();
		if(phoneVal == '') {
			$("#phone").after('<span class="error">You forgot to enter your phone number.</span>');
			hasError = true;
		} else if(!phoneReg.test(phoneVal)) {	
			$("#phone").after('<span class="error">Please enter a valid phone number.</span>');
			hasError = true;
		}
		
		var faxVal = $("#fax").val();
		if(!phoneReg.test(faxVal) & faxVal != '') {	
			$("#fax").after('<span class="error">Please enter a valid fax number.</span>');
			hasError = true;
		}
		
		var emailVal = $("#email").val();
		if(emailVal == '') {
			$("#email").after('<span class="error">You forgot to enter your email address.<span>');
			hasError = true;
		} else if(!emailReg.test(emailVal)) {	
			$("#email").after('<span class="error">Please enter a valid email address.</span>');
			hasError = true;
		}
		
		var subjectVal = $("#subject").val();
		if(subjectVal == '') {
			$("#subject-label").append('<span class="error" style="text-align: right">You forgot to enter a subject.</span>');
			hasError = true;
		}
		
		var messageVal = $("#message").val();
		if(messageVal == '') {
			$("#message-label").append('<span class="error" style="text-align: right">You forgot to enter a message.</span>');
			hasError = true;
		}
		
		if(hasError == false) {
			var faxVal = $("#fax").val();
			if(faxVal == '') {
				faxVal = 'NA';
				$("#fax").attr('value', faxVal);
			}
			
			var companyVal = $("#company").val();
			if(companyVal == '') {
				companyVal = 'NA';
				$("#company").attr('value', companyVal);
			}
			
			$('#submit').attr('disabled', true);
			$('#submit').css('opacity', '.25');
			$(".loading").css('display', 'block');
			
			return true;
		} else {
			return false;
		}
	}
	
	$('#submit').click(function() {
		return validate_form();							
	});
});