(function($){$.jCarouselLite={version:'1.1',defaults:{btnPrev:null,btnNext:null,btnGo:null,btnPause:null,mouseWheel:false,speed:200,easing:null,auto:false,autoStop:false,timeout:4000,pause:false,vertical:false,circular:true,visible:3,start:0,scroll:1,beforeStart:null,afterEnd:null,pauseCallback:null}};$.fn.jCarouselLite=function(r){var o=$.extend({},$.jCarouselLite.defaults,r);return this.each(function(){var f=false,animCss=o.vertical?"top":"left",sizeCss=o.vertical?"height":"width";var g=$(this),ul=g.find('>ul'),tLi=ul.find('>li'),tl=tLi.length,v=o.visible;tLi.each(function(){$(this).addClass("index-"+tLi.index($(this)).toString())});var h=ul.find('>li'),itemLength=h.length,curr=o.start;if(o.start>itemLength-v){curr=itemLength-v}if(!o.circular){$(o.btnPrev).add(o.btnNext).removeClass("disabled");$((curr===0&&o.btnPrev)||(curr+v>=itemLength&&o.btnNext)||[]).addClass("disabled")}g.css("visibility","visible");h.css({overflow:o.vertical?"hidden":'visible','float':o.vertical?"none":"left"});ul.css({margin:"0",padding:"0",position:"relative","list-style-type":"none","z-index":"1"});g.css({overflow:"hidden",position:"relative","z-index":"2",left:"0px"});var j=o.vertical?height(h):width(h);var k=j*itemLength;if(o.circular){k=j*(itemLength+o.scroll)}var l=j*v;h.css({width:h.width(),height:h.height()});ul.css(sizeCss,k+"px").css(animCss,-(curr*j));o.vertical?ul.css("width",width(h)):ul.css("height",height(h));g.css(sizeCss,l+"px");o.vertical?g.css("width",width(h)):g.css("height",height(h));if(o.btnPrev){$(o.btnPrev).click(function(e){e.preventDefault();if(curr===0&&!o.circular){return}else{return go(curr-o.scroll)}})}if(o.btnNext){$(o.btnNext).click(function(e){e.preventDefault();if(curr+v>=itemLength&&!o.circular){return}else{return go(curr+o.scroll)}})}if(o.btnGo){$.each(o.btnGo,function(i,c){$(c).click(function(e){e.preventDefault();var b=$(c).attr("class").split(" ");b=$.grep(b,function(a){return(new RegExp(/^scroll-/).test(a))});b=b[0].split("scroll-")[1];b=parseInt(b-1,10);if(o.circular){b=$(ul).find(">li").index($(ul).find("li[class*=index-"+b+"]"))}if(b!=curr){return go(b)}})})}if(o.mouseWheel&&g.mousewheel){g.mousewheel(function(e,d){return d>0?go(curr-o.scroll):go(curr+o.scroll)})}if(o.auto){var m,advanceCounter=0,autoStop=iterations(tl,o);var n=function(){m=setTimeout(function(){if(!autoStop||autoStop>advanceCounter){go(curr+o.scroll);advanceCounter=advanceCounter+1}},o.timeout+o.speed)};n();$(document).bind('pauseCarousel',function(a){clearTimeout(m);$(a.target).data('paused',true)}).bind('resumeCarousel',function(a){n();$(a.target).data('paused',false)});var p=false;var q=false;if(o.btnPause){$(o.btnPause).click(function(e){e.preventDefault();if(!$(this).hasClass("paused")){ul.clearQueue();g.trigger('pauseCarousel');$(this).addClass("paused");q=true;p=true;if(o.pauseCallback){o.pauseCallback.call(this,$(o.btnPause))}}else{g.trigger('resumeCarousel');$(this).removeClass("paused");q=false;p=false;if(o.pauseCallback){o.pauseCallback.call(this,$(o.btnPause))}}})}if(o.pause){ul.mouseenter(function(){if(!p){g.trigger('pauseCarousel');q=true;if(o.btnPause){$(o.btnPause).addClass("paused");if(o.pauseCallback){o.pauseCallback.call(this,$(o.btnPause))}}}}).mouseleave(function(){if(!p){g.trigger('resumeCarousel');q=false;if(o.btnPause){$(o.btnPause).removeClass("paused");if(o.pauseCallback){o.pauseCallback.call(this,$(o.btnPause))}}}})}}function vis(){return ul.find(">li").slice(curr).slice(0,v)}function go(a){if(!f){if(o.beforeStart){o.beforeStart.call(this,vis())}if(o.auto===true&&q===false){g.trigger('pauseCarousel')}var b=curr*j;if(o.circular){if(a<curr){if(a<0){ul.prepend(ul.find(">li").slice(ul.find(">li").length-o.scroll).clone(true));ul.css(animCss,-(curr+o.scroll)*j);curr=a+o.scroll}else{curr=a}b=curr*j}else{if(a>itemLength-v){ul.append(ul.find(">li").slice(0,o.scroll).clone(true));curr=a-o.scroll}else{curr=a}b=a*j}}else{if(a<0){curr=0}else{if(a>itemLength-v){curr=itemLength-v}else{curr=a}}b=curr*j}f=true;ul.animate(animCss==="left"?{left:-b}:{top:-b},o.speed,o.easing,function(){if(o.circular){if(a>itemLength-v&&a>=curr){ul.find(">li").slice(0,o.scroll).remove();ul.css(animCss,-(curr)*j)}if(a<0&&a<curr){ul.find(">li").slice(ul.find(">li").length-o.scroll).remove()}}if(o.afterEnd){o.afterEnd.call(this,vis())}if(o.auto===true&&q===false){g.trigger('resumeCarousel')}f=false});if(!o.circular){$(o.btnPrev).add(o.btnNext).removeClass("disabled");$((curr===0&&o.btnPrev)||(curr+v>=itemLength&&o.btnNext)||[]).addClass("disabled")}}return false}})};function css(a,b){return parseInt($.css(a[0],b),10)||0}function width(a){var b=a[0];a.each(function(){if($(this).width()>$(b).width()){b=this}});return b.offsetWidth+css(a,'marginLeft')+css(a,'marginRight')}function height(a){var b=a[0];a.each(function(){if($(this).height()>$(b).height()){b=this}});return b.offsetHeight+css(a,'marginTop')+css(a,'marginBottom')}function iterations(a,b){return b.autoStop&&(b.circular?b.autoStop:Math.min(a,b.autoStop))}}(jQuery));
