/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 2/19/2008
 * @author Ariel Flesler
 * @version 1.3.3
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(function($){var o=$.scrollTo=function(a,b,c){o.window().scrollTo(a,b,c)};o.defaults={axis:'y',duration:1};o.window=function(){return $($.browser.safari?'body':'html')};$.fn.scrollTo=function(l,m,n){if(typeof m=='object'){n=m;m=0}n=$.extend({},o.defaults,n);m=m||n.speed||n.duration;n.queue=n.queue&&n.axis.length>1;if(n.queue)m/=2;n.offset=j(n.offset);n.over=j(n.over);return this.each(function(){var a=this,b=$(a),t=l,c,d={},w=b.is('html,body');switch(typeof t){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(t)){t=j(t);break}t=$(t,this);case'object':if(t.is||t.style)c=(t=$(t)).offset()}$.each(n.axis.split(''),function(i,f){var P=f=='x'?'Left':'Top',p=P.toLowerCase(),k='scroll'+P,e=a[k],D=f=='x'?'Width':'Height';if(c){d[k]=c[p]+(w?0:e-b.offset()[p]);if(n.margin){d[k]-=parseInt(t.css('margin'+P))||0;d[k]-=parseInt(t.css('border'+P+'Width'))||0}d[k]+=n.offset[p]||0;if(n.over[p])d[k]+=t[D.toLowerCase()]()*n.over[p]}else d[k]=t[p];if(/^\d+$/.test(d[k]))d[k]=d[k]<=0?0:Math.min(d[k],h(D));if(!i&&n.queue){if(e!=d[k])g(n.onAfterFirst);delete d[k]}});g(n.onAfter);function g(a){b.animate(d,m,n.easing,a&&function(){a.call(this,l)})};function h(D){var b=w?$.browser.opera?document.body:document.documentElement:a;return b['scroll'+D]-b['client'+D]}})};function j(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);

/**
 * jQuery.serialScroll - Animated scrolling of series
 * Copyright (c) 2007-2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 3/1/2008
 * @author Ariel Flesler
 * @version 1.1.0
 *
 * http://flesler.blogspot.com/2008/02/jqueryserialscroll.html
 */
;(function($){var a='serialScroll',s=$[a]=function(a){$.scrollTo.window().serialScroll(a)};s.defaults={duration:1e3,axis:'x',event:'click',start:0,step:1,lock:1,cycle:1};$.fn[a]=function(o){o=$.extend({},s.defaults,o);var p=o.event,q=o.step,r=o.duration/q;return this.each(function(){var i=$(this),j=o.lazy?o.items:$(o.items,i),k=o.start,l;if(o.force)n.call(this,{},k);$(o.prev||[]).bind(p,-q,m);$(o.next||[]).bind(p,q,m);i.bind('prev.'+a,-q,m).bind('next.'+a,q,m).bind('goto.'+a,n);if(!o.lazy&&o.jump)j.bind(p,function(e){e.data=j.index(this);n(e,this)});function m(e){e.data+=k;n(e,this)};function n(e,b){if(typeof b=='number'){e.data=b;b=this}var c=e.data,d,f=e.type,g=$(j,i),h=g.length;if(f)e.preventDefault();c%=h;if(c<0)c+=h;d=g[c];if(o.interval){clearTimeout(l);l=setTimeout(function(){i.trigger('next.'+a)},o.interval)}if(isNaN(c)||f&&k==c||o.lock&&i.is(':animated')||!o.cycle&&!g[e.data]||f&&o.onBefore&&o.onBefore.call(b,e,d,i,g,c)===!1)return;if(o.stop)i.queue('fx',[]).stop();o.duration=r*Math.abs(k-c);i.scrollTo(d,o);k=c}})}})(jQuery);

