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