$.fn.infiniteCarousel=function(){function a(a,b){return(new Array(b+1)).join(a)}return this.each(function(){function j(a){var c=a<h?-1:1,d=Math.abs(h-a),e=f*c*g*d;b.filter(":not(:animated)").animate({scrollLeft:"+="+e},500,function(){if(a==0){b.scrollLeft(f*g*i);a=i}else if(a>i){b.scrollLeft(f*g);a=1}h=a});return false}var b=$("> div",this).css("overflow","hidden"),c=b.find("> ul"),d=c.find("> li"),e=d.filter(":first"),f=e.outerWidth(),g=Math.ceil(b.innerWidth()/f),h=1,i=Math.ceil(d.length/g);if(d.length%g!=0){c.append(a('<li class="empty" />',g-d.length%g));d=c.find("> li")}d.filter(":first").before(d.slice(-g).clone().addClass("cloned"));d.filter(":last").after(d.slice(0,g).clone().addClass("cloned"));d=c.find("> li");b.scrollLeft(f*g);b.after('<a class="arrow back"></a><a class="arrow forward"></a>');$("a.back",this).click(function(){return j(h-1)});$("a.forward",this).click(function(){return j(h+1)});$(this).bind("goto",function(a,b){j(b)})})}
