(function(a){a.fn.scroller=function(t){var f="#",c=true,h="left",b=false,d="state",g="settings",e="options";return this.each(function(){var l=a(this),A,p,z,y,G,F,E,I,H=0,K=l.innerWidth(),x=0,n,v,r,B,D,C,w,J=[];if(a.isVisible(l)){A=l.children();l.data(e,a.extend(s(),t));n=l.data(e);if(isNaN(n.speed))switch(n.speed){case "slow":n.speed=600;break;case "normal":n.speed=400;break;case "fast":n.speed=200;break;default:n.speed=400}l.data(g,{});v=l.data(g);v.hasTabs=n.tabContainerID.length>0;v.numOriginalItems=A.length;B=n.playID.length>0&&n.pauseID.length>0;D=n.prevID.length>0;C=n.nextID.length>0;w=B||n.playOnLoad||!(D||C||v.hasTabs);l.data(d,{});r=l.data(d);r.curIndex=0;r.targetIndex=0;r.isPlaying=n.playOnLoad||!(B||D||C||v.hasTabs);r.isScrolling=b;n.interval=Math.round(n.interval);if(n.interval<1)n.interval=1;if(v.numOriginalItems>0){l.css({overflow:"hidden",position:"relative"});A.css({position:"absolute","float":h});A.each(function(){p=a(this);p.css({left:x,width:p.width()});x<K&&J.push(p);x+=p.outerWidth(c);H=Math.max(H,p.outerHeight(c))});a.each(J,function(b,a){p=a.clone();l.append(p);p.css({left:x,width:p.width()});x+=p.outerWidth(c)});l.height()==0&&l.height(H);if(D){G=a(f+n.prevID);G.click(function(){k(l,r.curIndex-1);return b});w&&j(l,G)}if(C){F=a(f+n.nextID);F.click(function(){k(l,r.curIndex+1);return b});w&&j(l,F)}if(v.hasTabs){E=a(f+n.tabContainerID);I=E.children();if(I.length!=A.length)n.hasTabs=b;else{w&&j(l,E);I.each(function(c){a(this).click(function(){k(l,c);return b})});o(l,0)}}if(B){z=a(f+n.playID);y=a(f+n.pauseID);z.click(function(){m(z,y,c);i(l,c);q(l,c);return b});y.click(function(){u(l);m(z,y,b);i(l,b);return b});m(z,y,i(l))}else w&&j(l,l);w&&r.isPlaying&&q(l)}}});function s(){return {speed:400,interval:5,playID:"",pauseID:"",playOnLoad:c,prevID:"",nextID:"",tabContainerID:""}}function i(b,a){if(typeof a=="boolean")b.data(d).isPlaying=a;return b.data(d).isPlaying}function n(b,a){if(typeof a=="boolean")b.data(d).isScrolling=a;return b.data(d).isScrolling}function m(b,a,c){if(c){b.css({display:"none"});a.css({display:"block"})}else{b.css({display:"block"});a.css({display:"none"})}}function o(d,g){var b="activeTab",c=a(f+d.data(e).tabContainerID);a(c.children(".activeTab")).removeClass(b);a(c.children()[g]).addClass(b)}function j(a,d){d.hover(function(){i(a,b)},function(){i(a,c)})}function p(a){return "scroller_"+a.attr("id")}function u(b){a.addSecondTimer(b,p(b))}function q(b,d){if(i(b)&&a.isVisible(b))if(d==c)l(b,1);else l(b,b.data(e).interval)}function l(b,c){a.addSecondTimer(b,p(b),c,r)}function r(b){if(i(b)&&a.isVisible(b)){k(b,b.data(d).curIndex+1);l(b,b.data(e).interval)}}function k(f,k){var m=f.children(),p=f.data(e),j=f.data(g),i=f.data(d),l=Math.abs(k-i.curIndex);if(!n(f)&&a.isVisible(f)){if(k<0){f.scrollLeft(a(m[j.numOriginalItems]).css(h).split("px")[0]);i.curIndex=j.numOriginalItems-1}else i.curIndex=k;if(l>0){j.hasTabs&&o(f,i.curIndex==j.numOriginalItems?0:i.curIndex);n(f,c);f.animate({scrollLeft:a(m[i.curIndex]).css(h).split("px")[0]},Math.min(p.speed*l,2e3),"swing",function(){if(f.data(d)!=undefined)if(i.curIndex==j.numOriginalItems){f.scrollLeft(0);i.curIndex=0}n(f,b)})}}}}})(jQuery)