$(document).ready(
	function () {
		var name         = $("#name");
		var phone        = $("#phoneNumber");
		var email        = $("#emailAddress");
		var eventType    = $("#eventType");
		var eventDate    = $("#eventDate");
		var guests       = $("#numGuests");
		var pack         = $("#packageType");
		var best         = $("#bestTimeCall");
		var phoneOk      = $("#phoneOk");
		var emailOk      = $("#emailOk");
		
		var submitButton = $("#vipSubmit");
		var loader       = $("#vip-loader");
		var error         = '';

		submitButton.mouseover(
			function () {
				submitButton.addClass('finger');
			}
		);
		submitButton.mouseout(
			function () {
				submitButton.removeClass('finger');
			}
		);

		submitButton.click(
			function () {
				if (name.val() == '') {
					name.val('');
					name.addClass('pinkBg');
					error += ' - Missing NAME.\n';
				}
				if (phone.val() == '') {
					phone.val('');
					phone.addClass('pinkBg');
					error += ' - Missing PHONE NUMBER.\n';
				}
				// Check for valid email address
				if (verifyEmail(email.val()) == false) {
					email.val('');
					email.addClass('pinkBg');
					error += ' - Missing or Invalid E-MAIL ADDRESS.\n';
				}
				if (eventType.val() == '') {
					eventType.val('');
					eventType.addClass('pinkBg');
					error += ' - Missing EVENT TYPE.\n';
				}
				if (eventDate.val() == '') {
					eventDate.val('');
					eventDate.addClass('pinkBg');
					error += ' - Missing EVENT DATE.\n';
				}
				if (guests.val() == '') {
					guests.val('');
					guests.addClass('pinkBg');
					error += ' - Missing NUMBER OF GUESTS.\n';
				}
				if (pack.val() == '') {
					pack.val('');
					pack.addClass('pinkBg');
					error += ' - Missing PACKAGE TYPE.\n';
				}
				
				if (best.val() == '') {
					best.val('');
					best.addClass('pinkBg');
					error += ' - Missing BEST TIME TO CALL.\n';
				}
				if (phoneOk.is(':checked') == false && emailOk.is(':checked') == false) {
					phoneOk.addClass('pinkBg');
					emailOk.addClass('pinkBg');
					error += ' - Missing CONTACT PREFERENCE.\n';
				}
				
				if (error != '') {
					alert('Oops!  The following errors have occurred:\n'+error);
					error = '';
				} else {
					name.removeClass('pinkBg');
					phone.removeClass('pinkBg');
					email.removeClass('pinkBg');
					eventType.removeClass('pinkBg');
					eventDate.removeClass('pinkBg');
					guests.removeClass('pinkBg');
					pack.removeClass('pinkBg');
					best.removeClass('pinkBg');
					phoneOk.removeClass('pinkBg');
					emailOk.removeClass('pinkBg');
					loader.html('<img src="images/newsletter-loader.gif" border="0" />');
					$.post("/reserve.php", { 
						   name: name.val(),
						   phoneNumber: phone.val(),
						   emailAddress: email.val(),
						   eventType: eventType.val(),
						   eventDate: eventDate.val(),
						   numGuests: guests.val(),
						   packageType: pack.val(),
						   bestTimeCall: best.val(),
						   phoneOk: phoneOk.val(),
						   emailOk: emailOk.val()
						},
						function(data) {
							if (data == 1) {
								loader.html('');
								alert('Thank you for submitting a VIP Package Reservation.\nWe will contact you as soon as possible about your reservation.');
						   		name.val(''),
								phone.val(''),
								email.val(''),
								eventType.val(''),
								eventDate.val(''),
								guests.val(''),
								pack.val(''),
								best.val(''),
								phoneOk.val(''),
								emailOk.val('')
							} else {
								loader.html('');
								alert('Oops! Could not process request at this time, please try again.');
							}
						}
					);
				}
			}
		);
	}
);

function verifyEmail(email) {
	var status = false;     
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	
	if (email.search(emailRegEx) == -1) {
		return false;
	} else {
		return true;
	}
}