$.fn.filmStrip=function(){function repeat(str,num){return new Array(num+1).join(str);}
return this.each(function(){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),currentPage=1,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},500,function(){if(page==0){$wrapper.scrollLeft(singleWidth*visible*pages);page=pages;}else if(page>pages){$wrapper.scrollLeft(singleWidth*visible);page=1;}
currentPage=page;});return false;}
$wrapper.after('<a class="sliderPrev">&lt;</a><a class="sliderNext">&gt;</a>');$('a.sliderPrev',this).click(function(){if((currentPage-1)==1)
{$('a.sliderPrev',$('.filmStrip')).hide();$('a.sliderNext',$('.filmStrip')).show();}
return gotoPage(currentPage-1);});$('a.sliderNext',this).click(function(){$('a[class="sliderPrev"]').show();if((currentPage+1)>=pages)
{$('a.sliderNext',$('.filmStrip')).hide();$('a.sliderPrev',$('.filmStrip')).show();}
return gotoPage(currentPage+1);});if(pages==1)
{$('a.sliderPrev, a.sliderNext',$('.filmStrip')).hide();}
if(pages>=2&&currentPage==1)
{$('a.sliderPrev',$('.filmStrip')).hide();}});};
