$(document).ready(
	function()
	{
		$('input[@type=radio].star').rating();	
		
		var options = { 
	    target:        '#userReviewFormBlock',   // target element(s) to be updated with server response 
	    beforeSubmit:  function()
	        {
				$('#userReviewFormBlock').block('<h2><img src="/_images/loader-small.gif" />&nbsp;&nbsp;Processing</h2>', {backgroundColor: '#D3D7D8', color: '#29353D', border: '2px solid #29353D'});
	        },
        success: function()
        	{
        		$('#userReviewFormBlock').unblock();
        	}  // post-submit callback
	    //resetForm: true        // reset the form after successful submit 
	   	}; 
    	
		$("#userReviewForm input.button").click(
			function() {
				$("#userReviewForm").validate({
					rules: {
						username: "required",
						email: {
							required: true,
							email: true
						},
						summary: "required",
						comments: "required",
						score: "required"
					},
					messages: {
						username: "Name Required<br />",
						email: "Valid email required<br />",
						summary: "Sumary Required<br />",
						comments: "Comments Required<br />",
						score: "Select a rating<br />"
					},
					errorLabelContainer: $("#userReviewForm div.error"),
					submitHandler: function() {
						$("form#userReviewForm").ajaxSubmit(options);
						return false;
					}
				});
			}
		);
	}
);

// 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 
 
    alert('status: ' + statusText + '\n\nresponseText: \n' + responseText + 
        '\n\nThe output div should have already been updated with the responseText.'); 
} 