(function(){$.fn.infiniteCarousel=function(){function repeat(str,n){return new Array(n+1).join(str);}return this.each(function(){var $wrapper=$('> div.ic',this).css('overflow','hidden');var $slider=$wrapper.find('> ul').width(9999);var $items=$slider.find('> li');var $single=$items.filter(':first');var singleWidth=$single.outerWidth();var visible=Math.ceil($wrapper.innerWidth()/singleWidth);var currentPage=1;var 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);function gotoPage(page){var dir=page<currentPage?-1:1,n=Math.abs(currentPage-page),left=singleWidth*dir*visible*n;$wrapper.filter(':not(:animated)').animate({scrollLeft:'+='+left},750,function(){if(page>pages){$wrapper.scrollLeft(singleWidth*visible);page=1;}else if(page===0){page=pages;$wrapper.scrollLeft(singleWidth*visible*pages);}currentPage=page;});}$wrapper.after('<a href="#" class="arrow back">&lt;</a><a href="#" class="arrow forward">&gt;</a>');$('a.back',this).click(function(){gotoPage(currentPage+1);return false;});$('a.forward',this).click(function(){gotoPage(currentPage-1);return false;});$(this).bind('goto',function(event,page){gotoPage(page);});$(this).bind('next',function(){gotoPage(currentPage+1);});var self=this;self.enableAutoscrolling=false;self.autoscrolling=true;if(self.enableAutoscrolling){$wrapper.mouseover(function(){self.autoscrolling=false;}).mouseout(function(){self.autoscrolling=true;});setInterval(function(){if(self.autoscrolling){$(self).trigger('next');}},5000);}});};})(jQuery);
