// JavaScript Document

$(document).ready(function() { 
    var options = { 
        //target:        '#pageContent',   // target element(s) to be updated with server response 
        target:        '#formFields .processing',   // target element(s) to be updated with server response 
        beforeSubmit:  showRequest,  // pre-submit callback 
        success:       showResponse  // post-submit callback 
 
        // other available options: 
        //url:       url         // override for form's 'action' attribute 
        //type:      type        // 'get' or 'post', override for form's 'method' attribute 
        //dataType:  null        // 'xml', 'script', or 'json' (expected server response type) 
        //clearForm: true        // clear all form fields after successful submit 
        //resetForm: true        // reset the form after successful submit 
 
        // $.ajax options can be used here too, for example: 
        //timeout:   3000 
    }; 
 
    // bind form using 'ajaxForm' 
	//$('#propertyForm').resetForm();
	jQuery.validator.messages.required = "";
	$("#propertyForm").validate({
		invalidHandler: function(e, validator) {
			var errors = validator.numberOfInvalids();
			if (errors) { 
				var message = errors == 1
					? 'You missed 1 field. It has been highlighted below'
					: 'You missed ' + errors + ' fields.  They have been highlighted below';
				$("#formFields div.error span").html(message);
				$("#formFields div.error").show();
			} else {
				$("##formFields div.error").hide();
			}
		},
		submitHandler: function() {
			$("#formFields div.error").hide();
			$("#propertyForm").ajaxForm(options);
			//alert("submit! use link below to go to the other step");
		},
		messages: {
			email: {
				required: " ",
				email: "Please enter a valid email address, example: you@yourdomain.com",
				remote: jQuery.validator.format("{0} is already taken, please enter a different address.")	
			}
		}
	});
}); 
 
// pre-submit callback 
function showRequest(formData, jqForm, options) { 
	$("#formFields div.intro").hide();
	$("#formFields form").hide();
	$("#formFields div.processing").show();
    // formData is an array; here we use $.param to convert it to a string to display it 
    // but the form plugin does this for you automatically when it submits the data 
    //var queryString = $.param(formData); 
 
    // jqForm is a jQuery object encapsulating the form element.  To access the 
    // DOM element for the form do this: 
    // var formElement = jqForm[0]; 
 
    //alert('About to submit: \n\n' + queryString); 
 
    // here we could return false to prevent the form from being submitted; 
    // returning anything other than false will allow the form submit to continue 
    return true; 
} 
 
// post-submit callback 
function showResponse(responseText, statusText)  { 
	$("#formFields div.processing").hide();
	$("#formFields div.thanks").show();
    //alert('status: ' + statusText + '\n\nresponseText: \n' + responseText +'\n\nThe output div should have already been updated with the responseText.'); 
} 



