(function(A){A.fn.marquee=function(B){var E=[],D=this.length;function C(M,K,L){var J=L.behavior,H=L.width,G=L.dir;var I=0;if(J=="alternate"){I=M==1?K[L.widthAxis]-(H*2):H}else{if(J=="slide"){if(M==-1){I=G==-1?K[L.widthAxis]:H}else{I=G==-1?K[L.widthAxis]-(H*2):0}}else{I=M==-1?K[L.widthAxis]:0}}return I}function F(){var H=E.length,I=null,L=null,K={},J=[],G=false;while(H--){I=E[H];L=A(I);K=L.data("marqueeState");if(L.data("paused")!==true){I[K.axis]+=(K.scrollamount*K.dir);G=K.dir==-1?I[K.axis]<=C(K.dir*-1,I,K):I[K.axis]>=C(K.dir*-1,I,K);if((K.behavior=="scroll"&&K.last==I[K.axis])||(K.behavior=="alternate"&&G&&K.last!=-1)||(K.behavior=="slide"&&G&&K.last!=-1)){if(K.behavior=="alternate"){K.dir*=-1}K.last=-1;L.trigger("stop");K.loops--;if(K.loops===0){if(K.behavior!="slide"){I[K.axis]=C(K.dir,I,K)}else{I[K.axis]=C(K.dir*-1,I,K)}L.trigger("end")}else{J.push(I);L.trigger("start");I[K.axis]=C(K.dir,I,K)}}else{J.push(I)}K.last=I[K.axis];L.data("marqueeState",K)}else{J.push(I)}}E=J;if(E.length){setTimeout(F,25)}}this.each(function(I){var M=A(this),G=M.attr("width")||M.width(),N=M.attr("height")||M.height(),O=M.after("<div "+(B?'class="'+B+'" ':"")+'style="display: block-inline; width: '+G+"px; height: "+N+'px; overflow: hidden;"><div style="float: left; white-space: nowrap;">'+M.html()+"</div></div>").next(),L=O.get(0),J=0,K=(M.attr("direction")||"left").toLowerCase(),H={dir:/down|right/.test(K)?-1:1,axis:/left|right/.test(K)?"scrollLeft":"scrollTop",widthAxis:/left|right/.test(K)?"scrollWidth":"scrollHeight",last:-1,loops:M.attr("loop")||-1,scrollamount:M.attr("scrollamount")||this.scrollAmount||2,behavior:(M.attr("behavior")||"scroll").toLowerCase(),width:/left|right/.test(K)?G:N};if(M.attr("loop")==-1&&H.behavior=="slide"){H.loops=1}M.remove();if(/left|right/.test(K)){O.find("> div").css("padding","0 "+G+"px")}else{O.find("> div").css("padding",N+"px 0")}O.bind("stop",function(){O.data("paused",true)}).bind("pause",function(){O.data("paused",true)}).bind("start",function(){O.data("paused",false)}).bind("unpause",function(){O.data("paused",false)}).data("marqueeState",H);E.push(L);L[H.axis]=C(H.dir,L,H);O.trigger("start");if(I+1==D){F()}});return A(E)}}(jQuery));
