jQuery(document).ready(function(){
		// a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
		jQuery("#dialog").dialog("destroy");
        
        jQuery( "#datePicker" ).datepicker();
		jQuery( "#datePicker2" ).datepicker();		
		
        // Inquiry
		var fName = jQuery("#fName"),
		    lName = jQuery("#lName"),
			phoneNo = jQuery("#phoneNo"),
			emailAdd = jQuery("#emailAdd"),
			dateArrival = jQuery("#datePicker"),
			dateDeparture = jQuery("#datePicker2"),
			addStreet = jQuery("#addStreet"),
			addCity = jQuery("#addCity"),
			addZip = jQuery("#addZip"),
			addCountry = jQuery("#addCountry"),
			prefPrice = jQuery("#prefPrice"),
			prefLocation = jQuery("#prefLocation"),
			prefRoom = jQuery("#prefRoom"),
			prefBath = jQuery("#prefBath"),
			message = jQuery("#message"),
			tips = jQuery(".validateTips");
					
			allFields = jQuery([]).add(fName).add(lName).add(phoneNo).add(emailAdd).add(dateArrival).add(dateDeparture).add(addStreet).add(addCity).add(addZip).add(addCountry).add(prefPrice).add(prefRoom).add(prefBath).add(message).add(message);
			
		function updateTips(t) {
			tips
				.text(t)
				.addClass('ui-state-highlight');
			    /*setTimeout(function() {
				tips.removeClass('ui-state-highlight', 1500); }, 500);*/
		}

		function checkLength(o,n,min,max) {
            if ( o.val().length > max || o.val().length < min ) {
				o.addClass('ui-state-error');
				updateTips("Length of " + n + " must be between "+min+" and "+max+".");
				return false;
			} else {
				return true;
			}

		}
		
		function checkLength2(o,n,min,max) {
            if ( o.val().length > max || o.val().length < min ) {
				o.addClass('ui-state-error');
				updateTips("" + n + " is required. Please provide.");
				return false;
			} else {
				return true;
			}

		}

		function checkRegexp(o,regexp,n) {
            if ( !( regexp.test( o.val() ) ) ) {
				o.addClass('ui-state-error');
				updateTips(n);
				return false;
			} else {
				return true;
			}

		}
		
		
		function checkEquality(x,y,a,b) {
            if (x.val()== a.val()) {
			   o.addClass('ui-state-error');
			   updateTips("The " + y + " and " + b + " should be equal.");
			   return false;
			} else {
			   return true;
			}
        }
		   
		
		jQuery("#dialog-enquire").dialog({
		
			autoOpen: false,
			height: 750,
			width: 700,
			modal: true,
			buttons: {
				'Send': function() {
					var bValid = true;
					allFields.removeClass('ui-state-error');

					bValid = bValid && checkLength2(fName,"First Name",1,80);
					bValid = bValid && checkLength2(lName,"Last Name",1,80);
					bValid = bValid && checkLength2(phoneNo,"Phone Number",1,80);
					bValid = bValid && checkLength2(emailAdd,"Email address",1,80);
					bValid = bValid && checkRegexp(emailAdd,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"Invalid Format! eg. info@righteyedetective.com");
					bValid = bValid && checkLength2(dateArrival,"Date of Arrival",1,80);
					bValid = bValid && checkLength2(dateArrival,"Date of Departure",1,80);
					bValid = bValid && checkLength2(addStreet,"Street",1,80);
					bValid = bValid && checkLength2(addCity,"City",1,80);
					bValid = bValid && checkLength2(addZip,"Zip Code",1,10);
					bValid = bValid && checkLength2(addCountry,"Country",1,80);
					bValid = bValid && checkLength2(prefPrice,"Price Indication",1,80);
					bValid = bValid && checkLength2(prefLocation,"Preferred Location",1,80);
					bValid = bValid && checkLength2(prefRoom,"Preferred Number of Bedroom",1,80);
					bValid = bValid && checkLength2(prefBath,"Preferred Number of Bathroom",1,80);
					bValid = bValid && checkLength2(message,"Message or Comments",1,500);
					
					if (bValid) {
//newsmailer hook
newsmailer_hook(emailAdd.val(),addStreet.val()+", "+addCity.val()+", "+addCountry.val(),"",fName.val()+" "+lName.val(),phoneNo.val());



						
						http.open("GET", "_codebehind/process/processEnquiry.php?fName=" + fName.val() + "&lName=" + lName.val() + "&phoneNo=" + phoneNo.val() + "&emailAdd=" + emailAdd.val() + "&dateArrival=" + dateArrival.val() + "&dateDeparture=" + dateDeparture.val() + "&addStreet=" + addStreet.val()+ "&addCity=" + addCity.val()+ "&addZip=" + addZip.val()+ "&addCountry=" + addCountry.val()+ "&prefPrice=" + prefPrice.val()+ "&prefLocation=" + prefLocation.val()+ "&prefRoom=" + prefRoom.val()+ "&prefBath=" + prefBath.val()+ "&message=" + message.val(), true);
						http.onreadystatechange = handleHttpResponseEnquiry;
						http.send(null); 
					}
					
					
				},
				Cancel: function() {
					jQuery(this).dialog('close');
				}
			},
			close: function() {
				emailAdd.val('').removeClass('ui-state-error');
			}
		});
		
	
    // Notification	
	jQuery('#dialog-EnquireSuccessNotify').dialog({
		    autoOpen: false,
		    width: 400,
			buttons: {
			    "OK": function() { 
				    jQuery(this).dialog("close"); 
			    } 
			}
	});	
	
	jQuery('#dialog-EnquireErrorNotify').dialog({
		    autoOpen: false,
		    width: 400,
			buttons: {
			    "OK": function() { 
				    jQuery(this).dialog("close"); 
			    } 
			}
	});	
	
	
});
