You are on page 1of 3

/*!

* Lightbox v2.9.0
* by Lokesh Dhakar
*
* More info:
* http://lokeshdhakar.com/projects/lightbox2/
*
* Copyright 2007, 2015 Lokesh Dhakar
* Released under the MIT license
* https://github.com/lokesh/lightbox2/blob/master/LICENSE
*/
!function(a,b){"function"==typeof define&&define.amd?
define(["jquery"],b):"object"==typeof exports?
module.exports=b(require("jquery")):a.lightbox=b(a.jQuery)}(this,function(a)
{function b(b){this.album=[],this.currentImageIndex=void
0,this.init(),this.options=a.extend({},this.constructor.defaults),this.option(b)}re
turn b.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},b.prototype.option=function(b)
{a.extend(this.options,b)},b.prototype.imageCountLabel=function(a,b){return
this.options.albumLabel.replace(/%1/g,a).replace(/%2/g,b)},b.prototype.init=functio
n(){var b=this;a(document).ready(function()
{b.enable(),b.build()})},b.prototype.enable=function(){var
b=this;a("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-
lightbox], area[data-lightbox]",function(c){return b.start(a(c.currentTarget)),!
1})},b.prototype.build=function(){var b=this;a('<div id="lightboxOverlay"
class="lightboxOverlay"></div><div id="lightbox" class="lightbox"><div class="lb-
outerContainer"><div class="lb-container"><img class="lb-image"
src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEA
Ow==" /><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(a("body")),this.
$lightbox=a("#lightbox"),this.$overlay=a("#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 b.end(),!1}),this.
$lightbox.hide().on("click",function(c)
{return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.
$outerContainer.on("click",function(c)
{return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$lightbox.find(".lb-
prev").on("click",function(){return 0===b.currentImageIndex?
b.changeImage(b.album.length-1):b.changeImage(b.currentImageIndex-1),!1}),this.
$lightbox.find(".lb-next").on("click",function(){return
b.currentImageIndex===b.album.length-1?
b.changeImage(0):b.changeImage(b.currentImageIndex+1),!1}),this.
$nav.on("mousedown",function(a){3===a.which&&(b.$nav.css("pointer-
events","none"),b.$lightbox.one("contextmenu",function(){setTimeout(function()
{this.$nav.css("pointer-events","auto")}.bind(b),0)}))}),this.$lightbox.find(".lb-
loader, .lb-close").on("click",function(){return b.end(),!
1})},b.prototype.start=function(b){function c(a)
{d.album.push({link:a.attr("href"),title:a.attr("data-title")||
a.attr("title")})}var
d=this,e=a(window);e.on("resize",a.proxy(this.sizeOverlay,this)),a("select, object,
embed").css({visibility:"hidden"}),this.sizeOverlay(),this.album=[];var
f,g=0,h=b.attr("data-lightbox");if(h){f=a(b.prop("tagName")+'[data-
lightbox="'+h+'"]');for(var i=0;i<f.length;i=++i)c(a(f[i])),f[i]===b[0]&&(g=i)}else
if("lightbox"===b.attr("rel"))c(b);else{f=a(b.prop("tagName")
+'[rel="'+b.attr("rel")+'"]');for(var j=0;j<f.length;j=+
+j)c(a(f[j])),f[j]===b[0]&&(g=j)}var k=e.scrollTop()
+this.options.positionFromTop,l=e.scrollLeft();this.
$lightbox.css({top:k+"px",left:l+"px"}).fadeIn(this.options.fadeDuration),this.opti
ons.disableScrolling&&a("body").addClass("lb-disable-
scrolling"),this.changeImage(g)},b.prototype.changeImage=function(b){var
c=this;this.disableKeyboardNav();var d=this.$lightbox.find(".lb-image");this.
$overlay.fadeIn(this.options.fadeDuration),a(".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 e=new
Image;e.onload=function(){var
f,g,h,i,j,k,l;d.attr("src",c.album[b].link),f=a(e),d.width(e.width),d.height(e.heig
ht),c.options.fitImagesInViewport&&(l=a(window).width(),k=a(window).height(),j=l-
c.containerPadding.left-c.containerPadding.right-c.imageBorderWidth.left-
c.imageBorderWidth.right-20,i=k-c.containerPadding.top-c.containerPadding.bottom-
c.imageBorderWidth.top-c.imageBorderWidth.bottom-
120,c.options.maxWidth&&c.options.maxWidth<j&&(j=c.options.maxWidth),c.options.maxH
eight&&c.options.maxHeight<j&&(i=c.options.maxHeight),(e.width>j||
e.height>i)&&(e.width/j>e.height/i?(h=j,g=parseInt(e.height/(e.width/
h),10),d.width(h),d.height(g)):(g=i,h=parseInt(e.width/(e.height/
g),10),d.width(h),d.height(g)))),c.sizeContainer(d.width(),d.height())},e.src=this.
album[b].link,this.currentImageIndex=b},b.prototype.sizeOverlay=function(){this.
$overlay.width(a(document).width()).height(a(document).height())},b.prototype.sizeC
ontainer=function(a,b){function c(){d.$lightbox.find(".lb-
dataContainer").width(g),d.$lightbox.find(".lb-prevLink").height(h),d.
$lightbox.find(".lb-nextLink").height(h),d.showImage()}var d=this,e=this.
$outerContainer.outerWidth(),f=this.
$outerContainer.outerHeight(),g=a+this.containerPadding.left+this.containerPadding.
right+this.imageBorderWidth.left+this.imageBorderWidth.right,h=b+this.containerPadd
ing.top+this.containerPadding.bottom+this.imageBorderWidth.top+this.imageBorderWidt
h.bottom;e!==g||f!==h?this.
$outerContainer.animate({width:g,height:h},this.options.resizeDuration,"swing",func
tion(){c()}):c()},b.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()},b.prototype.updateNav=f
unction(){var a=!
1;try{document.createEvent("TouchEvent"),a=this.options.alwaysShowNavOnTouchDevices
?!0:!1}catch(b){}this.$lightbox.find(".lb-
nav").show(),this.album.length>1&&(this.options.wrapAround?(a&&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(),a&&this.$lightbox.find(".lb-
prev").css("opacity","1")),this.currentImageIndex<this.album.length-1&&(this.
$lightbox.find(".lb-next").show(),a&&this.$lightbox.find(".lb-
next").css("opacity","1"))))},b.prototype.updateDetails=function(){var
b=this;if("undefined"!=typeof this.album[this.currentImageIndex].title&&""!
==this.album[this.currentImageIndex].title){var c=this.$lightbox.find(".lb-
caption");this.options.sanitizeTitle?
c.text(this.album[this.currentImageIndex].title):c.html(this.album[this.currentImag
eIndex].title),c.fadeIn("fast").find("a").on("click",function(b){void 0!
==a(this).attr("target")?
window.open(a(this).attr("href"),a(this).attr("target")):location.href=a(this).attr
("href")})}if(this.album.length>1&&this.options.showImageNumberLabel){var
d=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.
$lightbox.find(".lb-number").text(d).fadeIn("fast")}else this.$lightbox.find(".lb-
number").hide();this.$outerContainer.removeClass("animating"),this.
$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration,function()
{return b.sizeOverlay()})},b.prototype.preloadNeighboringImages=function()
{if(this.album.length>this.currentImageIndex+1){var a=new
Image;a.src=this.album[this.currentImageIndex+1].link}if(this.currentImageIndex>0)
{var b=new Image;b.src=this.album[this.currentImageIndex-
1].link}},b.prototype.enableKeyboardNav=function()
{a(document).on("keyup.keyboard",a.proxy(this.keyboardAction,this))},b.prototype.di
sableKeyboardNav=function()
{a(document).off(".keyboard")},b.prototype.keyboardAction=function(a){var
b=27,c=37,d=39,e=a.keyCode,f=String.fromCharCode(e).toLowerCase();e===b||f.match(/
x|o|c/)?this.end():"p"===f||e===c?0!==this.currentImageIndex?
this.changeImage(this.currentImageIndex-
1):this.options.wrapAround&&this.album.length>1&&this.changeImage(this.album.length
-1):("n"===f||e===d)&&(this.currentImageIndex!==this.album.length-1?
this.changeImage(this.currentImageIndex+1):this.options.wrapAround&&this.album.leng
th>1&&this.changeImage(0))},b.prototype.end=function()
{this.disableKeyboardNav(),a(window).off("resize",this.sizeOverlay),this.
$lightbox.fadeOut(this.options.fadeDuration),this.
$overlay.fadeOut(this.options.fadeDuration),a("select, object,
embed").css({visibility:"visible"}),this.options.disableScrolling&&a("body").remove
Class("lb-disable-scrolling")},new b});
//# sourceMappingURL=lightbox.min.map

You might also like