You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

2272 lines
82 KiB

/*! lightgallery - v1.6.11 - 2018-05-22
* http://sachinchoolur.github.io/lightGallery/
* Copyright (c) 2018 Sachin N; Licensed GPLv3 */
!(function (a, b) {
"function" == typeof define && define.amd
? define(["jquery"], function (a) {
return b(a);
})
: "object" == typeof module && module.exports
? (module.exports = b(require("jquery")))
: b(a.jQuery);
})(this, function (a) {
!(function () {
"use strict";
function b(b, d) {
if (
((this.el = b),
(this.$el = a(b)),
(this.s = a.extend({}, c, d)),
this.s.dynamic &&
"undefined" !== this.s.dynamicEl &&
this.s.dynamicEl.constructor === Array &&
!this.s.dynamicEl.length)
)
throw "When using dynamic mode, you must also define dynamicEl as an Array.";
return (
(this.modules = {}),
(this.lGalleryOn = !1),
(this.lgBusy = !1),
(this.hideBartimeout = !1),
(this.isTouch = "ontouchstart" in document.documentElement),
this.s.slideEndAnimatoin && (this.s.hideControlOnEnd = !1),
this.s.dynamic
? (this.$items = this.s.dynamicEl)
: "this" === this.s.selector
? (this.$items = this.$el)
: "" !== this.s.selector
? this.s.selectWithin
? (this.$items = a(this.s.selectWithin).find(this.s.selector))
: (this.$items = this.$el.find(a(this.s.selector)))
: (this.$items = this.$el.children()),
(this.$slide = ""),
(this.$outer = ""),
this.init(),
this
);
}
var c = {
mode: "lg-slide",
cssEasing: "ease",
easing: "linear",
speed: 600,
height: "100%",
width: "100%",
addClass: "",
startClass: "lg-start-zoom",
backdropDuration: 150,
hideBarsDelay: 6e3,
useLeft: !1,
closable: !0,
loop: !0,
escKey: !0,
keyPress: !0,
controls: !0,
slideEndAnimatoin: !0,
hideControlOnEnd: !1,
mousewheel: !0,
getCaptionFromTitleOrAlt: !0,
appendSubHtmlTo: ".lg-sub-html",
subHtmlSelectorRelative: !1,
preload: 1,
showAfterLoad: !0,
selector: "",
selectWithin: "",
nextHtml: "",
prevHtml: "",
index: !1,
iframeMaxWidth: "100%",
download: !0,
counter: !0,
appendCounterTo: ".lg-toolbar",
swipeThreshold: 50,
enableSwipe: !0,
enableDrag: !0,
dynamic: !1,
dynamicEl: [],
galleryId: 1,
};
(b.prototype.init = function () {
var b = this;
b.s.preload > b.$items.length && (b.s.preload = b.$items.length);
var c = window.location.hash;
c.indexOf("lg=" + this.s.galleryId) > 0 &&
((b.index = parseInt(c.split("&slide=")[1], 10)),
a("body").addClass("lg-from-hash"),
a("body").hasClass("lg-on") ||
(setTimeout(function () {
b.build(b.index);
}),
a("body").addClass("lg-on"))),
b.s.dynamic
? (b.$el.trigger("onBeforeOpen.lg"),
(b.index = b.s.index || 0),
a("body").hasClass("lg-on") ||
setTimeout(function () {
b.build(b.index), a("body").addClass("lg-on");
}))
: b.$items.on("click.lgcustom", function (c) {
try {
c.preventDefault(), c.preventDefault();
} catch (a) {
c.returnValue = !1;
}
b.$el.trigger("onBeforeOpen.lg"),
(b.index = b.s.index || b.$items.index(this)),
a("body").hasClass("lg-on") ||
(b.build(b.index), a("body").addClass("lg-on"));
});
}),
(b.prototype.build = function (b) {
var c = this;
c.structure(),
a.each(a.fn.lightGallery.modules, function (b) {
c.modules[b] = new a.fn.lightGallery.modules[b](c.el);
}),
c.slide(b, !1, !1, !1),
c.s.keyPress && c.keyPress(),
c.$items.length > 1
? (c.arrow(),
setTimeout(function () {
c.enableDrag(), c.enableSwipe();
}, 50),
c.s.mousewheel && c.mousewheel())
: c.$slide.on("click.lg", function () {
c.$el.trigger("onSlideClick.lg");
}),
c.counter(),
c.closeGallery(),
c.$el.trigger("onAfterOpen.lg"),
c.$outer.on("mousemove.lg click.lg touchstart.lg", function () {
c.$outer.removeClass("lg-hide-items"),
clearTimeout(c.hideBartimeout),
(c.hideBartimeout = setTimeout(function () {
c.$outer.addClass("lg-hide-items");
}, c.s.hideBarsDelay));
}),
c.$outer.trigger("mousemove.lg");
}),
(b.prototype.structure = function () {
var b,
c = "",
d = "",
e = 0,
f = "",
g = this;
for (
a("body").append('<div class="lg-backdrop"></div>'),
a(".lg-backdrop").css(
"transition-duration",
this.s.backdropDuration + "ms"
),
e = 0;
e < this.$items.length;
e++
)
c += '<div class="lg-item"></div>';
if (
(this.s.controls &&
this.$items.length > 1 &&
(d =
'<div class="lg-actions"><button class="lg-prev lg-icon">' +
this.s.prevHtml +
'</button><button class="lg-next lg-icon">' +
this.s.nextHtml +
"</button></div>"),
".lg-sub-html" === this.s.appendSubHtmlTo &&
(f = '<div class="lg-sub-html"></div>'),
(b =
'<div class="lg-outer ' +
this.s.addClass +
" " +
this.s.startClass +
'"><div class="lg" style="width:' +
this.s.width +
"; height:" +
this.s.height +
'"><div class="lg-inner">' +
c +
'</div><div class="lg-toolbar lg-group"><span class="lg-close lg-icon"></span></div>' +
d +
f +
"</div></div>"),
a("body").append(b),
(this.$outer = a(".lg-outer")),
(this.$slide = this.$outer.find(".lg-item")),
this.s.useLeft
? (this.$outer.addClass("lg-use-left"), (this.s.mode = "lg-slide"))
: this.$outer.addClass("lg-use-css3"),
g.setTop(),
a(window).on("resize.lg orientationchange.lg", function () {
setTimeout(function () {
g.setTop();
}, 100);
}),
this.$slide.eq(this.index).addClass("lg-current"),
this.doCss()
? this.$outer.addClass("lg-css3")
: (this.$outer.addClass("lg-css"), (this.s.speed = 0)),
this.$outer.addClass(this.s.mode),
this.s.enableDrag &&
this.$items.length > 1 &&
this.$outer.addClass("lg-grab"),
this.s.showAfterLoad && this.$outer.addClass("lg-show-after-load"),
this.doCss())
) {
var h = this.$outer.find(".lg-inner");
h.css("transition-timing-function", this.s.cssEasing),
h.css("transition-duration", this.s.speed + "ms");
}
setTimeout(function () {
a(".lg-backdrop").addClass("in");
}),
setTimeout(function () {
g.$outer.addClass("lg-visible");
}, this.s.backdropDuration),
this.s.download &&
this.$outer
.find(".lg-toolbar")
.append(
'<a id="lg-download" target="_blank" download class="lg-download lg-icon"></a>'
),
(this.prevScrollTop = a(window).scrollTop());
}),
(b.prototype.setTop = function () {
if ("100%" !== this.s.height) {
var b = a(window).height(),
c = (b - parseInt(this.s.height, 10)) / 2,
d = this.$outer.find(".lg");
b >= parseInt(this.s.height, 10)
? d.css("top", c + "px")
: d.css("top", "0px");
}
}),
(b.prototype.doCss = function () {
return !!(function () {
var a = [
"transition",
"MozTransition",
"WebkitTransition",
"OTransition",
"msTransition",
"KhtmlTransition",
],
b = document.documentElement,
c = 0;
for (c = 0; c < a.length; c++) if (a[c] in b.style) return !0;
})();
}),
(b.prototype.isVideo = function (a, b) {
var c;
if (
((c = this.s.dynamic
? this.s.dynamicEl[b].html
: this.$items.eq(b).attr("data-html")),
!a)
)
return c
? { html5: !0 }
: (console.error(
"lightGallery :- data-src is not pvovided on slide item " +
(b + 1) +
". Please make sure the selector property is properly configured. More info - http://sachinchoolur.github.io/lightGallery/demos/html-markup.html"
),
!1);
var d = a.match(
/\/\/(?:www\.)?youtu(?:\.be|be\.com|be-nocookie\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)/i
),
e = a.match(/\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i),
f = a.match(/\/\/(?:www\.)?dai.ly\/([0-9a-z\-_]+)/i),
g = a.match(
/\/\/(?:www\.)?(?:vk\.com|vkontakte\.ru)\/(?:video_ext\.php\?)(.*)/i
);
return d
? { youtube: d }
: e
? { vimeo: e }
: f
? { dailymotion: f }
: g
? { vk: g }
: void 0;
}),
(b.prototype.counter = function () {
this.s.counter &&
a(this.s.appendCounterTo).append(
'<div id="lg-counter"><span id="lg-counter-current">' +
(parseInt(this.index, 10) + 1) +
'</span> / <span id="lg-counter-all">' +
this.$items.length +
"</span></div>"
);
}),
(b.prototype.addHtml = function (b) {
var c,
d,
e = null;
if (
(this.s.dynamic
? this.s.dynamicEl[b].subHtmlUrl
? (c = this.s.dynamicEl[b].subHtmlUrl)
: (e = this.s.dynamicEl[b].subHtml)
: ((d = this.$items.eq(b)),
d.attr("data-sub-html-url")
? (c = d.attr("data-sub-html-url"))
: ((e = d.attr("data-sub-html")),
this.s.getCaptionFromTitleOrAlt &&
!e &&
(e =
d.attr("title") || d.find("img").first().attr("alt")))),
!c)
)
if (void 0 !== e && null !== e) {
var f = e.substring(0, 1);
("." !== f && "#" !== f) ||
(e =
this.s.subHtmlSelectorRelative && !this.s.dynamic
? d.find(e).html()
: a(e).html());
} else e = "";
".lg-sub-html" === this.s.appendSubHtmlTo
? c
? this.$outer.find(this.s.appendSubHtmlTo).load(c)
: this.$outer.find(this.s.appendSubHtmlTo).html(e)
: c
? this.$slide.eq(b).load(c)
: this.$slide.eq(b).append(e),
void 0 !== e &&
null !== e &&
("" === e
? this.$outer
.find(this.s.appendSubHtmlTo)
.addClass("lg-empty-html")
: this.$outer
.find(this.s.appendSubHtmlTo)
.removeClass("lg-empty-html")),
this.$el.trigger("onAfterAppendSubHtml.lg", [b]);
}),
(b.prototype.preload = function (a) {
var b = 1,
c = 1;
for (b = 1; b <= this.s.preload && !(b >= this.$items.length - a); b++)
this.loadContent(a + b, !1, 0);
for (c = 1; c <= this.s.preload && !(a - c < 0); c++)
this.loadContent(a - c, !1, 0);
}),
(b.prototype.loadContent = function (b, c, d) {
var e,
f,
g,
h,
i,
j,
k = this,
l = !1,
m = function (b) {
for (var c = [], d = [], e = 0; e < b.length; e++) {
var g = b[e].split(" ");
"" === g[0] && g.splice(0, 1), d.push(g[0]), c.push(g[1]);
}
for (var h = a(window).width(), i = 0; i < c.length; i++)
if (parseInt(c[i], 10) > h) {
f = d[i];
break;
}
};
if (k.s.dynamic) {
if (
(k.s.dynamicEl[b].poster &&
((l = !0), (g = k.s.dynamicEl[b].poster)),
(j = k.s.dynamicEl[b].html),
(f = k.s.dynamicEl[b].src),
k.s.dynamicEl[b].responsive)
) {
m(k.s.dynamicEl[b].responsive.split(","));
}
(h = k.s.dynamicEl[b].srcset), (i = k.s.dynamicEl[b].sizes);
} else {
if (
(k.$items.eq(b).attr("data-poster") &&
((l = !0), (g = k.$items.eq(b).attr("data-poster"))),
(j = k.$items.eq(b).attr("data-html")),
(f =
k.$items.eq(b).attr("href") || k.$items.eq(b).attr("data-src")),
k.$items.eq(b).attr("data-responsive"))
) {
m(k.$items.eq(b).attr("data-responsive").split(","));
}
(h = k.$items.eq(b).attr("data-srcset")),
(i = k.$items.eq(b).attr("data-sizes"));
}
var n = !1;
k.s.dynamic
? k.s.dynamicEl[b].iframe && (n = !0)
: "true" === k.$items.eq(b).attr("data-iframe") && (n = !0);
var o = k.isVideo(f, b);
if (!k.$slide.eq(b).hasClass("lg-loaded")) {
if (n)
k.$slide
.eq(b)
.prepend(
'<div class="lg-video-cont lg-has-iframe" style="max-width:' +
k.s.iframeMaxWidth +
'"><div class="lg-video"><iframe class="lg-object" frameborder="0" src="' +
f +
'" allowfullscreen="true"></iframe></div></div>'
);
else if (l) {
var p = "";
(p =
o && o.youtube
? "lg-has-youtube"
: o && o.vimeo
? "lg-has-vimeo"
: "lg-has-html5"),
k.$slide
.eq(b)
.prepend(
'<div class="lg-video-cont ' +
p +
' "><div class="lg-video"><span class="lg-video-play"></span><img class="lg-object lg-has-poster" src="' +
g +
'" /></div></div>'
);
} else
o
? (k.$slide
.eq(b)
.prepend(
'<div class="lg-video-cont "><div class="lg-video"></div></div>'
),
k.$el.trigger("hasVideo.lg", [b, f, j]))
: k.$slide
.eq(b)
.prepend(
'<div class="lg-img-wrap"><img class="lg-object lg-image" src="' +
f +
'" /></div>'
);
if (
(k.$el.trigger("onAferAppendSlide.lg", [b]),
(e = k.$slide.eq(b).find(".lg-object")),
i && e.attr("sizes", i),
h)
) {
e.attr("srcset", h);
try {
picturefill({ elements: [e[0]] });
} catch (a) {
console.warn(
"lightGallery :- If you want srcset to be supported for older browser please include picturefil version 2 javascript library in your document."
);
}
}
".lg-sub-html" !== this.s.appendSubHtmlTo && k.addHtml(b),
k.$slide.eq(b).addClass("lg-loaded");
}
k.$slide
.eq(b)
.find(".lg-object")
.on("load.lg error.lg", function () {
var c = 0;
d && !a("body").hasClass("lg-from-hash") && (c = d),
setTimeout(function () {
k.$slide.eq(b).addClass("lg-complete"),
k.$el.trigger("onSlideItemLoad.lg", [b, d || 0]);
}, c);
}),
o && o.html5 && !l && k.$slide.eq(b).addClass("lg-complete"),
!0 === c &&
(k.$slide.eq(b).hasClass("lg-complete")
? k.preload(b)
: k.$slide
.eq(b)
.find(".lg-object")
.on("load.lg error.lg", function () {
k.preload(b);
}));
}),
(b.prototype.slide = function (b, c, d, e) {
var f = this.$outer.find(".lg-current").index(),
g = this;
if (!g.lGalleryOn || f !== b) {
var h = this.$slide.length,
i = g.lGalleryOn ? this.s.speed : 0;
if (!g.lgBusy) {
if (this.s.download) {
var j;
(j = g.s.dynamic
? !1 !== g.s.dynamicEl[b].downloadUrl &&
(g.s.dynamicEl[b].downloadUrl || g.s.dynamicEl[b].src)
: "false" !== g.$items.eq(b).attr("data-download-url") &&
(g.$items.eq(b).attr("data-download-url") ||
g.$items.eq(b).attr("href") ||
g.$items.eq(b).attr("data-src"))),
j
? (a("#lg-download").attr("href", j),
g.$outer.removeClass("lg-hide-download"))
: g.$outer.addClass("lg-hide-download");
}
if (
(this.$el.trigger("onBeforeSlide.lg", [f, b, c, d]),
(g.lgBusy = !0),
clearTimeout(g.hideBartimeout),
".lg-sub-html" === this.s.appendSubHtmlTo &&
setTimeout(function () {
g.addHtml(b);
}, i),
this.arrowDisable(b),
e || (b < f ? (e = "prev") : b > f && (e = "next")),
c)
) {
this.$slide.removeClass("lg-prev-slide lg-current lg-next-slide");
var k, l;
h > 2
? ((k = b - 1),
(l = b + 1),
0 === b && f === h - 1
? ((l = 0), (k = h - 1))
: b === h - 1 && 0 === f && ((l = 0), (k = h - 1)))
: ((k = 0), (l = 1)),
"prev" === e
? g.$slide.eq(l).addClass("lg-next-slide")
: g.$slide.eq(k).addClass("lg-prev-slide"),
g.$slide.eq(b).addClass("lg-current");
} else
g.$outer.addClass("lg-no-trans"),
this.$slide.removeClass("lg-prev-slide lg-next-slide"),
"prev" === e
? (this.$slide.eq(b).addClass("lg-prev-slide"),
this.$slide.eq(f).addClass("lg-next-slide"))
: (this.$slide.eq(b).addClass("lg-next-slide"),
this.$slide.eq(f).addClass("lg-prev-slide")),
setTimeout(function () {
g.$slide.removeClass("lg-current"),
g.$slide.eq(b).addClass("lg-current"),
g.$outer.removeClass("lg-no-trans");
}, 50);
g.lGalleryOn
? (setTimeout(function () {
g.loadContent(b, !0, 0);
}, this.s.speed + 50),
setTimeout(function () {
(g.lgBusy = !1),
g.$el.trigger("onAfterSlide.lg", [f, b, c, d]);
}, this.s.speed))
: (g.loadContent(b, !0, g.s.backdropDuration),
(g.lgBusy = !1),
g.$el.trigger("onAfterSlide.lg", [f, b, c, d])),
(g.lGalleryOn = !0),
this.s.counter && a("#lg-counter-current").text(b + 1);
}
g.index = b;
}
}),
(b.prototype.goToNextSlide = function (a) {
var b = this,
c = b.s.loop;
a && b.$slide.length < 3 && (c = !1),
b.lgBusy ||
(b.index + 1 < b.$slide.length
? (b.index++,
b.$el.trigger("onBeforeNextSlide.lg", [b.index]),
b.slide(b.index, a, !1, "next"))
: c
? ((b.index = 0),
b.$el.trigger("onBeforeNextSlide.lg", [b.index]),
b.slide(b.index, a, !1, "next"))
: b.s.slideEndAnimatoin &&
!a &&
(b.$outer.addClass("lg-right-end"),
setTimeout(function () {
b.$outer.removeClass("lg-right-end");
}, 400)));
}),
(b.prototype.goToPrevSlide = function (a) {
var b = this,
c = b.s.loop;
a && b.$slide.length < 3 && (c = !1),
b.lgBusy ||
(b.index > 0
? (b.index--,
b.$el.trigger("onBeforePrevSlide.lg", [b.index, a]),
b.slide(b.index, a, !1, "prev"))
: c
? ((b.index = b.$items.length - 1),
b.$el.trigger("onBeforePrevSlide.lg", [b.index, a]),
b.slide(b.index, a, !1, "prev"))
: b.s.slideEndAnimatoin &&
!a &&
(b.$outer.addClass("lg-left-end"),
setTimeout(function () {
b.$outer.removeClass("lg-left-end");
}, 400)));
}),
(b.prototype.keyPress = function () {
var b = this;
this.$items.length > 1 &&
a(window).on("keyup.lg", function (a) {
b.$items.length > 1 &&
(37 === a.keyCode && (a.preventDefault(), b.goToPrevSlide()),
39 === a.keyCode && (a.preventDefault(), b.goToNextSlide()));
}),
a(window).on("keydown.lg", function (a) {
!0 === b.s.escKey &&
27 === a.keyCode &&
(a.preventDefault(),
b.$outer.hasClass("lg-thumb-open")
? b.$outer.removeClass("lg-thumb-open")
: b.destroy());
});
}),
(b.prototype.arrow = function () {
var a = this;
this.$outer.find(".lg-prev").on("click.lg", function () {
a.goToPrevSlide();
}),
this.$outer.find(".lg-next").on("click.lg", function () {
a.goToNextSlide();
});
}),
(b.prototype.arrowDisable = function (a) {
!this.s.loop &&
this.s.hideControlOnEnd &&
(a + 1 < this.$slide.length
? this.$outer
.find(".lg-next")
.removeAttr("disabled")
.removeClass("disabled")
: this.$outer
.find(".lg-next")
.attr("disabled", "disabled")
.addClass("disabled"),
a > 0
? this.$outer
.find(".lg-prev")
.removeAttr("disabled")
.removeClass("disabled")
: this.$outer
.find(".lg-prev")
.attr("disabled", "disabled")
.addClass("disabled"));
}),
(b.prototype.setTranslate = function (a, b, c) {
this.s.useLeft
? a.css("left", b)
: a.css({ transform: "translate3d(" + b + "px, " + c + "px, 0px)" });
}),
(b.prototype.touchMove = function (b, c) {
var d = c - b;
Math.abs(d) > 15 &&
(this.$outer.addClass("lg-dragging"),
this.setTranslate(this.$slide.eq(this.index), d, 0),
this.setTranslate(
a(".lg-prev-slide"),
-this.$slide.eq(this.index).width() + d,
0
),
this.setTranslate(
a(".lg-next-slide"),
this.$slide.eq(this.index).width() + d,
0
));
}),
(b.prototype.touchEnd = function (a) {
var b = this;
"lg-slide" !== b.s.mode && b.$outer.addClass("lg-slide"),
this.$slide
.not(".lg-current, .lg-prev-slide, .lg-next-slide")
.css("opacity", "0"),
setTimeout(function () {
b.$outer.removeClass("lg-dragging"),
a < 0 && Math.abs(a) > b.s.swipeThreshold
? b.goToNextSlide(!0)
: a > 0 && Math.abs(a) > b.s.swipeThreshold
? b.goToPrevSlide(!0)
: Math.abs(a) < 5 && b.$el.trigger("onSlideClick.lg"),
b.$slide.removeAttr("style");
}),
setTimeout(function () {
b.$outer.hasClass("lg-dragging") ||
"lg-slide" === b.s.mode ||
b.$outer.removeClass("lg-slide");
}, b.s.speed + 100);
}),
(b.prototype.enableSwipe = function () {
var a = this,
b = 0,
c = 0,
d = !1;
a.s.enableSwipe &&
a.doCss() &&
(a.$slide.on("touchstart.lg", function (c) {
a.$outer.hasClass("lg-zoomed") ||
a.lgBusy ||
(c.preventDefault(),
a.manageSwipeClass(),
(b = c.originalEvent.targetTouches[0].pageX));
}),
a.$slide.on("touchmove.lg", function (e) {
a.$outer.hasClass("lg-zoomed") ||
(e.preventDefault(),
(c = e.originalEvent.targetTouches[0].pageX),
a.touchMove(b, c),
(d = !0));
}),
a.$slide.on("touchend.lg", function () {
a.$outer.hasClass("lg-zoomed") ||
(d
? ((d = !1), a.touchEnd(c - b))
: a.$el.trigger("onSlideClick.lg"));
}));
}),
(b.prototype.enableDrag = function () {
var b = this,
c = 0,
d = 0,
e = !1,
f = !1;
b.s.enableDrag &&
b.doCss() &&
(b.$slide.on("mousedown.lg", function (d) {
b.$outer.hasClass("lg-zoomed") ||
b.lgBusy ||
a(d.target).text().trim() ||
(d.preventDefault(),
b.manageSwipeClass(),
(c = d.pageX),
(e = !0),
(b.$outer.scrollLeft += 1),
(b.$outer.scrollLeft -= 1),
b.$outer.removeClass("lg-grab").addClass("lg-grabbing"),
b.$el.trigger("onDragstart.lg"));
}),
a(window).on("mousemove.lg", function (a) {
e &&
((f = !0),
(d = a.pageX),
b.touchMove(c, d),
b.$el.trigger("onDragmove.lg"));
}),
a(window).on("mouseup.lg", function (g) {
f
? ((f = !1), b.touchEnd(d - c), b.$el.trigger("onDragend.lg"))
: (a(g.target).hasClass("lg-object") ||
a(g.target).hasClass("lg-video-play")) &&
b.$el.trigger("onSlideClick.lg"),
e &&
((e = !1),
b.$outer.removeClass("lg-grabbing").addClass("lg-grab"));
}));
}),
(b.prototype.manageSwipeClass = function () {
var a = this.index + 1,
b = this.index - 1;
this.s.loop &&
this.$slide.length > 2 &&
(0 === this.index
? (b = this.$slide.length - 1)
: this.index === this.$slide.length - 1 && (a = 0)),
this.$slide.removeClass("lg-next-slide lg-prev-slide"),
b > -1 && this.$slide.eq(b).addClass("lg-prev-slide"),
this.$slide.eq(a).addClass("lg-next-slide");
}),
(b.prototype.mousewheel = function () {
var a = this;
a.$outer.on("mousewheel.lg", function (b) {
b.deltaY &&
(b.deltaY > 0 ? a.goToPrevSlide() : a.goToNextSlide(),
b.preventDefault());
});
}),
(b.prototype.closeGallery = function () {
var b = this,
c = !1;
this.$outer.find(".lg-close").on("click.lg", function () {
b.destroy();
}),
b.s.closable &&
(b.$outer.on("mousedown.lg", function (b) {
c = !!(
a(b.target).is(".lg-outer") ||
a(b.target).is(".lg-item ") ||
a(b.target).is(".lg-img-wrap")
);
}),
b.$outer.on("mousemove.lg", function () {
c = !1;
}),
b.$outer.on("mouseup.lg", function (d) {
(a(d.target).is(".lg-outer") ||
a(d.target).is(".lg-item ") ||
(a(d.target).is(".lg-img-wrap") && c)) &&
(b.$outer.hasClass("lg-dragging") || b.destroy());
}));
}),
(b.prototype.destroy = function (b) {
var c = this;
b ||
(c.$el.trigger("onBeforeClose.lg"),
a(window).scrollTop(c.prevScrollTop)),
b &&
(c.s.dynamic || this.$items.off("click.lg click.lgcustom"),
a.removeData(c.el, "lightGallery")),
this.$el.off(".lg.tm"),
a.each(a.fn.lightGallery.modules, function (a) {
c.modules[a] && c.modules[a].destroy();
}),
(this.lGalleryOn = !1),
clearTimeout(c.hideBartimeout),
(this.hideBartimeout = !1),
a(window).off(".lg"),
a("body").removeClass("lg-on lg-from-hash"),
c.$outer && c.$outer.removeClass("lg-visible"),
a(".lg-backdrop").removeClass("in"),
setTimeout(function () {
c.$outer && c.$outer.remove(),
a(".lg-backdrop").remove(),
b || c.$el.trigger("onCloseAfter.lg");
}, c.s.backdropDuration + 50);
}),
(a.fn.lightGallery = function (c) {
return this.each(function () {
if (a.data(this, "lightGallery"))
try {
a(this).data("lightGallery").init();
} catch (a) {
console.error("lightGallery has not initiated properly");
}
else a.data(this, "lightGallery", new b(this, c));
});
}),
(a.fn.lightGallery.modules = {});
})();
}),
(function (a, b) {
"function" == typeof define && define.amd
? define(["jquery"], function (a) {
return b(a);
})
: "object" == typeof exports
? (module.exports = b(require("jquery")))
: b(jQuery);
})(0, function (a) {
!(function () {
"use strict";
var b = {
autoplay: !1,
pause: 5e3,
progressBar: !0,
fourceAutoplay: !1,
autoplayControls: !0,
appendAutoplayControlsTo: ".lg-toolbar",
},
c = function (c) {
return (
(this.core = a(c).data("lightGallery")),
(this.$el = a(c)),
!(this.core.$items.length < 2) &&
((this.core.s = a.extend({}, b, this.core.s)),
(this.interval = !1),
(this.fromAuto = !0),
(this.canceledOnTouch = !1),
(this.fourceAutoplayTemp = this.core.s.fourceAutoplay),
this.core.doCss() || (this.core.s.progressBar = !1),
this.init(),
this)
);
};
(c.prototype.init = function () {
var a = this;
a.core.s.autoplayControls && a.controls(),
a.core.s.progressBar &&
a.core.$outer
.find(".lg")
.append(
'<div class="lg-progress-bar"><div class="lg-progress"></div></div>'
),
a.progress(),
a.core.s.autoplay &&
a.$el.one("onSlideItemLoad.lg.tm", function () {
a.startlAuto();
}),
a.$el.on("onDragstart.lg.tm touchstart.lg.tm", function () {
a.interval && (a.cancelAuto(), (a.canceledOnTouch = !0));
}),
a.$el.on(
"onDragend.lg.tm touchend.lg.tm onSlideClick.lg.tm",
function () {
!a.interval &&
a.canceledOnTouch &&
(a.startlAuto(), (a.canceledOnTouch = !1));
}
);
}),
(c.prototype.progress = function () {
var a,
b,
c = this;
c.$el.on("onBeforeSlide.lg.tm", function () {
c.core.s.progressBar &&
c.fromAuto &&
((a = c.core.$outer.find(".lg-progress-bar")),
(b = c.core.$outer.find(".lg-progress")),
c.interval &&
(b.removeAttr("style"),
a.removeClass("lg-start"),
setTimeout(function () {
b.css(
"transition",
"width " + (c.core.s.speed + c.core.s.pause) + "ms ease 0s"
),
a.addClass("lg-start");
}, 20))),
c.fromAuto || c.core.s.fourceAutoplay || c.cancelAuto(),
(c.fromAuto = !1);
});
}),
(c.prototype.controls = function () {
var b = this;
a(this.core.s.appendAutoplayControlsTo).append(
'<span class="lg-autoplay-button lg-icon"></span>'
),
b.core.$outer
.find(".lg-autoplay-button")
.on("click.lg", function () {
a(b.core.$outer).hasClass("lg-show-autoplay")
? (b.cancelAuto(), (b.core.s.fourceAutoplay = !1))
: b.interval ||
(b.startlAuto(),
(b.core.s.fourceAutoplay = b.fourceAutoplayTemp));
});
}),
(c.prototype.startlAuto = function () {
var a = this;
a.core.$outer
.find(".lg-progress")
.css(
"transition",
"width " + (a.core.s.speed + a.core.s.pause) + "ms ease 0s"
),
a.core.$outer.addClass("lg-show-autoplay"),
a.core.$outer.find(".lg-progress-bar").addClass("lg-start"),
(a.interval = setInterval(function () {
a.core.index + 1 < a.core.$items.length
? a.core.index++
: (a.core.index = 0),
(a.fromAuto = !0),
a.core.slide(a.core.index, !1, !1, "next");
}, a.core.s.speed + a.core.s.pause));
}),
(c.prototype.cancelAuto = function () {
clearInterval(this.interval),
(this.interval = !1),
this.core.$outer.find(".lg-progress").removeAttr("style"),
this.core.$outer.removeClass("lg-show-autoplay"),
this.core.$outer.find(".lg-progress-bar").removeClass("lg-start");
}),
(c.prototype.destroy = function () {
this.cancelAuto(), this.core.$outer.find(".lg-progress-bar").remove();
}),
(a.fn.lightGallery.modules.autoplay = c);
})();
}),
(function (a, b) {
"function" == typeof define && define.amd
? define(["jquery"], function (a) {
return b(a);
})
: "object" == typeof exports
? (module.exports = b(require("jquery")))
: b(jQuery);
})(0, function (a) {
!(function () {
"use strict";
var b = { fullScreen: !0 },
c = function (c) {
return (
(this.core = a(c).data("lightGallery")),
(this.$el = a(c)),
(this.core.s = a.extend({}, b, this.core.s)),
this.init(),
this
);
};
(c.prototype.init = function () {
var a = "";
if (this.core.s.fullScreen) {
if (
!(
document.fullscreenEnabled ||
document.webkitFullscreenEnabled ||
document.mozFullScreenEnabled ||
document.msFullscreenEnabled
)
)
return;
(a = '<span class="lg-fullscreen lg-icon"></span>'),
this.core.$outer.find(".lg-toolbar").append(a),
this.fullScreen();
}
}),
(c.prototype.requestFullscreen = function () {
var a = document.documentElement;
a.requestFullscreen
? a.requestFullscreen()
: a.msRequestFullscreen
? a.msRequestFullscreen()
: a.mozRequestFullScreen
? a.mozRequestFullScreen()
: a.webkitRequestFullscreen && a.webkitRequestFullscreen();
}),
(c.prototype.exitFullscreen = function () {
document.exitFullscreen
? document.exitFullscreen()
: document.msExitFullscreen
? document.msExitFullscreen()
: document.mozCancelFullScreen
? document.mozCancelFullScreen()
: document.webkitExitFullscreen && document.webkitExitFullscreen();
}),
(c.prototype.fullScreen = function () {
var b = this;
a(document).on(
"fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg",
function () {
b.core.$outer.toggleClass("lg-fullscreen-on");
}
),
this.core.$outer.find(".lg-fullscreen").on("click.lg", function () {
document.fullscreenElement ||
document.mozFullScreenElement ||
document.webkitFullscreenElement ||
document.msFullscreenElement
? b.exitFullscreen()
: b.requestFullscreen();
});
}),
(c.prototype.destroy = function () {
this.exitFullscreen(),
a(document).off(
"fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg"
);
}),
(a.fn.lightGallery.modules.fullscreen = c);
})();
}),
(function (a, b) {
"function" == typeof define && define.amd
? define(["jquery"], function (a) {
return b(a);
})
: "object" == typeof exports
? (module.exports = b(require("jquery")))
: b(jQuery);
})(0, function (a) {
!(function () {
"use strict";
var b = { pager: !1 },
c = function (c) {
return (
(this.core = a(c).data("lightGallery")),
(this.$el = a(c)),
(this.core.s = a.extend({}, b, this.core.s)),
this.core.s.pager && this.core.$items.length > 1 && this.init(),
this
);
};
(c.prototype.init = function () {
var b,
c,
d,
e = this,
f = "";
if (
(e.core.$outer
.find(".lg")
.append('<div class="lg-pager-outer"></div>'),
e.core.s.dynamic)
)
for (var g = 0; g < e.core.s.dynamicEl.length; g++)
f +=
'<span class="lg-pager-cont"> <span class="lg-pager"></span><div class="lg-pager-thumb-cont"><span class="lg-caret"></span> <img src="' +
e.core.s.dynamicEl[g].thumb +
'" /></div></span>';
else
e.core.$items.each(function () {
e.core.s.exThumbImage
? (f +=
'<span class="lg-pager-cont"> <span class="lg-pager"></span><div class="lg-pager-thumb-cont"><span class="lg-caret"></span> <img src="' +
a(this).attr(e.core.s.exThumbImage) +
'" /></div></span>')
: (f +=
'<span class="lg-pager-cont"> <span class="lg-pager"></span><div class="lg-pager-thumb-cont"><span class="lg-caret"></span> <img src="' +
a(this).find("img").attr("src") +
'" /></div></span>');
});
(c = e.core.$outer.find(".lg-pager-outer")),
c.html(f),
(b = e.core.$outer.find(".lg-pager-cont")),
b.on("click.lg touchend.lg", function () {
var b = a(this);
(e.core.index = b.index()), e.core.slide(e.core.index, !1, !0, !1);
}),
c.on("mouseover.lg", function () {
clearTimeout(d), c.addClass("lg-pager-hover");
}),
c.on("mouseout.lg", function () {
d = setTimeout(function () {
c.removeClass("lg-pager-hover");
});
}),
e.core.$el.on("onBeforeSlide.lg.tm", function (a, c, d) {
b.removeClass("lg-pager-active"),
b.eq(d).addClass("lg-pager-active");
});
}),
(c.prototype.destroy = function () {}),
(a.fn.lightGallery.modules.pager = c);
})();
}),
(function (a, b) {
"function" == typeof define && define.amd
? define(["jquery"], function (a) {
return b(a);
})
: "object" == typeof exports
? (module.exports = b(require("jquery")))
: b(jQuery);
})(0, function (a) {
!(function () {
"use strict";
var b = {
thumbnail: !0,
animateThumb: !0,
currentPagerPosition: "middle",
thumbWidth: 100,
thumbHeight: "80px",
thumbContHeight: 100,
thumbMargin: 5,
exThumbImage: !1,
showThumbByDefault: !0,
toogleThumb: !0,
pullCaptionUp: !0,
enableThumbDrag: !0,
enableThumbSwipe: !0,
swipeThreshold: 50,
loadYoutubeThumbnail: !0,
youtubeThumbSize: 1,
loadVimeoThumbnail: !0,
vimeoThumbSize: "thumbnail_small",
loadDailymotionThumbnail: !0,
},
c = function (c) {
return (
(this.core = a(c).data("lightGallery")),
(this.core.s = a.extend({}, b, this.core.s)),
(this.$el = a(c)),
(this.$thumbOuter = null),
(this.thumbOuterWidth = 0),
(this.thumbTotalWidth =
this.core.$items.length *
(this.core.s.thumbWidth + this.core.s.thumbMargin)),
(this.thumbIndex = this.core.index),
this.core.s.animateThumb && (this.core.s.thumbHeight = "100%"),
(this.left = 0),
this.init(),
this
);
};
(c.prototype.init = function () {
var a = this;
this.core.s.thumbnail &&
this.core.$items.length > 1 &&
(this.core.s.showThumbByDefault &&
setTimeout(function () {
a.core.$outer.addClass("lg-thumb-open");
}, 700),
this.core.s.pullCaptionUp &&
this.core.$outer.addClass("lg-pull-caption-up"),
this.build(),
this.core.s.animateThumb && this.core.doCss()
? (this.core.s.enableThumbDrag && this.enableThumbDrag(),
this.core.s.enableThumbSwipe && this.enableThumbSwipe(),
(this.thumbClickable = !1))
: (this.thumbClickable = !0),
this.toogle(),
this.thumbkeyPress());
}),
(c.prototype.build = function () {
function b(a, b, c) {
var g,
h = d.core.isVideo(a, c) || {},
i = "";
h.youtube || h.vimeo || h.dailymotion
? h.youtube
? (g = d.core.s.loadYoutubeThumbnail
? "//img.youtube.com/vi/" +
h.youtube[1] +
"/" +
d.core.s.youtubeThumbSize +
".jpg"
: b)
: h.vimeo
? d.core.s.loadVimeoThumbnail
? ((g = "//i.vimeocdn.com/video/error_" + f + ".jpg"),
(i = h.vimeo[1]))
: (g = b)
: h.dailymotion &&
(g = d.core.s.loadDailymotionThumbnail
? "//www.dailymotion.com/thumbnail/video/" +
h.dailymotion[1]
: b)
: (g = b),
(e +=
'<div data-vimeo-id="' +
i +
'" class="lg-thumb-item" style="width:' +
d.core.s.thumbWidth +
"px; height: " +
d.core.s.thumbHeight +
"; margin-right: " +
d.core.s.thumbMargin +
'px"><img src="' +
g +
'" /></div>'),
(i = "");
}
var c,
d = this,
e = "",
f = "",
g =
'<div class="lg-thumb-outer"><div class="lg-thumb lg-group"></div></div>';
switch (this.core.s.vimeoThumbSize) {
case "thumbnail_large":
f = "640";
break;
case "thumbnail_medium":
f = "200x150";
break;
case "thumbnail_small":
f = "100x75";
}
if (
(d.core.$outer.addClass("lg-has-thumb"),
d.core.$outer.find(".lg").append(g),
(d.$thumbOuter = d.core.$outer.find(".lg-thumb-outer")),
(d.thumbOuterWidth = d.$thumbOuter.width()),
d.core.s.animateThumb &&
d.core.$outer
.find(".lg-thumb")
.css({ width: d.thumbTotalWidth + "px", position: "relative" }),
this.core.s.animateThumb &&
d.$thumbOuter.css("height", d.core.s.thumbContHeight + "px"),
d.core.s.dynamic)
)
for (var h = 0; h < d.core.s.dynamicEl.length; h++)
b(d.core.s.dynamicEl[h].src, d.core.s.dynamicEl[h].thumb, h);
else
d.core.$items.each(function (c) {
d.core.s.exThumbImage
? b(
a(this).attr("href") || a(this).attr("data-src"),
a(this).attr(d.core.s.exThumbImage),
c
)
: b(
a(this).attr("href") || a(this).attr("data-src"),
a(this).find("img").attr("src"),
c
);
});
d.core.$outer.find(".lg-thumb").html(e),
(c = d.core.$outer.find(".lg-thumb-item")),
c.each(function () {
var b = a(this),
c = b.attr("data-vimeo-id");
c &&
a.getJSON(
"//www.vimeo.com/api/v2/video/" + c + ".json?callback=?",
{ format: "json" },
function (a) {
b.find("img").attr("src", a[0][d.core.s.vimeoThumbSize]);
}
);
}),
c.eq(d.core.index).addClass("active"),
d.core.$el.on("onBeforeSlide.lg.tm", function () {
c.removeClass("active"), c.eq(d.core.index).addClass("active");
}),
c.on("click.lg touchend.lg", function () {
var b = a(this);
setTimeout(function () {
((d.thumbClickable && !d.core.lgBusy) || !d.core.doCss()) &&
((d.core.index = b.index()),
d.core.slide(d.core.index, !1, !0, !1));
}, 50);
}),
d.core.$el.on("onBeforeSlide.lg.tm", function () {
d.animateThumb(d.core.index);
}),
a(window).on(
"resize.lg.thumb orientationchange.lg.thumb",
function () {
setTimeout(function () {
d.animateThumb(d.core.index),
(d.thumbOuterWidth = d.$thumbOuter.width());
}, 200);
}
);
}),
(c.prototype.setTranslate = function (a) {
this.core.$outer
.find(".lg-thumb")
.css({ transform: "translate3d(-" + a + "px, 0px, 0px)" });
}),
(c.prototype.animateThumb = function (a) {
var b = this.core.$outer.find(".lg-thumb");
if (this.core.s.animateThumb) {
var c;
switch (this.core.s.currentPagerPosition) {
case "left":
c = 0;
break;
case "middle":
c = this.thumbOuterWidth / 2 - this.core.s.thumbWidth / 2;
break;
case "right":
c = this.thumbOuterWidth - this.core.s.thumbWidth;
}
(this.left =
(this.core.s.thumbWidth + this.core.s.thumbMargin) * a - 1 - c),
this.left > this.thumbTotalWidth - this.thumbOuterWidth &&
(this.left = this.thumbTotalWidth - this.thumbOuterWidth),
this.left < 0 && (this.left = 0),
this.core.lGalleryOn
? (b.hasClass("on") ||
this.core.$outer
.find(".lg-thumb")
.css("transition-duration", this.core.s.speed + "ms"),
this.core.doCss() ||
b.animate({ left: -this.left + "px" }, this.core.s.speed))
: this.core.doCss() || b.css("left", -this.left + "px"),
this.setTranslate(this.left);
}
}),
(c.prototype.enableThumbDrag = function () {
var b = this,
c = 0,
d = 0,
e = !1,
f = !1,
g = 0;
b.$thumbOuter.addClass("lg-grab"),
b.core.$outer
.find(".lg-thumb")
.on("mousedown.lg.thumb", function (a) {
b.thumbTotalWidth > b.thumbOuterWidth &&
(a.preventDefault(),
(c = a.pageX),
(e = !0),
(b.core.$outer.scrollLeft += 1),
(b.core.$outer.scrollLeft -= 1),
(b.thumbClickable = !1),
b.$thumbOuter.removeClass("lg-grab").addClass("lg-grabbing"));
}),
a(window).on("mousemove.lg.thumb", function (a) {
e &&
((g = b.left),
(f = !0),
(d = a.pageX),
b.$thumbOuter.addClass("lg-dragging"),
(g -= d - c),
g > b.thumbTotalWidth - b.thumbOuterWidth &&
(g = b.thumbTotalWidth - b.thumbOuterWidth),
g < 0 && (g = 0),
b.setTranslate(g));
}),
a(window).on("mouseup.lg.thumb", function () {
f
? ((f = !1),
b.$thumbOuter.removeClass("lg-dragging"),
(b.left = g),
Math.abs(d - c) < b.core.s.swipeThreshold &&
(b.thumbClickable = !0))
: (b.thumbClickable = !0),
e &&
((e = !1),
b.$thumbOuter.removeClass("lg-grabbing").addClass("lg-grab"));
});
}),
(c.prototype.enableThumbSwipe = function () {
var a = this,
b = 0,
c = 0,
d = !1,
e = 0;
a.core.$outer.find(".lg-thumb").on("touchstart.lg", function (c) {
a.thumbTotalWidth > a.thumbOuterWidth &&
(c.preventDefault(),
(b = c.originalEvent.targetTouches[0].pageX),
(a.thumbClickable = !1));
}),
a.core.$outer.find(".lg-thumb").on("touchmove.lg", function (f) {
a.thumbTotalWidth > a.thumbOuterWidth &&
(f.preventDefault(),
(c = f.originalEvent.targetTouches[0].pageX),
(d = !0),
a.$thumbOuter.addClass("lg-dragging"),
(e = a.left),
(e -= c - b),
e > a.thumbTotalWidth - a.thumbOuterWidth &&
(e = a.thumbTotalWidth - a.thumbOuterWidth),
e < 0 && (e = 0),
a.setTranslate(e));
}),
a.core.$outer.find(".lg-thumb").on("touchend.lg", function () {
a.thumbTotalWidth > a.thumbOuterWidth && d
? ((d = !1),
a.$thumbOuter.removeClass("lg-dragging"),
Math.abs(c - b) < a.core.s.swipeThreshold &&
(a.thumbClickable = !0),
(a.left = e))
: (a.thumbClickable = !0);
});
}),
(c.prototype.toogle = function () {
var a = this;
a.core.s.toogleThumb &&
(a.core.$outer.addClass("lg-can-toggle"),
a.$thumbOuter.append(
'<span class="lg-toogle-thumb lg-icon"></span>'
),
a.core.$outer.find(".lg-toogle-thumb").on("click.lg", function () {
a.core.$outer.toggleClass("lg-thumb-open");
}));
}),
(c.prototype.thumbkeyPress = function () {
var b = this;
a(window).on("keydown.lg.thumb", function (a) {
38 === a.keyCode
? (a.preventDefault(), b.core.$outer.addClass("lg-thumb-open"))
: 40 === a.keyCode &&
(a.preventDefault(),
b.core.$outer.removeClass("lg-thumb-open"));
});
}),
(c.prototype.destroy = function () {
this.core.s.thumbnail &&
this.core.$items.length > 1 &&
(a(window).off(
"resize.lg.thumb orientationchange.lg.thumb keydown.lg.thumb"
),
this.$thumbOuter.remove(),
this.core.$outer.removeClass("lg-has-thumb"));
}),
(a.fn.lightGallery.modules.Thumbnail = c);
})();
}),
(function (a, b) {
"function" == typeof define && define.amd
? define(["jquery"], function (a) {
return b(a);
})
: "object" == typeof module && module.exports
? (module.exports = b(require("jquery")))
: b(a.jQuery);
})(this, function (a) {
!(function () {
"use strict";
function b(a, b, c, d) {
var e = this;
if (
(e.core.$slide
.eq(b)
.find(".lg-video")
.append(e.loadVideo(c, "lg-object", !0, b, d)),
d)
)
if (e.core.s.videojs)
try {
videojs(
e.core.$slide.eq(b).find(".lg-html5").get(0),
e.core.s.videojsOptions,
function () {
!e.videoLoaded && e.core.s.autoplayFirstVideo && this.play();
}
);
} catch (a) {
console.error("Make sure you have included videojs");
}
else
!e.videoLoaded &&
e.core.s.autoplayFirstVideo &&
e.core.$slide.eq(b).find(".lg-html5").get(0).play();
}
function c(a, b) {
var c = this.core.$slide.eq(b).find(".lg-video-cont");
c.hasClass("lg-has-iframe") ||
(c.css("max-width", this.core.s.videoMaxWidth),
(this.videoLoaded = !0));
}
function d(b, c, d) {
var e = this,
f = e.core.$slide.eq(c),
g = f.find(".lg-youtube").get(0),
h = f.find(".lg-vimeo").get(0),
i = f.find(".lg-dailymotion").get(0),
j = f.find(".lg-vk").get(0),
k = f.find(".lg-html5").get(0);
if (g)
g.contentWindow.postMessage(
'{"event":"command","func":"pauseVideo","args":""}',
"*"
);
else if (h)
try {
$f(h).api("pause");
} catch (a) {
console.error("Make sure you have included froogaloop2 js");
}
else if (i) i.contentWindow.postMessage("pause", "*");
else if (k)
if (e.core.s.videojs)
try {
videojs(k).pause();
} catch (a) {
console.error("Make sure you have included videojs");
}
else k.pause();
j && a(j).attr("src", a(j).attr("src").replace("&autoplay", "&noplay"));
var l;
l = e.core.s.dynamic
? e.core.s.dynamicEl[d].src
: e.core.$items.eq(d).attr("href") ||
e.core.$items.eq(d).attr("data-src");
var m = e.core.isVideo(l, d) || {};
(m.youtube || m.vimeo || m.dailymotion || m.vk) &&
e.core.$outer.addClass("lg-hide-download");
}
var e = {
videoMaxWidth: "855px",
autoplayFirstVideo: !0,
youtubePlayerParams: !1,
vimeoPlayerParams: !1,
dailymotionPlayerParams: !1,
vkPlayerParams: !1,
videojs: !1,
videojsOptions: {},
},
f = function (b) {
return (
(this.core = a(b).data("lightGallery")),
(this.$el = a(b)),
(this.core.s = a.extend({}, e, this.core.s)),
(this.videoLoaded = !1),
this.init(),
this
);
};
(f.prototype.init = function () {
var e = this;
e.core.$el.on("hasVideo.lg.tm", b.bind(this)),
e.core.$el.on("onAferAppendSlide.lg.tm", c.bind(this)),
e.core.doCss() &&
e.core.$items.length > 1 &&
(e.core.s.enableSwipe || e.core.s.enableDrag)
? e.core.$el.on("onSlideClick.lg.tm", function () {
var a = e.core.$slide.eq(e.core.index);
e.loadVideoOnclick(a);
})
: e.core.$slide.on("click.lg", function () {
e.loadVideoOnclick(a(this));
}),
e.core.$el.on("onBeforeSlide.lg.tm", d.bind(this)),
e.core.$el.on("onAfterSlide.lg.tm", function (a, b) {
e.core.$slide.eq(b).removeClass("lg-video-playing");
}),
e.core.s.autoplayFirstVideo &&
e.core.$el.on("onAferAppendSlide.lg.tm", function (a, b) {
if (!e.core.lGalleryOn) {
var c = e.core.$slide.eq(b);
setTimeout(function () {
e.loadVideoOnclick(c);
}, 100);
}
});
}),
(f.prototype.loadVideo = function (b, c, d, e, f) {
var g = "",
h = 1,
i = "",
j = this.core.isVideo(b, e) || {};
if (
(d &&
(h = this.videoLoaded
? 0
: this.core.s.autoplayFirstVideo
? 1
: 0),
j.youtube)
)
(i = "?wmode=opaque&autoplay=" + h + "&enablejsapi=1"),
this.core.s.youtubePlayerParams &&
(i = i + "&" + a.param(this.core.s.youtubePlayerParams)),
(g =
'<iframe class="lg-video-object lg-youtube ' +
c +
'" width="560" height="315" src="//www.youtube.com/embed/' +
j.youtube[1] +
i +
'" frameborder="0" allowfullscreen></iframe>');
else if (j.vimeo)
(i = "?autoplay=" + h + "&api=1"),
this.core.s.vimeoPlayerParams &&
(i = i + "&" + a.param(this.core.s.vimeoPlayerParams)),
(g =
'<iframe class="lg-video-object lg-vimeo ' +
c +
'" width="560" height="315" src="//player.vimeo.com/video/' +
j.vimeo[1] +
i +
'" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>');
else if (j.dailymotion)
(i = "?wmode=opaque&autoplay=" + h + "&api=postMessage"),
this.core.s.dailymotionPlayerParams &&
(i = i + "&" + a.param(this.core.s.dailymotionPlayerParams)),
(g =
'<iframe class="lg-video-object lg-dailymotion ' +
c +
'" width="560" height="315" src="//www.dailymotion.com/embed/video/' +
j.dailymotion[1] +
i +
'" frameborder="0" allowfullscreen></iframe>');
else if (j.html5) {
var k = f.substring(0, 1);
("." !== k && "#" !== k) || (f = a(f).html()), (g = f);
} else
j.vk &&
((i = "&autoplay=" + h),
this.core.s.vkPlayerParams &&
(i = i + "&" + a.param(this.core.s.vkPlayerParams)),
(g =
'<iframe class="lg-video-object lg-vk ' +
c +
'" width="560" height="315" src="//vk.com/video_ext.php?' +
j.vk[1] +
i +
'" frameborder="0" allowfullscreen></iframe>'));
return g;
}),
(f.prototype.loadVideoOnclick = function (a) {
var b = this;
if (
a.find(".lg-object").hasClass("lg-has-poster") &&
a.find(".lg-object").is(":visible")
)
if (a.hasClass("lg-has-video")) {
var c = a.find(".lg-youtube").get(0),
d = a.find(".lg-vimeo").get(0),
e = a.find(".lg-dailymotion").get(0),
f = a.find(".lg-html5").get(0);
if (c)
c.contentWindow.postMessage(
'{"event":"command","func":"playVideo","args":""}',
"*"
);
else if (d)
try {
$f(d).api("play");
} catch (a) {
console.error("Make sure you have included froogaloop2 js");
}
else if (e) e.contentWindow.postMessage("play", "*");
else if (f)
if (b.core.s.videojs)
try {
videojs(f).play();
} catch (a) {
console.error("Make sure you have included videojs");
}
else f.play();
a.addClass("lg-video-playing");
} else {
a.addClass("lg-video-playing lg-has-video");
var g,
h,
i = function (c, d) {
if (
(a
.find(".lg-video")
.append(b.loadVideo(c, "", !1, b.core.index, d)),
d)
)
if (b.core.s.videojs)
try {
videojs(
b.core.$slide
.eq(b.core.index)
.find(".lg-html5")
.get(0),
b.core.s.videojsOptions,
function () {
this.play();
}
);
} catch (a) {
console.error("Make sure you have included videojs");
}
else
b.core.$slide
.eq(b.core.index)
.find(".lg-html5")
.get(0)
.play();
};
b.core.s.dynamic
? ((g = b.core.s.dynamicEl[b.core.index].src),
(h = b.core.s.dynamicEl[b.core.index].html),
i(g, h))
: ((g =
b.core.$items.eq(b.core.index).attr("href") ||
b.core.$items.eq(b.core.index).attr("data-src")),
(h = b.core.$items.eq(b.core.index).attr("data-html")),
i(g, h));
var j = a.find(".lg-object");
a.find(".lg-video").append(j),
a.find(".lg-video-object").hasClass("lg-html5") ||
(a.removeClass("lg-complete"),
a
.find(".lg-video-object")
.on("load.lg error.lg", function () {
a.addClass("lg-complete");
}));
}
}),
(f.prototype.destroy = function () {
this.videoLoaded = !1;
}),
(a.fn.lightGallery.modules.video = f);
})();
}),
(function (a, b) {
"function" == typeof define && define.amd
? define(["jquery"], function (a) {
return b(a);
})
: "object" == typeof exports
? (module.exports = b(require("jquery")))
: b(jQuery);
})(0, function (a) {
!(function () {
"use strict";
var b = function () {
var a = !1,
b = navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);
return b && parseInt(b[2], 10) < 54 && (a = !0), a;
},
c = {
scale: 1,
zoom: !0,
actualSize: !0,
enableZoomAfter: 300,
useLeftForZoom: b(),
},
d = function (b) {
return (
(this.core = a(b).data("lightGallery")),
(this.core.s = a.extend({}, c, this.core.s)),
this.core.s.zoom &&
this.core.doCss() &&
(this.init(),
(this.zoomabletimeout = !1),
(this.pageX = a(window).width() / 2),
(this.pageY = a(window).height() / 2 + a(window).scrollTop())),
this
);
};
(d.prototype.init = function () {
var b = this,
c =
'<span id="lg-zoom-in" class="lg-icon"></span><span id="lg-zoom-out" class="lg-icon"></span>';
b.core.s.actualSize &&
(c += '<span id="lg-actual-size" class="lg-icon"></span>'),
b.core.s.useLeftForZoom
? b.core.$outer.addClass("lg-use-left-for-zoom")
: b.core.$outer.addClass("lg-use-transition-for-zoom"),
this.core.$outer.find(".lg-toolbar").append(c),
b.core.$el.on("onSlideItemLoad.lg.tm.zoom", function (c, d, e) {
var f = b.core.s.enableZoomAfter + e;
a("body").hasClass("lg-from-hash") && e
? (f = 0)
: a("body").removeClass("lg-from-hash"),
(b.zoomabletimeout = setTimeout(function () {
b.core.$slide.eq(d).addClass("lg-zoomable");
}, f + 30));
});
var d = 1,
e = function (c) {
var d,
e,
f = b.core.$outer.find(".lg-current .lg-image"),
g = (a(window).width() - f.prop("offsetWidth")) / 2,
h =
(a(window).height() - f.prop("offsetHeight")) / 2 +
a(window).scrollTop();
(d = b.pageX - g), (e = b.pageY - h);
var i = (c - 1) * d,
j = (c - 1) * e;
f
.css("transform", "scale3d(" + c + ", " + c + ", 1)")
.attr("data-scale", c),
b.core.s.useLeftForZoom
? f
.parent()
.css({ left: -i + "px", top: -j + "px" })
.attr("data-x", i)
.attr("data-y", j)
: f
.parent()
.css(
"transform",
"translate3d(-" + i + "px, -" + j + "px, 0)"
)
.attr("data-x", i)
.attr("data-y", j);
},
f = function () {
d > 1 ? b.core.$outer.addClass("lg-zoomed") : b.resetZoom(),
d < 1 && (d = 1),
e(d);
},
g = function (c, e, g, h) {
var i,
j = e.prop("offsetWidth");
i = b.core.s.dynamic
? b.core.s.dynamicEl[g].width || e[0].naturalWidth || j
: b.core.$items.eq(g).attr("data-width") ||
e[0].naturalWidth ||
j;
var k;
b.core.$outer.hasClass("lg-zoomed")
? (d = 1)
: i > j && ((k = i / j), (d = k || 2)),
h
? ((b.pageX = a(window).width() / 2),
(b.pageY = a(window).height() / 2 + a(window).scrollTop()))
: ((b.pageX =
c.pageX || c.originalEvent.targetTouches[0].pageX),
(b.pageY =
c.pageY || c.originalEvent.targetTouches[0].pageY)),
f(),
setTimeout(function () {
b.core.$outer.removeClass("lg-grabbing").addClass("lg-grab");
}, 10);
},
h = !1;
b.core.$el.on("onAferAppendSlide.lg.tm.zoom", function (a, c) {
var d = b.core.$slide.eq(c).find(".lg-image");
d.on("dblclick", function (a) {
g(a, d, c);
}),
d.on("touchstart", function (a) {
h
? (clearTimeout(h), (h = null), g(a, d, c))
: (h = setTimeout(function () {
h = null;
}, 300)),
a.preventDefault();
});
}),
a(window).on(
"resize.lg.zoom scroll.lg.zoom orientationchange.lg.zoom",
function () {
(b.pageX = a(window).width() / 2),
(b.pageY = a(window).height() / 2 + a(window).scrollTop()),
e(d);
}
),
a("#lg-zoom-out").on("click.lg", function () {
b.core.$outer.find(".lg-current .lg-image").length &&
((d -= b.core.s.scale), f());
}),
a("#lg-zoom-in").on("click.lg", function () {
b.core.$outer.find(".lg-current .lg-image").length &&
((d += b.core.s.scale), f());
}),
a("#lg-actual-size").on("click.lg", function (a) {
g(
a,
b.core.$slide.eq(b.core.index).find(".lg-image"),
b.core.index,
!0
);
}),
b.core.$el.on("onBeforeSlide.lg.tm", function () {
(d = 1), b.resetZoom();
}),
b.zoomDrag(),
b.zoomSwipe();
}),
(d.prototype.resetZoom = function () {
this.core.$outer.removeClass("lg-zoomed"),
this.core.$slide
.find(".lg-img-wrap")
.removeAttr("style data-x data-y"),
this.core.$slide.find(".lg-image").removeAttr("style data-scale"),
(this.pageX = a(window).width() / 2),
(this.pageY = a(window).height() / 2 + a(window).scrollTop());
}),
(d.prototype.zoomSwipe = function () {
var a = this,
b = {},
c = {},
d = !1,
e = !1,
f = !1;
a.core.$slide.on("touchstart.lg", function (c) {
if (a.core.$outer.hasClass("lg-zoomed")) {
var d = a.core.$slide.eq(a.core.index).find(".lg-object");
(f =
d.prop("offsetHeight") * d.attr("data-scale") >
a.core.$outer.find(".lg").height()),
(e =
d.prop("offsetWidth") * d.attr("data-scale") >
a.core.$outer.find(".lg").width()),
(e || f) &&
(c.preventDefault(),
(b = {
x: c.originalEvent.targetTouches[0].pageX,
y: c.originalEvent.targetTouches[0].pageY,
}));
}
}),
a.core.$slide.on("touchmove.lg", function (g) {
if (a.core.$outer.hasClass("lg-zoomed")) {
var h,
i,
j = a.core.$slide.eq(a.core.index).find(".lg-img-wrap");
g.preventDefault(),
(d = !0),
(c = {
x: g.originalEvent.targetTouches[0].pageX,
y: g.originalEvent.targetTouches[0].pageY,
}),
a.core.$outer.addClass("lg-zoom-dragging"),
(i = f
? -Math.abs(j.attr("data-y")) + (c.y - b.y)
: -Math.abs(j.attr("data-y"))),
(h = e
? -Math.abs(j.attr("data-x")) + (c.x - b.x)
: -Math.abs(j.attr("data-x"))),
(Math.abs(c.x - b.x) > 15 || Math.abs(c.y - b.y) > 15) &&
(a.core.s.useLeftForZoom
? j.css({ left: h + "px", top: i + "px" })
: j.css(
"transform",
"translate3d(" + h + "px, " + i + "px, 0)"
));
}
}),
a.core.$slide.on("touchend.lg", function () {
a.core.$outer.hasClass("lg-zoomed") &&
d &&
((d = !1),
a.core.$outer.removeClass("lg-zoom-dragging"),
a.touchendZoom(b, c, e, f));
});
}),
(d.prototype.zoomDrag = function () {
var b = this,
c = {},
d = {},
e = !1,
f = !1,
g = !1,
h = !1;
b.core.$slide.on("mousedown.lg.zoom", function (d) {
var f = b.core.$slide.eq(b.core.index).find(".lg-object");
(h =
f.prop("offsetHeight") * f.attr("data-scale") >
b.core.$outer.find(".lg").height()),
(g =
f.prop("offsetWidth") * f.attr("data-scale") >
b.core.$outer.find(".lg").width()),
b.core.$outer.hasClass("lg-zoomed") &&
a(d.target).hasClass("lg-object") &&
(g || h) &&
(d.preventDefault(),
(c = { x: d.pageX, y: d.pageY }),
(e = !0),
(b.core.$outer.scrollLeft += 1),
(b.core.$outer.scrollLeft -= 1),
b.core.$outer.removeClass("lg-grab").addClass("lg-grabbing"));
}),
a(window).on("mousemove.lg.zoom", function (a) {
if (e) {
var i,
j,
k = b.core.$slide.eq(b.core.index).find(".lg-img-wrap");
(f = !0),
(d = { x: a.pageX, y: a.pageY }),
b.core.$outer.addClass("lg-zoom-dragging"),
(j = h
? -Math.abs(k.attr("data-y")) + (d.y - c.y)
: -Math.abs(k.attr("data-y"))),
(i = g
? -Math.abs(k.attr("data-x")) + (d.x - c.x)
: -Math.abs(k.attr("data-x"))),
b.core.s.useLeftForZoom
? k.css({ left: i + "px", top: j + "px" })
: k.css(
"transform",
"translate3d(" + i + "px, " + j + "px, 0)"
);
}
}),
a(window).on("mouseup.lg.zoom", function (a) {
e &&
((e = !1),
b.core.$outer.removeClass("lg-zoom-dragging"),
!f ||
(c.x === d.x && c.y === d.y) ||
((d = { x: a.pageX, y: a.pageY }),
b.touchendZoom(c, d, g, h)),
(f = !1)),
b.core.$outer.removeClass("lg-grabbing").addClass("lg-grab");
});
}),
(d.prototype.touchendZoom = function (a, b, c, d) {
var e = this,
f = e.core.$slide.eq(e.core.index).find(".lg-img-wrap"),
g = e.core.$slide.eq(e.core.index).find(".lg-object"),
h = -Math.abs(f.attr("data-x")) + (b.x - a.x),
i = -Math.abs(f.attr("data-y")) + (b.y - a.y),
j =
(e.core.$outer.find(".lg").height() - g.prop("offsetHeight")) / 2,
k = Math.abs(
g.prop("offsetHeight") * Math.abs(g.attr("data-scale")) -
e.core.$outer.find(".lg").height() +
j
),
l = (e.core.$outer.find(".lg").width() - g.prop("offsetWidth")) / 2,
m = Math.abs(
g.prop("offsetWidth") * Math.abs(g.attr("data-scale")) -
e.core.$outer.find(".lg").width() +
l
);
(Math.abs(b.x - a.x) > 15 || Math.abs(b.y - a.y) > 15) &&
(d && (i <= -k ? (i = -k) : i >= -j && (i = -j)),
c && (h <= -m ? (h = -m) : h >= -l && (h = -l)),
d
? f.attr("data-y", Math.abs(i))
: (i = -Math.abs(f.attr("data-y"))),
c
? f.attr("data-x", Math.abs(h))
: (h = -Math.abs(f.attr("data-x"))),
e.core.s.useLeftForZoom
? f.css({ left: h + "px", top: i + "px" })
: f.css("transform", "translate3d(" + h + "px, " + i + "px, 0)"));
}),
(d.prototype.destroy = function () {
var b = this;
b.core.$el.off(".lg.zoom"),
a(window).off(".lg.zoom"),
b.core.$slide.off(".lg.zoom"),
b.core.$el.off(".lg.tm.zoom"),
b.resetZoom(),
clearTimeout(b.zoomabletimeout),
(b.zoomabletimeout = !1);
}),
(a.fn.lightGallery.modules.zoom = d);
})();
}),
(function (a, b) {
"function" == typeof define && define.amd
? define(["jquery"], function (a) {
return b(a);
})
: "object" == typeof exports
? (module.exports = b(require("jquery")))
: b(jQuery);
})(0, function (a) {
!(function () {
"use strict";
var b = { hash: !0 },
c = function (c) {
return (
(this.core = a(c).data("lightGallery")),
(this.core.s = a.extend({}, b, this.core.s)),
this.core.s.hash &&
((this.oldHash = window.location.hash), this.init()),
this
);
};
(c.prototype.init = function () {
var b,
c = this;
c.core.$el.on("onAfterSlide.lg.tm", function (a, b, d) {
history.replaceState
? history.replaceState(
null,
null,
window.location.pathname +
window.location.search +
"#lg=" +
c.core.s.galleryId +
"&slide=" +
d
)
: (window.location.hash =
"lg=" + c.core.s.galleryId + "&slide=" + d);
}),
a(window).on("hashchange.lg.hash", function () {
b = window.location.hash;
var a = parseInt(b.split("&slide=")[1], 10);
b.indexOf("lg=" + c.core.s.galleryId) > -1
? c.core.slide(a, !1, !1)
: c.core.lGalleryOn && c.core.destroy();
});
}),
(c.prototype.destroy = function () {
this.core.s.hash &&
(this.oldHash &&
this.oldHash.indexOf("lg=" + this.core.s.galleryId) < 0
? history.replaceState
? history.replaceState(null, null, this.oldHash)
: (window.location.hash = this.oldHash)
: history.replaceState
? history.replaceState(
null,
document.title,
window.location.pathname + window.location.search
)
: (window.location.hash = ""),
this.core.$el.off(".lg.hash"));
}),
(a.fn.lightGallery.modules.hash = c);
})();
}),
(function (a, b) {
"function" == typeof define && define.amd
? define(["jquery"], function (a) {
return b(a);
})
: "object" == typeof exports
? (module.exports = b(require("jquery")))
: b(jQuery);
})(0, function (a) {
!(function () {
"use strict";
var b = {
share: !0,
facebook: !0,
facebookDropdownText: "Facebook",
twitter: !0,
twitterDropdownText: "Twitter",
googlePlus: !0,
googlePlusDropdownText: "GooglePlus",
pinterest: !0,
pinterestDropdownText: "Pinterest",
},
c = function (c) {
return (
(this.core = a(c).data("lightGallery")),
(this.core.s = a.extend({}, b, this.core.s)),
this.core.s.share && this.init(),
this
);
};
(c.prototype.init = function () {
var b = this,
c =
'<span id="lg-share" class="lg-icon"><ul class="lg-dropdown" style="position: absolute;">';
(c += b.core.s.facebook
? '<li><a id="lg-share-facebook" target="_blank"><span class="lg-icon"></span><span class="lg-dropdown-text">' +
this.core.s.facebookDropdownText +
"</span></a></li>"
: ""),
(c += b.core.s.twitter
? '<li><a id="lg-share-twitter" target="_blank"><span class="lg-icon"></span><span class="lg-dropdown-text">' +
this.core.s.twitterDropdownText +
"</span></a></li>"
: ""),
(c += b.core.s.googlePlus
? '<li><a id="lg-share-googleplus" target="_blank"><span class="lg-icon"></span><span class="lg-dropdown-text">' +
this.core.s.googlePlusDropdownText +
"</span></a></li>"
: ""),
(c += b.core.s.pinterest
? '<li><a id="lg-share-pinterest" target="_blank"><span class="lg-icon"></span><span class="lg-dropdown-text">' +
this.core.s.pinterestDropdownText +
"</span></a></li>"
: ""),
(c += "</ul></span>"),
this.core.$outer.find(".lg-toolbar").append(c),
this.core.$outer
.find(".lg")
.append('<div id="lg-dropdown-overlay"></div>'),
a("#lg-share").on("click.lg", function () {
b.core.$outer.toggleClass("lg-dropdown-active");
}),
a("#lg-dropdown-overlay").on("click.lg", function () {
b.core.$outer.removeClass("lg-dropdown-active");
}),
b.core.$el.on("onAfterSlide.lg.tm", function (c, d, e) {
setTimeout(function () {
a("#lg-share-facebook").attr(
"href",
"https://www.facebook.com/sharer/sharer.php?u=" +
encodeURIComponent(
b.getSahreProps(e, "facebookShareUrl") ||
window.location.href
)
),
a("#lg-share-twitter").attr(
"href",
"https://twitter.com/intent/tweet?text=" +
b.getSahreProps(e, "tweetText") +
"&url=" +
encodeURIComponent(
b.getSahreProps(e, "twitterShareUrl") ||
window.location.href
)
),
a("#lg-share-googleplus").attr(
"href",
"https://plus.google.com/share?url=" +
encodeURIComponent(
b.getSahreProps(e, "googleplusShareUrl") ||
window.location.href
)
),
a("#lg-share-pinterest").attr(
"href",
"http://www.pinterest.com/pin/create/button/?url=" +
encodeURIComponent(
b.getSahreProps(e, "pinterestShareUrl") ||
window.location.href
) +
"&media=" +
encodeURIComponent(b.getSahreProps(e, "src")) +
"&description=" +
b.getSahreProps(e, "pinterestText")
);
}, 100);
});
}),
(c.prototype.getSahreProps = function (a, b) {
var c = "";
if (this.core.s.dynamic) c = this.core.s.dynamicEl[a][b];
else {
var d = this.core.$items.eq(a).attr("href"),
e = this.core.$items.eq(a).data(b);
c = "src" === b ? d || e : e;
}
return c;
}),
(c.prototype.destroy = function () {}),
(a.fn.lightGallery.modules.share = c);
})();
});