{"version":3,"sources":["libraries/lightgallery.js"],"names":["f","exports","module","define","amd","g","window","global","self","Lightgallery","r","e","n","t","o","i","c","require","u","a","Error","code","p","call","length","factory","mod","lgUtils","Object","defineProperty","value","utils","getAttribute","el","label","setAttribute","wrap","className","wrapper","document","createElement","parentNode","insertBefore","removeChild","appendChild","addClass","classList","add","removeClass","remove","replace","RegExp","split","join","hasClass","contains","test","setVendor","property","style","charAt","toLowerCase","slice","trigger","event","detail","arguments","undefined","customEvent","CustomEvent","dispatchEvent","Listener","uid","on","events","fn","_this","forEach","_id","addEventListener","off","_event","substring","key","hasOwnProperty","indexOf","removeEventListener","param","obj","keys","map","k","encodeURIComponent","default","lightgallery","_lgUtils","_lgUtils2","_interopRequireDefault","__esModule","_extends","assign","target","source","prototype","params","bubbles","cancelable","evt","createEvent","initCustomEvent","Event","lgData","lgModules","defaults","mode","cssEasing","easing","speed","height","width","startClass","backdropDuration","hideBarsDelay","useLeft","ariaLabelledby","ariaDescribedby","closable","loop","escKey","keyPress","controls","slideEndAnimatoin","hideControlOnEnd","mousewheel","getCaptionFromTitleOrAlt","appendSubHtmlTo","subHtmlSelectorRelative","preload","showAfterLoad","selector","selectWithin","nextHtml","prevHtml","index","iframeMaxWidth","download","counter","appendCounterTo","swipeThreshold","enableSwipe","enableDrag","dynamic","dynamicEl","galleryId","Plugin","element","options","s","constructor","Array","modules","lGalleryOn","lgBusy","hideBartimeout","isTouch","documentElement","items","push","querySelector","querySelectorAll","children","___slide","outer","init","_hash","location","hash","parseInt","body","setTimeout","build","preventDefault","structure","slide","arrow","closeGallery","clearTimeout","list","subHtmlCont","template","insertAdjacentHTML","focus","setTop","doCss","inner","prevScrollTop","scrollTop","wH","innerHeight","top","lGallery","support","transition","root","isVideo","src","html","html5","youtube","match","vimeo","dailymotion","vk","addHtml","subHtml","currentEle","fL","innerHTML","j","loadContent","rec","delay","_hasPoster","_img","_src","_poster","_srcset","_sizes","_html","_alt","getResponsiveSrc","srcItms","rsWidth","rsSrc","__src","splice","wWidth","innerWidth","poster","alt","responsive","srcDyItms","srcset","sizes","iframe","_isVideo","videoClass","picturefill","elements","console","error","_speed","fromTouch","fromThumb","_prevIndex","_length","_time","_next","_prev","downloadUrl","getElementById","prevIndex","arrowDisable","touchPrev","touchNext","goToNextSlide","goToPrevSlide","keyCode","destroy","next","prev","removeAttribute","setTranslate","xValue","yValue","left","touchMove","startCoords","endCoords","distance","Math","abs","clientWidth","touchEnd","opacity","isMoved","manageSwipeClass","targetTouches","pageX","isDraging","scrollLeft","deltaY","mousedown","d","lguid","err","lightGallery"],"mappings":"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","sourcesContent":["/**!\r\n * lightgallery.js | 1.3.0 | September 1st 2020\r\n * http://sachinchoolur.github.io/lightgallery.js/\r\n * Copyright (c) 2016 Sachin N;\r\n * @license GPLv3\r\n */(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.Lightgallery = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i 2 && arguments[2] !== undefined ? arguments[2] : null;\r\n\r\n\t\t\t\t\tif (!el) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar customEvent = new CustomEvent(event, {\r\n\t\t\t\t\t\tdetail: detail\r\n\t\t\t\t\t});\r\n\t\t\t\t\tel.dispatchEvent(customEvent);\r\n\t\t\t\t},\r\n\r\n\t\t\t\tListener: {\r\n\t\t\t\t\tuid: 0\r\n\t\t\t\t},\r\n\t\t\t\ton: function on(el, events, fn) {\r\n\t\t\t\t\tvar _this = this;\r\n\r\n\t\t\t\t\tif (!el) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tevents.split(' ').forEach(function (event) {\r\n\t\t\t\t\t\tvar _id = _this.getAttribute(el, 'lg-event-uid') || '';\r\n\t\t\t\t\t\tutils.Listener.uid++;\r\n\t\t\t\t\t\t_id += '&' + utils.Listener.uid;\r\n\t\t\t\t\t\t_this.setAttribute(el, 'lg-event-uid', _id);\r\n\t\t\t\t\t\tutils.Listener[event + utils.Listener.uid] = fn;\r\n\t\t\t\t\t\tel.addEventListener(event.split('.')[0], fn, false);\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\r\n\t\t\t\toff: function off(el, event) {\r\n\t\t\t\t\tif (!el) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar _id = this.getAttribute(el, 'lg-event-uid');\r\n\t\t\t\t\tif (_id) {\r\n\t\t\t\t\t\t_id = _id.split('&');\r\n\t\t\t\t\t\tfor (var i = 0; i < _id.length; i++) {\r\n\t\t\t\t\t\t\tif (_id[i]) {\r\n\t\t\t\t\t\t\t\tvar _event = event + _id[i];\r\n\t\t\t\t\t\t\t\tif (_event.substring(0, 1) === '.') {\r\n\t\t\t\t\t\t\t\t\tfor (var key in utils.Listener) {\r\n\t\t\t\t\t\t\t\t\t\tif (utils.Listener.hasOwnProperty(key)) {\r\n\t\t\t\t\t\t\t\t\t\t\tif (key.split('.').indexOf(_event.split('.')[1]) > -1) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tel.removeEventListener(key.split('.')[0], utils.Listener[key]);\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.setAttribute(el, 'lg-event-uid', this.getAttribute(el, 'lg-event-uid').replace('&' + _id[i], ''));\r\n\t\t\t\t\t\t\t\t\t\t\t\tdelete utils.Listener[key];\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tel.removeEventListener(_event.split('.')[0], utils.Listener[_event]);\r\n\t\t\t\t\t\t\t\t\tthis.setAttribute(el, 'lg-event-uid', this.getAttribute(el, 'lg-event-uid').replace('&' + _id[i], ''));\r\n\t\t\t\t\t\t\t\t\tdelete utils.Listener[_event];\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\r\n\t\t\t\tparam: function param(obj) {\r\n\t\t\t\t\treturn Object.keys(obj).map(function (k) {\r\n\t\t\t\t\t\treturn encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]);\r\n\t\t\t\t\t}).join('&');\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\texports.default = utils;\r\n\t\t});\r\n\r\n\t},{}],2:[function(require,module,exports){\r\n\t\t(function (global, factory) {\r\n\t\t\tif (typeof define === \"function\" && define.amd) {\r\n\t\t\t\tdefine(['./lg-utils'], factory);\r\n\t\t\t} else if (typeof exports !== \"undefined\") {\r\n\t\t\t\tfactory(require('./lg-utils'));\r\n\t\t\t} else {\r\n\t\t\t\tvar mod = {\r\n\t\t\t\t\texports: {}\r\n\t\t\t\t};\r\n\t\t\t\tfactory(global.lgUtils);\r\n\t\t\t\tglobal.lightgallery = mod.exports;\r\n\t\t\t}\r\n\t\t})(this, function (_lgUtils) {\r\n\t\t\t'use strict';\r\n\r\n\t\t\tvar _lgUtils2 = _interopRequireDefault(_lgUtils);\r\n\r\n\t\t\tfunction _interopRequireDefault(obj) {\r\n\t\t\t\treturn obj && obj.__esModule ? obj : {\r\n\t\t\t\t\tdefault: obj\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tvar _extends = Object.assign || function (target) {\r\n\t\t\t\tfor (var i = 1; i < arguments.length; i++) {\r\n\t\t\t\t\tvar source = arguments[i];\r\n\r\n\t\t\t\t\tfor (var key in source) {\r\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(source, key)) {\r\n\t\t\t\t\t\t\ttarget[key] = source[key];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn target;\r\n\t\t\t};\r\n\r\n\t\t\t/** Polyfill the CustomEvent() constructor functionality in Internet Explorer 9 and higher */\r\n\t\t\t(function () {\r\n\r\n\t\t\t\tif (typeof window.CustomEvent === 'function') {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfunction CustomEvent(event, params) {\r\n\t\t\t\t\tparams = params || {\r\n\t\t\t\t\t\tbubbles: false,\r\n\t\t\t\t\t\tcancelable: false,\r\n\t\t\t\t\t\tdetail: undefined\r\n\t\t\t\t\t};\r\n\t\t\t\t\tvar evt = document.createEvent('CustomEvent');\r\n\t\t\t\t\tevt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\r\n\t\t\t\t\treturn evt;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tCustomEvent.prototype = window.Event.prototype;\r\n\r\n\t\t\t\twindow.CustomEvent = CustomEvent;\r\n\t\t\t})();\r\n\r\n\t\t\twindow.utils = _lgUtils2.default;\r\n\t\t\twindow.lgData = {\r\n\t\t\t\tuid: 0\r\n\t\t\t};\r\n\r\n\t\t\twindow.lgModules = {};\r\n\t\t\tvar defaults = {\r\n\r\n\t\t\t\tmode: 'lg-slide',\r\n\r\n\t\t\t\t// Ex : 'ease'\r\n\t\t\t\tcssEasing: 'ease',\r\n\r\n\t\t\t\t//'for jquery animation'\r\n\t\t\t\teasing: 'linear',\r\n\t\t\t\tspeed: 600,\r\n\t\t\t\theight: '100%',\r\n\t\t\t\twidth: '100%',\r\n\t\t\t\taddClass: '',\r\n\t\t\t\tstartClass: 'lg-start-zoom',\r\n\t\t\t\tbackdropDuration: 150,\r\n\t\t\t\thideBarsDelay: 6000,\r\n\r\n\t\t\t\tuseLeft: false,\r\n\r\n\t\t\t\t// aria-labelledby attribute fot gallery\r\n\t\t\t\tariaLabelledby: '',\r\n\r\n\t\t\t\t//aria-describedby attribute for gallery\r\n\t\t\t\tariaDescribedby: '',\r\n\r\n\t\t\t\tclosable: true,\r\n\t\t\t\tloop: true,\r\n\t\t\t\tescKey: true,\r\n\t\t\t\tkeyPress: true,\r\n\t\t\t\tcontrols: true,\r\n\t\t\t\tslideEndAnimatoin: true,\r\n\t\t\t\thideControlOnEnd: false,\r\n\t\t\t\tmousewheel: false,\r\n\r\n\t\t\t\tgetCaptionFromTitleOrAlt: true,\r\n\r\n\t\t\t\t// .lg-item || '.lg-sub-html'\r\n\t\t\t\tappendSubHtmlTo: '.lg-sub-html',\r\n\r\n\t\t\t\tsubHtmlSelectorRelative: false,\r\n\r\n\t\t\t\t/**\r\n\t\t\t\t * @desc number of preload slides\r\n\t\t\t\t * will exicute only after the current slide is fully loaded.\r\n\t\t\t\t *\r\n\t\t\t\t * @ex you clicked on 4th image and if preload = 1 then 3rd slide and 5th\r\n\t\t\t\t * slide will be loaded in the background after the 4th slide is fully loaded..\r\n\t\t\t\t * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.. ... ...\r\n\t\t\t\t *\r\n\t\t\t\t */\r\n\t\t\t\tpreload: 1,\r\n\t\t\t\tshowAfterLoad: true,\r\n\t\t\t\tselector: '',\r\n\t\t\t\tselectWithin: '',\r\n\t\t\t\tnextHtml: '',\r\n\t\t\t\tprevHtml: '',\r\n\r\n\t\t\t\t// 0, 1\r\n\t\t\t\tindex: false,\r\n\r\n\t\t\t\tiframeMaxWidth: '100%',\r\n\r\n\t\t\t\tdownload: true,\r\n\t\t\t\tcounter: true,\r\n\t\t\t\tappendCounterTo: '.lg-toolbar',\r\n\r\n\t\t\t\tswipeThreshold: 50,\r\n\t\t\t\tenableSwipe: true,\r\n\t\t\t\tenableDrag: true,\r\n\r\n\t\t\t\tdynamic: false,\r\n\t\t\t\tdynamicEl: [],\r\n\t\t\t\tgalleryId: 1\r\n\t\t\t};\r\n\r\n\t\t\tfunction Plugin(element, options) {\r\n\r\n\t\t\t\t// Current lightGallery element\r\n\t\t\t\tthis.el = element;\r\n\r\n\t\t\t\t// lightGallery settings\r\n\t\t\t\tthis.s = _extends({}, defaults, options);\r\n\r\n\t\t\t\t// When using dynamic mode, ensure dynamicEl is an array\r\n\t\t\t\tif (this.s.dynamic && this.s.dynamicEl !== 'undefined' && this.s.dynamicEl.constructor === Array && !this.s.dynamicEl.length) {\r\n\t\t\t\t\tthrow 'When using dynamic mode, you must also define dynamicEl as an Array.';\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// lightGallery modules\r\n\t\t\t\tthis.modules = {};\r\n\r\n\t\t\t\t// false when lightgallery complete first slide;\r\n\t\t\t\tthis.lGalleryOn = false;\r\n\r\n\t\t\t\tthis.lgBusy = false;\r\n\r\n\t\t\t\t// Timeout function for hiding controls;\r\n\t\t\t\tthis.hideBartimeout = false;\r\n\r\n\t\t\t\t// To determine browser supports for touch events;\r\n\t\t\t\tthis.isTouch = 'ontouchstart' in document.documentElement;\r\n\r\n\t\t\t\t// Disable hideControlOnEnd if sildeEndAnimation is true\r\n\t\t\t\tif (this.s.slideEndAnimatoin) {\r\n\t\t\t\t\tthis.s.hideControlOnEnd = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.items = [];\r\n\r\n\t\t\t\t// Gallery items\r\n\t\t\t\tif (this.s.dynamic) {\r\n\t\t\t\t\tthis.items = this.s.dynamicEl;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (this.s.selector === 'this') {\r\n\t\t\t\t\t\tthis.items.push(this.el);\r\n\t\t\t\t\t} else if (this.s.selector !== '') {\r\n\t\t\t\t\t\tif (this.s.selectWithin) {\r\n\t\t\t\t\t\t\tthis.items = document.querySelector(this.s.selectWithin).querySelectorAll(this.s.selector);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.items = this.el.querySelectorAll(this.s.selector);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.items = this.el.children;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// .lg-item\r\n\r\n\t\t\t\tthis.___slide = '';\r\n\r\n\t\t\t\t// .lg-outer\r\n\t\t\t\tthis.outer = '';\r\n\r\n\t\t\t\tthis.init();\r\n\r\n\t\t\t\treturn this;\r\n\t\t\t}\r\n\r\n\t\t\tPlugin.prototype.init = function () {\r\n\r\n\t\t\t\tvar _this = this;\r\n\r\n\t\t\t\t// s.preload should not be more than $item.length\r\n\t\t\t\tif (_this.s.preload > _this.items.length) {\r\n\t\t\t\t\t_this.s.preload = _this.items.length;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if dynamic option is enabled execute immediately\r\n\t\t\t\tvar _hash = window.location.hash;\r\n\t\t\t\tif (_hash.indexOf('lg=' + this.s.galleryId) > 0) {\r\n\r\n\t\t\t\t\t_this.index = parseInt(_hash.split('&slide=')[1], 10);\r\n\r\n\t\t\t\t\t_lgUtils2.default.addClass(document.body, 'lg-from-hash');\r\n\t\t\t\t\tif (!_lgUtils2.default.hasClass(document.body, 'lg-on')) {\r\n\t\t\t\t\t\t_lgUtils2.default.addClass(document.body, 'lg-on');\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t_this.build(_this.index);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (_this.s.dynamic) {\r\n\r\n\t\t\t\t\t_lgUtils2.default.trigger(this.el, 'onBeforeOpen');\r\n\r\n\t\t\t\t\t_this.index = _this.s.index || 0;\r\n\r\n\t\t\t\t\t// prevent accidental double execution\r\n\t\t\t\t\tif (!_lgUtils2.default.hasClass(document.body, 'lg-on')) {\r\n\t\t\t\t\t\t_lgUtils2.default.addClass(document.body, 'lg-on');\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t_this.build(_this.index);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\tfor (var i = 0; i < _this.items.length; i++) {\r\n\r\n\t\t\t\t\t\t/*jshint loopfunc: true */\r\n\t\t\t\t\t\t(function (index) {\r\n\r\n\t\t\t\t\t\t\t// Using different namespace for click because click event should not unbind if selector is same object('this')\r\n\t\t\t\t\t\t\t_lgUtils2.default.on(_this.items[index], 'click.lgcustom', function (e) {\r\n\r\n\t\t\t\t\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onBeforeOpen');\r\n\r\n\t\t\t\t\t\t\t\t_this.index = _this.s.index || index;\r\n\r\n\t\t\t\t\t\t\t\tif (!_lgUtils2.default.hasClass(document.body, 'lg-on')) {\r\n\t\t\t\t\t\t\t\t\t_this.build(_this.index);\r\n\t\t\t\t\t\t\t\t\t_lgUtils2.default.addClass(document.body, 'lg-on');\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t})(i);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tPlugin.prototype.build = function (index) {\r\n\r\n\t\t\t\tvar _this = this;\r\n\r\n\t\t\t\t_this.structure();\r\n\r\n\t\t\t\tfor (var key in window.lgModules) {\r\n\t\t\t\t\t_this.modules[key] = new window.lgModules[key](_this.el);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// initiate slide function\r\n\t\t\t\t_this.slide(index, false, false);\r\n\r\n\t\t\t\tif (_this.s.keyPress) {\r\n\t\t\t\t\t_this.keyPress();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (_this.items.length > 1) {\r\n\r\n\t\t\t\t\t_this.arrow();\r\n\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t_this.enableDrag();\r\n\t\t\t\t\t\t_this.enableSwipe();\r\n\t\t\t\t\t}, 50);\r\n\r\n\t\t\t\t\tif (_this.s.mousewheel) {\r\n\t\t\t\t\t\t_this.mousewheel();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t_this.counter();\r\n\r\n\t\t\t\t_this.closeGallery();\r\n\r\n\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onAfterOpen');\r\n\r\n\t\t\t\t// Hide controllers if mouse doesn't move for some period\r\n\t\t\t\t_lgUtils2.default.on(_this.outer, 'mousemove.lg click.lg touchstart.lg', function () {\r\n\r\n\t\t\t\t\t_lgUtils2.default.removeClass(_this.outer, 'lg-hide-items');\r\n\r\n\t\t\t\t\tclearTimeout(_this.hideBartimeout);\r\n\r\n\t\t\t\t\t// Timeout will be cleared on each slide movement also\r\n\t\t\t\t\t_this.hideBartimeout = setTimeout(function () {\r\n\t\t\t\t\t\t_lgUtils2.default.addClass(_this.outer, 'lg-hide-items');\r\n\t\t\t\t\t}, _this.s.hideBarsDelay);\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\tPlugin.prototype.structure = function () {\r\n\t\t\t\tvar list = '';\r\n\t\t\t\tvar controls = '';\r\n\t\t\t\tvar i = 0;\r\n\t\t\t\tvar subHtmlCont = '';\r\n\t\t\t\tvar template;\r\n\t\t\t\tvar _this = this;\r\n\r\n\t\t\t\tdocument.body.insertAdjacentHTML('beforeend', '
');\r\n\t\t\t\t_lgUtils2.default.setVendor(document.querySelector('.lg-backdrop'), 'TransitionDuration', this.s.backdropDuration + 'ms');\r\n\r\n\t\t\t\t// Create gallery items\r\n\t\t\t\tfor (i = 0; i < this.items.length; i++) {\r\n\t\t\t\t\tlist += '
';\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Create controlls\r\n\t\t\t\tif (this.s.controls && this.items.length > 1) {\r\n\t\t\t\t\tcontrols = '
' + '' + '' + '
';\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.s.appendSubHtmlTo === '.lg-sub-html') {\r\n\t\t\t\t\tsubHtmlCont = '
';\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar ariaLabelledby = this.s.ariaLabelledby ? 'aria-labelledby=\"' + this.s.ariaLabelledby + '\"' : '';\r\n\t\t\t\tvar ariaDescribedby = this.s.ariaDescribedby ? 'aria-describedby=\"' + this.s.ariaDescribedby + '\"' : '';\r\n\r\n\t\t\t\ttemplate = '
' + '
' + '
' + list + '
' + '
' + '' + '
' + controls + subHtmlCont + '
' + '
';\r\n\r\n\t\t\t\tdocument.body.insertAdjacentHTML('beforeend', template);\r\n\t\t\t\tthis.outer = document.querySelector('.lg-outer');\r\n\t\t\t\tthis.outer.focus();\r\n\t\t\t\tthis.___slide = this.outer.querySelectorAll('.lg-item');\r\n\r\n\t\t\t\tif (this.s.useLeft) {\r\n\t\t\t\t\t_lgUtils2.default.addClass(this.outer, 'lg-use-left');\r\n\r\n\t\t\t\t\t// Set mode lg-slide if use left is true;\r\n\t\t\t\t\tthis.s.mode = 'lg-slide';\r\n\t\t\t\t} else {\r\n\t\t\t\t\t_lgUtils2.default.addClass(this.outer, 'lg-use-css3');\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// For fixed height gallery\r\n\t\t\t\t_this.setTop();\r\n\t\t\t\t_lgUtils2.default.on(window, 'resize.lg orientationchange.lg', function () {\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t_this.setTop();\r\n\t\t\t\t\t}, 100);\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// add class lg-current to remove initial transition\r\n\t\t\t\t_lgUtils2.default.addClass(this.___slide[this.index], 'lg-current');\r\n\r\n\t\t\t\t// add Class for css support and transition mode\r\n\t\t\t\tif (this.doCss()) {\r\n\t\t\t\t\t_lgUtils2.default.addClass(this.outer, 'lg-css3');\r\n\t\t\t\t} else {\r\n\t\t\t\t\t_lgUtils2.default.addClass(this.outer, 'lg-css');\r\n\r\n\t\t\t\t\t// Set speed 0 because no animation will happen if browser doesn't support css3\r\n\t\t\t\t\tthis.s.speed = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t_lgUtils2.default.addClass(this.outer, this.s.mode);\r\n\r\n\t\t\t\tif (this.s.enableDrag && this.items.length > 1) {\r\n\t\t\t\t\t_lgUtils2.default.addClass(this.outer, 'lg-grab');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.s.showAfterLoad) {\r\n\t\t\t\t\t_lgUtils2.default.addClass(this.outer, 'lg-show-after-load');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.doCss()) {\r\n\t\t\t\t\tvar inner = this.outer.querySelector('.lg-inner');\r\n\t\t\t\t\t_lgUtils2.default.setVendor(inner, 'TransitionTimingFunction', this.s.cssEasing);\r\n\t\t\t\t\t_lgUtils2.default.setVendor(inner, 'TransitionDuration', this.s.speed + 'ms');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t_lgUtils2.default.addClass(document.querySelector('.lg-backdrop'), 'in');\r\n\t\t\t\t});\r\n\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t_lgUtils2.default.addClass(_this.outer, 'lg-visible');\r\n\t\t\t\t}, this.s.backdropDuration);\r\n\r\n\t\t\t\tif (this.s.download) {\r\n\t\t\t\t\tthis.outer.querySelector('.lg-toolbar').insertAdjacentHTML('beforeend', '');\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Store the current scroll top value to scroll back after closing the gallery..\r\n\t\t\t\tthis.prevScrollTop = document.documentElement.scrollTop || document.body.scrollTop;\r\n\t\t\t};\r\n\r\n\t\t\t// For fixed height gallery\r\n\t\t\tPlugin.prototype.setTop = function () {\r\n\t\t\t\tif (this.s.height !== '100%') {\r\n\t\t\t\t\tvar wH = window.innerHeight;\r\n\t\t\t\t\tvar top = (wH - parseInt(this.s.height, 10)) / 2;\r\n\t\t\t\t\tvar lGallery = this.outer.querySelector('.lg');\r\n\t\t\t\t\tif (wH >= parseInt(this.s.height, 10)) {\r\n\t\t\t\t\t\tlGallery.style.top = top + 'px';\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlGallery.style.top = '0px';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\t// Find css3 support\r\n\t\t\tPlugin.prototype.doCss = function () {\r\n\t\t\t\t// check for css animation support\r\n\t\t\t\tvar support = function support() {\r\n\t\t\t\t\tvar transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition'];\r\n\t\t\t\t\tvar root = document.documentElement;\r\n\t\t\t\t\tvar i = 0;\r\n\t\t\t\t\tfor (i = 0; i < transition.length; i++) {\r\n\t\t\t\t\t\tif (transition[i] in root.style) {\r\n\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\tif (support()) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn false;\r\n\t\t\t};\r\n\r\n\t\t\t/**\r\n\t\t\t * @desc Check the given src is video\r\n\t\t\t * @param {String} src\r\n\t\t\t * @return {Object} video type\r\n\t\t\t * Ex:{ youtube : [\"//www.youtube.com/watch?v=c0asJgSyxcY\", \"c0asJgSyxcY\"] }\r\n\t\t\t */\r\n\t\t\tPlugin.prototype.isVideo = function (src, index) {\r\n\r\n\t\t\t\tvar html;\r\n\t\t\t\tif (this.s.dynamic) {\r\n\t\t\t\t\thtml = this.s.dynamicEl[index].html;\r\n\t\t\t\t} else {\r\n\t\t\t\t\thtml = this.items[index].getAttribute('data-html');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!src && html) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\thtml5: true\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar youtube = src.match(/\\/\\/(?:www\\.)?youtu(?:\\.be|be\\.com|be-nocookie\\.com)\\/(?:watch\\?v=|embed\\/)?([a-z0-9\\-\\_\\%]+)/i);\r\n\t\t\t\tvar vimeo = src.match(/\\/\\/(?:www\\.)?vimeo.com\\/([0-9a-z\\-_]+)/i);\r\n\t\t\t\tvar dailymotion = src.match(/\\/\\/(?:www\\.)?dai.ly\\/([0-9a-z\\-_]+)/i);\r\n\t\t\t\tvar vk = src.match(/\\/\\/(?:www\\.)?(?:vk\\.com|vkontakte\\.ru)\\/(?:video_ext\\.php\\?)(.*)/i);\r\n\r\n\t\t\t\tif (youtube) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tyoutube: youtube\r\n\t\t\t\t\t};\r\n\t\t\t\t} else if (vimeo) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tvimeo: vimeo\r\n\t\t\t\t\t};\r\n\t\t\t\t} else if (dailymotion) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdailymotion: dailymotion\r\n\t\t\t\t\t};\r\n\t\t\t\t} else if (vk) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tvk: vk\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\t/**\r\n\t\t\t * @desc Create image counter\r\n\t\t\t * Ex: 1/10\r\n\t\t\t */\r\n\t\t\tPlugin.prototype.counter = function () {\r\n\t\t\t\tif (this.s.counter) {\r\n\t\t\t\t\tthis.outer.querySelector(this.s.appendCounterTo).insertAdjacentHTML('beforeend', '
' + (parseInt(this.index, 10) + 1) + ' / ' + this.items.length + '
');\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\t/**\r\n\t\t\t * @desc add sub-html into the slide\r\n\t\t\t * @param {Number} index - index of the slide\r\n\t\t\t */\r\n\t\t\tPlugin.prototype.addHtml = function (index) {\r\n\t\t\t\tvar subHtml = null;\r\n\t\t\t\tvar currentEle;\r\n\t\t\t\tif (this.s.dynamic) {\r\n\t\t\t\t\tsubHtml = this.s.dynamicEl[index].subHtml;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcurrentEle = this.items[index];\r\n\t\t\t\t\tsubHtml = currentEle.getAttribute('data-sub-html');\r\n\t\t\t\t\tif (this.s.getCaptionFromTitleOrAlt && !subHtml) {\r\n\t\t\t\t\t\tsubHtml = currentEle.getAttribute('title');\r\n\t\t\t\t\t\tif (subHtml && currentEle.querySelector('img')) {\r\n\t\t\t\t\t\t\tsubHtml = currentEle.querySelector('img').getAttribute('alt');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (typeof subHtml !== 'undefined' && subHtml !== null) {\r\n\r\n\t\t\t\t\t// get first letter of subhtml\r\n\t\t\t\t\t// if first letter starts with . or # get the html form the jQuery object\r\n\t\t\t\t\tvar fL = subHtml.substring(0, 1);\r\n\t\t\t\t\tif (fL === '.' || fL === '#') {\r\n\t\t\t\t\t\tif (this.s.subHtmlSelectorRelative && !this.s.dynamic) {\r\n\t\t\t\t\t\t\tsubHtml = currentEle.querySelector(subHtml).innerHTML;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tsubHtml = document.querySelector(subHtml).innerHTML;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsubHtml = '';\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.s.appendSubHtmlTo === '.lg-sub-html') {\r\n\t\t\t\t\tthis.outer.querySelector(this.s.appendSubHtmlTo).innerHTML = subHtml;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.___slide[index].insertAdjacentHTML('beforeend', subHtml);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Add lg-empty-html class if title doesn't exist\r\n\t\t\t\tif (typeof subHtml !== 'undefined' && subHtml !== null) {\r\n\t\t\t\t\tif (subHtml === '') {\r\n\t\t\t\t\t\t_lgUtils2.default.addClass(this.outer.querySelector(this.s.appendSubHtmlTo), 'lg-empty-html');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t_lgUtils2.default.removeClass(this.outer.querySelector(this.s.appendSubHtmlTo), 'lg-empty-html');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t_lgUtils2.default.trigger(this.el, 'onAfterAppendSubHtml', {\r\n\t\t\t\t\tindex: index\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\t/**\r\n\t\t\t * @desc Preload slides\r\n\t\t\t * @param {Number} index - index of the slide\r\n\t\t\t */\r\n\t\t\tPlugin.prototype.preload = function (index) {\r\n\t\t\t\tvar i = 1;\r\n\t\t\t\tvar j = 1;\r\n\t\t\t\tfor (i = 1; i <= this.s.preload; i++) {\r\n\t\t\t\t\tif (i >= this.items.length - index) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.loadContent(index + i, false, 0);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (j = 1; j <= this.s.preload; j++) {\r\n\t\t\t\t\tif (index - j < 0) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.loadContent(index - j, false, 0);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\t/**\r\n\t\t\t * @desc Load slide content into slide.\r\n\t\t\t * @param {Number} index - index of the slide.\r\n\t\t\t * @param {Boolean} rec - if true call loadcontent() function again.\r\n\t\t\t * @param {Boolean} delay - delay for adding complete class. it is 0 except first time.\r\n\t\t\t */\r\n\t\t\tPlugin.prototype.loadContent = function (index, rec, delay) {\r\n\r\n\t\t\t\tvar _this = this;\r\n\t\t\t\tvar _hasPoster = false;\r\n\t\t\t\tvar _img;\r\n\t\t\t\tvar _src;\r\n\t\t\t\tvar _poster;\r\n\t\t\t\tvar _srcset;\r\n\t\t\t\tvar _sizes;\r\n\t\t\t\tvar _html;\r\n\t\t\t\tvar _alt;\r\n\t\t\t\tvar getResponsiveSrc = function getResponsiveSrc(srcItms) {\r\n\t\t\t\t\tvar rsWidth = [];\r\n\t\t\t\t\tvar rsSrc = [];\r\n\t\t\t\t\tfor (var i = 0; i < srcItms.length; i++) {\r\n\t\t\t\t\t\tvar __src = srcItms[i].split(' ');\r\n\r\n\t\t\t\t\t\t// Manage empty space\r\n\t\t\t\t\t\tif (__src[0] === '') {\r\n\t\t\t\t\t\t\t__src.splice(0, 1);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\trsSrc.push(__src[0]);\r\n\t\t\t\t\t\trsWidth.push(__src[1]);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar wWidth = window.innerWidth;\r\n\t\t\t\t\tfor (var j = 0; j < rsWidth.length; j++) {\r\n\t\t\t\t\t\tif (parseInt(rsWidth[j], 10) > wWidth) {\r\n\t\t\t\t\t\t\t_src = rsSrc[j];\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\tif (_this.s.dynamic) {\r\n\r\n\t\t\t\t\tif (_this.s.dynamicEl[index].poster) {\r\n\t\t\t\t\t\t_hasPoster = true;\r\n\t\t\t\t\t\t_poster = _this.s.dynamicEl[index].poster;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t_html = _this.s.dynamicEl[index].html;\r\n\t\t\t\t\t_src = _this.s.dynamicEl[index].src;\r\n\t\t\t\t\t_alt = _this.s.dynamicEl[index].alt;\r\n\r\n\t\t\t\t\tif (_this.s.dynamicEl[index].responsive) {\r\n\t\t\t\t\t\tvar srcDyItms = _this.s.dynamicEl[index].responsive.split(',');\r\n\t\t\t\t\t\tgetResponsiveSrc(srcDyItms);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t_srcset = _this.s.dynamicEl[index].srcset;\r\n\t\t\t\t\t_sizes = _this.s.dynamicEl[index].sizes;\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\tif (_this.items[index].getAttribute('data-poster')) {\r\n\t\t\t\t\t\t_hasPoster = true;\r\n\t\t\t\t\t\t_poster = _this.items[index].getAttribute('data-poster');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t_html = _this.items[index].getAttribute('data-html');\r\n\t\t\t\t\t_src = _this.items[index].getAttribute('href') || _this.items[index].getAttribute('data-src');\r\n\t\t\t\t\t_alt = _this.items[index].getAttribute('title');\r\n\r\n\t\t\t\t\tif (_this.items[index].querySelector('img')) {\r\n\t\t\t\t\t\t_alt = _alt || _this.items[index].querySelector('img').getAttribute('alt');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (_this.items[index].getAttribute('data-responsive')) {\r\n\t\t\t\t\t\tvar srcItms = _this.items[index].getAttribute('data-responsive').split(',');\r\n\t\t\t\t\t\tgetResponsiveSrc(srcItms);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t_srcset = _this.items[index].getAttribute('data-srcset');\r\n\t\t\t\t\t_sizes = _this.items[index].getAttribute('data-sizes');\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//if (_src || _srcset || _sizes || _poster) {\r\n\r\n\t\t\t\tvar iframe = false;\r\n\t\t\t\tif (_this.s.dynamic) {\r\n\t\t\t\t\tif (_this.s.dynamicEl[index].iframe) {\r\n\t\t\t\t\t\tiframe = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (_this.items[index].getAttribute('data-iframe') === 'true') {\r\n\t\t\t\t\t\tiframe = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar _isVideo = _this.isVideo(_src, index);\r\n\t\t\t\tif (!_lgUtils2.default.hasClass(_this.___slide[index], 'lg-loaded')) {\r\n\t\t\t\t\tif (iframe) {\r\n\t\t\t\t\t\t_this.___slide[index].insertAdjacentHTML('afterbegin', '
');\r\n\t\t\t\t\t} else if (_hasPoster) {\r\n\t\t\t\t\t\tvar videoClass = '';\r\n\t\t\t\t\t\tif (_isVideo && _isVideo.youtube) {\r\n\t\t\t\t\t\t\tvideoClass = 'lg-has-youtube';\r\n\t\t\t\t\t\t} else if (_isVideo && _isVideo.vimeo) {\r\n\t\t\t\t\t\t\tvideoClass = 'lg-has-vimeo';\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvideoClass = 'lg-has-html5';\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t_this.___slide[index].insertAdjacentHTML('beforeend', '
');\r\n\t\t\t\t\t} else if (_isVideo) {\r\n\t\t\t\t\t\t_this.___slide[index].insertAdjacentHTML('beforeend', '
');\r\n\t\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'hasVideo', {\r\n\t\t\t\t\t\t\tindex: index,\r\n\t\t\t\t\t\t\tsrc: _src,\r\n\t\t\t\t\t\t\thtml: _html\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t_alt = _alt ? 'alt=\"' + _alt + '\"' : '';\r\n\t\t\t\t\t\t_this.___slide[index].insertAdjacentHTML('beforeend', '
');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onAferAppendSlide', {\r\n\t\t\t\t\t\tindex: index\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t_img = _this.___slide[index].querySelector('.lg-object');\r\n\t\t\t\t\tif (_sizes) {\r\n\t\t\t\t\t\t_img.setAttribute('sizes', _sizes);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (_srcset) {\r\n\t\t\t\t\t\t_img.setAttribute('srcset', _srcset);\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tpicturefill({\r\n\t\t\t\t\t\t\t\telements: [_img[0]]\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\tconsole.error('Make sure you have included Picturefill version 2');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (this.s.appendSubHtmlTo !== '.lg-sub-html') {\r\n\t\t\t\t\t\t_this.addHtml(index);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t_lgUtils2.default.addClass(_this.___slide[index], 'lg-loaded');\r\n\t\t\t\t}\r\n\r\n\t\t\t\t_lgUtils2.default.on(_this.___slide[index].querySelector('.lg-object'), 'load.lg error.lg', function () {\r\n\r\n\t\t\t\t\t// For first time add some delay for displaying the start animation.\r\n\t\t\t\t\tvar _speed = 0;\r\n\r\n\t\t\t\t\t// Do not change the delay value because it is required for zoom plugin.\r\n\t\t\t\t\t// If gallery opened from direct url (hash) speed value should be 0\r\n\t\t\t\t\tif (delay && !_lgUtils2.default.hasClass(document.body, 'lg-from-hash')) {\r\n\t\t\t\t\t\t_speed = delay;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t_lgUtils2.default.addClass(_this.___slide[index], 'lg-complete');\r\n\r\n\t\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onSlideItemLoad', {\r\n\t\t\t\t\t\t\tindex: index,\r\n\t\t\t\t\t\t\tdelay: delay || 0\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}, _speed);\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// @todo check load state for html5 videos\r\n\t\t\t\tif (_isVideo && _isVideo.html5 && !_hasPoster) {\r\n\t\t\t\t\t_lgUtils2.default.addClass(_this.___slide[index], 'lg-complete');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (rec === true) {\r\n\t\t\t\t\tif (!_lgUtils2.default.hasClass(_this.___slide[index], 'lg-complete')) {\r\n\t\t\t\t\t\t_lgUtils2.default.on(_this.___slide[index].querySelector('.lg-object'), 'load.lg error.lg', function () {\r\n\t\t\t\t\t\t\t_this.preload(index);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t_this.preload(index);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//}\r\n\t\t\t};\r\n\r\n\t\t\t/**\r\n\t\t\t * @desc slide function for lightgallery\r\n\t\t\t ** Slide() gets call on start\r\n\t\t\t ** ** Set lg.on true once slide() function gets called.\r\n\t\t\t ** Call loadContent() on slide() function inside setTimeout\r\n\t\t\t ** ** On first slide we do not want any animation like slide of fade\r\n\t\t\t ** ** So on first slide( if lg.on if false that is first slide) loadContent() should start loading immediately\r\n\t\t\t ** ** Else loadContent() should wait for the transition to complete.\r\n\t\t\t ** ** So set timeout s.speed + 50\r\n <=> ** loadContent() will load slide content in to the particular slide\r\n\t\t\t ** ** It has recursion (rec) parameter. if rec === true loadContent() will call preload() function.\r\n\t\t\t ** ** preload will execute only when the previous slide is fully loaded (images iframe)\r\n\t\t\t ** ** avoid simultaneous image load\r\n <=> ** Preload() will check for s.preload value and call loadContent() again accoring to preload value\r\n\t\t\t ** loadContent() <====> Preload();\r\n\r\n\t\t\t * @param {Number} index - index of the slide\r\n\t\t\t * @param {Boolean} fromTouch - true if slide function called via touch event or mouse drag\r\n\t\t\t * @param {Boolean} fromThumb - true if slide function called via thumbnail click\r\n\t\t\t */\r\n\t\t\tPlugin.prototype.slide = function (index, fromTouch, fromThumb) {\r\n\r\n\t\t\t\tvar _prevIndex = 0;\r\n\t\t\t\tfor (var i = 0; i < this.___slide.length; i++) {\r\n\t\t\t\t\tif (_lgUtils2.default.hasClass(this.___slide[i], 'lg-current')) {\r\n\t\t\t\t\t\t_prevIndex = i;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar _this = this;\r\n\r\n\t\t\t\t// Prevent if multiple call\r\n\t\t\t\t// Required for hsh plugin\r\n\t\t\t\tif (_this.lGalleryOn && _prevIndex === index) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar _length = this.___slide.length;\r\n\t\t\t\tvar _time = _this.lGalleryOn ? this.s.speed : 0;\r\n\t\t\t\tvar _next = false;\r\n\t\t\t\tvar _prev = false;\r\n\r\n\t\t\t\tif (!_this.lgBusy) {\r\n\r\n\t\t\t\t\tif (this.s.download) {\r\n\t\t\t\t\t\tvar _src;\r\n\t\t\t\t\t\tif (_this.s.dynamic) {\r\n\t\t\t\t\t\t\t_src = _this.s.dynamicEl[index].downloadUrl !== false && (_this.s.dynamicEl[index].downloadUrl || _this.s.dynamicEl[index].src);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t_src = _this.items[index].getAttribute('data-download-url') !== 'false' && (_this.items[index].getAttribute('data-download-url') || _this.items[index].getAttribute('href') || _this.items[index].getAttribute('data-src'));\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (_src) {\r\n\t\t\t\t\t\t\tdocument.getElementById('lg-download').setAttribute('href', _src);\r\n\t\t\t\t\t\t\t_lgUtils2.default.removeClass(_this.outer, 'lg-hide-download');\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t_lgUtils2.default.addClass(_this.outer, 'lg-hide-download');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onBeforeSlide', {\r\n\t\t\t\t\t\tprevIndex: _prevIndex,\r\n\t\t\t\t\t\tindex: index,\r\n\t\t\t\t\t\tfromTouch: fromTouch,\r\n\t\t\t\t\t\tfromThumb: fromThumb\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t_this.lgBusy = true;\r\n\r\n\t\t\t\t\tclearTimeout(_this.hideBartimeout);\r\n\r\n\t\t\t\t\t// Add title if this.s.appendSubHtmlTo === lg-sub-html\r\n\t\t\t\t\tif (this.s.appendSubHtmlTo === '.lg-sub-html') {\r\n\r\n\t\t\t\t\t\t// wait for slide animation to complete\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t_this.addHtml(index);\r\n\t\t\t\t\t\t}, _time);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.arrowDisable(index);\r\n\r\n\t\t\t\t\tif (!fromTouch) {\r\n\r\n\t\t\t\t\t\t// remove all transitions\r\n\t\t\t\t\t\t_lgUtils2.default.addClass(_this.outer, 'lg-no-trans');\r\n\r\n\t\t\t\t\t\tfor (var j = 0; j < this.___slide.length; j++) {\r\n\t\t\t\t\t\t\t_lgUtils2.default.removeClass(this.___slide[j], 'lg-prev-slide');\r\n\t\t\t\t\t\t\t_lgUtils2.default.removeClass(this.___slide[j], 'lg-next-slide');\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (index < _prevIndex) {\r\n\t\t\t\t\t\t\t_prev = true;\r\n\t\t\t\t\t\t\tif (index === 0 && _prevIndex === _length - 1 && !fromThumb) {\r\n\t\t\t\t\t\t\t\t_prev = false;\r\n\t\t\t\t\t\t\t\t_next = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else if (index > _prevIndex) {\r\n\t\t\t\t\t\t\t_next = true;\r\n\t\t\t\t\t\t\tif (index === _length - 1 && _prevIndex === 0 && !fromThumb) {\r\n\t\t\t\t\t\t\t\t_prev = true;\r\n\t\t\t\t\t\t\t\t_next = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (_prev) {\r\n\r\n\t\t\t\t\t\t\t//prevslide\r\n\t\t\t\t\t\t\t_lgUtils2.default.addClass(this.___slide[index], 'lg-prev-slide');\r\n\t\t\t\t\t\t\t_lgUtils2.default.addClass(this.___slide[_prevIndex], 'lg-next-slide');\r\n\t\t\t\t\t\t} else if (_next) {\r\n\r\n\t\t\t\t\t\t\t// next slide\r\n\t\t\t\t\t\t\t_lgUtils2.default.addClass(this.___slide[index], 'lg-next-slide');\r\n\t\t\t\t\t\t\t_lgUtils2.default.addClass(this.___slide[_prevIndex], 'lg-prev-slide');\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// give 50 ms for browser to add/remove class\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t_lgUtils2.default.removeClass(_this.outer.querySelector('.lg-current'), 'lg-current');\r\n\r\n\t\t\t\t\t\t\t//_this.$slide.eq(_prevIndex).removeClass('lg-current');\r\n\t\t\t\t\t\t\t_lgUtils2.default.addClass(_this.___slide[index], 'lg-current');\r\n\r\n\t\t\t\t\t\t\t// reset all transitions\r\n\t\t\t\t\t\t\t_lgUtils2.default.removeClass(_this.outer, 'lg-no-trans');\r\n\t\t\t\t\t\t}, 50);\r\n\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\tvar touchPrev = index - 1;\r\n\t\t\t\t\t\tvar touchNext = index + 1;\r\n\r\n\t\t\t\t\t\tif (index === 0 && _prevIndex === _length - 1) {\r\n\r\n\t\t\t\t\t\t\t// next slide\r\n\t\t\t\t\t\t\ttouchNext = 0;\r\n\t\t\t\t\t\t\ttouchPrev = _length - 1;\r\n\t\t\t\t\t\t} else if (index === _length - 1 && _prevIndex === 0) {\r\n\r\n\t\t\t\t\t\t\t// prev slide\r\n\t\t\t\t\t\t\ttouchNext = 0;\r\n\t\t\t\t\t\t\ttouchPrev = _length - 1;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t_lgUtils2.default.removeClass(_this.outer.querySelector('.lg-prev-slide'), 'lg-prev-slide');\r\n\t\t\t\t\t\t_lgUtils2.default.removeClass(_this.outer.querySelector('.lg-current'), 'lg-current');\r\n\t\t\t\t\t\t_lgUtils2.default.removeClass(_this.outer.querySelector('.lg-next-slide'), 'lg-next-slide');\r\n\t\t\t\t\t\t_lgUtils2.default.addClass(_this.___slide[touchPrev], 'lg-prev-slide');\r\n\t\t\t\t\t\t_lgUtils2.default.addClass(_this.___slide[touchNext], 'lg-next-slide');\r\n\t\t\t\t\t\t_lgUtils2.default.addClass(_this.___slide[index], 'lg-current');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (_this.lGalleryOn) {\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t_this.loadContent(index, true, 0);\r\n\t\t\t\t\t\t}, this.s.speed + 50);\r\n\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t_this.lgBusy = false;\r\n\t\t\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onAfterSlide', {\r\n\t\t\t\t\t\t\t\tprevIndex: _prevIndex,\r\n\t\t\t\t\t\t\t\tindex: index,\r\n\t\t\t\t\t\t\t\tfromTouch: fromTouch,\r\n\t\t\t\t\t\t\t\tfromThumb: fromThumb\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}, this.s.speed);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t_this.loadContent(index, true, _this.s.backdropDuration);\r\n\r\n\t\t\t\t\t\t_this.lgBusy = false;\r\n\t\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onAfterSlide', {\r\n\t\t\t\t\t\t\tprevIndex: _prevIndex,\r\n\t\t\t\t\t\t\tindex: index,\r\n\t\t\t\t\t\t\tfromTouch: fromTouch,\r\n\t\t\t\t\t\t\tfromThumb: fromThumb\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t_this.lGalleryOn = true;\r\n\r\n\t\t\t\t\tif (this.s.counter) {\r\n\t\t\t\t\t\tif (document.getElementById('lg-counter-current')) {\r\n\t\t\t\t\t\t\tdocument.getElementById('lg-counter-current').innerHTML = index + 1;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\t/**\r\n\t\t\t * @desc Go to next slide\r\n\t\t\t * @param {Boolean} fromTouch - true if slide function called via touch event\r\n\t\t\t */\r\n\t\t\tPlugin.prototype.goToNextSlide = function (fromTouch) {\r\n\t\t\t\tvar _this = this;\r\n\t\t\t\tif (!_this.lgBusy) {\r\n\t\t\t\t\tif (_this.index + 1 < _this.___slide.length) {\r\n\t\t\t\t\t\t_this.index++;\r\n\t\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onBeforeNextSlide', {\r\n\t\t\t\t\t\t\tindex: _this.index\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t_this.slide(_this.index, fromTouch, false);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (_this.s.loop) {\r\n\t\t\t\t\t\t\t_this.index = 0;\r\n\t\t\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onBeforeNextSlide', {\r\n\t\t\t\t\t\t\t\tindex: _this.index\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t_this.slide(_this.index, fromTouch, false);\r\n\t\t\t\t\t\t} else if (_this.s.slideEndAnimatoin) {\r\n\t\t\t\t\t\t\t_lgUtils2.default.addClass(_this.outer, 'lg-right-end');\r\n\t\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t\t_lgUtils2.default.removeClass(_this.outer, 'lg-right-end');\r\n\t\t\t\t\t\t\t}, 400);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\t/**\r\n\t\t\t * @desc Go to previous slide\r\n\t\t\t * @param {Boolean} fromTouch - true if slide function called via touch event\r\n\t\t\t */\r\n\t\t\tPlugin.prototype.goToPrevSlide = function (fromTouch) {\r\n\t\t\t\tvar _this = this;\r\n\t\t\t\tif (!_this.lgBusy) {\r\n\t\t\t\t\tif (_this.index > 0) {\r\n\t\t\t\t\t\t_this.index--;\r\n\t\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onBeforePrevSlide', {\r\n\t\t\t\t\t\t\tindex: _this.index,\r\n\t\t\t\t\t\t\tfromTouch: fromTouch\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t_this.slide(_this.index, fromTouch, false);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (_this.s.loop) {\r\n\t\t\t\t\t\t\t_this.index = _this.items.length - 1;\r\n\t\t\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onBeforePrevSlide', {\r\n\t\t\t\t\t\t\t\tindex: _this.index,\r\n\t\t\t\t\t\t\t\tfromTouch: fromTouch\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t_this.slide(_this.index, fromTouch, false);\r\n\t\t\t\t\t\t} else if (_this.s.slideEndAnimatoin) {\r\n\t\t\t\t\t\t\t_lgUtils2.default.addClass(_this.outer, 'lg-left-end');\r\n\t\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t\t_lgUtils2.default.removeClass(_this.outer, 'lg-left-end');\r\n\t\t\t\t\t\t\t}, 400);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tPlugin.prototype.keyPress = function () {\r\n\t\t\t\tvar _this = this;\r\n\t\t\t\tif (this.items.length > 1) {\r\n\t\t\t\t\t_lgUtils2.default.on(window, 'keyup.lg', function (e) {\r\n\t\t\t\t\t\tif (_this.items.length > 1) {\r\n\t\t\t\t\t\t\tif (e.keyCode === 37) {\r\n\t\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t\t_this.goToPrevSlide();\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif (e.keyCode === 39) {\r\n\t\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t\t_this.goToNextSlide();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\t_lgUtils2.default.on(window, 'keydown.lg', function (e) {\r\n\t\t\t\t\tif (_this.s.escKey === true && e.keyCode === 27) {\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\tif (!_lgUtils2.default.hasClass(_this.outer, 'lg-thumb-open')) {\r\n\t\t\t\t\t\t\t_this.destroy();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t_lgUtils2.default.removeClass(_this.outer, 'lg-thumb-open');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\tPlugin.prototype.arrow = function () {\r\n\t\t\t\tvar _this = this;\r\n\t\t\t\t_lgUtils2.default.on(this.outer.querySelector('.lg-prev'), 'click.lg', function () {\r\n\t\t\t\t\t_this.goToPrevSlide();\r\n\t\t\t\t});\r\n\r\n\t\t\t\t_lgUtils2.default.on(this.outer.querySelector('.lg-next'), 'click.lg', function () {\r\n\t\t\t\t\t_this.goToNextSlide();\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\tPlugin.prototype.arrowDisable = function (index) {\r\n\r\n\t\t\t\t// Disable arrows if s.hideControlOnEnd is true\r\n\t\t\t\tif (!this.s.loop && this.s.hideControlOnEnd) {\r\n\t\t\t\t\tvar next = this.outer.querySelector('.lg-next');\r\n\t\t\t\t\tvar prev = this.outer.querySelector('.lg-prev');\r\n\t\t\t\t\tif (index + 1 < this.___slide.length) {\r\n\t\t\t\t\t\tnext.removeAttribute('disabled');\r\n\t\t\t\t\t\t_lgUtils2.default.removeClass(next, 'disabled');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tnext.setAttribute('disabled', 'disabled');\r\n\t\t\t\t\t\t_lgUtils2.default.addClass(next, 'disabled');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (index > 0) {\r\n\t\t\t\t\t\tprev.removeAttribute('disabled');\r\n\t\t\t\t\t\t_lgUtils2.default.removeClass(prev, 'disabled');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tprev.setAttribute('disabled', 'disabled');\r\n\t\t\t\t\t\t_lgUtils2.default.addClass(prev, 'disabled');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tPlugin.prototype.setTranslate = function (el, xValue, yValue) {\r\n\t\t\t\t// jQuery supports Automatic CSS prefixing since jQuery 1.8.0\r\n\t\t\t\tif (this.s.useLeft) {\r\n\t\t\t\t\tel.style.left = xValue;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t_lgUtils2.default.setVendor(el, 'Transform', 'translate3d(' + xValue + 'px, ' + yValue + 'px, 0px)');\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tPlugin.prototype.touchMove = function (startCoords, endCoords) {\r\n\r\n\t\t\t\tvar distance = endCoords - startCoords;\r\n\r\n\t\t\t\tif (Math.abs(distance) > 15) {\r\n\t\t\t\t\t// reset opacity and transition duration\r\n\t\t\t\t\t_lgUtils2.default.addClass(this.outer, 'lg-dragging');\r\n\r\n\t\t\t\t\t// move current slide\r\n\t\t\t\t\tthis.setTranslate(this.___slide[this.index], distance, 0);\r\n\r\n\t\t\t\t\t// move next and prev slide with current slide\r\n\t\t\t\t\tthis.setTranslate(document.querySelector('.lg-prev-slide'), -this.___slide[this.index].clientWidth + distance, 0);\r\n\t\t\t\t\tthis.setTranslate(document.querySelector('.lg-next-slide'), this.___slide[this.index].clientWidth + distance, 0);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tPlugin.prototype.touchEnd = function (distance) {\r\n\t\t\t\tvar _this = this;\r\n\r\n\t\t\t\t// keep slide animation for any mode while dragg/swipe\r\n\t\t\t\tif (_this.s.mode !== 'lg-slide') {\r\n\t\t\t\t\t_lgUtils2.default.addClass(_this.outer, 'lg-slide');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (var i = 0; i < this.___slide.length; i++) {\r\n\t\t\t\t\tif (!_lgUtils2.default.hasClass(this.___slide[i], 'lg-current') && !_lgUtils2.default.hasClass(this.___slide[i], 'lg-prev-slide') && !_lgUtils2.default.hasClass(this.___slide[i], 'lg-next-slide')) {\r\n\t\t\t\t\t\tthis.___slide[i].style.opacity = '0';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// set transition duration\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t_lgUtils2.default.removeClass(_this.outer, 'lg-dragging');\r\n\t\t\t\t\tif (distance < 0 && Math.abs(distance) > _this.s.swipeThreshold) {\r\n\t\t\t\t\t\t_this.goToNextSlide(true);\r\n\t\t\t\t\t} else if (distance > 0 && Math.abs(distance) > _this.s.swipeThreshold) {\r\n\t\t\t\t\t\t_this.goToPrevSlide(true);\r\n\t\t\t\t\t} else if (Math.abs(distance) < 5) {\r\n\r\n\t\t\t\t\t\t// Trigger click if distance is less than 5 pix\r\n\t\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onSlideClick');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tfor (var i = 0; i < _this.___slide.length; i++) {\r\n\t\t\t\t\t\t_this.___slide[i].removeAttribute('style');\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// remove slide class once drag/swipe is completed if mode is not slide\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\tif (!_lgUtils2.default.hasClass(_this.outer, 'lg-dragging') && _this.s.mode !== 'lg-slide') {\r\n\t\t\t\t\t\t_lgUtils2.default.removeClass(_this.outer, 'lg-slide');\r\n\t\t\t\t\t}\r\n\t\t\t\t}, _this.s.speed + 100);\r\n\t\t\t};\r\n\r\n\t\t\tPlugin.prototype.enableSwipe = function () {\r\n\t\t\t\tvar _this = this;\r\n\t\t\t\tvar startCoords = 0;\r\n\t\t\t\tvar endCoords = 0;\r\n\t\t\t\tvar isMoved = false;\r\n\r\n\t\t\t\tif (_this.s.enableSwipe && _this.isTouch && _this.doCss()) {\r\n\r\n\t\t\t\t\tfor (var i = 0; i < _this.___slide.length; i++) {\r\n\t\t\t\t\t\t/*jshint loopfunc: true */\r\n\t\t\t\t\t\t_lgUtils2.default.on(_this.___slide[i], 'touchstart.lg', function (e) {\r\n\t\t\t\t\t\t\tif (!_lgUtils2.default.hasClass(_this.outer, 'lg-zoomed') && !_this.lgBusy) {\r\n\t\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t\t_this.manageSwipeClass();\r\n\t\t\t\t\t\t\t\tstartCoords = e.targetTouches[0].pageX;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tfor (var j = 0; j < _this.___slide.length; j++) {\r\n\t\t\t\t\t\t/*jshint loopfunc: true */\r\n\t\t\t\t\t\t_lgUtils2.default.on(_this.___slide[j], 'touchmove.lg', function (e) {\r\n\t\t\t\t\t\t\tif (!_lgUtils2.default.hasClass(_this.outer, 'lg-zoomed')) {\r\n\t\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t\tendCoords = e.targetTouches[0].pageX;\r\n\t\t\t\t\t\t\t\t_this.touchMove(startCoords, endCoords);\r\n\t\t\t\t\t\t\t\tisMoved = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tfor (var k = 0; k < _this.___slide.length; k++) {\r\n\t\t\t\t\t\t/*jshint loopfunc: true */\r\n\t\t\t\t\t\t_lgUtils2.default.on(_this.___slide[k], 'touchend.lg', function () {\r\n\t\t\t\t\t\t\tif (!_lgUtils2.default.hasClass(_this.outer, 'lg-zoomed')) {\r\n\t\t\t\t\t\t\t\tif (isMoved) {\r\n\t\t\t\t\t\t\t\t\tisMoved = false;\r\n\t\t\t\t\t\t\t\t\t_this.touchEnd(endCoords - startCoords);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onSlideClick');\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tPlugin.prototype.enableDrag = function () {\r\n\t\t\t\tvar _this = this;\r\n\t\t\t\tvar startCoords = 0;\r\n\t\t\t\tvar endCoords = 0;\r\n\t\t\t\tvar isDraging = false;\r\n\t\t\t\tvar isMoved = false;\r\n\t\t\t\tif (_this.s.enableDrag && !_this.isTouch && _this.doCss()) {\r\n\t\t\t\t\tfor (var i = 0; i < _this.___slide.length; i++) {\r\n\t\t\t\t\t\t/*jshint loopfunc: true */\r\n\t\t\t\t\t\t_lgUtils2.default.on(_this.___slide[i], 'mousedown.lg', function (e) {\r\n\t\t\t\t\t\t\t// execute only on .lg-object\r\n\t\t\t\t\t\t\tif (!_lgUtils2.default.hasClass(_this.outer, 'lg-zoomed')) {\r\n\t\t\t\t\t\t\t\tif (_lgUtils2.default.hasClass(e.target, 'lg-object') || _lgUtils2.default.hasClass(e.target, 'lg-video-play')) {\r\n\t\t\t\t\t\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\t\t\t\t\t\tif (!_this.lgBusy) {\r\n\t\t\t\t\t\t\t\t\t\t_this.manageSwipeClass();\r\n\t\t\t\t\t\t\t\t\t\tstartCoords = e.pageX;\r\n\t\t\t\t\t\t\t\t\t\tisDraging = true;\r\n\r\n\t\t\t\t\t\t\t\t\t\t// ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723\r\n\t\t\t\t\t\t\t\t\t\t_this.outer.scrollLeft += 1;\r\n\t\t\t\t\t\t\t\t\t\t_this.outer.scrollLeft -= 1;\r\n\r\n\t\t\t\t\t\t\t\t\t\t// *\r\n\r\n\t\t\t\t\t\t\t\t\t\t_lgUtils2.default.removeClass(_this.outer, 'lg-grab');\r\n\t\t\t\t\t\t\t\t\t\t_lgUtils2.default.addClass(_this.outer, 'lg-grabbing');\r\n\r\n\t\t\t\t\t\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onDragstart');\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t_lgUtils2.default.on(window, 'mousemove.lg', function (e) {\r\n\t\t\t\t\t\tif (isDraging) {\r\n\t\t\t\t\t\t\tisMoved = true;\r\n\t\t\t\t\t\t\tendCoords = e.pageX;\r\n\t\t\t\t\t\t\t_this.touchMove(startCoords, endCoords);\r\n\t\t\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onDragmove');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t_lgUtils2.default.on(window, 'mouseup.lg', function (e) {\r\n\t\t\t\t\t\tif (isMoved) {\r\n\t\t\t\t\t\t\tisMoved = false;\r\n\t\t\t\t\t\t\t_this.touchEnd(endCoords - startCoords);\r\n\t\t\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onDragend');\r\n\t\t\t\t\t\t} else if (_lgUtils2.default.hasClass(e.target, 'lg-object') || _lgUtils2.default.hasClass(e.target, 'lg-video-play')) {\r\n\t\t\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onSlideClick');\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Prevent execution on click\r\n\t\t\t\t\t\tif (isDraging) {\r\n\t\t\t\t\t\t\tisDraging = false;\r\n\t\t\t\t\t\t\t_lgUtils2.default.removeClass(_this.outer, 'lg-grabbing');\r\n\t\t\t\t\t\t\t_lgUtils2.default.addClass(_this.outer, 'lg-grab');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tPlugin.prototype.manageSwipeClass = function () {\r\n\t\t\t\tvar touchNext = this.index + 1;\r\n\t\t\t\tvar touchPrev = this.index - 1;\r\n\t\t\t\tvar length = this.___slide.length;\r\n\t\t\t\tif (this.s.loop) {\r\n\t\t\t\t\tif (this.index === 0) {\r\n\t\t\t\t\t\ttouchPrev = length - 1;\r\n\t\t\t\t\t} else if (this.index === length - 1) {\r\n\t\t\t\t\t\ttouchNext = 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (var i = 0; i < this.___slide.length; i++) {\r\n\t\t\t\t\t_lgUtils2.default.removeClass(this.___slide[i], 'lg-next-slide');\r\n\t\t\t\t\t_lgUtils2.default.removeClass(this.___slide[i], 'lg-prev-slide');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (touchPrev > -1) {\r\n\t\t\t\t\t_lgUtils2.default.addClass(this.___slide[touchPrev], 'lg-prev-slide');\r\n\t\t\t\t}\r\n\r\n\t\t\t\t_lgUtils2.default.addClass(this.___slide[touchNext], 'lg-next-slide');\r\n\t\t\t};\r\n\r\n\t\t\tPlugin.prototype.mousewheel = function () {\r\n\t\t\t\tvar _this = this;\r\n\t\t\t\t_lgUtils2.default.on(_this.outer, 'mousewheel.lg', function (e) {\r\n\r\n\t\t\t\t\tif (!e.deltaY) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (e.deltaY > 0) {\r\n\t\t\t\t\t\t_this.goToPrevSlide();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t_this.goToNextSlide();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\tPlugin.prototype.closeGallery = function () {\r\n\r\n\t\t\t\tvar _this = this;\r\n\t\t\t\tvar mousedown = false;\r\n\t\t\t\t_lgUtils2.default.on(this.outer.querySelector('.lg-close'), 'click.lg', function () {\r\n\t\t\t\t\t_this.destroy();\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (_this.s.closable) {\r\n\r\n\t\t\t\t\t// If you drag the slide and release outside gallery gets close on chrome\r\n\t\t\t\t\t// for preventing this check mousedown and mouseup happened on .lg-item or lg-outer\r\n\t\t\t\t\t_lgUtils2.default.on(_this.outer, 'mousedown.lg', function (e) {\r\n\r\n\t\t\t\t\t\tif (_lgUtils2.default.hasClass(e.target, 'lg-outer') || _lgUtils2.default.hasClass(e.target, 'lg-item') || _lgUtils2.default.hasClass(e.target, 'lg-img-wrap')) {\r\n\t\t\t\t\t\t\tmousedown = true;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tmousedown = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t_lgUtils2.default.on(_this.outer, 'mouseup.lg', function (e) {\r\n\r\n\t\t\t\t\t\tif (_lgUtils2.default.hasClass(e.target, 'lg-outer') || _lgUtils2.default.hasClass(e.target, 'lg-item') || _lgUtils2.default.hasClass(e.target, 'lg-img-wrap') && mousedown) {\r\n\t\t\t\t\t\t\tif (!_lgUtils2.default.hasClass(_this.outer, 'lg-dragging')) {\r\n\t\t\t\t\t\t\t\t_this.destroy();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tPlugin.prototype.destroy = function (d) {\r\n\r\n\t\t\t\tvar _this = this;\r\n\r\n\t\t\t\tif (!d) {\r\n\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onBeforeClose');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tdocument.body.scrollTop = _this.prevScrollTop;\r\n\t\t\t\tdocument.documentElement.scrollTop = _this.prevScrollTop;\r\n\r\n\t\t\t\t/**\r\n\t\t\t\t * if d is false or undefined destroy will only close the gallery\r\n\t\t\t\t * plugins instance remains with the element\r\n\t\t\t\t *\r\n\t\t\t\t * if d is true destroy will completely remove the plugin\r\n\t\t\t\t */\r\n\r\n\t\t\t\tif (d) {\r\n\t\t\t\t\tif (!_this.s.dynamic) {\r\n\t\t\t\t\t\t// only when not using dynamic mode is $items a jquery collection\r\n\r\n\t\t\t\t\t\tfor (var i = 0; i < this.items.length; i++) {\r\n\t\t\t\t\t\t\t_lgUtils2.default.off(this.items[i], '.lg');\r\n\t\t\t\t\t\t\t_lgUtils2.default.off(this.items[i], '.lgcustom');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar lguid = _this.el.getAttribute('lg-uid');\r\n\t\t\t\t\tdelete window.lgData[lguid];\r\n\t\t\t\t\t_this.el.removeAttribute('lg-uid');\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Unbind all events added by lightGallery\r\n\t\t\t\t_lgUtils2.default.off(this.el, '.lgtm');\r\n\r\n\t\t\t\t// Distroy all lightGallery modules\r\n\t\t\t\tfor (var key in window.lgModules) {\r\n\t\t\t\t\tif (_this.modules[key]) {\r\n\t\t\t\t\t\t_this.modules[key].destroy(d);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.lGalleryOn = false;\r\n\r\n\t\t\t\tclearTimeout(_this.hideBartimeout);\r\n\t\t\t\tthis.hideBartimeout = false;\r\n\t\t\t\t_lgUtils2.default.off(window, '.lg');\r\n\t\t\t\t_lgUtils2.default.removeClass(document.body, 'lg-on');\r\n\t\t\t\t_lgUtils2.default.removeClass(document.body, 'lg-from-hash');\r\n\r\n\t\t\t\tif (_this.outer) {\r\n\t\t\t\t\t_lgUtils2.default.removeClass(_this.outer, 'lg-visible');\r\n\t\t\t\t}\r\n\r\n\t\t\t\t_lgUtils2.default.removeClass(document.querySelector('.lg-backdrop'), 'in');\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tif (_this.outer) {\r\n\t\t\t\t\t\t\t_this.outer.parentNode.removeChild(_this.outer);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (document.querySelector('.lg-backdrop')) {\r\n\t\t\t\t\t\t\tdocument.querySelector('.lg-backdrop').parentNode.removeChild(document.querySelector('.lg-backdrop'));\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (!d) {\r\n\t\t\t\t\t\t\t_lgUtils2.default.trigger(_this.el, 'onCloseAfter');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t_this.el.focus();\r\n\t\t\t\t\t} catch (err) {}\r\n\t\t\t\t}, _this.s.backdropDuration + 50);\r\n\t\t\t};\r\n\r\n\t\t\twindow.lightGallery = function (el, options) {\r\n\t\t\t\tif (!el) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttry {\r\n\t\t\t\t\tif (!el.getAttribute('lg-uid')) {\r\n\t\t\t\t\t\tvar uid = 'lg' + window.lgData.uid++;\r\n\t\t\t\t\t\twindow.lgData[uid] = new Plugin(el, options);\r\n\t\t\t\t\t\tel.setAttribute('lg-uid', uid);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\twindow.lgData[el.getAttribute('lg-uid')].init();\r\n\t\t\t\t\t\t} catch (err) {\r\n\t\t\t\t\t\t\tconsole.error('lightGallery has not initiated properly');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} catch (err) {\r\n\t\t\t\t\tconsole.error('lightGallery has not initiated properly');\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t});\r\n\r\n\t},{\"./lg-utils\":1}]},{},[2])(2)\r\n});"],"file":"lightgallery.min.js"}