$(document).ready(function () {
    $('#date_of_party').datepicker({dateFormat: "mm/dd/yy"});
	$('#party_formlink').bind('click', function() {
		var $dialog = $('#party_dialog	');
		var $emailForm = $('#party_form');
		var $formSubmit = $('#party_submit');
		var $formClose = $('#party_form_close');
		
		$formSubmit.attr('disabled','disabled');
		
		$formClose.one('click', function() {
			$dialog.hide();
			$emailForm.hide();
		});
		
		$dialog.show();
		$emailForm.show();
		
		var $partyName = $('#name',$emailForm);
		var $nameError = $('.name_error', $emailForm);
		var $partyEmail = $('#email',$emailForm);
		var $emailError = $('.email_error', $emailForm);
		var emailError = true;
		var nameError = true;
		
		$partyEmail.bind('blur', function() {
			// validate email
			var email = $(this).val();
			var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if (!filter.test(email)) {
				$emailError.html('Invalid Email Address');
				if (!$partyEmail.hasClass('inputerror')) {$partyEmail.addClass('inputerror');}
				emailError = true;
			} else {
				$emailError.html('');
				if ($partyEmail.hasClass('inputerror')) {$partyEmail.removeClass('inputerror');}
				emailError = false;
			}
			
			checkValidation();
			
		});
		
		$partyName.bind('blur', function() {
			// validate email
			var name = $(this).val();
			var nameLength = name.length;
			if (nameLength<3) {
				$nameError.html('Name must be > 2 characters');
				if (!$partyName.hasClass('inputerror')) {$partyName.addClass('inputerror');}				
				nameError = true;
			} else {
				$nameError.html('');
				if ($partyName.hasClass('inputerror')) {$partyName.removeClass('inputerror');}				
				nameError = false;
			}
			
			checkValidation();
			
		});
			
		function checkValidation() {
			if (!emailError && !nameError)
			{
				$formSubmit.removeAttr('disabled');	
			}
		}
		
		$formSubmit.one('click', function(e) { 
			e.preventDefault();							   
			$.ajax({
				 type: "POST",  
 				 url: "surlyMailForm.php",
				 data: {
					 your_name: $("#name",$emailForm).val(),
       				 party_date: $("#date_of_party",$emailForm).val(),
       				 party_size: $("#size",$emailForm).val(),
       				 party_time: $("#time",$emailForm).val(),
					 party_email: $("#email",$emailForm).val(),
					 party_cell: $("#cell",$emailForm).val(),
					 party_notes: $("#notes",$emailForm).val(),
    			 },
  				 success: function(){
  				  $dialog.hide();
				  $emailForm.hide();
				  alert('Your message has been sent.  We will contact you about your party as soon as possible.  Thank you.');
 				 }
			});
		});
		
	});
});
