
var Ajax={};Ajax.request_running={};Ajax.get=function(controller,action,params,callbackSuccess,options,lock,show_ajax_loader){Ajax.ajax(controller,action,params,callbackSuccess,options,"GET",lock,show_ajax_loader);}
Ajax.post=function(controller,action,params,callbackSuccess,options,lock,show_ajax_loader){Ajax.ajax(controller,action,params,callbackSuccess,options,"POST",lock,show_ajax_loader);}
Ajax.ajax=function(controller,action,params,callbackSuccess,options,type,lock,show_ajax_loader){if(typeof show_ajax_loader=='undefined'){show_ajax_loader=true;}
if(typeof lock!='undefined'&&Ajax.request_running[lock]){return;}
Ajax.request_running[lock]=true;var u=url(controller,action);var data={json:$.toJSON(params)};if(show_ajax_loader){Layout.showAjaxLoader();}
options=jQuery.extend({url:u,type:type,data:data,dataType:"json",success:function(data,flag){if(show_ajax_loader){Layout.hideAjaxLoader();}
Ajax.request_running[lock]=false;callbackSuccess.call(this,data,flag);},error:function(){if(show_ajax_loader){Layout.hideAjaxLoader();}
Ajax.request_running[lock]=false;}},options);jQuery.ajaxSetup({'cache':false});jQuery.ajax(options);}