$(function() {
	// add form error divs for ajax call
	$("fieldset").append( $("<div id='loading' style='display:none;'> <img src='images/loader.gif' alt='Sending' width='16' height='16' \/> Sending... <\/div> <div id='success' style='display:none;'> Thank you for your message! <br \/>A catering representative will get back to you&#160;shortly.<\/div> <div id='error' style='display:none;'> An error occurred. Please try submitting the form again. <\/div>") );

	$("#edate").datepicker();

	// form validation and ajax call
	$("form p b").hide();
	$("form").submit(function() {
		var name = $("#name"),
			email = $("#email"),
			phone = $("#phone"),
			eventtype = $("#seleventtype"),
			guests = $("#guests"),
			edate = $("#edate"),
			error = false;
		
		$("form p b").hide();
		$(".error").removeClass("error");
		
		if (name.val() == "") {
			alert("Please, enter your name");
			name.focus();
			name.parent("p").addClass("error").children("b").css("display","block").show("fast", function(){$(this).effect("pulsate", { times:1 }, 500)});
			error = true;
			return false;
		}
		if (email.val() == "") {
			alert("Please, enter your email");
			email.focus();
			email.parent("p").addClass("error").children("b").css("display","block").show("fast", function(){$(this).effect("pulsate", { times:1 }, 500)});
			error = true;
			return false;
		}
		if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(email.val())) {
			alert("Please, check your email address, \nit is not valid.");
			email.focus();
			email.parent("p").addClass("error").children("b").css("display","block").show("fast", function(){$(this).effect("pulsate", { times:1 }, 500)});
			error = true;
			return false;
		}
		if (phone.val() == "") {
			alert("Please, enter your phone number");
			phone.focus();
			phone.parent("p").addClass("error").children("b").css("display","block").show("fast", function(){$(this).effect("pulsate", { times:1 }, 500)});
			error = true;
			return false;
		}
		
		if (eventtype.val() == "0") {
			alert("Please, select your type of event");
			eventtype.focus();
			eventtype.parent("p").addClass("error").children("b").css("display","block").show("fast", function(){$(this).effect("pulsate", { times:1 }, 500)});
			error = true;
			return false;
		}

		if (guests.val() == "") {
			alert("Please, add the number of guests in your event");
			guests.focus();
			guests.parent("p").addClass("error").children("b").css("display","block").show("fast", function(){$(this).effect("pulsate", { times:1 }, 500)});
			error = true;
			return false;
		}

		if (edate.val() == "") {
			alert("Please, add the date of your event");
			edate.focus();
			edate.parent("p").addClass("error").children("b").css("display","block").show("fast", function(){$(this).effect("pulsate", { times:1 }, 500)});
			error = true;
			return false;
		}
		
		if(!error) {
			var collected_data = "name=" + name.val() + "&email=" + email.val() + "&phone=" + phone.val();
			
			collected_data += "&seleventtype=" + eventtype.val();
			collected_data += "&guests=" + guests.val();
			collected_data += "&edate=" + edate.val();

			if ( $("#message").val() != "" ) {
				collected_data += "&message=" + $("#message").val();
			}
			
			//alert(collected_data);
			$.ajax({
				type: $("form").attr("method"),
				url: $("form").attr("action"), // Uses action in form
				data: collected_data,
				beforeSend: function() {
					$("#submit").hide();
					$("#loading").show();
					$("#error").hide();
				},
				success: function(html) {	
					$("#loading").hide();
					$("#success").slideDown({
						duration: 1000,
						easing: "easeOutBounce"
					});
				},
				error: function(html) {
					$("#loading").hide();
					$("#submit").show();
					$("#error").slideDown({
						duration: 1000,
						easing: "easeOutBounce"
					});
				}
			}); 
		}

		return false;
	});
});
