/*! lightgallery - v1.2.19 - 2016-05-17
* http://sachinchoolur.github.io/lightGallery/
* Copyright (c) 2016 Sachin N; Licensed Apache 2.0 */
!function (a, b, c, d) {
"use strict";
function e(b, d) {
if (this.el = b, this.$el = a(b), this.s = a.extend({}, f, 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 c.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 f = {
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",
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
};
e.prototype.init = function () {
var c = this;
c.s.preload > c.$items.length && (c.s.preload = c.$items.length);
var d = b.location.hash;
d.indexOf("lg=" + this.s.galleryId) > 0 && (c.index = parseInt(d.split("&slide=")[1], 10), a("body").addClass("lg-from-hash"), a("body").hasClass("lg-on") || setTimeout(function () {
c.build(c.index), a("body").addClass("lg-on")
})), c.s.dynamic ? (c.$el.trigger("onBeforeOpen.lg"), c.index = c.s.index || 0, a("body").hasClass("lg-on") || setTimeout(function () {
c.build(c.index), a("body").addClass("lg-on")
})) : c.$items.on("click.lgcustom", function (b) {
try {
b.preventDefault(), b.preventDefault()
} catch (d) {
b.returnValue = !1
}
c.$el.trigger("onBeforeOpen.lg"), c.index = c.s.index || c.$items.index(this), a("body").hasClass("lg-on") || (c.build(c.index), a("body").addClass("lg-on"))
})
}, e.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), c.s.keyPress && c.keyPress(), c.$items.length > 1 && (c.arrow(), setTimeout(function () {
c.enableDrag(), c.enableSwipe()
}, 50), c.s.mousewheel && c.mousewheel()), 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)
})
}, e.prototype.structure = function () {
var c, d = "", e = "", f = 0, g = "", h = this;
for (a("body").append('
'), a(".lg-backdrop").css("transition-duration", this.s.backdropDuration + "ms"), f = 0; f < this.$items.length; f++)d += '';
if (this.s.controls && this.$items.length > 1 && (e = '' + this.s.prevHtml + '
' + this.s.nextHtml + "
"), ".lg-sub-html" === this.s.appendSubHtmlTo && (g = ''), c = '", a("body").append(c), 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"), h.setTop(), a(b).on("resize.lg orientationchange.lg", function () {
setTimeout(function () {
h.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 i = this.$outer.find(".lg-inner");
i.css("transition-timing-function", this.s.cssEasing), i.css("transition-duration", this.s.speed + "ms")
}
a(".lg-backdrop").addClass("in"), setTimeout(function () {
h.$outer.addClass("lg-visible")
}, this.s.backdropDuration), this.s.download && this.$outer.find(".lg-toolbar").append(''), this.prevScrollTop = a(b).scrollTop()
}, e.prototype.setTop = function () {
if ("100%" !== this.s.height) {
var c = a(b).height(), d = (c - parseInt(this.s.height, 10)) / 2, e = this.$outer.find(".lg");
c >= parseInt(this.s.height, 10) ? e.css("top", d + "px") : e.css("top", "0px")
}
}, e.prototype.doCss = function () {
var a = function () {
var a = ["transition", "MozTransition", "WebkitTransition", "OTransition", "msTransition", "KhtmlTransition"],
b = c.documentElement, d = 0;
for (d = 0; d < a.length; d++)if (a[d] in b.style)return !0
};
return !!a()
}, e.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 && c)return {html5: !0};
var d = a.match(/\/\/(?:www\.)?youtu(?:\.be|be\.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
}, e.prototype.counter = function () {
this.s.counter && a(this.s.appendCounterTo).append('' + (parseInt(this.index, 10) + 1) + ' / ' + this.$items.length + "
")
}, e.prototype.addHtml = function (b) {
var c, d = null;
if (this.s.dynamic ? this.s.dynamicEl[b].subHtmlUrl ? c = this.s.dynamicEl[b].subHtmlUrl : d = this.s.dynamicEl[b].subHtml : this.$items.eq(b).attr("data-sub-html-url") ? c = this.$items.eq(b).attr("data-sub-html-url") : (d = this.$items.eq(b).attr("data-sub-html"), this.s.getCaptionFromTitleOrAlt && !d && (d = this.$items.eq(b).attr("title") || this.$items.eq(b).find("img").first().attr("alt"))), !c)if ("undefined" != typeof d && null !== d) {
var e = d.substring(0, 1);
"." !== e && "#" !== e || (d = a(d).html())
} else d = "";
".lg-sub-html" === this.s.appendSubHtmlTo ? c ? this.$outer.find(this.s.appendSubHtmlTo).load(c) : this.$outer.find(this.s.appendSubHtmlTo).html(d) : c ? this.$slide.eq(b).load(c) : this.$slide.eq(b).append(d), "undefined" != typeof d && null !== d && ("" === d ? 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])
}, e.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 && !(0 > a - c); c++)this.loadContent(a - c, !1, 0)
}, e.prototype.loadContent = function (c, d, e) {
var f, g, h, i, j, k, l = this, m = !1, n = function (c) {
for (var d = [], e = [], f = 0; f < c.length; f++) {
var h = c[f].split(" ");
"" === h[0] && h.splice(0, 1), e.push(h[0]), d.push(h[1])
}
for (var i = a(b).width(), j = 0; j < d.length; j++)if (parseInt(d[j], 10) > i) {
g = e[j];
break
}
};
if (l.s.dynamic) {
if (l.s.dynamicEl[c].poster && (m = !0, h = l.s.dynamicEl[c].poster), k = l.s.dynamicEl[c].html, g = l.s.dynamicEl[c].src, l.s.dynamicEl[c].responsive) {
var o = l.s.dynamicEl[c].responsive.split(",");
n(o)
}
i = l.s.dynamicEl[c].srcset, j = l.s.dynamicEl[c].sizes
} else {
if (l.$items.eq(c).attr("data-poster") && (m = !0, h = l.$items.eq(c).attr("data-poster")), k = l.$items.eq(c).attr("data-html"), g = l.$items.eq(c).attr("href") || l.$items.eq(c).attr("data-src"), l.$items.eq(c).attr("data-responsive")) {
var p = l.$items.eq(c).attr("data-responsive").split(",");
n(p)
}
i = l.$items.eq(c).attr("data-srcset"), j = l.$items.eq(c).attr("data-sizes")
}
var q = !1;
l.s.dynamic ? l.s.dynamicEl[c].iframe && (q = !0) : "true" === l.$items.eq(c).attr("data-iframe") && (q = !0);
var r = l.isVideo(g, c);
if (!l.$slide.eq(c).hasClass("lg-loaded")) {
if (q) l.$slide.eq(c).prepend(''); else if (m) {
var s = "";
s = r && r.youtube ? "lg-has-youtube" : r && r.vimeo ? "lg-has-vimeo" : "lg-has-html5", l.$slide.eq(c).prepend('')
} else r ? (l.$slide.eq(c).prepend(''), l.$el.trigger("hasVideo.lg", [c, g, k])) : l.$slide.eq(c).prepend('');
if (l.$el.trigger("onAferAppendSlide.lg", [c]), f = l.$slide.eq(c).find(".lg-object"), j && f.attr("sizes", j), i) {
f.attr("srcset", i);
try {
picturefill({elements: [f[0]]})
} catch (t) {
console.error("Make sure you have included Picturefill version 2")
}
}
".lg-sub-html" !== this.s.appendSubHtmlTo && l.addHtml(c), l.$slide.eq(c).addClass("lg-loaded")
}
l.$slide.eq(c).find(".lg-object").on("load.lg error.lg", function () {
var b = 0;
e && !a("body").hasClass("lg-from-hash") && (b = e), setTimeout(function () {
l.$slide.eq(c).addClass("lg-complete"), l.$el.trigger("onSlideItemLoad.lg", [c, e || 0])
}, b)
}), r && r.html5 && !m && l.$slide.eq(c).addClass("lg-complete"), d === !0 && (l.$slide.eq(c).hasClass("lg-complete") ? l.preload(c) : l.$slide.eq(c).find(".lg-object").on("load.lg error.lg", function () {
l.preload(c)
}))
}, e.prototype.slide = function (b, c, d) {
var e = this.$outer.find(".lg-current").index(), f = this;
if (!f.lGalleryOn || e !== b) {
var g = this.$slide.length, h = f.lGalleryOn ? this.s.speed : 0, i = !1, j = !1;
if (!f.lgBusy) {
if (this.s.download) {
var k;
k = f.s.dynamic ? f.s.dynamicEl[b].downloadUrl !== !1 && (f.s.dynamicEl[b].downloadUrl || f.s.dynamicEl[b].src) : "false" !== f.$items.eq(b).attr("data-download-url") && (f.$items.eq(b).attr("data-download-url") || f.$items.eq(b).attr("href") || f.$items.eq(b).attr("data-src")), k ? (a("#lg-download").attr("href", k), f.$outer.removeClass("lg-hide-download")) : f.$outer.addClass("lg-hide-download")
}
if (this.$el.trigger("onBeforeSlide.lg", [e, b, c, d]), f.lgBusy = !0, clearTimeout(f.hideBartimeout), ".lg-sub-html" === this.s.appendSubHtmlTo && setTimeout(function () {
f.addHtml(b)
}, h), this.arrowDisable(b), c) {
var l = b - 1, m = b + 1;
0 === b && e === g - 1 ? (m = 0, l = g - 1) : b === g - 1 && 0 === e && (m = 0, l = g - 1), this.$slide.removeClass("lg-prev-slide lg-current lg-next-slide"), f.$slide.eq(l).addClass("lg-prev-slide"), f.$slide.eq(m).addClass("lg-next-slide"), f.$slide.eq(b).addClass("lg-current")
} else f.$outer.addClass("lg-no-trans"), this.$slide.removeClass("lg-prev-slide lg-next-slide"), e > b ? (j = !0, 0 !== b || e !== g - 1 || d || (j = !1, i = !0)) : b > e && (i = !0, b !== g - 1 || 0 !== e || d || (j = !0, i = !1)), j ? (this.$slide.eq(b).addClass("lg-prev-slide"), this.$slide.eq(e).addClass("lg-next-slide")) : i && (this.$slide.eq(b).addClass("lg-next-slide"), this.$slide.eq(e).addClass("lg-prev-slide")), setTimeout(function () {
f.$slide.removeClass("lg-current"), f.$slide.eq(b).addClass("lg-current"), f.$outer.removeClass("lg-no-trans")
}, 50);
f.lGalleryOn ? (setTimeout(function () {
f.loadContent(b, !0, 0)
}, this.s.speed + 50), setTimeout(function () {
f.lgBusy = !1, f.$el.trigger("onAfterSlide.lg", [e, b, c, d])
}, this.s.speed)) : (f.loadContent(b, !0, f.s.backdropDuration), f.lgBusy = !1, f.$el.trigger("onAfterSlide.lg", [e, b, c, d])), f.lGalleryOn = !0, this.s.counter && a("#lg-counter-current").text(b + 1)
}
}
}, e.prototype.goToNextSlide = function (a) {
var b = this;
b.lgBusy || (b.index + 1 < b.$slide.length ? (b.index++, b.$el.trigger("onBeforeNextSlide.lg", [b.index]), b.slide(b.index, a, !1)) : b.s.loop ? (b.index = 0, b.$el.trigger("onBeforeNextSlide.lg", [b.index]), b.slide(b.index, a, !1)) : b.s.slideEndAnimatoin && (b.$outer.addClass("lg-right-end"), setTimeout(function () {
b.$outer.removeClass("lg-right-end")
}, 400)))
}, e.prototype.goToPrevSlide = function (a) {
var b = this;
b.lgBusy || (b.index > 0 ? (b.index--, b.$el.trigger("onBeforePrevSlide.lg", [b.index, a]), b.slide(b.index, a, !1)) : b.s.loop ? (b.index = b.$items.length - 1, b.$el.trigger("onBeforePrevSlide.lg", [b.index, a]), b.slide(b.index, a, !1)) : b.s.slideEndAnimatoin && (b.$outer.addClass("lg-left-end"), setTimeout(function () {
b.$outer.removeClass("lg-left-end")
}, 400)))
}, e.prototype.keyPress = function () {
var c = this;
this.$items.length > 1 && a(b).on("keyup.lg", function (a) {
c.$items.length > 1 && (37 === a.keyCode && (a.preventDefault(), c.goToPrevSlide()), 39 === a.keyCode && (a.preventDefault(), c.goToNextSlide()))
}), a(b).on("keydown.lg", function (a) {
c.s.escKey === !0 && 27 === a.keyCode && (a.preventDefault(), c.$outer.hasClass("lg-thumb-open") ? c.$outer.removeClass("lg-thumb-open") : c.destroy())
})
}, e.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()
})
}, e.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"))
}, e.prototype.setTranslate = function (a, b, c) {
this.s.useLeft ? a.css("left", b) : a.css({transform: "translate3d(" + b + "px, " + c + "px, 0px)"})
}, e.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))
}, e.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"), 0 > a && 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)
}, e.prototype.enableSwipe = function () {
var a = this, b = 0, c = 0, d = !1;
a.s.enableSwipe && a.isTouch && 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"))
}))
}, e.prototype.enableDrag = function () {
var c = this, d = 0, e = 0, f = !1, g = !1;
c.s.enableDrag && !c.isTouch && c.doCss() && (c.$slide.on("mousedown.lg", function (b) {
c.$outer.hasClass("lg-zoomed") || (a(b.target).hasClass("lg-object") || a(b.target).hasClass("lg-video-play")) && (b.preventDefault(), c.lgBusy || (c.manageSwipeClass(), d = b.pageX, f = !0, c.$outer.scrollLeft += 1, c.$outer.scrollLeft -= 1, c.$outer.removeClass("lg-grab").addClass("lg-grabbing"), c.$el.trigger("onDragstart.lg")))
}), a(b).on("mousemove.lg", function (a) {
f && (g = !0, e = a.pageX, c.touchMove(d, e), c.$el.trigger("onDragmove.lg"))
}), a(b).on("mouseup.lg", function (b) {
g ? (g = !1, c.touchEnd(e - d), c.$el.trigger("onDragend.lg")) : (a(b.target).hasClass("lg-object") || a(b.target).hasClass("lg-video-play")) && c.$el.trigger("onSlideClick.lg"), f && (f = !1, c.$outer.removeClass("lg-grabbing").addClass("lg-grab"))
}))
}, e.prototype.manageSwipeClass = function () {
var a = this.index + 1, b = this.index - 1, c = this.$slide.length;
this.s.loop && (0 === this.index ? b = c - 1 : this.index === c - 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")
}, e.prototype.mousewheel = function () {
var a = this;
a.$outer.on("mousewheel.lg", function (b) {
b.deltaY && (b.deltaY > 0 ? a.goToPrevSlide() : a.goToNextSlide(), b.preventDefault())
})
}, e.prototype.closeGallery = function () {
var b = this, c = !1;
this.$outer.find(".lg-close").on("click.lg", function () {
b.destroy(), $('body').removeClass('overflow-full')
}), 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("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())
}))
}, e.prototype.destroy = function (c) {
var d = this;
c || d.$el.trigger("onBeforeClose.lg"), a(b).scrollTop(d.prevScrollTop), c && (d.s.dynamic || this.$items.off("click.lg click.lgcustom"), a.removeData(d.el, "lightGallery")), this.$el.off(".lg.tm"), a.each(a.fn.lightGallery.modules, function (a) {
d.modules[a] && d.modules[a].destroy()
}), this.lGalleryOn = !1, clearTimeout(d.hideBartimeout), this.hideBartimeout = !1, a(b).off(".lg"), a("body").removeClass("lg-on lg-from-hash"), d.$outer && d.$outer.removeClass("lg-visible"), a(".lg-backdrop").removeClass("in"), setTimeout(function () {
d.$outer && d.$outer.remove(), a(".lg-backdrop").remove(), c || d.$el.trigger("onCloseAfter.lg")
}, d.s.backdropDuration + 50)
}, a.fn.lightGallery = function (b) {
return this.each(function () {
if (a.data(this, "lightGallery"))try {
a(this).data("lightGallery").init()
} catch (c) {
console.error("lightGallery has not initiated properly")
} else a.data(this, "lightGallery", new e(this, b))
})
}, a.fn.lightGallery.modules = {}
}(jQuery, window, document);
/*Full screen*/
!function (a, b, c, d) {
"use strict";
var e = {fullScreen: !0}, f = function (b) {
return this.core = a(b).data("lightGallery"), this.$el = a(b), this.core.s = a.extend({}, e, this.core.s), this.init(), this
};
f.prototype.init = function () {
var a = "";
if (this.core.s.fullScreen) {
if (!(c.fullscreenEnabled || c.webkitFullscreenEnabled || c.mozFullScreenEnabled || c.msFullscreenEnabled))return;
a = '', this.core.$outer.find(".lg-toolbar").append(a), this.fullScreen()
}
}, f.prototype.requestFullscreen = function () {
var a = c.documentElement;
a.requestFullscreen ? a.requestFullscreen() : a.msRequestFullscreen ? a.msRequestFullscreen() : a.mozRequestFullScreen ? a.mozRequestFullScreen() : a.webkitRequestFullscreen && a.webkitRequestFullscreen()
}, f.prototype.exitFullscreen = function () {
c.exitFullscreen ? c.exitFullscreen() : c.msExitFullscreen ? c.msExitFullscreen() : c.mozCancelFullScreen ? c.mozCancelFullScreen() : c.webkitExitFullscreen && c.webkitExitFullscreen()
}, f.prototype.fullScreen = function () {
var b = this;
a(c).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 () {
c.fullscreenElement || c.mozFullScreenElement || c.webkitFullscreenElement || c.msFullscreenElement ? b.exitFullscreen() : b.requestFullscreen()
})
}, f.prototype.destroy = function () {
this.exitFullscreen(), a(c).off("fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg")
}, a.fn.lightGallery.modules.fullscreen = f
}(jQuery, window, document);
/*Zoom*/
!function (a, b, c, d) {
"use strict";
var e = {scale: 1, zoom: !0, actualSize: !0, enableZoomAfter: 300}, f = function (c) {
return this.core = a(c).data("lightGallery"), this.core.s = a.extend({}, e, this.core.s), this.core.s.zoom && this.core.doCss() && (this.init(), this.zoomabletimeout = !1, this.pageX = a(b).width() / 2, this.pageY = a(b).height() / 2 + a(b).scrollTop()), this
};
f.prototype.init = function () {
var c = this, d = '';
c.core.s.actualSize && (d += ''), this.core.$outer.find(".lg-toolbar").append(d), c.core.$el.on("onSlideItemLoad.lg.tm.zoom", function (b, d, e) {
var f = c.core.s.enableZoomAfter + e;
a("body").hasClass("lg-from-hash") && e ? f = 0 : a("body").removeClass("lg-from-hash"), c.zoomabletimeout = setTimeout(function () {
c.core.$slide.eq(d).addClass("lg-zoomable")
}, f + 30)
});
var e = 1, f = function (d) {
var e, f, g = c.core.$outer.find(".lg-current .lg-image"), h = (a(b).width() - g.width()) / 2,
i = (a(b).height() - g.height()) / 2 + a(b).scrollTop();
e = c.pageX - h, f = c.pageY - i;
var j = (d - 1) * e, k = (d - 1) * f;
g.css("transform", "scale3d(" + d + ", " + d + ", 1)").attr("data-scale", d), g.parent().css({
left: -j + "px",
top: -k + "px"
}).attr("data-x", j).attr("data-y", k)
}, g = function () {
e > 1 ? c.core.$outer.addClass("lg-zoomed") : c.resetZoom(), 1 > e && (e = 1), f(e)
}, h = function (d, f, h, i) {
var j, k = f.width();
j = c.core.s.dynamic ? c.core.s.dynamicEl[h].width || f[0].naturalWidth || k : c.core.$items.eq(h).attr("data-width") || f[0].naturalWidth || k;
var l;
c.core.$outer.hasClass("lg-zoomed") ? e = 1 : j > k && (l = j / k, e = l || 2), i ? (c.pageX = a(b).width() / 2, c.pageY = a(b).height() / 2 + a(b).scrollTop()) : (c.pageX = d.pageX || d.originalEvent.targetTouches[0].pageX, c.pageY = d.pageY || d.originalEvent.targetTouches[0].pageY), g(), setTimeout(function () {
c.core.$outer.removeClass("lg-grabbing").addClass("lg-grab")
}, 10)
}, i = !1;
c.core.$el.on("onAferAppendSlide.lg.tm.zoom", function (a, b) {
var d = c.core.$slide.eq(b).find(".lg-image");
d.on("dblclick", function (a) {
h(a, d, b)
}), d.on("touchstart", function (a) {
i ? (clearTimeout(i), i = null, h(a, d, b)) : i = setTimeout(function () {
i = null
}, 300), a.preventDefault()
})
}), a(b).on("resize.lg.zoom scroll.lg.zoom orientationchange.lg.zoom", function () {
c.pageX = a(b).width() / 2, c.pageY = a(b).height() / 2 + a(b).scrollTop(), f(e)
}), a("#lg-zoom-out").on("click.lg", function () {
c.core.$outer.find(".lg-current .lg-image").length && (e -= c.core.s.scale, g())
}), a("#lg-zoom-in").on("click.lg", function () {
c.core.$outer.find(".lg-current .lg-image").length && (e += c.core.s.scale, g())
}), a("#lg-actual-size").on("click.lg", function (a) {
h(a, c.core.$slide.eq(c.core.index).find(".lg-image"), c.core.index, !0)
}), c.core.$el.on("onBeforeSlide.lg.tm", function () {
e = 1, c.resetZoom()
}), c.core.isTouch || c.zoomDrag(), c.core.isTouch && c.zoomSwipe()
}, f.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(b).width() / 2, this.pageY = a(b).height() / 2 + a(b).scrollTop()
}, f.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.outerHeight() * d.attr("data-scale") > a.core.$outer.find(".lg").height(), e = d.outerWidth() * 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) && j.css({
left: h + "px",
top: i + "px"
})
}
}), 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))
})
}, f.prototype.zoomDrag = function () {
var c = this, d = {}, e = {}, f = !1, g = !1, h = !1, i = !1;
c.core.$slide.on("mousedown.lg.zoom", function (b) {
var e = c.core.$slide.eq(c.core.index).find(".lg-object");
i = e.outerHeight() * e.attr("data-scale") > c.core.$outer.find(".lg").height(), h = e.outerWidth() * e.attr("data-scale") > c.core.$outer.find(".lg").width(), c.core.$outer.hasClass("lg-zoomed") && a(b.target).hasClass("lg-object") && (h || i) && (b.preventDefault(), d = {
x: b.pageX,
y: b.pageY
}, f = !0, c.core.$outer.scrollLeft += 1, c.core.$outer.scrollLeft -= 1, c.core.$outer.removeClass("lg-grab").addClass("lg-grabbing"))
}), a(b).on("mousemove.lg.zoom", function (a) {
if (f) {
var b, j, k = c.core.$slide.eq(c.core.index).find(".lg-img-wrap");
g = !0, e = {
x: a.pageX,
y: a.pageY
}, c.core.$outer.addClass("lg-zoom-dragging"), j = i ? -Math.abs(k.attr("data-y")) + (e.y - d.y) : -Math.abs(k.attr("data-y")), b = h ? -Math.abs(k.attr("data-x")) + (e.x - d.x) : -Math.abs(k.attr("data-x")), k.css({
left: b + "px",
top: j + "px"
})
}
}), a(b).on("mouseup.lg.zoom", function (a) {
f && (f = !1, c.core.$outer.removeClass("lg-zoom-dragging"), !g || d.x === e.x && d.y === e.y || (e = {
x: a.pageX,
y: a.pageY
}, c.touchendZoom(d, e, h, i)), g = !1), c.core.$outer.removeClass("lg-grabbing").addClass("lg-grab")
})
}, f.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.outerHeight()) / 2,
k = Math.abs(g.outerHeight() * Math.abs(g.attr("data-scale")) - e.core.$outer.find(".lg").height() + j),
l = (e.core.$outer.find(".lg").width() - g.outerWidth()) / 2,
m = Math.abs(g.outerWidth() * 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 && (-k >= i ? i = -k : i >= -j && (i = -j)), c && (-m >= h ? 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")), f.css({
left: h + "px",
top: i + "px"
}))
}, f.prototype.destroy = function () {
var c = this;
c.core.$el.off(".lg.zoom"), a(b).off(".lg.zoom"), c.core.$slide.off(".lg.zoom"), c.core.$el.off(".lg.tm.zoom"), c.resetZoom(), clearTimeout(c.zoomabletimeout), c.zoomabletimeout = !1
}, a.fn.lightGallery.modules.zoom = f
}(jQuery, window, document);