(function(a){var b={};var d=0;a.galleriffic={version:"2.0.1",normalizeHash:function(e){return e.replace(/^.*#/,"").replace(/\?.*$/,"")},getImage:function(e){if(!e){return undefined}e=a.galleriffic.normalizeHash(e);return b[e]},gotoImage:function(f){var g=a.galleriffic.getImage(f);if(!g){return false}var e=g.gallery;e.gotoImage(g);return true},removeImageByHash:function(f,h){var g=a.galleriffic.getImage(f);if(!g){return false}var e=g.gallery;if(h&&h!=e){return false}return e.removeImageByIndex(g.index)}};var c={delay:5000,numThumbs:20,preloadAhead:40,enableTopPager:false,enableBottomPager:true,maxPagesToShow:7,imageContainerSel:"",captionContainerSel:"",controlsContainerSel:"",loadingContainerSel:"",renderSSControls:true,renderNavControls:true,playLinkText:"Play",pauseLinkText:"Pause",prevLinkText:"Previous",nextLinkText:"Next",nextPageLinkText:"Next &rsaquo;",prevPageLinkText:"&lsaquo; Prev",enableHistory:false,enableKeyboardNavigation:true,autoStart:false,syncTransitions:false,defaultTransitionDuration:1000,onSlideChange:undefined,onTransitionOut:undefined,onTransitionIn:undefined,onPageTransitionOut:undefined,onPageTransitionIn:undefined,onImageAdded:undefined,onImageRemoved:undefined};a.fn.galleriffic=function(j){a.extend(this,{version:a.galleriffic.version,isSlideshowRunning:false,slideshowTimeout:undefined,clickHandler:function(k,m){this.pause();if(!this.enableHistory){var l=a.galleriffic.normalizeHash(a(m).attr("href"));a.galleriffic.gotoImage(l);k.preventDefault()}},mouseover:function(k,l){this.pause()},mouseleave:function(){if(d>1){this.play()}},appendImage:function(k){this.addImage(k,false,false);return this},insertImage:function(k,l){this.addImage(k,false,true,l);return this},addImage:function(r,v,q,t){var m=(typeof r==="string")?a(r):r;var k=m.find("a.thumb");var u=k.attr("href");var s=k.attr("navigateUrl");var w=k.attr("title");var l=m.find(".caption").remove();var o=k.attr("name");d++;if(!o||b[""+o]){o=d}if(!q){t=this.data.length}var p={title:w,slideUrl:u,navigateUrl:s,caption:l,hash:o,gallery:this,index:t};if(q){this.data.splice(t,0,p);this.updateIndices(t)}else{this.data.push(p)}var n=this;if(!v){this.updateThumbs(function(){var x=n.find("ul.thumbs");if(q){x.children(":eq("+t+")").before(m)}else{x.append(m)}if(n.onImageAdded){n.onImageAdded(p,m)}})}b[""+o]=p;k.attr("rel","history").attr("href","#"+o).removeAttr("name").click(function(x){n.clickHandler(x,this)});return this},removeImageByIndex:function(l){if(l<0||l>=this.data.length){return false}var k=this.data[l];if(!k){return false}this.removeImage(k);return true},removeImageByHash:function(k){return a.galleriffic.removeImageByHash(k,this)},removeImage:function(k){var l=k.index;this.data.splice(l,1);delete b[""+k.hash];this.updateThumbs(function(){var m=e.find("ul.thumbs").children(":eq("+l+")").remove();if(e.onImageRemoved){e.onImageRemoved(k,m)}});this.updateIndices(l);return this},updateIndices:function(k){for(i=k;i<this.data.length;i++){this.data[i].index=i}return this},initializeThumbs:function(){this.data=[];var k=this;this.find("ul.thumbs > li").each(function(l){k.addImage(a(this),true,false)});return this},isPreloadComplete:false,preloadInit:function(){if(this.preloadAhead==0){return this}this.preloadStartIndex=this.currentImage.index;var k=this.getNextIndex(this.preloadStartIndex);return this.preloadRecursive(this.preloadStartIndex,k)},preloadRelocate:function(k){this.preloadStartIndex=k;return this},preloadRecursive:function(q,k){if(q!=this.preloadStartIndex){var o=this.getNextIndex(this.preloadStartIndex);return this.preloadRecursive(this.preloadStartIndex,o)}var l=this;var p=k-q;if(p<0){p=this.data.length-1-q+k}if(this.preloadAhead>=0&&p>this.preloadAhead){setTimeout(function(){l.preloadRecursive(q,k)},500);return this}var n=this.data[k];if(!n){return this}if(n.image){return this.preloadNext(q,k)}var m=new Image();m.onload=function(){n.image=this;l.preloadNext(q,k)};m.alt=n.title;m.src=n.slideUrl;return this},preloadNext:function(n,k){var m=this.getNextIndex(k);if(m==n){this.isPreloadComplete=true}else{var l=this;setTimeout(function(){l.preloadRecursive(n,m)},100)}return this},getNextIndex:function(k){var l=k+1;if(l>=this.data.length){l=0}return l},getPrevIndex:function(k){var l=k-1;if(l<0){l=this.data.length-1}return l},pause:function(){this.isSlideshowRunning=false;if(this.slideshowTimeout){clearTimeout(this.slideshowTimeout);this.slideshowTimeout=undefined}if(this.$controlsContainer){this.$controlsContainer.find("div.ss-controls a").removeClass().addClass("play").attr("title",this.playLinkText).attr("href","#play").html(this.playLinkText)}return this},play:function(){this.isSlideshowRunning=true;if(this.$controlsContainer){this.$controlsContainer.find("div.ss-controls a").removeClass().addClass("pause").attr("title",this.pauseLinkText).attr("href","#pause").html(this.pauseLinkText)}if(!this.slideshowTimeout){var k=this;this.slideshowTimeout=setTimeout(function(){k.ssAdvance()},this.delay)}return this},toggleSlideshow:function(){if(this.isSlideshowRunning){this.pause()}else{this.play()}return this},ssAdvance:function(){if(this.isSlideshowRunning){this.next(true)}return this},next:function(l,k){this.gotoIndex(this.getNextIndex(this.currentImage.index),l,k);return this},previous:function(l,k){this.gotoIndex(this.getPrevIndex(this.currentImage.index),l,k);return this},nextPage:function(l,k){var o=this.getCurrentPage();var m=this.getNumPages()-1;if(o<m){var p=o*this.numThumbs;var n=p+this.numThumbs;this.gotoIndex(n,l,k)}return this},previousPage:function(l,k){var m=this.getCurrentPage();if(m>0){var o=m*this.numThumbs;var n=o-this.numThumbs;this.gotoIndex(n,l,k)}return this},gotoIndex:function(n,l,k){if(!l){this.pause()}if(n<0){n=0}else{if(n>=this.data.length){n=this.data.length-1}}var m=this.data[n];if(!k&&this.enableHistory){a.historyLoad(String(m.hash))}else{this.gotoImage(m)}return this},gotoImage:function(k){var l=k.index;if(this.onSlideChange){this.onSlideChange(this.currentImage.index,l)}this.currentImage=k;this.preloadRelocate(l);this.refresh();return this},getDefaultTransitionDuration:function(k){if(k){return this.defaultTransitionDuration}return this.defaultTransitionDuration/2},refresh:function(){var m=this.currentImage;if(!m){return this}var n=m.index;if(this.$controlsContainer){this.$controlsContainer.find("div.nav-controls a.prev").attr("href","#"+this.data[this.getPrevIndex(n)].hash).end().find("div.nav-controls a.next").attr("href","#"+this.data[this.getNextIndex(n)].hash)}var r=this.$imageContainer.find("span.current").addClass("previous").removeClass("current");var q=0;if(this.$captionContainer){q=this.$captionContainer.find("span.current").addClass("previous").removeClass("current")}var o=this.syncTransitions&&m.image;var p=true;var k=this;var s=function(){p=false;r.remove();if(q){q.remove()}if(!o){if(m.image&&m.hash==k.data[k.currentImage.index].hash){k.buildImage(m,o)}else{if(k.$loadingContainer){k.$loadingContainer.show()}}}};if(r.length==0){s()}else{if(this.onTransitionOut){this.onTransitionOut(r,q,o,s)}else{r.fadeTo(this.getDefaultTransitionDuration(o),0,s);if(q){q.fadeTo(this.getDefaultTransitionDuration(o),0)}}}if(o){this.buildImage(m,o)}if(!m.image){var l=new Image();l.onload=function(){m.image=this;if(!p&&m.hash==k.data[k.currentImage.index].hash){k.buildImage(m,o)}};l.alt=m.title;l.src=m.slideUrl}this.relocatePreload=true;return this.syncThumbs()},buildImage:function(m,n){var l=this;var q=this.getNextIndex(m.index);var k="default";if(m.navigateUrl!=""&&m.navigateUrl!="javascript:noop();void(0);"){k="pointer"}var p=this.$imageContainer.append('<span class="image-wrapper current"><a class="advance-link" rel="history" style="cursor:'+k+';" href="'+m.navigateUrl+'" title="'+m.title+'">&nbsp;</a></span>').find("span.current").css("opacity","0");p.find("a").append(m.image).mouseover(function(r){l.mouseover(r,this)}).mouseout(function(){l.mouseleave()});var o=0;if(this.$captionContainer){o=this.$captionContainer.append('<span class="image-caption current"></span>').find("span.current").css("opacity","0").append(m.caption)}if(this.$loadingContainer){this.$loadingContainer.hide()}if(this.onTransitionIn){this.onTransitionIn(p,o,n)}else{p.fadeTo(this.getDefaultTransitionDuration(n),1);if(o){o.fadeTo(this.getDefaultTransitionDuration(n),1)}}if(this.isSlideshowRunning){if(this.slideshowTimeout){clearTimeout(this.slideshowTimeout)}this.slideshowTimeout=setTimeout(function(){l.ssAdvance()},this.delay)}return this},getCurrentPage:function(){return Math.floor(this.currentImage.index/this.numThumbs)},syncThumbs:function(){var l=this.getCurrentPage();if(l!=this.displayedPage){this.updateThumbs()}var k=this.find("ul.thumbs").children();k.filter(".selected").removeClass("selected");k.eq(this.currentImage.index).addClass("selected");return this},updateThumbs:function(l){var k=this;var m=function(){if(l){l()}k.rebuildThumbs();if(k.onPageTransitionIn){k.onPageTransitionIn()}else{k.show()}};if(this.onPageTransitionOut){this.onPageTransitionOut(m)}else{this.hide();m()}return this},rebuildThumbs:function(){var n=this.data.length>this.numThumbs;if(this.enableTopPager){var m=this.find("div.top");if(m.length==0){m=this.prepend('<div class="top pagination"></div>').find("div.top")}else{m.empty()}if(n){this.buildPager(m)}}if(this.enableBottomPager){var k=this.find("div.bottom");if(k.length==0){k=this.append('<div class="bottom pagination"></div>').find("div.bottom")}else{k.empty()}if(n){this.buildPager(k)}}var o=this.getCurrentPage();var p=o*this.numThumbs;var q=p+this.numThumbs-1;if(q>=this.data.length){q=this.data.length-1}var l=this.find("ul.thumbs");l.find("li").each(function(s){var r=a(this);if(s>=p&&s<=q){r.show()}else{r.hide()}});this.displayedPage=o;l.removeClass("noscript");return this},getNumPages:function(){return Math.ceil(this.data.length/this.numThumbs)},buildPager:function(q){var k=this;var n=this.getNumPages();var o=this.getCurrentPage();var u=o*this.numThumbs;var r=this.maxPagesToShow-1;var p=o-Math.floor((this.maxPagesToShow-1)/2)+1;if(p>0){var t=n-p;if(t<r){p=p-(r-t)}}if(p<0){p=0}if(o>0){var s=u-this.numThumbs;q.append('<a rel="history" href="#'+this.data[s].hash+'" title="'+this.prevPageLinkText+'">'+this.prevPageLinkText+"</a>")}if(p>0){this.buildPageLink(q,0,n);if(p>1){q.append('<span class="ellipsis">&hellip;</span>')}r--}while(r>0){this.buildPageLink(q,p,n);r--;p++}if(p<n){var l=n-1;if(p<l){q.append('<span class="ellipsis">&hellip;</span>')}this.buildPageLink(q,l,n)}var m=u+this.numThumbs;if(m<this.data.length){q.append('<a rel="history" href="#'+this.data[m].hash+'" title="'+this.nextPageLinkText+'">'+this.nextPageLinkText+"</a>")}q.find("a").click(function(v){k.clickHandler(v,this)});return this},buildPageLink:function(p,o,m){var n=o+1;var k=this.getCurrentPage();if(o==k){p.append('<span class="current">'+n+"</span>")}else{if(o<m){var l=o*this.numThumbs;p.append('<a rel="history" href="#'+this.data[l].hash+'" title="'+n+'">'+n+"</a>")}}return this}});a.extend(this,c,j);if(this.enableHistory&&!a.historyInit){this.enableHistory=false}if(this.imageContainerSel){this.$imageContainer=a(this.imageContainerSel)}if(this.captionContainerSel){this.$captionContainer=a(this.captionContainerSel)}if(this.loadingContainerSel){this.$loadingContainer=a(this.loadingContainerSel)}this.initializeThumbs();if(this.maxPagesToShow<3){this.maxPagesToShow=3}this.displayedPage=-1;this.currentImage=this.data[0];var e=this;if(this.$loadingContainer){this.$loadingContainer.hide()}if(this.controlsContainerSel){this.$controlsContainer=a(this.controlsContainerSel).empty();if(this.renderSSControls){if(this.autoStart){this.$controlsContainer.append('<div class="ss-controls"><a href="#pause" class="pause" title="'+this.pauseLinkText+'">'+this.pauseLinkText+"</a></div>")}else{this.$controlsContainer.append('<div class="ss-controls"><a href="#play" class="play" title="'+this.playLinkText+'">'+this.playLinkText+"</a></div>")}this.$controlsContainer.find("div.ss-controls a").click(function(k){e.toggleSlideshow();k.preventDefault();return false})}if(this.renderNavControls){this.$controlsContainer.append('<div class="nav-controls"><a class="prev" rel="history" title="'+this.prevLinkText+'">'+this.prevLinkText+'</a><a class="next" rel="history" title="'+this.nextLinkText+'">'+this.nextLinkText+"</a></div>").find("div.nav-controls a").click(function(k){e.clickHandler(k,this)})}}var h=!this.enableHistory||!location.hash;if(this.enableHistory&&location.hash){var f=a.galleriffic.normalizeHash(location.hash);var g=b[f];if(!g){h=true}}if(h){this.gotoIndex(0,false,true)}if(this.enableKeyboardNavigation){a(document).keydown(function(k){var l=k.charCode?k.charCode:k.keyCode?k.keyCode:0;switch(l){case 32:e.next();k.preventDefault();break;case 33:e.previousPage();k.preventDefault();break;case 34:e.nextPage();k.preventDefault();break;case 35:e.gotoIndex(e.data.length-1);k.preventDefault();break;case 36:e.gotoIndex(0);k.preventDefault();break;case 37:e.previous();k.preventDefault();break;case 39:e.next();k.preventDefault();break}})}if((this.autoStart)&&(d>1)){this.play()}setTimeout(function(){e.preloadInit()},1000);return this}})(jQuery);

