(function(c){c.tools=c.tools||{version:{}};c.tools.version.scrollable="1.0.5";var a=null;function b(d,h){var q=this;if(!a){a=q}function s(u,t){c(q).bind(u,function(w,v){if(t&&t.call(this,v.index)===false&&v){v.proceed=false}});return q}c.each(h,function(u,t){if(c.isFunction(t)){s(u,t)}});var o=!h.vertical;var g=c(h.items,d);var k=0;function f(u,t){return u.indexOf("#")!=-1?c(u).eq(0):t.siblings(u).eq(0)}var r=f(h.navi,d);var n=f(h.prev,d);var e=f(h.next,d);var p=f(h.prevPage,d);var l=f(h.nextPage,d);c.extend(q,{getIndex:function(){return k},getConf:function(){return h},getSize:function(){return q.getItems().size()},getPageAmount:function(){return Math.ceil(this.getSize()/h.size)},getPageIndex:function(){return Math.ceil(k/h.size)},getRoot:function(){return d},getItemWrap:function(){return g},getItems:function(){return g.children()},getVisibleItems:function(){return q.getItems().slice(k,k+h.size)},seekTo:function(t,B,y){if(B===undefined){B=h.speed}if(c.isFunction(B)){y=B;B=h.speed}if(t<0){t=0}if(t>q.getSize()-h.size){return q}var u=q.getItems().eq(t);if(!u.length){return q}var z={index:t,proceed:true};c(q).trigger("onBeforeSeek",z);if(!z.proceed){return q}if(o){var w=-u.position().left;g.animate({left:w},B,h.easing,y?function(){y.call(q)}:null)}else{var v=-u.position().top;g.animate({top:v},B,h.easing,y?function(){y.call(q)}:null)}if(r.length){var x=h.activeClass;var A=Math.ceil(t/h.size);A=Math.min(A,r.children().length-1);r.children().removeClass(x).eq(A).addClass(x)}if(t===0){n.add(p).addClass(h.disabledClass)}else{n.add(p).removeClass(h.disabledClass)}if(t>=q.getSize()-h.size){e.add(l).addClass(h.disabledClass)}else{e.add(l).removeClass(h.disabledClass)}a=q;k=t;c(q).trigger("onSeek",{index:t});return q},move:function(w,v,t){var u=k+w;if(h.loop&&u>(q.getSize()-h.size)){u=0}return this.seekTo(u,v,t)},next:function(u,t){return this.move(1,u,t)},prev:function(u,t){return this.move(-1,u,t)},movePage:function(v,u,t){return this.move(h.size*v,u,t)},setPage:function(t,x,w){var u=h.size;var y=u*t;var v=y+u>=this.getSize();if(v){y=this.getSize()-h.size}return this.seekTo(y,x,w)},prevPage:function(u,t){return this.setPage(this.getPageIndex()-1,u,t)},nextPage:function(u,t){return this.setPage(this.getPageIndex()+1,u,t)},begin:function(u,t){return this.seekTo(0,u,t)},end:function(u,t){return this.seekTo(this.getSize()-h.size,u,t)},reload:function(){return j()},click:function(z,x,t){var y=q.getItems().eq(z);var w=h.activeClass;if(z<0||z>=this.getSize()){return q}if(h.size==2){if(z==q.getIndex()){z--}q.getItems().removeClass(w);y.addClass(w);return this.seekTo(z,x,t)}if(!y.hasClass(w)){q.getItems().removeClass(w);y.addClass(w);var v=Math.floor(h.size/2);var u=z-v;if(u>q.getSize()-h.size){u=q.getSize()-h.size}if(u!==z){return this.seekTo(u,x,t)}}return q},onBeforeSeek:function(t){return s("onBeforeSeek",t)},onSeek:function(t){return s("onSeek",t)}});if(c.isFunction(c.fn.mousewheel)){d.bind("mousewheel.scrollable",function(v,u){var t=c.browser.opera?1:-1;q.move(u>0?t:-t,50);return false})}n.addClass(h.disabledClass).click(function(){q.prev()});e.click(function(){q.next()});l.click(function(){q.nextPage()});p.addClass(h.disabledClass).click(function(){q.prevPage()});if(h.keyboard){c(document).unbind("keydown.scrollable").bind("keydown.scrollable",function(u){var t=a;if(!t||u.altKey||u.ctrlKey){return}if(o&&(u.keyCode==37||u.keyCode==39)){t.move(u.keyCode==37?-1:1);return u.preventDefault()}if(!o&&(u.keyCode==38||u.keyCode==40)){t.move(u.keyCode==38?-1:1);return u.preventDefault()}return true})}function j(){if(r.is(":empty")||r.data("me")==q){r.empty();r.data("me",q);for(var t=0;t<q.getPageAmount();t++){var u=c("<"+h.naviItem+"/>").attr("href",t).click(function(x){var w=c(this);w.parent().children().removeClass(h.activeClass);w.addClass(h.activeClass);q.setPage(w.attr("href"));return x.preventDefault()});if(t===0){u.addClass(h.activeClass)}r.append(u)}}else{var v=r.children();v.each(function(w){var x=c(this);x.attr("href",w);if(w===0){x.addClass(h.activeClass)}x.click(function(){r.find("."+h.activeClass).removeClass(h.activeClass);x.addClass(h.activeClass);q.setPage(x.attr("href"))})})}if(h.clickable){q.getItems().each(function(y,w){var x=c(this);if(!x.data("set")){x.bind("click.scrollable",function(){q.click(y)});x.data("set",true)}})}if(h.hoverClass){q.getItems().hover(function(){c(this).addClass(h.hoverClass)},function(){c(this).removeClass(h.hoverClass)})}return q}j();var i=null;function m(){if(i){return}i=setInterval(function(){if(h.interval===0){clearInterval(i);i=0;return}q.next()},h.interval)}if(h.interval>0){d.hover(function(){clearInterval(i);i=0},function(){m()});m()}}c.fn.scrollable=function(f){var e=this.eq(typeof f=="number"?f:0).data("scrollable");if(e){return e}var d={size:5,vertical:false,clickable:true,loop:false,interval:0,speed:400,keyboard:true,activeClass:"active",disabledClass:"disabled",hoverClass:null,easing:"swing",items:".items",prev:".prev",next:".next",prevPage:".prevPage",nextPage:".nextPage",navi:".navi",naviItem:"a",api:false,onBeforeSeek:null,onSeek:null};c.extend(d,f);this.each(function(){e=new b(c(this),d);c(this).data("scrollable",e)});return d.api?e:this}})(jQuery);
