(function($){$.fn.tinycarousel=function(options){var defaults={start:1,display:1,axis:'x',controls:true,pager:false,interval:false,intervaltime:3000,animation:true,duration:1000,callback:null};var options=$.extend(defaults,options);var oSlider=$(this);var oViewport=$('.viewport',oSlider);var oContent=$('.overview',oSlider);var oPages=oContent.children();var oBtnNext=$('.next',oSlider);var oBtnPrev=$('.prev',oSlider);var oPager=$('.pager',oSlider);var iCurrent=(options.start-2),iPageSize=0,oTimer=0,iSteps=0,bForward=true;return this.each(function(){initialize();});function initialize(){iPageSize=options.axis=='x'?$(oPages[0]).outerWidth(true):$(oPages[0]).outerHeight(true);var iLeftover=Math.ceil(((options.axis=='x'?oViewport.outerWidth():oViewport.outerHeight())/(iPageSize*options.display))-1);iSteps=Math.ceil(oPages.length/options.display)-(iLeftover<=1&&options.display>1?0:iLeftover);iCurrent=iCurrent<1||iSteps<iCurrent?-1:iCurrent;oContent.css(options.axis=='x'?'width':'height',(iPageSize*oPages.length));move(1);setEvents();}
function setButtons(){if(options.controls){oBtnPrev.toggleClass('disable',!(iCurrent>0));oBtnNext.toggleClass('disable',!(iCurrent+1<iSteps));}}
function setEvents(){if(options.controls&&oBtnPrev.length>0&&oBtnNext.length>0){oBtnPrev.click(function(){move(-1);return false;});oBtnNext.click(function(){move(1);return false;});}
if(options.pager&&oPager.length>0){oPager.click(setPager);}}
function setPager(oEvent){var oTarget=oEvent.target;if($(oTarget).hasClass('pagenum')){iCurrent=parseInt(oTarget.rel)-1;move(1);}
return false;}
function setPagerActive(){if(options.pager){var oNumbers=$('.pagenum',oPager);oNumbers.removeClass('active');$(oNumbers[iCurrent]).addClass('active');}}
function setTimer(){if(options.interval){oTimer=window.setInterval(function(){var iDirection=0,exp=iCurrent-1==-1;bForward?iCurrent+1==iSteps?bForward=false:iDirection=1:exp?bForward=true:iDirection=-1;move(iDirection,true);},options.intervaltime);}}
function resetTimer(bReset){if(options.interval&&!bReset){clearInterval(oTimer);setTimer();}}
function move(iDirection,bTimerReset){if(iCurrent>0||iCurrent+1<iSteps){iCurrent+=iDirection;var oPosition={};oPosition[options.axis=='x'?'left':'top']=-(iCurrent*(iPageSize*options.display));oContent.animate(oPosition,{queue:false,duration:options.animation?options.duration:0,complete:function(){if(typeof(options.callback)=='function')
options.callback.call(this,oPages[iCurrent],iCurrent);}});setButtons();setPagerActive();resetTimer(bTimerReset);}}};})(jQuery);
