/*! * Lightbox v2.10.0 * by Lokesh Dhakar * * More info: * http://lokeshdhakar.com/projects/lightbox2/ * * Copyright 2007, 2018 Lokesh Dhakar * Released under the MIT license * https://github.com/lokesh/lightbox2/blob/master/LICENSE * * @preserve */ (function(t,i){if(typeof define==="function"&&define.amd){define(["jquery"],i)}else if(typeof exports==="object"){module.exports=i(require("jquery"))}else{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)}i.defaults={albumLabel:"Image %1 of %2",alwaysShowNavOnTouchDevices:false,fadeDuration:600,fitImagesInViewport:true,imageFadeDuration:600,positionFromTop:50,resizeDuration:700,showImageNumberLabel:true,wrapAround:false,disableScrolling:false,sanitizeTitle:false};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){i.start(t(e.currentTarget));return false})};i.prototype.build=function(){if(t("#lightbox").length>0){return}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(){i.end();return false});this.$lightbox.hide().on("click",function(e){if(t(e.target).attr("id")==="lightbox"){i.end()}return false});this.$outerContainer.on("click",function(e){if(t(e.target).attr("id")==="lightbox"){i.end()}return false});this.$lightbox.find(".lb-prev").on("click",function(){if(i.currentImageIndex===0){i.changeImage(i.album.length-1)}else{i.changeImage(i.currentImageIndex-1)}return false});this.$lightbox.find(".lb-next").on("click",function(){if(i.currentImageIndex===i.album.length-1){i.changeImage(0)}else{i.changeImage(i.currentImageIndex+1)}return false});this.$nav.on("mousedown",function(t){if(t.which===3){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(){i.end();return false})};i.prototype.start=function(i){var e=this;var a=t(window);a.on("resize",t.proxy(this.sizeOverlay,this));t("select, object, embed").css({visibility:"hidden"});this.sizeOverlay();this.album=[];var n=0;function o(t){e.album.push({alt:t.attr("data-alt"),link:t.attr("href"),title:t.attr("data-title")||t.attr("title")})}var s=i.attr("data-lightbox");var r;if(s){r=t(i.prop("tagName")+'[data-lightbox="'+s+'"]');for(var h=0;hl||n.height>h){if(n.width/l>n.height/h){r=l;s=parseInt(n.height/(n.width/r),10);a.width(r);a.height(s)}else{s=h;r=parseInt(n.width/(n.height/s),10);a.width(r);a.height(s)}}}e.sizeContainer(a.width(),a.height())};n.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){var e=this;var a=this.$outerContainer.outerWidth();var n=this.$outerContainer.outerHeight();var o=t+this.containerPadding.left+this.containerPadding.right+this.imageBorderWidth.left+this.imageBorderWidth.right;var s=i+this.containerPadding.top+this.containerPadding.bottom+this.imageBorderWidth.top+this.imageBorderWidth.bottom;function r(){e.$lightbox.find(".lb-dataContainer").width(o);e.$lightbox.find(".lb-prevLink").height(s);e.$lightbox.find(".lb-nextLink").height(s);e.showImage()}if(a!==o||n!==s){this.$outerContainer.animate({width:o,height:s},this.options.resizeDuration,"swing",function(){r()})}else{r()}};i.prototype.showImage=function(){this.$lightbox.find(".lb-loader").stop(true).hide();this.$lightbox.find(".lb-image").fadeIn(this.options.imageFadeDuration);this.updateNav();this.updateDetails();this.preloadNeighboringImages();this.enableKeyboardNav()};i.prototype.updateNav=function(){var t=false;try{document.createEvent("TouchEvent");t=this.options.alwaysShowNavOnTouchDevices?true:false}catch(t){}this.$lightbox.find(".lb-nav").show();if(this.album.length>1){if(this.options.wrapAround){if(t){this.$lightbox.find(".lb-prev, .lb-next").css("opacity","1")}this.$lightbox.find(".lb-prev, .lb-next").show()}else{if(this.currentImageIndex>0){this.$lightbox.find(".lb-prev").show();if(t){this.$lightbox.find(".lb-prev").css("opacity","1")}}if(this.currentImageIndex1&&this.options.showImageNumberLabel){var a=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.$lightbox.find(".lb-number").text(a).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(){if(this.album.length>this.currentImageIndex+1){var t=new Image;t.src=this.album[this.currentImageIndex+1].link}if(this.currentImageIndex>0){var i=new Image;i.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=27;var e=37;var a=39;var n=t.keyCode;var o=String.fromCharCode(n).toLowerCase();if(n===i||o.match(/x|o|c/)){this.end()}else if(o==="p"||n===e){if(this.currentImageIndex!==0){this.changeImage(this.currentImageIndex-1)}else if(this.options.wrapAround&&this.album.length>1){this.changeImage(this.album.length-1)}}else if(o==="n"||n===a){if(this.currentImageIndex!==this.album.length-1){this.changeImage(this.currentImageIndex+1)}else if(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"});if(this.options.disableScrolling){t("html").removeClass("lb-disable-scrolling")}};return new i});