!function(t,i){"function"==typeof define&&define.amd?define(["jquery"],i):"object"==typeof exports?module.exports=i(require("jquery")):t.lightbox=i(t.jquery)}(this,function(t){function i(i){this.album=[],this.currentimageindex=void 0,this.init(),this.options=t.extend({},this.constructor.defaults),this.option(i)}return i.defaults={albumlabel:"image %1 of %2",alwaysshownavontouchdevices:!1,fadeduration:600,fitimagesinviewport:!0,imagefadeduration:600,positionfromtop:50,resizeduration:700,showimagenumberlabel:!0,wraparound:!1,disablescrolling:!1,sanitizetitle:!1},i.prototype.option=function(i){t.extend(this.options,i)},i.prototype.imagecountlabel=function(t,i){return this.options.albumlabel.replace(/%1/g,t).replace(/%2/g,i)},i.prototype.init=function(){var i=this;t(document).ready(function(){i.enable(),i.build()})},i.prototype.enable=function(){var i=this;t("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(e){return i.start(t(e.currenttarget)),!1})},i.prototype.build=function(){if(!(t("#lightbox").length>0)){var i=this;t('
').appendto(t("body")),this.$lightbox=t("#lightbox"),this.$overlay=t("#lightboxoverlay"),this.$outercontainer=this.$lightbox.find(".lb-outercontainer"),this.$container=this.$lightbox.find(".lb-container"),this.$image=this.$lightbox.find(".lb-image"),this.$nav=this.$lightbox.find(".lb-nav"),this.containerpadding={top:parseint(this.$container.css("padding-top"),10),right:parseint(this.$container.css("padding-right"),10),bottom:parseint(this.$container.css("padding-bottom"),10),left:parseint(this.$container.css("padding-left"),10)},this.imageborderwidth={top:parseint(this.$image.css("border-top-width"),10),right:parseint(this.$image.css("border-right-width"),10),bottom:parseint(this.$image.css("border-bottom-width"),10),left:parseint(this.$image.css("border-left-width"),10)},this.$overlay.hide().on("click",function(){return i.end(),!1}),this.$lightbox.hide().on("click",function(e){return"lightbox"===t(e.target).attr("id")&&i.end(),!1}),this.$outercontainer.on("click",function(e){return"lightbox"===t(e.target).attr("id")&&i.end(),!1}),this.$lightbox.find(".lb-prev").on("click",function(){return 0===i.currentimageindex?i.changeimage(i.album.length-1):i.changeimage(i.currentimageindex-1),!1}),this.$lightbox.find(".lb-next").on("click",function(){return i.currentimageindex===i.album.length-1?i.changeimage(0):i.changeimage(i.currentimageindex+1),!1}),this.$nav.on("mousedown",function(t){3===t.which&&(i.$nav.css("pointer-events","none"),i.$lightbox.one("contextmenu",function(){settimeout(function(){this.$nav.css("pointer-events","auto")}.bind(i),0)}))}),this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return i.end(),!1})}},i.prototype.start=function(i){function e(t){n.album.push({alt:t.attr("data-alt"),link:t.attr("href"),title:t.attr("data-title")||t.attr("title")})}var n=this,a=t(window);a.on("resize",t.proxy(this.sizeoverlay,this)),t("select, object, embed").css({visibility:"hidden"}),this.sizeoverlay(),this.album=[];var o,s=0,r=i.attr("data-lightbox");if(r){o=t(i.prop("tagname")+'[data-lightbox="'+r+'"]');for(var h=0;hh||a.height>r)&&(a.width/h>a.height/r?(s=h,o=parseint(a.height/(a.width/s),10),n.width(s),n.height(o)):(o=r,s=parseint(a.width/(a.height/o),10),n.width(s),n.height(o)))),e.sizecontainer(n.width(),n.height())},a.src=this.album[i].link,this.currentimageindex=i},i.prototype.sizeoverlay=function(){this.$overlay.width(t(document).width()).height(t(document).height())},i.prototype.sizecontainer=function(t,i){function e(){n.$lightbox.find(".lb-datacontainer").width(s),n.$lightbox.find(".lb-prevlink").height(r),n.$lightbox.find(".lb-nextlink").height(r),n.showimage()}var n=this,a=this.$outercontainer.outerwidth(),o=this.$outercontainer.outerheight(),s=t+this.containerpadding.left+this.containerpadding.right+this.imageborderwidth.left+this.imageborderwidth.right,r=i+this.containerpadding.top+this.containerpadding.bottom+this.imageborderwidth.top+this.imageborderwidth.bottom;a!==s||o!==r?this.$outercontainer.animate({width:s,height:r},this.options.resizeduration,"swing",function(){e()}):e()},i.prototype.showimage=function(){this.$lightbox.find(".lb-loader").stop(!0).hide(),this.$lightbox.find(".lb-image").fadein(this.options.imagefadeduration),this.updatenav(),this.updatedetails(),this.preloadneighboringimages(),this.enablekeyboardnav()},i.prototype.updatenav=function(){var t=!1;try{document.createevent("touchevent"),t=!!this.options.alwaysshownavontouchdevices}catch(t){}this.$lightbox.find(".lb-nav").show(),this.album.length>1&&(this.options.wraparound?(t&&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(),t&&this.$lightbox.find(".lb-prev").css("opacity","1")),this.currentimageindex1&&this.options.showimagenumberlabel){var n=this.imagecountlabel(this.currentimageindex+1,this.album.length);this.$lightbox.find(".lb-number").text(n).fadein("fast")}else this.$lightbox.find(".lb-number").hide();this.$outercontainer.removeclass("animating"),this.$lightbox.find(".lb-datacontainer").fadein(this.options.resizeduration,function(){return i.sizeoverlay()})},i.prototype.preloadneighboringimages=function(){this.album.length>this.currentimageindex+1&&((new image).src=this.album[this.currentimageindex+1].link),this.currentimageindex>0&&((new image).src=this.album[this.currentimageindex-1].link)},i.prototype.enablekeyboardnav=function(){t(document).on("keyup.keyboard",t.proxy(this.keyboardaction,this))},i.prototype.disablekeyboardnav=function(){t(document).off(".keyboard")},i.prototype.keyboardaction=function(t){var i=t.keycode,e=string.fromcharcode(i).tolowercase();27===i||e.match(/x|o|c/)?this.end():"p"===e||37===i?0!==this.currentimageindex?this.changeimage(this.currentimageindex-1):this.options.wraparound&&this.album.length>1&&this.changeimage(this.album.length-1):"n"!==e&&39!==i||(this.currentimageindex!==this.album.length-1?this.changeimage(this.currentimageindex+1):this.options.wraparound&&this.album.length>1&&this.changeimage(0))},i.prototype.end=function(){this.disablekeyboardnav(),t(window).off("resize",this.sizeoverlay),this.$lightbox.fadeout(this.options.fadeduration),this.$overlay.fadeout(this.options.fadeduration),t("select, object, embed").css({visibility:"visible"}),this.options.disablescrolling&&t("html").removeclass("lb-disable-scrolling")},new i});