(function(b){b.tools=b.tools||{version:"@VERSION"};b.tools.scrollable={conf:{activeClass:"active",circular:false,clonedClass:"cloned",disabledClass:"disabled",easing:"swing",initialIndex:0,item:"> *",items:".items",keyboard:true,mousewheel:false,next:".next",prev:".prev",size:1,speed:400,vertical:false,touch:true,wheelSpeed:0}};function d(i,g){var f=parseInt(i.css(g),10);if(f){return f}var h=i[0].currentStyle;return h&&h.width&&parseInt(h.width,10)}function e(f,h){var g=b(h);return g.length<2?g:f.parent().find(h)}var c;function a(q,o){var r=this,g=q.add(r),f=q.children(),m=0,i=o.vertical;if(!c){c=r}if(f.length>1){f=b(o.items,q)}if(o.size>1){o.circular=false}b.extend(r,{getConf:function(){return o},getIndex:function(){return m},getSize:function(){return r.getItems().size()},getNaviButtons:function(){return h.add(k)},getRoot:function(){return q},getItemWrap:function(){return f},getItems:function(){return f.find(o.item).not("."+o.clonedClass)},move:function(t,s){return r.seekTo(m+t,s)},next:function(s){return r.move(o.size,s)},prev:function(s){return r.move(-o.size,s)},begin:function(s){return r.seekTo(0,s)},end:function(s){return r.seekTo(r.getSize()-1,s)},focus:function(){c=r;return r},addItem:function(s){s=b(s);if(!o.circular){f.append(s);k.removeClass("disabled")}else{f.children().last().before(s);f.children().first().replaceWith(s.clone().addClass(o.clonedClass))}g.trigger("onAddItem",[s]);return r},seekTo:function(s,x,u){if(!s.jquery){s*=1}if(o.circular&&s===0&&m==-1&&x!==0){return r}if(!o.circular&&s<0||s>r.getSize()||s<-1){return r}var v=s;if(s.jquery){s=r.getItems().index(s)}else{v=r.getItems().eq(s)}var w=b.Event("onBeforeSeek");if(!u){g.trigger(w,[s,x]);if(w.isDefaultPrevented()||!v.length){return r}}var t=i?{top:-v.position().top}:{left:-v.position().left};m=s;c=r;if(x===undefined){x=o.speed}f.animate(t,x,o.easing,u||function(){g.trigger("onSeek",[s])});return r}});b.each(["onBeforeSeek","onSeek","onAddItem"],function(t,s){if(b.isFunction(o[s])){b(r).bind(s,o[s])}r[s]=function(u){if(u){b(r).bind(s,u)}return r}});if(o.circular){var n=r.getItems().slice(-1).clone().prependTo(f),l=r.getItems().eq(1).clone().appendTo(f);n.add(l).addClass(o.clonedClass);r.onBeforeSeek(function(u,s,t){if(u.isDefaultPrevented()){return}if(s==-1){r.seekTo(n,t,function(){r.end(0)});return u.preventDefault()}else{if(s==r.getSize()){r.seekTo(l,t,function(){r.begin(0)})}}});var p=q.parents().add(q).filter(function(){if(b(this).css("display")==="none"){return true}});if(p.length){p.show();r.seekTo(0,0,function(){});p.hide()}else{r.seekTo(0,0,function(){})}}var h=e(q,o.prev).click(function(s){s.stopPropagation();r.prev()}),k=e(q,o.next).click(function(s){s.stopPropagation();r.next()});if(!o.circular){r.onBeforeSeek(function(t,s){setTimeout(function(){if(!t.isDefaultPrevented()){h.toggleClass(o.disabledClass,s<=0);k.toggleClass(o.disabledClass,s>=r.getSize()-1)}},1)});if(!o.initialIndex){h.addClass(o.disabledClass)}}if(r.getSize()<2){h.add(k).addClass(o.disabledClass)}if(o.mousewheel&&b.fn.mousewheel){q.mousewheel(function(s,t){if(o.mousewheel){r.move(t<0?1:-1,o.wheelSpeed||50);return false}})}if(o.touch){var j={};f[0].ontouchstart=function(u){var s=u.touches[0];j.x=s.clientX;j.y=s.clientY};f[0].ontouchmove=function(w){if(w.touches.length==1&&!f.is(":animated")){var v=w.touches[0],u=j.x-v.clientX,s=j.y-v.clientY;r[i&&s>0||!i&&u>0?"next":"prev"]();w.preventDefault()}}}if(o.keyboard){b(document).bind("keydown.scrollable",function(s){if(!o.keyboard||s.altKey||s.ctrlKey||s.metaKey||b(s.target).is(":input")){return}if(o.keyboard!="static"&&c!=r){return}var t=s.keyCode;if(i&&(t==38||t==40)){r.move(t==38?-1:1);return s.preventDefault()}if(!i&&(t==37||t==39)){r.move(t==37?-1:1);return s.preventDefault()}})}if(o.initialIndex){r.seekTo(o.initialIndex,0,function(){})}}b.fn.scrollable=function(f){var g=this.data("scrollable");if(g){return g}f=b.extend({},b.tools.scrollable.conf,f);this.each(function(){g=new a(b(this),f);b(this).data("scrollable",g)});return f.api?g:this}})(jQuery);(function(b){var a=b.tools.scrollable;a.navigator={conf:{navi:".navi",naviItem:null,activeClass:"active",indexed:false,idPrefix:null,history:false}};function c(d,f){var e=b(f);return e.length<2?e:d.parent().find(f)}b.fn.navigator=function(e){if(typeof e=="string"){e={navi:e}}e=b.extend({},a.navigator.conf,e);var d;this.each(function(){var g=b(this).data("scrollable"),j=e.navi.jquery?e.navi:c(g.getRoot(),e.navi),i=g.getNaviButtons(),m=e.activeClass,h=e.history&&!!history.pushState,n=g.getConf().size;if(g){d=g}g.getNaviButtons=function(){return i.add(j)};if(h){history.pushState({i:0});b(window).bind("popstate",function(o){var p=o.originalEvent.state;if(p){g.seekTo(p.i)}})}function l(p,o,q){g.seekTo(o);q.preventDefault();if(h){history.pushState({i:o})}}function f(){return j.find(e.naviItem||"> *")}function k(o){var p=b("<"+(e.naviItem||"a")+"/>").click(function(q){l(b(this),o,q)});if(o===0){p.addClass(m)}if(e.indexed){p.text(o+1)}if(e.idPrefix){p.attr("id",e.idPrefix+o)}return p.appendTo(j)}if(f().length){f().each(function(o){b(this).click(function(p){l(b(this),o,p)})})}else{b.each(g.getItems(),function(o){if(o%n==0){k(o)}})}g.onBeforeSeek(function(p,o){setTimeout(function(){if(!p.isDefaultPrevented()){var q=o/n,r=f().eq(q);if(r.length){f().removeClass(m).eq(q).addClass(m)}}},1)});g.onAddItem(function(q,p){var o=g.getItems().index(p);if(o%n==0){k(o)}})});return e.api?d:this}})(jQuery);
