(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);
