(function(a){a.manageAjax=(function(){var b={},i={},m={},f={},k={},g={queue:true,maxRequests:1,abortOld:false,preventDoubbleRequests:true,cacheResponse:false,complete:function(){},error:function(r,q){var s=this;if(q&&q.indexOf("error")!=-1){setTimeout(function(){var t=q+": ";if(r.status){t+="status: "+r.status+" | "}t+="URL: "+s.url;throw new Error(t)},1)}},success:function(){},abort:function(){}};function l(r,s){var q={};m[r]=m[r]||{};a.extend(true,m[r],a.ajaxSettings,g,s);if(!k[r]){k[r]={};f[r]={};f[r].queue=[];i[r]=[]}a.each(a.manageAjax,function(u,t){if(a.isFunction(t)&&u.indexOf("_")!==0){q[u]=function(v){t(r,v)}}});return q}function d(r,q){if(q[1]=="success"){r.success.apply(r,[q[0].successData,q[1]]);if(r.global){a.event.trigger("ajaxSuccess",q)}}if(q[1]==="abort"){r.abort.apply(r,q);if(r.global){a.active--;a.event.trigger("ajaxAbort",q)}}r.complete.apply(r,q);if(r.global){a.event.trigger("ajaxComplete",q)}if(r.global&&!a.active){a.event.trigger("ajaxStop")}}function n(q,r){return function(v,t,u){r.call(this,v,t,u);q.call(this,v,t,u);v=null;u=null}}function o(r){var t=i[r];if(t&&t.length){var s=t.shift();if(s){s()}}}function p(r,u){if(!m[r]){l(r,u)}u=a.extend({},m[r],u);var s=k[r],v=f[r],q=i[r];var x=u.type+"_"+u.url.replace(/\./g,"_"),t=u.complete,w=function(){v[x]={xhr:a.ajax(u),ajaxManagerOpts:u};v.queue.push(x);return x};if(u.data){x+=(typeof u.data=="string")?u.data:a.param(u.data)}if(u.preventDoubbleRequests&&k[r][x]){return false}s[x]=true;u.complete=function(A,y,z){if(u.abortOld){a.each(v.queue,function(C,B){if(B==x){return false}h(r,B);return B})}t.call(this,A,y,z);if(f[r][x]){if(f[r][x]&&f[r][x].xhr){f[r][x].xhr=null}f[r][x]=null}A=null;f[r].queue=a.grep(f[r].queue,function(B){return(B!==x)});s[x]=false;z=null;delete f[r][x]};if(b[x]){w=function(){v.queue.push(x);d(u,b[x]);return x}}else{if(u.cacheResponse){u.complete=n(u.complete,function(z,y){if(y!="success"){return false}b[x][0].responseXML=z.responseXML;b[x][0].responseText=z.responseText;b[x][1]=y;z=null;return x});u.success=n(u.success,function(z,y){b[x]=[{successData:z,ajaxManagerOpts:u},y];z=null})}}w.ajaxID=x;if(u.queue){u.complete=n(u.complete,function(){o(r)});if(u.queue==="clear"){q=j(r)}q.push(w);if(v.queue.length<u.maxRequests){o(r)}return x}return w()}function j(q,r){a.each(i[q],function(s,t){k[q][t.ajaxID]=false});i[q]=[];if(r){h(q)}return i[q]}function c(t,u){var r=f[t];if(!r||!k[t][u]){return false}if(r[u]){return r[u].xhr}var q=i[t],s;a.each(q,function(v,w){if(w.ajaxID==u){s=[w,v];return false}return s});return s}function h(r,t){var q=f[r];if(!q){return false}function s(u){if(u!=="queue"&&q[u]&&typeof q[u].xhr!=="unedfiend"&&typeof q[u].xhr.abort!=="unedfiend"){q[u].xhr.abort();d(q[u].ajaxManagerOpts,[q[u].xhr,"abort"])}return null}if(t){return s(t)}return a.each(q,s)}function e(){a.each(m,function(q){j(q,true)});b={}}return{defaults:g,add:p,create:l,cache:b,abort:h,clear:j,getXHR:c,_activeRequest:f,_complete:d,_allRequests:k,_unload:e}})();a(window).unload(a.manageAjax._unload)})(jQuery);