(function(e){document.write("<style type='text/css'>.noscript{display:none}</style>");var f="galleriffic-1.0";var g=0;var c=[];var b=[];var p;var m;var o;var l=false;var u=false;var v=false;function a(x){if(!x){return -1}x=x.replace(/^.*#/,"");if(isNaN(x)){return -1}return(+x)}function w(){var x=location.hash;return a(x)}function h(x){c.push(x);g+=x.data.length}function s(y){for(i=0;i<c.length;i++){var x=c[i];if(y<(x.data.length+x.offset)){return x}}return 0}function t(x,y){return y-x.offset}function n(B,z,y){z.pause();if(!z.settings.enableHistory){var A=a(y.href);if(A>=0){var x=t(z,A);if(x>=0){z.f_goto(x)}}B.preventDefault()}}function j(){var z=w();if(z<0){return}var y=s(z);if(!y){return}var x=z-y.offset;y.f_goto(x)}function q(){if(v){return}v=true;var x=location.hash;p=x;if(e.browser.msie){if(p==""){p="#"}}else{if(e.browser.safari){m=[];m.length=history.length;o=[];l=true}}setInterval(function(){d()},100)}function r(x){m.push(x);o.length=0;l=true}function d(){if(e.browser.safari){if(!u){var y=history.length-m.length;if(y){l=false;if(y<0){for(var x=0;x<Math.abs(y);x++){o.unshift(m.pop())}}else{for(var x=0;x<y;x++){m.push(o.shift())}}var z=m[m.length-1];if(z!=undefined){p=location.hash;j()}}else{if(m[m.length-1]==undefined&&!l){j();l=true}}}}else{var A=location.hash;if(A!=p){p=A;j()}}}var k={delay:3000,numThumbs:20,preloadAhead:40,enableTopPager:false,enableBottomPager:true,imageContainerSel:"",captionContainerSel:"",controlsContainerSel:"",loadingContainerSel:"",renderSSControls:true,renderNavControls:true,playLinkText:"Play",pauseLinkText:"Pause",prevLinkText:"Previous",nextLinkText:"Next",nextPageLinkText:"Next &rsaquo;",prevPageLinkText:"&lsaquo; Prev",enableHistory:false,autoStart:false,onChange:undefined,onTransitionOut:undefined,onTransitionIn:undefined,onPageTransitionOut:undefined,onPageTransitionIn:undefined};e.fn.galleriffic=function(y,z){e.extend(this,{ver:function(){return f},initializeThumbs:function(){this.data=[];var E=this;this.$thumbsContainer.find("ul.thumbs > li").each(function(G){var I=e(this);var F=I.find("a.thumb");var H=E.offset+G;E.data.push({title:F.attr("title"),slideUrl:F.attr("href"),caption:I.find(".caption").remove(),hash:H});F.attr("rel","history");F.attr("href","#"+H);F.click(function(J){n(J,E,this)})});return this},isPreloadComplete:false,preloadInit:function(){if(this.settings.preloadAhead==0){return this}this.preloadStartIndex=this.currentIndex;var E=this.getNextIndex(this.preloadStartIndex);return this.preloadRecursive(this.preloadStartIndex,E)},preloadRelocate:function(E){this.preloadStartIndex=E;return this},preloadRecursive:function(K,F){if(K!=this.preloadStartIndex){var E=this.getNextIndex(this.preloadStartIndex);return this.preloadRecursive(this.preloadStartIndex,E)}var H=this;var G=F-K;if(G<0){G=this.data.length-1-K+F}if(this.settings.preloadAhead>=0&&G>this.settings.preloadAhead){setTimeout(function(){H.preloadRecursive(K,F)},500);return this}var J=this.data[F];if(!J){return this}if(J.image){return this.preloadNext(K,F)}var I=new Image();I.onload=function(){J.image=this;H.preloadNext(K,F)};I.alt=J.title;I.src=J.slideUrl;return this},preloadNext:function(H,F){var E=this.getNextIndex(F);if(E==H){this.isPreloadComplete=true}else{var G=this;setTimeout(function(){G.preloadRecursive(H,E)},100)}return this},getNextIndex:function(F){var E=F+1;if(E>=this.data.length){E=0}return E},getPrevIndex:function(F){var E=F-1;if(E<0){E=this.data.length-1}return E},pause:function(){if(this.interval){this.toggleSlideshow()}return this},play:function(){if(!this.interval){this.toggleSlideshow()}return this},toggleSlideshow:function(){if(this.interval){clearInterval(this.interval);this.interval=0;if(this.$controlsContainer){this.$controlsContainer.find("div.ss-controls a").removeClass().addClass("play").attr("title",this.settings.playLinkText).attr("href","#play").html(this.settings.playLinkText)}}else{this.ssAdvance();var E=this;this.interval=setInterval(function(){E.ssAdvance()},this.settings.delay);if(this.$controlsContainer){this.$controlsContainer.find("div.ss-controls a").removeClass().addClass("pause").attr("title",this.settings.pauseLinkText).attr("href","#pause").html(this.settings.pauseLinkText)}}return this},ssAdvance:function(){var E=this.getNextIndex(this.currentIndex);var F=this.data[E].hash;if(this.settings.enableHistory){location.href="#"+F}else{this.f_goto(E)}return this},f_goto:function(E){if(E<0){E=0}else{if(E>=this.data.length){E=this.data.length-1}}if(this.settings.onChange){this.settings.onChange(this.currentIndex,E)}this.currentIndex=E;this.preloadRelocate(E);return this.refresh()},refresh:function(){var H=this.data[this.currentIndex];if(!H){return this}var I=true;var E=this;var G=function(){I=false;if(E.$controlsContainer){E.$controlsContainer.find("div.nav-controls a.prev").attr("href","#"+E.data[E.getPrevIndex(E.currentIndex)].hash).end().find("div.nav-controls a.next").attr("href","#"+E.data[E.getNextIndex(E.currentIndex)].hash)}var J=E.data[E.currentIndex];if(E.$captionContainer){E.$captionContainer.empty().append(J.caption)}if(J.image){E.buildImage(J.image)}else{if(E.$loadingContainer){E.$loadingContainer.show()}}};if(this.settings.onTransitionOut){this.settings.onTransitionOut(G)}else{this.$transitionContainers.hide();G()}if(!H.image){var F=new Image();F.onload=function(){H.image=this;if(!I){E.buildImage(H.image)}};F.alt=H.title;F.src=H.slideUrl}this.relocatePreload=true;return this.syncThumbs()},buildImage:function(G){if(this.$imageContainer){this.$imageContainer.empty();var F=this;var E=this.getNextIndex(this.currentIndex);if(this.$loadingContainer){this.$loadingContainer.hide()}this.$imageContainer.append('<span class="image-wrapper"><a class="advance-link" rel="history" href="#'+this.data[E].hash+'" title="'+G.alt+'"></a></span>').find("a").append(G).click(function(H){n(H,F,this)})}if(this.settings.onTransitionIn){this.settings.onTransitionIn()}else{this.$transitionContainers.show()}return this},syncThumbs:function(){if(this.$thumbsContainer){var F=Math.floor(this.currentIndex/this.settings.numThumbs);if(F!=this.currentPage){this.currentPage=F;this.updateThumbs()}var E=this.$thumbsContainer.find("ul.thumbs").children();E.filter(".selected").removeClass("selected");E.eq(this.currentIndex).addClass("selected")}return this},updateThumbs:function(){var E=this;var F=function(){E.rebuildThumbs();if(E.settings.onPageTransitionIn){E.settings.onPageTransitionIn()}else{E.$thumbsContainer.show()}};if(this.settings.onPageTransitionOut){this.settings.onPageTransitionOut(F)}else{this.$thumbsContainer.hide();F()}return this},rebuildThumbs:function(){if(this.currentPage<0){this.currentPage=0}var G=this.data.length>this.settings.numThumbs;var I=this.$thumbsContainer.find("div.top");if(I.length==0){I=this.$thumbsContainer.prepend('<div class="top pagination"></div>').find("div.top")}if(G&&this.settings.enableTopPager){I.empty();this.buildPager(I)}if(G&&this.settings.enableBottomPager){var E=this.$thumbsContainer.find("div.bottom");if(E.length==0){E=this.$thumbsContainer.append('<div class="bottom pagination"></div>').find("div.bottom")}else{E.empty()}this.buildPager(E)}var J=this.currentPage*this.settings.numThumbs;var F=J+this.settings.numThumbs-1;if(F>=this.data.length){F=this.data.length-1}var H=this.$thumbsContainer.find("ul.thumbs");H.find("li").each(function(K){var L=e(this);if(K>=J&&K<=F){L.show()}else{L.hide()}});H.removeClass("noscript");return this},buildPager:function(G){var I=this;var K=this.currentPage*this.settings.numThumbs;if(this.currentPage>0){var H=K-this.settings.numThumbs;G.append('<a rel="history" href="#'+this.data[H].hash+'" title="'+this.settings.prevPageLinkText+'">'+this.settings.prevPageLinkText+"</a>")}for(i=this.currentPage-3;i<=this.currentPage+3;i++){var E=i+1;if(i==this.currentPage){G.append('<span class="current">'+E+"</span>")}else{if(i>=0&&i<this.numPages){var J=i*this.settings.numThumbs;G.append('<a rel="history" href="#'+this.data[J].hash+'" title="'+E+'">'+E+"</a>")}}}var F=K+this.settings.numThumbs;if(F<this.data.length){G.append('<a rel="history" href="#'+this.data[F].hash+'" title="'+this.settings.nextPageLinkText+'">'+this.settings.nextPageLinkText+"</a>")}G.find("a").click(function(L){n(L,I,this)});return this}});this.settings=e.extend({},k,z);if(this.interval){clearInterval(this.interval)}this.interval=0;if(this.settings.imageContainerSel){this.$imageContainer=e(this.settings.imageContainerSel)}if(this.settings.captionContainerSel){this.$captionContainer=e(this.settings.captionContainerSel)}if(this.settings.loadingContainerSel){this.$loadingContainer=e(this.settings.loadingContainerSel)}this.$transitionContainers=e([]);if(this.$imageContainer){this.$transitionContainers=this.$transitionContainers.add(this.$imageContainer)}if(this.$captionContainer){this.$transitionContainers=this.$transitionContainers.add(this.$captionContainer)}this.offset=g;this.$thumbsContainer=e(y);this.initializeThumbs();h(this);this.numPages=Math.ceil(this.data.length/this.settings.numThumbs);this.currentPage=-1;this.currentIndex=0;var A=this;if(this.$loadingContainer){this.$loadingContainer.hide()}if(this.settings.controlsContainerSel){this.$controlsContainer=e(this.settings.controlsContainerSel).empty();if(this.settings.renderSSControls){if(this.settings.autoStart){this.$controlsContainer.append('<div class="ss-controls"><a href="#pause" class="pause" title="'+this.settings.pauseLinkText+'">'+this.settings.pauseLinkText+"</a></div>")}else{this.$controlsContainer.append('<div class="ss-controls"><a href="#play" class="play" title="'+this.settings.playLinkText+'">'+this.settings.playLinkText+"</a></div>")}this.$controlsContainer.find("div.ss-controls a").click(function(E){A.toggleSlideshow();E.preventDefault();return false})}if(this.settings.renderNavControls){var C=this.$controlsContainer.append('<div class="nav-controls"><a class="prev" rel="history" title="'+this.settings.prevLinkText+'">'+this.settings.prevLinkText+'</a><a class="next" rel="history" title="'+this.settings.nextLinkText+'">'+this.settings.nextLinkText+"</a></div>").find("div.nav-controls a").click(function(E){n(E,A,this)})}}q();var B=w();var D=(B>=0)?s(B):0;var x=(D&&this==D)?(B-this.offset):0;this.f_goto(x);if(this.settings.autoStart){setTimeout(function(){A.play()},this.settings.delay)}setTimeout(function(){A.preloadInit()},1000);return this}})(jQuery);