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