(function($){var e=$.ajax;var f={};var g=[];var h=[];$.ajax=function(a){a=jQuery.extend(a,jQuery.extend({},jQuery.ajaxSettings,a));var b=a.port;switch(a.mode){case"abort":if(f[b]){f[b].abort()}return f[b]=e.apply(this,arguments);case"queue":var c=a.complete;a.complete=function(){if(c)c.apply(this,arguments);jQuery([e]).dequeue("ajax"+b)};jQuery([e]).queue("ajax"+b,function(){e(a)});return;case"sync":var d=g.length;g[d]={error:a.error,success:a.success,complete:a.complete,done:false};h[d]={error:[],success:[],complete:[]};a.error=function(){h[d].error=arguments};a.success=function(){h[d].success=arguments};a.complete=function(){h[d].complete=arguments;g[d].done=true;if(d==0||!g[d-1])for(var i=d;i<g.length&&g[i].done;i++){if(g[i].error)g[i].error.apply(jQuery,h[i].error);if(g[i].success)g[i].success.apply(jQuery,h[i].success);if(g[i].complete)g[i].complete.apply(jQuery,h[i].complete);g[i]=null;h[i]=null}}}return e.apply(this,arguments)}})(jQuery);