$(document).ready(function(){
	
	$('#formBody').autoResize({extraSpace: 0});
	
	$(".loading").hide();
	
	jQuery.validator.addMethod(
		"phoneUS",
		function(phone_number, element) {
    		phone_number = phone_number.replace(/\s+/g, ""); 
			return this.optional(element) || phone_number.length > 9 && phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
		},
		"Please specify a valid phone number"
	);

	$('#eventForm').validate({
		rules: {
			formName: {
				required: true
			},
			formEmail : {
				required: true
			},
			formPhone: {
				required: false,
				phoneUS: true
			},
			formBody: {
				required: true
			}
		}
	});
		
	$("#submit").click(function(){
		if (reqFieldsFilled()) {
			$('#eventForm').ajaxSubmit({
				beforeSubmit: function(){
					$(".loading").show();
					$(".success").hide();
				},
				success: function(){
					$(".loading").hide();
					document.eventForm.reset();
					$(".success").show();
				},
				url: "processform.php"
			});
		}
		return false;
	});
	
	$("#reset").click(function(){
		document.eventForm.reset();
		return false;
	});
	
	function reqFieldsFilled() {
		
		if( $("input:checked").length == 0 ) {
			alert("Please indicate at least one event type.");
			return false;
		}
		
		if( $("#formName").val() == "") {
			alert("Full Name is required.");
			return false;
		}
		
		if( $("#formEmail").val() == "") {
			alert("Email Address is required.");
			return false;
		}
		
		if( $("#formBody").val() == "") {
			alert("Message is required.");
			return false;
		}
		
		return true;
	}
	
});

