Difference between revisions of "Template:CSU CHINA/JS/lightboxminJS"

(Created page with "(function () { var a = jQuery, b = function () { function a() { this.fadeDuration = 500, this.fitImagesInViewport = !0, this.resizeDuration = 700, this.positionFromTop = 50, t...")
 
 
Line 1: Line 1:
(function () { var a = jQuery, b = function () { function a() { this.fadeDuration = 500, this.fitImagesInViewport = !0, this.resizeDuration = 700, this.positionFromTop = 50, this.showImageNumberLabel = !0, this.alwaysShowNavOnTouchDevices = !1, this.wrapAround = !1 } return a.prototype.albumLabel = function (a, b) { return "Image " + a + " of " + b }, a }(), c = function () { function b(a) { this.options = a, this.album = [], this.currentImageIndex = void 0, this.init() } return b.prototype.init = function () { this.enable(), this.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;
+
/**
 
+
* Lightbox v2.7.1
a("
+
* by Lokesh Dhakar - http://lokeshdhakar.com/projects/lightbox2/
<img class='lb-image' src= />
+
*
<a class='lb-prev' href= ></a><a class='lb-next' href= ></a>
+
* @license http://creativecommons.org/licenses/by/2.5/
<a class='lb-cancel'></a>
+
* - Free for use in both personal and commercial projects
<a class='lb-close'></a>
+
* - Attribution requires leaving author name, author link, and the license info intact
").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.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 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 b.changeImage(0 === b.currentImageIndex ? b.album.length - 1 : b.currentImageIndex - 1), !1 }), this.$lightbox.find(".lb-next").on("click", function () { return b.changeImage(b.currentImageIndex === b.album.length - 1 ? 0 : b.currentImageIndex + 1), !1 }), 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.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.height), c.options.fitImagesInViewport && (l = a(window).width(), k = a(window).height(), j = l - c.containerLeftPadding - c.containerRightPadding - 20, i = k - c.containerTopPadding - c.containerBottomPadding - 120, (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(window).width()).height(a(document).height()) }, b.prototype.sizeContainer = 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.containerLeftPadding + this.containerRightPadding, h = b + this.containerTopPadding + this.containerBottomPadding; e !== g || f !== h ? this.$outerContainer.animate({ width: g, height: h }, this.options.resizeDuration, "swing", function () { c() }) : c() }, b.prototype.showImage = function () { this.$lightbox.find(".lb-loader").hide(), this.$lightbox.find(".lb-image").fadeIn("slow"), this.updateNav(), this.updateDetails(), this.preloadNeighboringImages(), this.enableKeyboardNav() }, b.prototype.updateNav = function () { 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; "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 = a(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 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.disableKeyboardNav = 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.length > 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" }) }, b }(); a(function () { { var a = new b; new c(a) } }) }).call(this);
+
(function () {
 +
var a = jQuery,
 +
b = function () {
 +
function a() {
 +
this.fadeDuration = 500, this.fitImagesInViewport = !0, this.resizeDuration = 700, this.positionFromTop = 50, this.showImageNumberLabel = !0, this.alwaysShowNavOnTouchDevices = !1, this.wrapAround = !1
 +
}
 +
return a.prototype.albumLabel = function (a, b) {
 +
return "Image " + a + " of " + b
 +
}, a
 +
}(),
 +
c = function () {
 +
function b(a) {
 +
this.options = a, this.album = [], this.currentImageIndex = void 0, this.init()
 +
}
 +
return b.prototype.init = function () {
 +
this.enable(), this.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='' /><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.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 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 b.changeImage(0 === b.currentImageIndex ? b.album.length - 1 : b.currentImageIndex - 1), !1
 +
}), this.$lightbox.find(".lb-next").on("click", function () {
 +
return b.changeImage(b.currentImageIndex === b.album.length - 1 ? 0 : b.currentImageIndex + 1), !1
 +
}), 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.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.height), c.options.fitImagesInViewport && (l = a(window).width(), k = a(window).height(), j = l - c.containerLeftPadding - c.containerRightPadding - 20, i = k - c.containerTopPadding - c.containerBottomPadding - 120, (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(window).width()).height(a(document).height())
 +
}, b.prototype.sizeContainer = 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.containerLeftPadding + this.containerRightPadding,
 +
h = b + this.containerTopPadding + this.containerBottomPadding;
 +
e !== g || f !== h ? this.$outerContainer.animate({
 +
width: g,
 +
height: h
 +
}, this.options.resizeDuration, "swing", function () {
 +
c()
 +
}) : c()
 +
}, b.prototype.showImage = function () {
 +
this.$lightbox.find(".lb-loader").hide(), this.$lightbox.find(".lb-image").fadeIn("slow"), this.updateNav(), this.updateDetails(), this.preloadNeighboringImages(), this.enableKeyboardNav()
 +
}, b.prototype.updateNav = function () {
 +
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;
 +
"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 = a(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 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.disableKeyboardNav = 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.length > 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"
 +
})
 +
}, b
 +
}();
 +
a(function () {
 +
{
 +
var a = new b;
 +
new c(a)
 +
}
 +
})
 +
}).call(this);

Latest revision as of 14:58, 21 October 2019

/**

* Lightbox v2.7.1
* by Lokesh Dhakar - http://lokeshdhakar.com/projects/lightbox2/
*
* @license http://creativecommons.org/licenses/by/2.5/
* - Free for use in both personal and commercial projects
* - Attribution requires leaving author name, author link, and the license info intact
*/

(function () { var a = jQuery, b = function () { function a() { this.fadeDuration = 500, this.fitImagesInViewport = !0, this.resizeDuration = 700, this.positionFromTop = 50, this.showImageNumberLabel = !0, this.alwaysShowNavOnTouchDevices = !1, this.wrapAround = !1 } return a.prototype.albumLabel = function (a, b) { return "Image " + a + " of " + b }, a }(), c = function () { function b(a) { this.options = a, this.album = [], this.currentImageIndex = void 0, this.init() } return b.prototype.init = function () { this.enable(), this.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("
").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.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 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 b.changeImage(0 === b.currentImageIndex ? b.album.length - 1 : b.currentImageIndex - 1), !1 }), this.$lightbox.find(".lb-next").on("click", function () { return b.changeImage(b.currentImageIndex === b.album.length - 1 ? 0 : b.currentImageIndex + 1), !1 }), 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.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.height), c.options.fitImagesInViewport && (l = a(window).width(), k = a(window).height(), j = l - c.containerLeftPadding - c.containerRightPadding - 20, i = k - c.containerTopPadding - c.containerBottomPadding - 120, (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(window).width()).height(a(document).height()) }, b.prototype.sizeContainer = 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.containerLeftPadding + this.containerRightPadding, h = b + this.containerTopPadding + this.containerBottomPadding; e !== g || f !== h ? this.$outerContainer.animate({ width: g, height: h }, this.options.resizeDuration, "swing", function () { c() }) : c() }, b.prototype.showImage = function () { this.$lightbox.find(".lb-loader").hide(), this.$lightbox.find(".lb-image").fadeIn("slow"), this.updateNav(), this.updateDetails(), this.preloadNeighboringImages(), this.enableKeyboardNav() }, b.prototype.updateNav = function () { 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; "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 = a(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 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.disableKeyboardNav = 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.length > 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" }) }, b }(); a(function () { { var a = new b; new c(a) } }) }).call(this);