(function(d){var b={};var a=0;d.galleriffic={version:"2.0.1",normalizeHash:function(e){return e.replace(/^.*#/,"").replace(/\?.*$/,"");},getImage:function(e){if(!e){return undefined;}e=d.galleriffic.normalizeHash(e);return b[e];},gotoImage:function(g){var e=d.galleriffic.getImage(g);if(!e){return false;}var f=e.gallery;f.gotoImage(e);return true;},removeImageByHash:function(g,h){var e=d.galleriffic.getImage(g);if(!e){return false;}var f=e.gallery;if(h&&h!=f){return false;}return f.removeImageByIndex(e.index);}};var c={delay:3000,numThumbs:20,preloadAhead:40,enableTopPager:false,enableBottomPager:false,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:true,defaultTransitionDuration:1000,onSlideChange:undefined,onTransitionOut:undefined,onTransitionIn:undefined,onPageTransitionOut:undefined,onPageTransitionIn:undefined,onImageAdded:undefined,onImageRemoved:undefined,onComplete:undefined};d.fn.galleriffic=function(g){d.extend(this,{version:d.galleriffic.version,isSlideshowRunning:false,slideshowTimeout:undefined,isNavEnabled:true,isInitCompleted:false,clickHandler:function(m,k){if(!this.isNavEnabled){return false;}this.pause();if(!this.enableHistory){var l=d.galleriffic.normalizeHash(d(k).attr("href"));d.galleriffic.gotoImage(l);m.preventDefault();}return false;},appendImage:function(k){this.addImage(k,false,false);return this;},insertImage:function(l,k){this.addImage(l,false,true,k);return this;},addImage:function(t,q,r,v){var o=(typeof t==="string")?d(t):t;var k=o.attr("class")!=null&&o.attr("class").indexOf("placeholder")>-1;var n=o.find("a.thumb");var w=n.attr("class");var s=n.attr("href");var p=n.attr("title");var x=o.find(".caption").remove();var m=n.attr("name");a++;if(!m||b[""+m]){m=a;}if(!r){v=this.data.length;}var u={title:p,slideUrl:s,caption:x,hash:m,gallery:this,index:v,placeholder:k};if(r){this.data.splice(v,0,u);this.updateIndices(v);}else{this.data.push(u);}var l=this;if(!q){this.updateThumbs(function(){var y=l.find("ul.thumbs");if(r){y.children(":eq("+v+")").before(o);}else{y.append(o);}if(l.onImageAdded){l.onImageAdded(u,o);}});}b[""+m]=u;if(w){w=w.replace(/thumb/g,"").trim();}n.attr("rel","history").attr("href","#"+m).removeAttr("name").click(function(y){l.clickHandler(y,this);}).attr("class",w);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 d.galleriffic.removeImageByHash(k,this);},removeImage:function(l){var k=l.index;this.data.splice(k,1);delete b[""+l.hash];this.updateThumbs(function(){var m=e.find("ul.thumbs").children(":eq("+k+")").remove();if(e.onImageRemoved){e.onImageRemoved(l,m);}});this.updateIndices(k);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(d(this),true,false);});if(k.data==null||k.data.length==1){k.isNavEnabled=false;return this;}if(k.data.length==2){for(i=0;i<k.data.length;i++){if(k.data[i].placeholder){k.isNavEnabled=false;break;}}}return this;},isPreloadComplete:false,preloadInit:function(){if(this.preloadAhead==0){return this;}this.preloadStartIndex=this.currentImage.index;var k=this.getNextIndex(this.preloadStartIndex);this.preloadRecursive(this.preloadStartIndex,k);if(e.onComplete){e.onComplete();}return this;},preloadRelocate:function(k){this.preloadStartIndex=k;return this;},preloadRecursive:function(r,k){if(r!=this.preloadStartIndex){var q=this.getNextIndex(this.preloadStartIndex);return this.preloadRecursive(this.preloadStartIndex,q);}var o=this;var m=k-r;if(m<0){m=this.data.length-1-r+k;}if(this.preloadAhead>=0&&m>this.preloadAhead){setTimeout(function(){o.preloadRecursive(r,k);},500);return this;}var p=this.data[k];if(!p){return this;}if(p.image){return this.preloadNext(r,k);}var l=new Image();var n=function(){p.image=l;o.preloadNext(r,k);};if(l.addEventListener){l.addEventListener("load",n,false);}else{if(l.attachEvent){l.attachEvent("onload",n);}else{l.onload=n;}}l.alt=p.title;l.src=p.slideUrl;return this;},preloadNext:function(k,l){var n=this.getNextIndex(l);if(n==k){this.isPreloadComplete=true;}else{var m=this;setTimeout(function(){m.preloadRecursive(k,n);},100);}return this;},getNextIndex:function(k){var l=k+1;if(l>=this.data.length){l=0;}if(this.data[l].placeholder){l=l+1;if(l>=this.data.length){l=0;}}return l;},getPrevIndex:function(l){var k=l-1;if(k<0){k=this.data.length-1;}if(this.data[k].placeholder){k=k-1;}return k;},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(k,l){this.gotoIndex(this.getNextIndex(this.currentImage.index),k,l);return this;},previous:function(k,l){this.gotoIndex(this.getPrevIndex(this.currentImage.index),k,l);return this;},nextPage:function(o,m){var l=this.getCurrentPage();var n=this.getNumPages()-1;if(l<n){var p=l*this.numThumbs;var k=p+this.numThumbs;this.gotoIndex(k,o,m);}return this;},previousPage:function(o,l){var m=this.getCurrentPage();if(m>0){var k=m*this.numThumbs;var n=k-this.numThumbs;this.gotoIndex(n,o,l);}return this;},gotoIndex:function(m,n,l){if(!n){this.pause();}if(m<0){m=0;}else{if(m>=this.data.length){m=this.data.length-1;}}var k=this.data[m];if(!l&&this.enableHistory){d.historyLoad(String(k.hash));}else{this.gotoImage(k);}return this;},gotoImage:function(l){var k=l.index;if(this.onSlideChange){this.onSlideChange(this.currentImage.index,k);}this.currentImage=l;this.preloadRelocate(k);this.refresh();return this;},getDefaultTransitionDuration:function(k){if(k){return this.defaultTransitionDuration;}return this.defaultTransitionDuration/2;},refresh:function(){var r=this.currentImage;if(!r){return this;}var m=r.index;if(r.placeholder){if(this.data.length==1){return this;}this.next(true,false);}if(this.$controlsContainer){this.$controlsContainer.find("div.nav-controls a.prev").attr("href","#"+this.data[this.getPrevIndex(m)].hash).end().find("div.nav-controls a.next").attr("href","#"+this.data[this.getNextIndex(m)].hash);}var n=this.$imageContainer.find("span.current").addClass("previous").removeClass("current");var s=0;if(this.$captionContainer){s=this.$captionContainer.find("span.current").addClass("previous").removeClass("current");}var p=this.syncTransitions&&r.image;var k=true;var q=this;var t=function(){k=false;n.remove();if(s){s.remove();}if(!p){if(r.image&&r.hash==q.data[q.currentImage.index].hash){q.buildImage(r,p);}else{if(q.$loadingContainer){q.$loadingContainer.show();}}}};if(n.length==0){t();}else{if(this.onTransitionOut){this.onTransitionOut(n,s,p,t);}else{n.fadeTo(this.getDefaultTransitionDuration(p),0,t);if(s){s.fadeTo(this.getDefaultTransitionDuration(p),0);}}}if(p){this.buildImage(r,p);}if(!r.image){var o=new Image();var l=function(){r.image=o;if(!k&&r.hash==q.data[q.currentImage.index].hash){q.buildImage(r,p);}};if(o.addEventListener){o.addEventListener("load",l,false);}else{if(o.attachEvent){o.attachEvent("onload",l);}else{o.onload=l;}}o.alt=r.title;o.src=r.slideUrl;}this.relocatePreload=true;return this.syncThumbs();},buildImage:function(o,q){var s=this;var t=this.getNextIndex(o.index);this.$imageContainer.empty();if(this.data[t].placeholder){if(this.data.length==1){return this;}t=this.getNextIndex(t);}var m=this.$imageContainer.append('<span class="image-wrapper current"></span>').find("span.current").css("opacity","0");var l=o.image;if(this.galleryImageWidthMax>0&&this.galleryImageHeightMax>0){if(this.scaleUpImage||l.width>this.galleryImageWidthMax||l.height>this.galleryImageHeightMax){var p=l.width/this.galleryImageWidthMax;var r=l.height/this.galleryImageHeightMax;var k=Math.max(p,r);l.width=l.width/k;l.height=l.height/k;}}m.append(l);var n=0;if(this.$captionContainer){n=this.$captionContainer.empty().append('<span class="image-caption current"></span>').find("span.current").append(o.caption);}if(this.$loadingContainer){this.$loadingContainer.hide();}if(this.onTransitionIn){this.onTransitionIn(m,n,q);}else{m.fadeTo(this.getDefaultTransitionDuration(q),1);if(n){n.fadeTo(this.getDefaultTransitionDuration(q),1);}}if(this.isSlideshowRunning){if(this.slideshowTimeout){clearTimeout(this.slideshowTimeout);}this.slideshowTimeout=setTimeout(function(){s.ssAdvance();},this.delay);}this.isInitCompleted=true;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").addClass("thumbnail");k.eq(this.currentImage.index).removeClass("thumbnail").addClass("selected");return this;},updateThumbs:function(k){var m=this;var l=function(){if(k){k();}m.rebuildThumbs();if(m.onPageTransitionIn){m.onPageTransitionIn();}else{m.show();}};if(this.onPageTransitionOut){this.onPageTransitionOut(l);}else{this.hide();l();}return this;},rebuildThumbs:function(){var n=this.data.length>this.numThumbs;if(this.enableTopPager){var p=this.find("div.top");if(p.length==0){p=this.prepend('<div class="top pagination"></div>').find("div.top");}else{p.empty();}if(n){this.buildPager(p);}}if(this.enableBottomPager){var m=this.find("div.bottom");if(m.length==0){m=this.append('<div class="bottom pagination"></div>').find("div.bottom");}else{m.empty();}if(n){this.buildPager(m);}}var l=this.getCurrentPage();var q=l*this.numThumbs;var o=q+this.numThumbs-1;if(o>=this.data.length){o=this.data.length-1;}var k=this.find("ul.thumbs");k.find("li").each(function(r){var s=d(this);if(r>=q&&r<=o){s.show();}else{s.hide();}});this.displayedPage=l;k.removeClass("noscript");return this;},getNumPages:function(){return Math.ceil(this.data.length/this.numThumbs);},buildPager:function(p){var r=this;var l=this.getNumPages();var n=this.getCurrentPage();var u=n*this.numThumbs;var k=this.maxPagesToShow-1;var q=n-Math.floor((this.maxPagesToShow-1)/2)+1;if(q>0){var s=l-q;if(s<k){q=q-(k-s);}}if(q<0){q=0;}if(n>0){var m=u-this.numThumbs;p.append('<a rel="history" href="#'+this.data[m].hash+'" title="'+this.prevPageLinkText+'">'+this.prevPageLinkText+"</a>");}if(q>0){this.buildPageLink(p,0,l);if(q>1){p.append('<span class="ellipsis">&hellip;</span>');}k--;}while(k>0){this.buildPageLink(p,q,l);k--;q++;}if(q<l){var o=l-1;if(q<o){p.append('<span class="ellipsis">&hellip;</span>');}this.buildPageLink(p,o,l);}var t=u+this.numThumbs;if(t<this.data.length){p.append('<a rel="history" href="#'+this.data[t].hash+'" title="'+this.nextPageLinkText+'">'+this.nextPageLinkText+"</a>");}p.find("a").click(function(v){r.clickHandler(v,this);});return this;},buildPageLink:function(n,o,l){var k=o+1;var m=this.getCurrentPage();if(o==m){n.append('<span class="current">'+k+"</span>");}else{if(o<l){var p=o*this.numThumbs;n.append('<a rel="history" href="#'+this.data[p].hash+'" title="'+k+'">'+k+"</a>");}}return this;}});d.extend(this,c,g);if(this.enableHistory&&!d.historyInit){this.enableHistory=false;}if(this.imageContainerSel){this.$imageContainer=d(this.imageContainerSel);}if(this.captionContainerSel){this.$captionContainer=d(this.captionContainerSel);}if(this.loadingContainerSel){this.$loadingContainer=d(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=d(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"><div class="prev"><a class="prev" rel="history" title="'+this.prevLinkText+'"><div class="bn"></div></a></div><div class="next"><a class="next" rel="history" title="'+this.nextLinkText+'"><div class="bn"></div></a></div></div>').find("div.nav-controls a").click(function(k){e.clickHandler(k,this);});}}var j=!this.enableHistory||!location.hash;if(this.enableHistory&&location.hash){var h=d.galleriffic.normalizeHash(location.hash);var f=b[h];if(!f){j=true;}}if(j){this.gotoIndex(0,false,true);}if(this.enableKeyboardNavigation){d(document).keydown(function(l){var k=l.charCode?l.charCode:l.keyCode?l.keyCode:0;switch(k){case 37:e.previous();l.preventDefault();break;case 39:e.next();l.preventDefault();break;}});}if(this.autoStart){this.play();}setTimeout(function(){e.preloadInit();},1000);return this;};})(jQuery);
