(function(n){n.fn.marquee=function(t){function i(n,t,i){var f=i.behavior,u=i.width,e=i.dir,r=0;return r=f=="alternate"?n==1?t[i.widthAxis]-u*2:u:f=="slide"?n==-1?e==-1?t[i.widthAxis]:u:e==-1?t[i.widthAxis]-u*2:0:n==-1?t[i.widthAxis]:0}function u(){var h=r.length,f=null,e=null,t={},o=[],s=!1;while(h--)f=r[h],e=n(f),t=e.data("marqueeState"),e.data("paused")!==!0?(f[t.axis]+=t.scrollamount*t.dir,s=t.dir==-1?f[t.axis]<=i(t.dir*-1,f,t):f[t.axis]>=i(t.dir*-1,f,t),t.behavior=="scroll"&&t.last==f[t.axis]||t.behavior=="alternate"&&s&&t.last!=-1||t.behavior=="slide"&&s&&t.last!=-1?(t.behavior=="alternate"&&(t.dir*=-1),t.last=-1,e.trigger("stop"),t.loops--,t.loops===0?(f[t.axis]=t.behavior!="slide"?i(t.dir,f,t):i(t.dir*-1,f,t),e.trigger("end")):(o.push(f),e.trigger("start"),f[t.axis]=i(t.dir,f,t))):o.push(f),t.last=f[t.axis],e.data("marqueeState",t)):o.push(f);r=o,r.length&&setTimeout(u,25)}var r=[],f=this.length;return this.each(function(e){var o=n(this),a=o.attr("width")||o.width(),l=o.attr("height")||o.height(),s=o.after("<div "+(t?'class="'+t+'" ':"")+'style="display: block-inline; width: '+a+"px; height: "+l+'px; overflow: hidden;"><div style="float: left; white-space: nowrap;">'+o.html()+"</div></div>").next(),v=s.get(0),y=0,c=(o.attr("direction")||"left").toLowerCase(),h={dir:/down|right/.test(c)?-1:1,axis:/left|right/.test(c)?"scrollLeft":"scrollTop",widthAxis:/left|right/.test(c)?"scrollWidth":"scrollHeight",last:-1,loops:o.attr("loop")||-1,scrollamount:o.attr("scrollamount")||this.scrollAmount||2,behavior:(o.attr("behavior")||"scroll").toLowerCase(),width:/left|right/.test(c)?a:l};o.attr("loop")==-1&&h.behavior=="slide"&&(h.loops=1),o.remove(),/left|right/.test(c)?s.find("> div").css("padding","0 "+a+"px"):s.find("> div").css("padding",l+"px 0"),s.bind("stop",function(){s.data("paused",!0)}).bind("pause",function(){s.data("paused",!0)}).bind("start",function(){s.data("paused",!1)}).bind("unpause",function(){s.data("paused",!1)}).data("marqueeState",h),r.push(v),v[h.axis]=i(h.dir,v,h),s.trigger("start"),e+1==f&&u()}),n(r)}})(jQuery)
