$.validator.setDefaults({
	submitHandler: function() { 
		var options = { 
	        target:        '#contact_submission',   // target element(s) to be updated with server response 
	        // beforeSubmit:  showRequest,  // pre-submit callback 
	        success:       showResponse,  // post-submit callback 
			  url:       	 '/php/contact/email.php'  // override for form's 'action' attribute 
	        // other available options: 

	        //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 
	   }; 
      $(this).ajaxSubmit(options);
      // !!! Important !!! 
      // always return false to prevent standard browser submit and page navigation 
      return false; 	
	}
});

jQuery(document).ready(function() {
	
	$("#contact_toggle").toggle(function(){
	     $("#contact_sub_container").slideDown('fast');
	   },function(){
	     $("#contact_sub_container").slideUp('fast');
   });
   
	$('#javascript_required').remove();

	$.get('/php/contact/token.php', function(txt) { 
		$("#contact_submission").prepend('<input class="{required:true}" type="hidden" name="ts" value="'+txt+'" />').validate();
	});

}); 

// pre-submit callback 
function showRequest(formData, jqForm, options) { 
    // 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)  { 
    // for normal html responses, the first argument to the success callback 
    // is the XMLHttpRequest object's responseText property 

    // if the ajaxSubmit method was passed an Options Object with the dataType 
    // property set to 'xml' then the first argument to the success callback 
    // is the XMLHttpRequest object's responseXML property 

    // if the ajaxSubmit method was passed an Options Object with the dataType 
    // property set to 'json' then the first argument to the success callback 
    // is the json data object returned by the server 	
	$('#contact_submission').highlightFade({speed:10000,iterator:'sinusoidal'});
	// $('#story_submission').click(function() {
		//$("#contact_submission").fadeOut(4000);
	// });
}
