/*
 * jQuery.SerialScroll - Animated scrolling of series
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 06/14/2009
 * @author Ariel Flesler
 * @version 1.2.2
 * http://flesler.blogspot.com/2008/02/jqueryserialscroll.html
 */
(function(a){var b=a.serialScroll=function(b){return a(window).serialScroll(b)};b.defaults={duration:1e3,axis:"x",event:"click",start:0,step:1,lock:!0,cycle:!0,constant:!0},a.fn.serialScroll=function(c){return this.each(function(){function p(a){a.data+=l,q(a,this)}function q(a,b){isNaN(b)||(a.data=b,b=j);var c=a.data,e,g=a.type,h=d.exclude?t().slice(0,-d.exclude):t(),k=h.length,n=h[c],p=d.duration;g&&a.preventDefault(),m&&(s(),o=setTimeout(r,d.interval));if(!n){e=c<0?0:k-1;if(l!=e)c=e;else{if(!d.cycle)return;c=k-e-1}n=h[c]}if(!n||d.lock&&i.is(":animated")||g&&d.onBefore&&d.onBefore(a,n,i,t(),c)===!1)return;d.stop&&i.queue("fx",[]).stop(),d.constant&&(p=Math.abs(p/f*(l-c))),i.scrollTo(n,p,d).trigger("notify.serialScroll",[c])}function r(){i.trigger("next.serialScroll")}function s(){clearTimeout(o)}function t(){return a(k,j)}function u(a){if(!isNaN(a))return a;var b=t(),c;while((c=b.index(a))==-1&&a!=j)a=a.parentNode;return c}var d=a.extend({},b.defaults,c),e=d.event,f=d.step,g=d.lazy,h=d.target?this:document,i=a(d.target||this,h),j=i[0],k=d.items,l=d.start,m=d.interval,n=d.navigation,o;g||(k=t()),d.force&&q({},l),a(d.prev||[],h).bind(e,-f,p),a(d.next||[],h).bind(e,f,p),j.ssbound||i.bind("prev.serialScroll",-f,p).bind("next.serialScroll",f,p).bind("goto.serialScroll",q),m&&i.bind("start.serialScroll",function(a){m||(s(),m=!0,r())}).bind("stop.serialScroll",function(){s(),m=!1}),i.bind("notify.serialScroll",function(a,b){var c=u(b);c>-1&&(l=c)}),j.ssbound=!0,d.jump&&(g?i:t()).bind(e,function(a){q(a,u(a.target))}),n&&(n=a(n,h).bind(e,function(a){a.data=Math.round(t().length/n.length)*n.index(this),q(a,this)}))})}})(jQuery)
