function rate(model, controller, id, rate) {
	var params = {};
	params['data['+model+'][rate]'] = rate;
	$.post("/"+controller+'/rate/'+id+'?call=ajax', params, function(xml){
//		alert(xml);
		$("body").removeClass("curWait");
		var strError = "Unable to submit form. Please try again later.";
		var oFocus = null;
			
		var strRedirect = $('#redirecturl', $(xml)).text();
		
		strError = $('#error', $(xml)).html();
		if (typeof(strError) == 'undefined') {
			strError = $('#error', $(xml)).text();
		}
		
		var strMsg = $('#msg', $(xml)).text();
		var msgDiv = $('#msgdiv', $(xml)).text();
		oFocus = $('#focus', $(xml)).text();
		var newRate = $('#rate', $(xml)).text();
			/*console.log(strRedirect);
			console.log(strError);
			console.log(strMsg);
			console.log(msgDiv);
			console.log(oFocus);*/
		if (strError.length > 0) {
			$("p#rate_text_"+id).html(strError).filter(":hidden").fadeIn("normal");
		} else {
			if (strError.length == 0 && strRedirect.length > 0) {
				window.location = strRedirect;
			}
			if (strMsg.length > 0 && msgDiv.length > 0) {
				$("p#rate_text_"+id).html(strMsg).filter(":hidden").fadeIn("normal");
				$('.current-rating_'+id).css('width', Math.round(newRate * 150 / 5)+'px');
			}
		}
		if (oFocus) $("#" + oFocus).get(0).focus();
	});
}
