// -------------------------------------------------------------------
// Ajax Contact Form with Validation from jQuery and Anti-bot service from reCaptcha
// By DreamPlus Studio - www.dreamplusstudio.com
// Author: tysoh - www.tysoh.com
// Version: 1.2
// Last updated: 17th of Jan, 2010
// -------------------------------------------------------------------
// Purpose of this file: To validate the user input
// -------------------------------------------------------------------

$JQ(document).ready(function(){
	$JQ("#submit").click(function(){					   				   
		$JQ(".error").hide();
		var hasError = false;
		var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$JQ/;
		
		var ContactName1= $JQ("#fldName").val();
		if(ContactName1 == '') {
			$JQ("#fldName").after('<div class="error">Please enter your name.</div>');
			hasError = true;
		}
		
		var ContactAdress1 = $JQ("#fldAddress").val();
		if(ContactAdress1 == '') {
			$JQ("#fldAddress").after('<div class="error">Please enter your address.</div>');
			hasError = true;
		}

		var Contactno1 = $JQ("#fldPhone").val();
		if(Contactno1 == '') {
			$JQ("#fldPhone").after('<div class="error">Please enter your phone.</div>');
			hasError = true;
		}

		var Email1 = $JQ("#fldEmail").val();
		if(Email1 == '') {
			$JQ("#fldEmail").after('<div class="error">Please enter your email address.</div>');
			hasError = true;
		} 
		
		var WeddingDate= $JQ("#fldWeddingDate").val();
		if(WeddingDate == '') {
			$JQ("#fldWeddingDate").after('<div class="error">Please enter the date of the wedding.</div>');
			hasError = true;
		}
		
		var BridalParty = $JQ("#fldBridalParty").val();
		if(BridalParty == '') {
			$JQ("#fldBridalParty").after('<div class="error">Please enter how many bridesmaids and groomsmen there are.</div>');
			hasError = true;
		}
		
		var GuestNos = $JQ("#fldGuestNos").val();
		if(GuestNos == '') {
			$JQ("#fldGuestNos").after('<div class="error">Please enter how many guests there are.</div>');
			hasError = true;
		}
		
		var BridePrepPhotos = $JQ("input[name='fldBridePrepPhotos']:checked").val();
		if($JQ("[name='fldBridePrepPhotos']").val() == '') {
			$JQ("#fldBridePrepPhotos").after('<div class="error">This field is required.</div>');
			hasError = true;
		}
		
		var SuburbBridePrep = $JQ("#fldSuburbBridePrep").val();
		if(SuburbBridePrep == '') {
			$JQ("#fldSuburbBridePrep").after('<div class="error">Please enter how many guests there are.</div>');
			hasError = false;
		}
		
		
		var GroomPrepPhotos = $JQ("input[name='fldGroomPrepPhotos']:checked").val();
		if($JQ("[name='fldGroomPrepPhotos']").val() == '') {
			$JQ("#fldGroomPrepPhotos").after('<div class="error">This field is required.</div>');
			hasError = true;
		}
		
		var SuburbGroomPrep = $JQ("#fldSuburbGroomPrep").val();
		if(SuburbGroomPrep == '') {
			$JQ("#fldSuburbGroomPrep").after('<div class="error">Please enter how many guests there are.</div>');
			hasError = false;
		}
		
		var CeremonyStartTime= $JQ("#fldCeremonyStartTime").val();
		if(CeremonyStartTime == '') {
			$JQ("#fldCeremonyStartTime").after('<div class="error">Please enter the ceremony start time.</div>');
			hasError = true;
		}
		
		var CeremonySuburb = $JQ("#fldCeremonySuburb").val();
		if(CeremonySuburb == '') {
			$JQ("#fldCeremonySuburb").after('<div class="error">Please enter the suburb of the ceremony.</div>');
			hasError = true;
		}
		
		var CeremonyEndTime = $JQ("#fldCeremonyEndTime").val();
		if(CeremonyEndTime == '') {
			$JQ("#fldCeremonyEndTime").after('<div class="error">Please enter the ceremony end time.</div>');
			hasError = true;
		}
		
		var OfficialBridalPartyLocation = $JQ("#fldOfficialBridalPartyLocation").val();
		if(OfficialBridalPartyLocation == '') {
			$JQ("#fldOfficialBridalPartyLocation").after('<div class="error">Please enter the bridal party location.</div>');
			hasError = true;
		}
		
		var PhotosAtReception = $JQ("input[name='fldPhotosAtReception']:checked").val();
		if($JQ("[name='fldPhotosAtReception']").val() == '') {
			$JQ("#fldPhotosAtReception").after('<div class="error">This field is required.</div>');
			hasError = true;
		}
		
		var ReceptionVenueName = $JQ("#fldReceptionVenueName").val();
		if(ReceptionVenueName == '') {
			$JQ("#fldReceptionVenueName").after('<div class="error">Please enter the reception venue name.</div>');
			hasError = false;
		}
		
		var ReceptionVenueSuburb = $JQ("#fldReceptionVenueSuburb").val();
		if(ReceptionVenueSuburb == '') {
			$JQ("#fldReceptionVenueSuburb").after('<div class="error">Please enter the reception venue location.</div>');
			hasError = true;
		}
		
		var PhotosFormalities = $JQ("input[name='fldPhotosFormalities']:checked").val();
		if($JQ("[name='fldPhotosFormalities']").val() == '') {
			$JQ("#fldPhotosFormalities").after('<div class="error">This field is required.</div>');
			hasError = true;
		}
		
		var PhotosEndOfReception = $JQ("input[name='fldPhotosEndOfReception']:checked").val();
		if($JQ("[name='fldPhotosEndOfReception']").val() == '') {
			$JQ("#fldPhotosEndOfReception").after('<div class="error">This field is required.</div>');
			hasError = true;
		}
				
		var recaptchaVal = $JQ("#recaptcha_response_field").val();
		if(recaptchaVal == '') {
			$JQ("#recaptcha_response_field").after('<div class="error">Please enter the security code from the images above.</div>');
			hasError = true;
			
		}	

		
		if(recaptchaVal != '')  {
				
			var challengeField = $JQ("#recaptcha_challenge_field").val();
    		var responseField = $JQ("#recaptcha_response_field").val();

   			 var html = $JQ.ajax({
   			 type: "POST",
   			 url: "ajax.recaptcha.php",
   			 data: "recaptcha_challenge_field=" + challengeField + "&recaptcha_response_field=" + responseField,
   			 async: false
   			 }).responseText;
    
    		if(html == "success"){}
   			else {
      		 $JQ("#recaptcha_response_field").after('<div class="error">Validation error. Please try again.</div>');
      		  Recaptcha.reload();
              hasError = true;
  			 }
		}
		
		
		if(hasError == false) {
			$JQ(this).hide();
			
			$JQ.post("contactprocess.php",
   				{ NameText: ContactName1, AddressText: ContactAdress1, PhoneText: Contactno1, EmailText: Email1, WeddingDateText: WeddingDate, BridalPartyText: BridalParty, GuestNosText: GuestNos, BridePrepPhotosText: $JQ("[name='fldBridePrepPhotos']:checked").val(), SuburbBridePrepText: SuburbBridePrep, GroomPrepPhotosText: $JQ("[name='fldGroomPrepPhotos']:checked").val(), SuburbGroomPrepText: SuburbGroomPrep, CeremonyStartTimeText: CeremonyStartTime, CeremonySuburbText: CeremonySuburb, CeremonyEndTimeText: CeremonyEndTime, OfficialBridalPartyLocationText: OfficialBridalPartyLocation, PhotosAtReceptiontext: $JQ("[name='fldPhotosAtReception']:checked").val(), ReceptionVenueNameText: ReceptionVenueName, ReceptionVenueSuburbText: ReceptionVenueSuburb, PhotosFormalitiesText: $JQ("[name='fldPhotosFormalities']:checked").val(), PhotosEndOfReceptiontext: $JQ("[name='fldPhotosEndOfReception']:checked").val()},
   					function(data){
						$JQ("#sendEmail").slideUp("slow");
						$JQ("#sendEmail").after('<div class="thankyou">Thank you.</div>Your email has been sent. We will get back to you as soon as possible.');				
                                       
   					}
				 );
		}
		
		return false;
	});						   
});