(function(A){A.fn.filmstrip=function(B){var C=A.extend(A.fn.filmstrip.defaults,B);return this.each(function(){var J=0;var M=0;var O=A(this).find("ul li a");var G=[];var T=A(this).find("#caption");var S=A(this).find("#title");var I=A(this).find("#loading");var Q=[];var N=A(this).find("#target");var H=A(this).find("#prev");var K=A(this).find("#next");E();P();F(J);O.each(function(U){Q[U]=new Image();Q[U].width=C.thumbWidth;Q[U].height=C.thumbHeight;if(U<C.preloadCount){Q[U].src=this.href;if(C.filmstripMode){G[U]=true}}else{if(C.filmstripMode){A(this).hide();G[U]=false}}A(Q[U]).load(function(){I.fadeOut("slow");A(O[U]).data("loaded",true)});A(this).click(function(){var V=A.inArray(this,O);if(V!=J){R(J);J=V;F(J);D()}return false});A(this).mouseover(function(){A(this).find("img").addClass(C.thumbBorderSelectedCssClass)});A(this).mouseout(function(){if(J!=A.inArray(this,O)){A(this).find("img").removeClass(C.thumbBorderSelectedCssClass)}})});H.click(function(U){A(this).attr("disabled","disabled");if(M-1>=0&&C.filmstripMode){if(M-1+C.preloadCount<O.length){A(O[M+C.preloadCount-1]).fadeOut("slow",function(){A(O[M-1]).show("slow");G[M+C.preloadCount-1]=false;M--;G[M]=true})}else{A(this).attr("disabled","disabled");A(O[--M]).show("slow");G[M]=true}}if(J-1>=0){R(J);F(--J);D()}A(this).removeAttr("disabled");return false});K.click(function(U){if(M+C.preloadCount<O.length&&C.filmstripMode){A(this).attr("disabled","disabled");A(O[M]).fadeOut("slow",function(){A(O[M+C.preloadCount]).show();G[M]=false;G[M+C.preloadCount]=true;M++;K.removeAttr("disabled")})}if(J+1<O.length){R(J);F(++J);if(!A(O[J]).data("loaded")){I.show()}D()}return false});function E(){T.text(J+1+" of "+A(O).length+(A(O).length==1?" Photo":" Photos"))}function P(){S.html(A(O[J]).find("img").attr("title"))}function L(){A(O).each(function(U){if(U>=J&&U<J+C.preloadCount){A(this).fadeIn(800)}else{A(this).fadeOut(800)}})}function D(){N.hide();N.attr("src",A(Q[J]).attr("src",A(O[J]).attr("href")).attr("src"));N.fadeIn("slow");E();P()}function F(U){A(O[U]).find("img").addClass(C.thumbBorderSelectedCssClass)}function R(U){A(O[U]).find("img").removeClass(C.thumbBorderSelectedCssClass)}})};A.fn.filmstrip.defaults={preloadCount:3,targetWidth:350,targetHeight:250,thumbWidth:100,thumbHeight:71,thumbBorderSelectedCssClass:"selected",filmstripMode:true}})(jQuery);