$.fn.simpleCarousel=function(){var sCarousel=$(this);var sInterval=true;var sIntervalTime=6000;var sTimer,sPause,sPage=1;var $wrapper=$('> div',this).css('overflow','hidden'),$slider=$wrapper.find('> ul'),$items=$slider.find('> li'),$single=$items.filter(':first'),singleWidth=$single.outerWidth(),visible=Math.ceil($wrapper.innerWidth()/singleWidth),pages=Math.ceil($items.length/visible);if(($items.length%visible)!=0){$slider.append(repeat('<li class="empty" />',visible-($items.length%visible)));$items=$slider.find('> li');}
$items.filter(':first').before($items.slice(-visible).clone().addClass('cloned'));$items.filter(':last').after($items.slice(0,visible).clone().addClass('cloned'));$items=$slider.find('> li');$wrapper.scrollLeft(singleWidth*visible);sCarousel.mouseenter(function(){$('.controls').slideDown();}).mouseleave(function(){$('.controls').slideUp();});function repeat(str,num){return new Array(num+1).join(str);}
return this.each(function(){Initialize();});function Initialize(){Move();setEvents();}
function setEvents(){if(sInterval){sCarousel.hover(function(){clearTimeout(sTimer);sPause=true;},function(){sPause=false;setTimer();});}
$('a.prev').click(function(){clearTimeout(sTimer);return gotoPage(sPage-1);});$('a.next').click(function(){clearTimeout(sTimer);return gotoPage(sPage+1);});$('a.pagenum').click(function(){var pagenum=$(this).attr('rel');pagenum=parseInt(pagenum.replace('page',''));return gotoPage(pagenum);});}
function setTimer(){if(sInterval&&!sPause){clearTimeout(sTimer);sTimer=setTimeout(function(){Move();},sIntervalTime);}}
function Move(){gotoPage(sPage+1);}
function gotoPage(page){$('.pagenum').removeClass('active');$('a[rel=page'+page+']').addClass('active');var dir=page<sPage?-1:1,n=Math.abs(sPage-page),left=singleWidth*dir*visible*n;$wrapper.filter(':not(:animated)').animate({scrollLeft:'+='+left},sInterval,function(){if(page==0){$wrapper.scrollLeft(singleWidth*visible*pages);page=pages;}else if(page>pages){$wrapper.scrollLeft(singleWidth*visible);page=1;}
sPage=page;$('.pagenum').removeClass('active');$('a[rel=page'+page+']').addClass('active');});setTimer();return false;}};
