(function(D){var A=function(){return{isFxQueue:true,paused:false,pause:function(){if(this[0]){this.paused=true;var E=(this[0].isScope)?this[0]:this[0].elem;E.stop()}},stop:function(){if(this[0]){this.paused=false;var E=(this[0].isScope)?this[0]:this[0].elem;E.stop();this.length=0}},start:function(){if(this[0]){this.paused=false;this[0]()}},getScope:function(E){for(var F=0;F<this.length;F++){if(this[F].isScope&&this[F].called==E){return this[F]}}return false}}};var C=function(E){var F=function(){for(var G=0;G<F.items.length;G++){F.items[G]()}};F.called=E;F.isScope=true;F.finishedItems=0;F.stop=function(){for(var G=0;G<F.items.length;G++){F.items[G].elem.stop()}};F.items=[];return F};var B=D.fn.animate;D.fn.animate=function(L,G,K,O){if(this.length<1){return this}if(typeof G=="object"&&G.queue===false){return B.apply(this,arguments)}else{var R=(typeof G=="object")?G:D.speed(G,K,O);var E=D.extend({queue:"fx",position:"end",limit:-1,preDelay:0,postDelay:0,complete:function(){}},R);var H=this;var I=E.queue;var N=E.queue!="fx"?document:this;var J=D(N).queue(E.queue);if(!J.isFxQueue){D.extend(J,A())}var F=E.complete;E.complete=function(){if(H[0]==this){var U=(J[0]&&J[0].isScope);if(U){var T=J[0].items;for(var S=0;S<T.length;S++){if(this==T[S].elem[0]&&!T[S].finished){T[S].finished=true;J[0].finishedItems++}}}setTimeout(function(){if(!U||(J[0]&&J[0].finishedItems==T.length)){D(N).dequeue(I)}},E.postDelay)}if(D.isFunction(F)){return F.apply(this,arguments)}};E.queue=false;var M=function(){setTimeout(function(){D(M.elem).animate(L,E)},E.preDelay)};M.elem=this;var Q=J.getScope(E.scope);if(Q){Q.items.push(M);if(J[0].isScope&&J[0].called==E.scope){M()}return this}if(E.limit<0||J.length<E.limit){var P=null;if(E.scope){P=C(E.scope);P.items.push(M)}else{P=M}if(E.position=="end"){J.push(P)}else{if(E.position=="front"){J.splice(1,0,P)}}if(J.length==1){J[0]()}}return this}};D.fn.stop=function(G,F,E){var H=D.timers;if(G){this.queue([])}this.each(function(){for(var I=H.length-1;I>=0;I--){if(H[I].elem==this){if(F){H[I](true)}H.splice(I,1)}}});if(E){this.dequeue()}return this};D.speed=function(G,H,F){var E=G&&G.constructor==Object?G:{complete:F||function(){}&&H||D.isFunction(G)&&G,duration:G,easing:F&&H||H&&H.constructor!=Function&&H};E.duration=(E.duration&&E.duration.constructor==Number?E.duration:{slow:600,fast:200}[E.duration])||400;return E};D.fxqueue=function(E){return D(document).queue(E)}})(jQuery);