(function(d){function c(g,h){var e=d(h);return e.length<2?e:g.parent().find(h)}function b(v,w){var x=this,i=v.add(x),u=v.children(),p=0,r=w.vertical;a||(a=x);if(u.length>1){u=d(w.items,v)}d.extend(x,{getConf:function(){return w},getIndex:function(){return p},getSize:function(){return x.getItems().size()},getNaviButtons:function(){return h.add(e)},getRoot:function(){return v},getItemWrap:function(){return u},getItems:function(){return u.children(w.item).not("."+w.clonedClass)},move:function(f,g){return x.seekTo(p+f,g)},next:function(f){return x.move(1,f)},prev:function(f){return x.move(-1,f)},begin:function(f){return x.seekTo(0,f)},end:function(f){return x.seekTo(x.getSize()-1,f)},focus:function(){return a=x},addItem:function(f){f=d(f);if(w.circular){u.children("."+w.clonedClass+":last").before(f);u.children("."+w.clonedClass+":first").replaceWith(f.clone().addClass(w.clonedClass))}else{u.append(f)}i.trigger("onAddItem",[f]);return x},seekTo:function(f,m,j){f.jquery||(f*=1);if(w.circular&&f===0&&p==-1&&m!==0){return x}if(!w.circular&&f<0||f>x.getSize()||f<-1){return x}var g=f;if(f.jquery){f=x.getItems().index(f)}else{g=x.getItems().eq(f)}var l=d.Event("onBeforeSeek");if(!j){i.trigger(l,[f,m]);if(l.isDefaultPrevented()||!g.length){return x}}g=r?{top:-g.position().top}:{left:-g.position().left};p=f;a=x;if(m===undefined){m=w.speed}u.animate(g,m,w.easing,j||function(){i.trigger("onSeek",[f])});return x}});d.each(["onBeforeSeek","onSeek","onAddItem"],function(f,g){d.isFunction(w[g])&&d(x).bind(g,w[g]);x[g]=function(j){j&&d(x).bind(g,j);return x}});if(w.circular){var z=x.getItems().slice(-1).clone().prependTo(u),y=x.getItems().eq(1).clone().appendTo(u);z.add(y).addClass(w.clonedClass);x.onBeforeSeek(function(f,j,g){if(!f.isDefaultPrevented()){if(j==-1){x.seekTo(z,g,function(){x.end(0)});return f.preventDefault()}else{j==x.getSize()&&x.seekTo(y,g,function(){x.begin(0)})}}});x.seekTo(0,0,function(){})}var h=c(v,w.prev).click(function(){x.prev()}),e=c(v,w.next).click(function(){x.next()});if(!w.circular&&x.getSize()>1){x.onBeforeSeek(function(f,g){setTimeout(function(){if(!f.isDefaultPrevented()){h.toggleClass(w.disabledClass,g<=0);e.toggleClass(w.disabledClass,g>=x.getSize()-1)}},1)});w.initialIndex||h.addClass(w.disabledClass)}w.mousewheel&&d.fn.mousewheel&&v.mousewheel(function(f,g){if(w.mousewheel){x.move(g<0?1:-1,w.wheelSpeed||50);return false}});if(w.touch){var k={};u[0].ontouchstart=function(f){f=f.touches[0];k.x=f.clientX;k.y=f.clientY};u[0].ontouchmove=function(f){if(f.touches.length==1&&!u.is(":animated")){var j=f.touches[0],g=k.x-j.clientX;j=k.y-j.clientY;x[r&&j>0||!r&&g>0?"next":"prev"]();f.preventDefault()}}}w.keyboard&&d(document).bind("keydown.scrollable",function(f){if(!(!w.keyboard||f.altKey||f.ctrlKey||d(f.target).is(":input"))){if(!(w.keyboard!="static"&&a!=x)){var g=f.keyCode;if(r&&(g==38||g==40)){x.move(g==38?-1:1);return f.preventDefault()}if(!r&&(g==37||g==39)){x.move(g==37?-1:1);return f.preventDefault()}}}});w.initialIndex&&x.seekTo(w.initialIndex,0,function(){})}d.tools=d.tools||{version:"1.2.5"};d.tools.scrollable={conf:{activeClass:"active",circular:false,clonedClass:"cloned",disabledClass:"disabled",easing:"swing",initialIndex:0,item:null,items:".items",keyboard:true,mousewheel:false,next:".next",prev:".prev",speed:400,vertical:false,touch:true,wheelSpeed:0}};var a;d.fn.scrollable=function(e){var g=this.data("scrollable");if(g){return g}e=d.extend({},d.tools.scrollable.conf,e);this.each(function(){g=new b(d(this),e);d(this).data("scrollable",g)});return e.api?g:this}})(jQuery);(function(a){var c=a.tools.scrollable;c.autoscroll={conf:{autoplay:true,interval:3000,autopause:true}};a.fn.autoscroll=function(f){if(typeof f=="number"){f={interval:f}}var e=a.extend({},c.autoscroll.conf,f),b;this.each(function(){var d=a(this).data("scrollable");if(d){b=d}var i,g=true;d.play=function(){if(!i){g=false;i=setInterval(function(){d.next()},e.interval)}};d.pause=function(){i=clearInterval(i)};d.stop=function(){d.pause();g=true};e.autopause&&d.getRoot().add(d.getNaviButtons()).hover(d.pause,d.play);e.autoplay&&d.play()});return e.api?b:this}})(jQuery);(function(c){function b(d,f){var e=c(f);return e.length<2?e:d.parent().find(f)}var a=c.tools.scrollable;a.navigator={conf:{navi:".navi",naviItem:null,activeClass:"active",indexed:false,idPrefix:null,history:false}};c.fn.navigator=function(d){if(typeof d=="string"){d={navi:d}}d=c.extend({},a.navigator.conf,d);var e;this.each(function(){function t(f,j,h){v.seekTo(j);if(s){if(location.hash){location.hash=f.attr("href").replace("#","")}}else{return h.preventDefault()}}function u(){return r.find(d.naviItem||"> *")}function m(f){var h=c("<"+(d.naviItem||"a")+"/>").click(function(j){t(c(this),f,j)}).attr("href","#"+f);f===0&&h.addClass(p);d.indexed&&h.text(f+1);d.idPrefix&&h.attr("id",d.idPrefix+f);return h.appendTo(r)}function i(f,h){f=u().eq(h.replace("#",""));f.length||(f=u().filter("[href="+h+"]"));f.click()}var v=c(this).data("scrollable"),r=d.navi.jquery?d.navi:b(v.getRoot(),d.navi),g=v.getNaviButtons(),p=d.activeClass,s=d.history&&c.fn.history;if(v){e=v}v.getNaviButtons=function(){return g.add(r)};u().length?u().each(function(f){c(this).click(function(h){t(c(this),f,h)})}):c.each(v.getItems(),function(f){m(f)});v.onBeforeSeek(function(f,h){setTimeout(function(){if(!f.isDefaultPrevented()){var j=u().eq(h);!f.isDefaultPrevented()&&j.length&&u().removeClass(p).eq(h).addClass(p)}},1)});v.onAddItem(function(f,h){h=m(v.getItems().index(h));s&&h.history(i)});s&&u().history(i)});return d.api?e:this}})(jQuery);(function(a){function f(b){switch(b.type){case"mousemove":return a.extend(b.data,{clientX:b.clientX,clientY:b.clientY,pageX:b.pageX,pageY:b.pageY});case"DOMMouseScroll":a.extend(b,b.data);b.delta=-b.detail/3;break;case"mousewheel":b.delta=b.wheelDelta/120;break}b.type="wheel";return a.event.handle.call(this,b,b.delta)}a.fn.mousewheel=function(b){return this[b?"bind":"trigger"]("wheel",b)};a.event.special.wheel={setup:function(){a.event.add(this,e,f,{})},teardown:function(){a.event.remove(this,e,f)}};var e=!a.browser.mozilla?"mousewheel":"DOMMouseScroll"+(a.browser.version<"1.9"?" mousemove":"")})(jQuery);
