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