(function(root,factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else if(typeof exports==='object'){module.exports=factory(require('jquery'));}else{root.lightbox=factory(root.jQuery);}}(this,function($){function Lightbox(options){this.album=[];this.currentImageIndex=void 0;this.init();this.options=$.extend({},this.constructor.defaults);this.option(options);}Lightbox.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};Lightbox.prototype.option=function(options){$.extend(this.options,options);};Lightbox.prototype.imageCountLabel=function(currentImageNum,totalImages){return this.options.albumLabel.replace(/%1/g,currentImageNum).replace(/%2/g,totalImages);};Lightbox.prototype.init=function(){var self=this;$(document).ready(function(){self.enable();self.build();});};Lightbox.prototype.enable=function(){var self=this;$('body').on('click','a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]',function(event){self.start($(event.currentTarget));return false;});};Lightbox.prototype.build=function(){var self=this;$('
').appendTo($('body'));this.$lightbox=$('#lightbox');this.$overlay=$('#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(){self.end();return false;});this.$lightbox.hide().on('click',function(event){if($(event.target).attr('id')==='lightbox'){self.end();}return false;});this.$outerContainer.on('click',function(event){if($(event.target).attr('id')==='lightbox'){self.end();}return false;});this.$lightbox.find('.lb-prev').on('click',function(){if(self.currentImageIndex===0){self.changeImage(self.album.length-1);}else{self.changeImage(self.currentImageIndex-1);}return false;});this.$lightbox.find('.lb-next').on('click',function(){if(self.currentImageIndex===self.album.length-1){self.changeImage(0);}else{self.changeImage(self.currentImageIndex+1);}return false;});this.$nav.on('mousedown',function(event){if(event.which===3){self.$nav.css('pointer-events','none');self.$lightbox.one('contextmenu',function(){setTimeout(function(){this.$nav.css('pointer-events','auto');}.bind(self),0);});}});this.$lightbox.find('.lb-loader, .lb-close').on('click',function(){self.end();return false;});};Lightbox.prototype.start=function($link){var self=this;var $window=$(window);$window.on('resize',$.proxy(this.sizeOverlay,this));$('select, object, embed').css({visibility:'hidden'});this.sizeOverlay();this.album=[];var imageNumber=0;function addToAlbum($link){self.album.push({link:$link.attr('href'),title:$link.attr('data-title')||$link.attr('title')});}var dataLightboxValue=$link.attr('data-lightbox');var $links;if(dataLightboxValue){$links=$($link.prop('tagName')+'[data-lightbox="'+dataLightboxValue+'"]');for(var i=0;i<$links.length;i=++i){addToAlbum($($links[i]));if($links[i]===$link[0]){imageNumber=i;}}}else{if($link.attr('rel')==='lightbox'){addToAlbum($link);}else{$links=$($link.prop('tagName')+'[rel="'+$link.attr('rel')+'"]');for(var j=0;j<$links.length;j=++j){addToAlbum($($links[j]));if($links[j]===$link[0]){imageNumber=j;}}}}var top=$window.scrollTop()+this.options.positionFromTop;var left=$window.scrollLeft();this.$lightbox.css({top:top+'px',left:left+'px'}).fadeIn(this.options.fadeDuration);if(this.options.disableScrolling){$('body').addClass('lb-disable-scrolling');}this.changeImage(imageNumber);};Lightbox.prototype.changeImage=function(imageNumber){var self=this;this.disableKeyboardNav();var $image=this.$lightbox.find('.lb-image');this.$overlay.fadeIn(this.options.fadeDuration);$('.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');var preloader=new Image();preloader.onload=function(){var $preloader;var imageHeight;var imageWidth;var maxImageHeight;var maxImageWidth;var windowHeight;var windowWidth;$image.attr('src',self.album[imageNumber].link);$preloader=$(preloader);$image.width(preloader.width);$image.height(preloader.height);if(self.options.fitImagesInViewport){windowWidth=$(window).width();windowHeight=$(window).height();maxImageWidth=windowWidth-self.containerPadding.left-self.containerPadding.right-self.imageBorderWidth.left-self.imageBorderWidth.right-20;maxImageHeight=windowHeight-self.containerPadding.top-self.containerPadding.bottom-self.imageBorderWidth.top-self.imageBorderWidth.bottom-120;if(self.options.maxWidth&&self.options.maxWidth