(function(A){A.manageAjax=(function(){var B={},I={},M={},F={},K={},P={},G={queue:true,maxRequests:1,abortOld:false,preventDoubbleRequests:true,cacheResponse:false,complete:function(){},error:function(S,R){var T=this;if(R&&R.indexOf("error")!=-1){setTimeout(function(){var U=R+": ";if(S.status){U+="status: "+S.status+" | "}U+="URL: "+T.url;throw new Error(U)},1)}},success:function(){},abort:function(){}};function L(S,T){var R={};M[S]=M[S]||{};A.extend(true,M[S],A.ajaxSettings,G,T);if(!K[S]){K[S]={};F[S]={};F[S].queue=[];I[S]=[];P[S]=[]}A.each(A.manageAjax,function(V,U){if(A.isFunction(U)&&V.indexOf("_")!==0){R[V]=function(X,W){if(W&&typeof X==="string"){X=W}U(S,X)}}});return R}function D(S,R){if(R[1]=="success"||R[1]=="notmodified"){S.success.apply(S,[R[0].successData,R[1]]);if(S.global){A.event.trigger("ajaxSuccess",R)}}if(R[1]==="abort"){S.abort.apply(S,R);if(S.global){A.active--;A.event.trigger("ajaxAbort",R)}}S.complete.apply(S,R);if(S.global){A.event.trigger("ajaxComplete",R)}if(S.global&&!A.active){A.event.trigger("ajaxStop")}}function N(R,S){return function(V,T,U){S.call(this,V,T,U);R.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 Q(T,R){if(!M[T]){L(T,R)}R=A.extend({},M[T],R);var S=K[T],X=F[T],Y=I[T];var U=R.type+"_"+R.url.replace(/\./g,"_"),Z=true,W=R.complete,V=function(){X[U]={xhr:A.ajax(R),ajaxManagerOpts:R};X.queue.push(U);return U};if(R.data){U+=(typeof R.data=="string")?R.data:A.param(R.data)}if(R.preventDoubbleRequests&&K[T][U]){return false}S[U]=true;R.complete=function(c,a,b){var d=true;if(R.abortOld){A.each(X.queue,function(f,e){if(e==U){return false}H(T,e);return e})}W.call(this,c,a,b);if(F[T][U]){if(F[T][U]&&F[T][U].xhr){F[T][U].xhr=null}F[T][U]=null}P[T].push({xhr:c,status:a});c=null;F[T].queue=A.grep(F[T].queue,function(e){return(e!==U)});S[U]=false;b=null;delete F[T][U];A.each(X,function(f,e){if(f!=="queue"||e.length){d=false;return false}});if(d){A.event.trigger(T+"End",[P[T]]);A.each(P[T],function(e,f){f.xhr=null});P[T]=[]}};if(B[U]){V=function(){X.queue.push(U);D(R,B[U]);return U}}else{if(R.cacheResponse){R.complete=N(R.complete,function(b,a){if(a!=="success"&&a!=="notmodified"){return false}B[U][0].responseXML=b.responseXML;B[U][0].responseText=b.responseText;B[U][1]=a;b=null;return U});R.success=N(R.success,function(b,a){B[U]=[{successData:b,ajaxManagerOpts:R},a];b=null})}}V.ajaxID=U;A.each(X,function(b,a){if(b!=="queue"||a.length){Z=false;return false}});if(Z){A.event.trigger(T+"Start")}if(R.queue){R.complete=N(R.complete,function(){O(T)});if(R.queue==="clear"){Y=J(T)}Y.push(V);if(X.queue.length<R.maxRequests){O(T)}return U}return V()}function J(R,S){A.each(I[R],function(T,U){K[R][U.ajaxID]=false});I[R]=[];if(S){H(R)}return I[R]}function C(U,V){var S=F[U];if(!S||!K[U][V]){return false}if(S[V]){return S[V].xhr}var R=I[U],T;A.each(R,function(W,X){if(X.ajaxID==V){T=[X,W];return false}return T});return T}function H(S,U){var R=F[S];if(!R){return false}function T(W){if(W!=="queue"&&R[W]&&R[W].xhr&&R[W].xhr.abort){try{R[W].xhr.abort()}catch(V){}D(R[W].ajaxManagerOpts,[R[W].xhr,"abort"])}return null}if(U){return T(U)}return A.each(R,T)}function E(){A.each(M,function(R){J(R,true)});B={}}return{defaults:G,add:Q,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);