(function(A){var B=A.serialScroll=function(C){A.scrollTo.window().serialScroll(C)};B.defaults={duration:1000,axis:"x",event:"click",start:0,step:1,lock:true,cycle:true,constant:true};A.fn.serialScroll=function(D){D=A.extend({},B.defaults,D);var F=D.event,E=D.step,C=D.lazy;return this.each(function(){var J=D.target?this:document,H=A(D.target||this,J),L=H[0],R=D.items,N=D.start,S=D.interval,G=D.navigation,I;if(!C){R=K()}if(D.force){T({},N)}A(D.prev||[],J).bind(F,-E,M);A(D.next||[],J).bind(F,E,M);if(!L.ssbound){H.bind("prev.serialScroll",-E,M).bind("next.serialScroll",E,M).bind("goto.serialScroll",T)}if(S){H.bind("start.serialScroll",function(U){if(!S){O();S=true;P()}}).bind("stop.serialScroll",function(){O();S=false})}H.bind("notify.serialScroll",function(W,V){var U=Q(V);if(U>-1){N=U}});L.ssbound=true;if(D.jump){(C?H:K()).bind(F,function(U){T(U,Q(U.target))})}if(G){G=A(G,J).bind(F,function(U){U.data=Math.round(K().length/G.length)*G.index(this);T(U,this)})}function M(U){U.data+=N;T(U,this)}function T(a,Y){if(!isNaN(Y)){a.data=Y;Y=L}var b=a.data,U,c=a.type,Z=D.exclude?K().slice(0,-D.exclude):K(),X=Z.length,V=Z[b],W=D.duration;if(c){a.preventDefault()}if(S){O();I=setTimeout(P,D.interval)}if(!V){U=b<0?0:X-1;if(N!=U){b=U}else{if(!D.cycle){return }else{b=X-U-1}}V=Z[b]}if(!V||c&&N==b||D.lock&&H.is(":animated")||c&&D.onBefore&&D.onBefore.call(Y,a,V,H,K(),b)===false){return }if(D.stop){H.queue("fx",[]).stop()}if(D.constant){W=Math.abs(W/E*(N-b))}H.scrollTo(V,W,D).trigger("notify.serialScroll",[b])}function P(){H.trigger("next.serialScroll")}function O(){clearTimeout(I)}function K(){return A(R,L)}function Q(V){if(!isNaN(V)){return V}var W=K(),U;while((U=W.index(V))==-1&&V!=L){V=V.parentNode}return U}})}})(jQuery);
