(function(){var n=jQuery,t=function(){function n(){this.fadeDuration=500;this.fitImagesInViewport=!0;this.resizeDuration=700;this.positionFromTop=50;this.showImageNumberLabel=!0;this.alwaysShowNavOnTouchDevices=!1;this.wrapAround=1}return n.prototype.albumLabel=function(n,t){return"Image "+n+" of "+t},n}(),i=function(){function t(n){this.options=n;this.album=[];this.currentImageIndex=void 0;this.init()}return t.prototype.init=function(){this.enable();this.build()},t.prototype.enable=function(){var t=this;n("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(i){return t.start(n(i.currentTarget)),!1})},t.prototype.build=function(){var t=this;n("<div id='lightboxOverlay' class='lightboxOverlay'><\/div><div id='lightbox' class='lightbox'><div class='lb-outerContainer'><div class='lb-container'><img class='lb-image' src='' /><div class='lb-nav'><a class='lb-prev' href='' ><\/a><a class='lb-next' href='' ><\/a><\/div><div class='lb-loader'><a class='lb-cancel'><\/a><\/div><\/div><\/div><div class='lb-dataContainer'><div class='lb-data'><div class='lb-details'><span class='lb-caption'><\/span><span class='lb-number'><\/span><\/div><div class='lb-closeContainer'><a class='lb-close'><\/a><\/div><\/div><\/div><\/div>").appendTo(n("body"));this.$lightbox=n("#lightbox");this.$overlay=n("#lightboxOverlay");this.$outerContainer=this.$lightbox.find(".lb-outerContainer");this.$container=this.$lightbox.find(".lb-container");this.containerTopPadding=parseInt(this.$container.css("padding-top"),10);this.containerRightPadding=parseInt(this.$container.css("padding-right"),10);this.containerBottomPadding=parseInt(this.$container.css("padding-bottom"),10);this.containerLeftPadding=parseInt(this.$container.css("padding-left"),10);this.$overlay.hide().on("click",function(){return t.end(),!1});this.$lightbox.hide().on("click",function(i){return"lightbox"===n(i.target).attr("id")&&t.end(),!1});this.$outerContainer.on("click",function(i){return"lightbox"===n(i.target).attr("id")&&t.end(),!1});this.$lightbox.find(".lb-prev").on("click",function(){return t.changeImage(0===t.currentImageIndex?t.album.length-1:t.currentImageIndex-1),!1});this.$lightbox.find(".lb-next").on("click",function(){return t.changeImage(t.currentImageIndex===t.album.length-1?0:t.currentImageIndex+1),!1});this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return t.end(),!1})},t.prototype.start=function(t){function e(n){l.album.push({link:n.attr("href"),title:n.attr("data-title")||n.attr("title")})}var l=this,o=n(window),i,f,s,r,u,h,c;if(o.on("resize",n.proxy(this.sizeOverlay,this)),n("select, object, embed").css({visibility:"hidden"}),this.sizeOverlay(),this.album=[],f=0,s=t.attr("data-lightbox"),s)for(i=n(t.prop("tagName")+'[data-lightbox="'+s+'"]'),r=0;r<i.length;r=++r)e(n(i[r])),i[r]===t[0]&&(f=r);else if("lightbox"===t.attr("rel"))e(t);else for(i=n(t.prop("tagName")+'[rel="'+t.attr("rel")+'"]'),u=0;u<i.length;u=++u)e(n(i[u])),i[u]===t[0]&&(f=u);h=o.scrollTop()+this.options.positionFromTop;c=o.scrollLeft();this.$lightbox.css({top:h+"px",left:c+"px"}).fadeIn(this.options.fadeDuration);this.changeImage(f)},t.prototype.changeImage=function(t){var u=this,r,i;this.disableKeyboardNav();r=this.$lightbox.find(".lb-image");this.$overlay.fadeIn(this.options.fadeDuration);n(".lb-loader").fadeIn("slow");this.$lightbox.find(".lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption").hide();this.$outerContainer.addClass("animating");i=new Image;i.onload=function(){var l,f,e,o,s,h,c;r.attr("src",u.album[t].link);l=n(i);r.width(i.width);r.height(i.height);u.options.fitImagesInViewport&&(c=n(window).width(),h=n(window).height(),s=c-u.containerLeftPadding-u.containerRightPadding-20,o=h-u.containerTopPadding-u.containerBottomPadding-120,(i.width>s||i.height>o)&&(i.width/s>i.height/o?(e=s,f=parseInt(i.height/(i.width/e),10),r.width(e),r.height(f)):(f=o,e=parseInt(i.width/(i.height/f),10),r.width(e),r.height(f))));u.sizeContainer(r.width(),r.height())};i.src=this.album[t].link;this.currentImageIndex=t},t.prototype.sizeOverlay=function(){this.$overlay.width(n(window).width()).height(n(document).height())},t.prototype.sizeContainer=function(n,t){function f(){i.$lightbox.find(".lb-dataContainer").width(u);i.$lightbox.find(".lb-prevLink").height(r);i.$lightbox.find(".lb-nextLink").height(r);i.showImage()}var i=this,e=this.$outerContainer.outerWidth(),o=this.$outerContainer.outerHeight(),u=n+this.containerLeftPadding+this.containerRightPadding,r=t+this.containerTopPadding+this.containerBottomPadding;e!==u||o!==r?this.$outerContainer.animate({width:u,height:r},this.options.resizeDuration,"swing",function(){f()}):f()},t.prototype.showImage=function(){this.$lightbox.find(".lb-loader").hide();this.$lightbox.find(".lb-image").fadeIn("slow");this.updateNav();this.updateDetails();this.preloadNeighboringImages();this.enableKeyboardNav()},t.prototype.updateNav=function(){var n=!1;try{document.createEvent("TouchEvent");n=this.options.alwaysShowNavOnTouchDevices?!0:!1}catch(t){}this.$lightbox.find(".lb-nav").show();this.album.length>1&&(this.options.wrapAround?(n&&this.$lightbox.find(".lb-prev, .lb-next").css("opacity","1"),this.$lightbox.find(".lb-prev, .lb-next").show()):(this.currentImageIndex>0&&(this.$lightbox.find(".lb-prev").show(),n&&this.$lightbox.find(".lb-prev").css("opacity","1")),this.currentImageIndex<this.album.length-1&&(this.$lightbox.find(".lb-next").show(),n&&this.$lightbox.find(".lb-next").css("opacity","1"))))},t.prototype.updateDetails=function(){var t=this;"undefined"!=typeof this.album[this.currentImageIndex].title&&""!==this.album[this.currentImageIndex].title&&this.$lightbox.find(".lb-caption").html(this.album[this.currentImageIndex].title).fadeIn("fast").find("a").on("click",function(){location.href=n(this).attr("href")});this.album.length>1&&this.options.showImageNumberLabel?this.$lightbox.find(".lb-number").text(this.options.albumLabel(this.currentImageIndex+1,this.album.length)).fadeIn("fast"):this.$lightbox.find(".lb-number").hide();this.$outerContainer.removeClass("animating");this.$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration,function(){return t.sizeOverlay()})},t.prototype.preloadNeighboringImages=function(){var n,t;this.album.length>this.currentImageIndex+1&&(n=new Image,n.src=this.album[this.currentImageIndex+1].link);this.currentImageIndex>0&&(t=new Image,t.src=this.album[this.currentImageIndex-1].link)},t.prototype.enableKeyboardNav=function(){n(document).on("keyup.keyboard",n.proxy(this.keyboardAction,this))},t.prototype.disableKeyboardNav=function(){n(document).off(".keyboard")},t.prototype.keyboardAction=function(n){var t=n.keyCode,i=String.fromCharCode(t).toLowerCase();t===27||i.match(/x|o|c/)?this.end():"p"===i||t===37?0!==this.currentImageIndex?this.changeImage(this.currentImageIndex-1):this.options.wrapAround&&this.album.length>1&&this.changeImage(this.album.length-1):("n"===i||t===39)&&(this.currentImageIndex!==this.album.length-1?this.changeImage(this.currentImageIndex+1):this.options.wrapAround&&this.album.length>1&&this.changeImage(0))},t.prototype.end=function(){this.disableKeyboardNav();n(window).off("resize",this.sizeOverlay);this.$lightbox.fadeOut(this.options.fadeDuration);this.$overlay.fadeOut(this.options.fadeDuration);n("select, object, embed").css({visibility:"visible"})},t}();n(function(){var n=new t;new i(n)})}).call(this)