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