{"version":3,"sources":["localbusiness-detail.js"],"names":["root","factory","define","amd","a0","module","exports","require","this","$","defaults","mode","cssEasing","easing","speed","height","width","addClass","startClass","backdropDuration","hideBarsDelay","useLeft","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","el","$el","s","extend","constructor","Array","length","modules","lGalleryOn","lgBusy","hideBartimeout","isTouch","document","documentElement","$items","find","children","$slide","$outer","init","prototype","_this","_hash","window","location","hash","indexOf","parseInt","split","hasClass","setTimeout","build","trigger","on","event","preventDefault","er","returnValue","structure","each","fn","lightGallery","key","slide","arrow","closeGallery","removeClass","clearTimeout","template","list","i","subHtmlCont","append","css","setTop","eq","doCss","$inner","prevScrollTop","scrollTop","wH","top","$lGallery","transition","style","support","isVideo","src","html","attr","html5","console","error","youtube","match","vimeo","dailymotion","vk","addHtml","subHtmlUrl","$currentEle","subHtml","first","fL","substring","load","j","loadContent","rec","delay","_$img","_src","_poster","_srcset","_sizes","_html","_hasPoster","getResponsiveSrc","srcItms","rsWidth","rsSrc","__src","splice","push","wWidth","poster","responsive","srcset","sizes","iframe","_isVideo","prepend","videoClass","picturefill","elements","e","warn","_speed","fromTouch","fromThumb","direction","_prevIndex","_length","_time","touchPrev","touchNext","downloadUrl","arrowDisable","text","goToNextSlide","_loop","goToPrevSlide","keyCode","destroy","removeAttr","setTranslate","xValue","yValue","transform","touchMove","startCoords","endCoords","distance","Math","abs","touchEnd","not","isMoved","manageSwipeClass","originalEvent","targetTouches","pageX","isDraging","target","trim","scrollLeft","_touchNext","_touchPrev","deltaY","mousedown","is","d","off","removeData","remove","data","err"],"mappings":"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","file":"localbusiness-detail.js","sourcesContent":["/*! lightgallery - v1.6.11 - 2018-05-22\n* http://sachinchoolur.github.io/lightGallery/\n* Copyright (c) 2018 Sachin N; Licensed GPLv3 */\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module unless amdModuleId is set\n define(['jquery'], function (a0) {\n return (factory(a0));\n });\n } else if (typeof module === 'object' && module.exports) {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory(require('jquery'));\n } else {\n factory(root[\"jQuery\"]);\n }\n}(this, function ($) {\n\n(function() {\n 'use strict';\n\n var defaults = {\n\n mode: 'lg-slide',\n\n // Ex : 'ease'\n cssEasing: 'ease',\n\n //'for jquery animation'\n easing: 'linear',\n speed: 600,\n height: '100%',\n width: '100%',\n addClass: '',\n startClass: 'lg-start-zoom',\n backdropDuration: 150,\n hideBarsDelay: 6000,\n\n useLeft: false,\n\n closable: true,\n loop: true,\n escKey: true,\n keyPress: true,\n controls: true,\n slideEndAnimatoin: true,\n hideControlOnEnd: false,\n mousewheel: true,\n\n getCaptionFromTitleOrAlt: true,\n\n // .lg-item || '.lg-sub-html'\n appendSubHtmlTo: '.lg-sub-html',\n\n subHtmlSelectorRelative: false,\n\n /**\n * @desc number of preload slides\n * will exicute only after the current slide is fully loaded.\n *\n * @ex you clicked on 4th image and if preload = 1 then 3rd slide and 5th\n * slide will be loaded in the background after the 4th slide is fully loaded..\n * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.. ... ...\n *\n */\n preload: 1,\n showAfterLoad: true,\n selector: '',\n selectWithin: '',\n nextHtml: '',\n prevHtml: '',\n\n // 0, 1\n index: false,\n\n iframeMaxWidth: '100%',\n\n download: true,\n counter: true,\n appendCounterTo: '.lg-toolbar',\n\n swipeThreshold: 50,\n enableSwipe: true,\n enableDrag: true,\n\n dynamic: false,\n dynamicEl: [],\n galleryId: 1\n };\n\n function Plugin(element, options) {\n\n // Current lightGallery element\n this.el = element;\n\n // Current jquery element\n this.$el = $(element);\n\n // lightGallery settings\n this.s = $.extend({}, defaults, options);\n\n // When using dynamic mode, ensure dynamicEl is an array\n if (this.s.dynamic && this.s.dynamicEl !== 'undefined' && this.s.dynamicEl.constructor === Array && !this.s.dynamicEl.length) {\n throw ('When using dynamic mode, you must also define dynamicEl as an Array.');\n }\n\n // lightGallery modules\n this.modules = {};\n\n // false when lightgallery complete first slide;\n this.lGalleryOn = false;\n\n this.lgBusy = false;\n\n // Timeout function for hiding controls;\n this.hideBartimeout = false;\n\n // To determine browser supports for touch events;\n this.isTouch = ('ontouchstart' in document.documentElement);\n\n // Disable hideControlOnEnd if sildeEndAnimation is true\n if (this.s.slideEndAnimatoin) {\n this.s.hideControlOnEnd = false;\n }\n\n // Gallery items\n if (this.s.dynamic) {\n this.$items = this.s.dynamicEl;\n } else {\n if (this.s.selector === 'this') {\n this.$items = this.$el;\n } else if (this.s.selector !== '') {\n if (this.s.selectWithin) {\n this.$items = $(this.s.selectWithin).find(this.s.selector);\n } else {\n this.$items = this.$el.find($(this.s.selector));\n }\n } else {\n this.$items = this.$el.children();\n }\n }\n\n // .lg-item\n this.$slide = '';\n\n // .lg-outer\n this.$outer = '';\n\n this.init();\n\n return this;\n }\n\n Plugin.prototype.init = function() {\n\n var _this = this;\n\n // s.preload should not be more than $item.length\n if (_this.s.preload > _this.$items.length) {\n _this.s.preload = _this.$items.length;\n }\n\n // if dynamic option is enabled execute immediately\n var _hash = window.location.hash;\n if (_hash.indexOf('lg=' + this.s.galleryId) > 0) {\n\n _this.index = parseInt(_hash.split('&slide=')[1], 10);\n\n $('body').addClass('lg-from-hash');\n if (!$('body').hasClass('lg-on')) {\n setTimeout(function() {\n _this.build(_this.index);\n });\n\n $('body').addClass('lg-on');\n }\n }\n\n if (_this.s.dynamic) {\n\n _this.$el.trigger('onBeforeOpen.lg');\n\n _this.index = _this.s.index || 0;\n\n // prevent accidental double execution\n if (!$('body').hasClass('lg-on')) {\n setTimeout(function() {\n _this.build(_this.index);\n $('body').addClass('lg-on');\n });\n }\n } else {\n\n // Using different namespace for click because click event should not unbind if selector is same object('this')\n _this.$items.on('click.lgcustom', function(event) {\n\n // For IE8\n try {\n event.preventDefault();\n event.preventDefault();\n } catch (er) {\n event.returnValue = false;\n }\n\n _this.$el.trigger('onBeforeOpen.lg');\n\n _this.index = _this.s.index || _this.$items.index(this);\n\n // prevent accidental double execution\n if (!$('body').hasClass('lg-on')) {\n _this.build(_this.index);\n $('body').addClass('lg-on');\n }\n });\n }\n\n };\n\n Plugin.prototype.build = function(index) {\n\n var _this = this;\n\n _this.structure();\n\n // module constructor\n $.each($.fn.lightGallery.modules, function(key) {\n _this.modules[key] = new $.fn.lightGallery.modules[key](_this.el);\n });\n\n // initiate slide function\n _this.slide(index, false, false, false);\n\n if (_this.s.keyPress) {\n _this.keyPress();\n }\n\n if (_this.$items.length > 1) {\n\n _this.arrow();\n\n setTimeout(function() {\n _this.enableDrag();\n _this.enableSwipe();\n }, 50);\n\n if (_this.s.mousewheel) {\n _this.mousewheel();\n }\n } else {\n _this.$slide.on('click.lg', function() {\n _this.$el.trigger('onSlideClick.lg');\n });\n }\n\n _this.counter();\n\n _this.closeGallery();\n\n _this.$el.trigger('onAfterOpen.lg');\n\n // Hide controllers if mouse doesn't move for some period\n _this.$outer.on('mousemove.lg click.lg touchstart.lg', function() {\n\n _this.$outer.removeClass('lg-hide-items');\n\n clearTimeout(_this.hideBartimeout);\n\n // Timeout will be cleared on each slide movement also\n _this.hideBartimeout = setTimeout(function() {\n _this.$outer.addClass('lg-hide-items');\n }, _this.s.hideBarsDelay);\n\n });\n\n _this.$outer.trigger('mousemove.lg');\n\n };\n\n Plugin.prototype.structure = function() {\n var list = '';\n var controls = '';\n var i = 0;\n var subHtmlCont = '';\n var template;\n var _this = this;\n\n $('body').append('
');\n $('.lg-backdrop').css('transition-duration', this.s.backdropDuration + 'ms');\n\n // Create gallery items\n for (i = 0; i < this.$items.length; i++) {\n list += '
';\n }\n\n // Create controlls\n if (this.s.controls && this.$items.length > 1) {\n controls = '
' +\n '' +\n '' +\n '
';\n }\n\n if (this.s.appendSubHtmlTo === '.lg-sub-html') {\n subHtmlCont = '
';\n }\n\n template = '
' +\n '
' +\n '
' + list + '
' +\n '
' +\n '' +\n '
' +\n controls +\n subHtmlCont +\n '
' +\n '
';\n\n $('body').append(template);\n this.$outer = $('.lg-outer');\n this.$slide = this.$outer.find('.lg-item');\n\n if (this.s.useLeft) {\n this.$outer.addClass('lg-use-left');\n\n // Set mode lg-slide if use left is true;\n this.s.mode = 'lg-slide';\n } else {\n this.$outer.addClass('lg-use-css3');\n }\n\n // For fixed height gallery\n _this.setTop();\n $(window).on('resize.lg orientationchange.lg', function() {\n setTimeout(function() {\n _this.setTop();\n }, 100);\n });\n\n // add class lg-current to remove initial transition\n this.$slide.eq(this.index).addClass('lg-current');\n\n // add Class for css support and transition mode\n if (this.doCss()) {\n this.$outer.addClass('lg-css3');\n } else {\n this.$outer.addClass('lg-css');\n\n // Set speed 0 because no animation will happen if browser doesn't support css3\n this.s.speed = 0;\n }\n\n this.$outer.addClass(this.s.mode);\n\n if (this.s.enableDrag && this.$items.length > 1) {\n this.$outer.addClass('lg-grab');\n }\n\n if (this.s.showAfterLoad) {\n this.$outer.addClass('lg-show-after-load');\n }\n\n if (this.doCss()) {\n var $inner = this.$outer.find('.lg-inner');\n $inner.css('transition-timing-function', this.s.cssEasing);\n $inner.css('transition-duration', this.s.speed + 'ms');\n }\n\n setTimeout(function() {\n $('.lg-backdrop').addClass('in');\n });\n\n setTimeout(function() {\n _this.$outer.addClass('lg-visible');\n }, this.s.backdropDuration);\n\n if (this.s.download) {\n this.$outer.find('.lg-toolbar').append('');\n }\n\n // Store the current scroll top value to scroll back after closing the gallery..\n this.prevScrollTop = $(window).scrollTop();\n\n };\n\n // For fixed height gallery\n Plugin.prototype.setTop = function() {\n if (this.s.height !== '100%') {\n var wH = $(window).height();\n var top = (wH - parseInt(this.s.height, 10)) / 2;\n var $lGallery = this.$outer.find('.lg');\n if (wH >= parseInt(this.s.height, 10)) {\n $lGallery.css('top', top + 'px');\n } else {\n $lGallery.css('top', '0px');\n }\n }\n };\n\n // Find css3 support\n Plugin.prototype.doCss = function() {\n // check for css animation support\n var support = function() {\n var transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition'];\n var root = document.documentElement;\n var i = 0;\n for (i = 0; i < transition.length; i++) {\n if (transition[i] in root.style) {\n return true;\n }\n }\n };\n\n if (support()) {\n return true;\n }\n\n return false;\n };\n\n /**\n * @desc Check the given src is video\n * @param {String} src\n * @return {Object} video type\n * Ex:{ youtube : [\"//www.youtube.com/watch?v=c0asJgSyxcY\", \"c0asJgSyxcY\"] }\n */\n Plugin.prototype.isVideo = function(src, index) {\n\n var html;\n if (this.s.dynamic) {\n html = this.s.dynamicEl[index].html;\n } else {\n html = this.$items.eq(index).attr('data-html');\n }\n\n if (!src) {\n if(html) {\n return {\n html5: true\n };\n } else {\n console.error('lightGallery :- data-src is not pvovided on slide item ' + (index + 1) + '. Please make sure the selector property is properly configured. More info - http://sachinchoolur.github.io/lightGallery/demos/html-markup.html');\n return false;\n }\n }\n\n var youtube = src.match(/\\/\\/(?:www\\.)?youtu(?:\\.be|be\\.com|be-nocookie\\.com)\\/(?:watch\\?v=|embed\\/)?([a-z0-9\\-\\_\\%]+)/i);\n var vimeo = src.match(/\\/\\/(?:www\\.)?vimeo.com\\/([0-9a-z\\-_]+)/i);\n var dailymotion = src.match(/\\/\\/(?:www\\.)?dai.ly\\/([0-9a-z\\-_]+)/i);\n var vk = src.match(/\\/\\/(?:www\\.)?(?:vk\\.com|vkontakte\\.ru)\\/(?:video_ext\\.php\\?)(.*)/i);\n\n if (youtube) {\n return {\n youtube: youtube\n };\n } else if (vimeo) {\n return {\n vimeo: vimeo\n };\n } else if (dailymotion) {\n return {\n dailymotion: dailymotion\n };\n } else if (vk) {\n return {\n vk: vk\n };\n }\n };\n\n /**\n * @desc Create image counter\n * Ex: 1/10\n */\n Plugin.prototype.counter = function() {\n if (this.s.counter) {\n $(this.s.appendCounterTo).append('
' + (parseInt(this.index, 10) + 1) + ' / ' + this.$items.length + '
');\n }\n };\n\n /**\n * @desc add sub-html into the slide\n * @param {Number} index - index of the slide\n */\n Plugin.prototype.addHtml = function(index) {\n var subHtml = null;\n var subHtmlUrl;\n var $currentEle;\n if (this.s.dynamic) {\n if (this.s.dynamicEl[index].subHtmlUrl) {\n subHtmlUrl = this.s.dynamicEl[index].subHtmlUrl;\n } else {\n subHtml = this.s.dynamicEl[index].subHtml;\n }\n } else {\n $currentEle = this.$items.eq(index);\n if ($currentEle.attr('data-sub-html-url')) {\n subHtmlUrl = $currentEle.attr('data-sub-html-url');\n } else {\n subHtml = $currentEle.attr('data-sub-html');\n if (this.s.getCaptionFromTitleOrAlt && !subHtml) {\n subHtml = $currentEle.attr('title') || $currentEle.find('img').first().attr('alt');\n }\n }\n }\n\n if (!subHtmlUrl) {\n if (typeof subHtml !== 'undefined' && subHtml !== null) {\n\n // get first letter of subhtml\n // if first letter starts with . or # get the html form the jQuery object\n var fL = subHtml.substring(0, 1);\n if (fL === '.' || fL === '#') {\n if (this.s.subHtmlSelectorRelative && !this.s.dynamic) {\n subHtml = $currentEle.find(subHtml).html();\n } else {\n subHtml = $(subHtml).html();\n }\n }\n } else {\n subHtml = '';\n }\n }\n\n if (this.s.appendSubHtmlTo === '.lg-sub-html') {\n\n if (subHtmlUrl) {\n this.$outer.find(this.s.appendSubHtmlTo).load(subHtmlUrl);\n } else {\n this.$outer.find(this.s.appendSubHtmlTo).html(subHtml);\n }\n\n } else {\n\n if (subHtmlUrl) {\n this.$slide.eq(index).load(subHtmlUrl);\n } else {\n this.$slide.eq(index).append(subHtml);\n }\n }\n\n // Add lg-empty-html class if title doesn't exist\n if (typeof subHtml !== 'undefined' && subHtml !== null) {\n if (subHtml === '') {\n this.$outer.find(this.s.appendSubHtmlTo).addClass('lg-empty-html');\n } else {\n this.$outer.find(this.s.appendSubHtmlTo).removeClass('lg-empty-html');\n }\n }\n\n this.$el.trigger('onAfterAppendSubHtml.lg', [index]);\n };\n\n /**\n * @desc Preload slides\n * @param {Number} index - index of the slide\n */\n Plugin.prototype.preload = function(index) {\n var i = 1;\n var j = 1;\n for (i = 1; i <= this.s.preload; i++) {\n if (i >= this.$items.length - index) {\n break;\n }\n\n this.loadContent(index + i, false, 0);\n }\n\n for (j = 1; j <= this.s.preload; j++) {\n if (index - j < 0) {\n break;\n }\n\n this.loadContent(index - j, false, 0);\n }\n };\n\n /**\n * @desc Load slide content into slide.\n * @param {Number} index - index of the slide.\n * @param {Boolean} rec - if true call loadcontent() function again.\n * @param {Boolean} delay - delay for adding complete class. it is 0 except first time.\n */\n Plugin.prototype.loadContent = function(index, rec, delay) {\n\n var _this = this;\n var _hasPoster = false;\n var _$img;\n var _src;\n var _poster;\n var _srcset;\n var _sizes;\n var _html;\n var getResponsiveSrc = function(srcItms) {\n var rsWidth = [];\n var rsSrc = [];\n for (var i = 0; i < srcItms.length; i++) {\n var __src = srcItms[i].split(' ');\n\n // Manage empty space\n if (__src[0] === '') {\n __src.splice(0, 1);\n }\n\n rsSrc.push(__src[0]);\n rsWidth.push(__src[1]);\n }\n\n var wWidth = $(window).width();\n for (var j = 0; j < rsWidth.length; j++) {\n if (parseInt(rsWidth[j], 10) > wWidth) {\n _src = rsSrc[j];\n break;\n }\n }\n };\n\n if (_this.s.dynamic) {\n\n if (_this.s.dynamicEl[index].poster) {\n _hasPoster = true;\n _poster = _this.s.dynamicEl[index].poster;\n }\n\n _html = _this.s.dynamicEl[index].html;\n _src = _this.s.dynamicEl[index].src;\n\n if (_this.s.dynamicEl[index].responsive) {\n var srcDyItms = _this.s.dynamicEl[index].responsive.split(',');\n getResponsiveSrc(srcDyItms);\n }\n\n _srcset = _this.s.dynamicEl[index].srcset;\n _sizes = _this.s.dynamicEl[index].sizes;\n\n } else {\n\n if (_this.$items.eq(index).attr('data-poster')) {\n _hasPoster = true;\n _poster = _this.$items.eq(index).attr('data-poster');\n }\n\n _html = _this.$items.eq(index).attr('data-html');\n _src = _this.$items.eq(index).attr('href') || _this.$items.eq(index).attr('data-src');\n\n if (_this.$items.eq(index).attr('data-responsive')) {\n var srcItms = _this.$items.eq(index).attr('data-responsive').split(',');\n getResponsiveSrc(srcItms);\n }\n\n _srcset = _this.$items.eq(index).attr('data-srcset');\n _sizes = _this.$items.eq(index).attr('data-sizes');\n\n }\n\n //if (_src || _srcset || _sizes || _poster) {\n\n var iframe = false;\n if (_this.s.dynamic) {\n if (_this.s.dynamicEl[index].iframe) {\n iframe = true;\n }\n } else {\n if (_this.$items.eq(index).attr('data-iframe') === 'true') {\n iframe = true;\n }\n }\n\n var _isVideo = _this.isVideo(_src, index);\n if (!_this.$slide.eq(index).hasClass('lg-loaded')) {\n if (iframe) {\n _this.$slide.eq(index).prepend('
');\n } else if (_hasPoster) {\n var videoClass = '';\n if (_isVideo && _isVideo.youtube) {\n videoClass = 'lg-has-youtube';\n } else if (_isVideo && _isVideo.vimeo) {\n videoClass = 'lg-has-vimeo';\n } else {\n videoClass = 'lg-has-html5';\n }\n\n _this.$slide.eq(index).prepend('
');\n\n } else if (_isVideo) {\n _this.$slide.eq(index).prepend('
');\n _this.$el.trigger('hasVideo.lg', [index, _src, _html]);\n } else {\n _this.$slide.eq(index).prepend('
');\n }\n\n _this.$el.trigger('onAferAppendSlide.lg', [index]);\n\n _$img = _this.$slide.eq(index).find('.lg-object');\n if (_sizes) {\n _$img.attr('sizes', _sizes);\n }\n\n if (_srcset) {\n _$img.attr('srcset', _srcset);\n try {\n picturefill({\n elements: [_$img[0]]\n });\n } catch (e) {\n console.warn('lightGallery :- If you want srcset to be supported for older browser please include picturefil version 2 javascript library in your document.');\n }\n }\n\n if (this.s.appendSubHtmlTo !== '.lg-sub-html') {\n _this.addHtml(index);\n }\n\n _this.$slide.eq(index).addClass('lg-loaded');\n }\n\n _this.$slide.eq(index).find('.lg-object').on('load.lg error.lg', function() {\n\n // For first time add some delay for displaying the start animation.\n var _speed = 0;\n\n // Do not change the delay value because it is required for zoom plugin.\n // If gallery opened from direct url (hash) speed value should be 0\n if (delay && !$('body').hasClass('lg-from-hash')) {\n _speed = delay;\n }\n\n setTimeout(function() {\n _this.$slide.eq(index).addClass('lg-complete');\n _this.$el.trigger('onSlideItemLoad.lg', [index, delay || 0]);\n }, _speed);\n\n });\n\n // @todo check load state for html5 videos\n if (_isVideo && _isVideo.html5 && !_hasPoster) {\n _this.$slide.eq(index).addClass('lg-complete');\n }\n\n if (rec === true) {\n if (!_this.$slide.eq(index).hasClass('lg-complete')) {\n _this.$slide.eq(index).find('.lg-object').on('load.lg error.lg', function() {\n _this.preload(index);\n });\n } else {\n _this.preload(index);\n }\n }\n\n //}\n };\n\n /**\n * @desc slide function for lightgallery\n ** Slide() gets call on start\n ** ** Set lg.on true once slide() function gets called.\n ** Call loadContent() on slide() function inside setTimeout\n ** ** On first slide we do not want any animation like slide of fade\n ** ** So on first slide( if lg.on if false that is first slide) loadContent() should start loading immediately\n ** ** Else loadContent() should wait for the transition to complete.\n ** ** So set timeout s.speed + 50\n <=> ** loadContent() will load slide content in to the particular slide\n ** ** It has recursion (rec) parameter. if rec === true loadContent() will call preload() function.\n ** ** preload will execute only when the previous slide is fully loaded (images iframe)\n ** ** avoid simultaneous image load\n <=> ** Preload() will check for s.preload value and call loadContent() again accoring to preload value\n ** loadContent() <====> Preload();\n\n * @param {Number} index - index of the slide\n * @param {Boolean} fromTouch - true if slide function called via touch event or mouse drag\n * @param {Boolean} fromThumb - true if slide function called via thumbnail click\n * @param {String} direction - Direction of the slide(next/prev)\n */\n Plugin.prototype.slide = function(index, fromTouch, fromThumb, direction) {\n\n var _prevIndex = this.$outer.find('.lg-current').index();\n var _this = this;\n\n // Prevent if multiple call\n // Required for hsh plugin\n if (_this.lGalleryOn && (_prevIndex === index)) {\n return;\n }\n\n var _length = this.$slide.length;\n var _time = _this.lGalleryOn ? this.s.speed : 0;\n\n if (!_this.lgBusy) {\n\n if (this.s.download) {\n var _src;\n if (_this.s.dynamic) {\n _src = _this.s.dynamicEl[index].downloadUrl !== false && (_this.s.dynamicEl[index].downloadUrl || _this.s.dynamicEl[index].src);\n } else {\n _src = _this.$items.eq(index).attr('data-download-url') !== 'false' && (_this.$items.eq(index).attr('data-download-url') || _this.$items.eq(index).attr('href') || _this.$items.eq(index).attr('data-src'));\n\n }\n\n if (_src) {\n $('#lg-download').attr('href', _src);\n _this.$outer.removeClass('lg-hide-download');\n } else {\n _this.$outer.addClass('lg-hide-download');\n }\n }\n\n this.$el.trigger('onBeforeSlide.lg', [_prevIndex, index, fromTouch, fromThumb]);\n\n _this.lgBusy = true;\n\n clearTimeout(_this.hideBartimeout);\n\n // Add title if this.s.appendSubHtmlTo === lg-sub-html\n if (this.s.appendSubHtmlTo === '.lg-sub-html') {\n\n // wait for slide animation to complete\n setTimeout(function() {\n _this.addHtml(index);\n }, _time);\n }\n\n this.arrowDisable(index);\n\n if (!direction) {\n if (index < _prevIndex) {\n direction = 'prev';\n } else if (index > _prevIndex) {\n direction = 'next';\n }\n }\n\n if (!fromTouch) {\n\n // remove all transitions\n _this.$outer.addClass('lg-no-trans');\n\n this.$slide.removeClass('lg-prev-slide lg-next-slide');\n\n if (direction === 'prev') {\n\n //prevslide\n this.$slide.eq(index).addClass('lg-prev-slide');\n this.$slide.eq(_prevIndex).addClass('lg-next-slide');\n } else {\n\n // next slide\n this.$slide.eq(index).addClass('lg-next-slide');\n this.$slide.eq(_prevIndex).addClass('lg-prev-slide');\n }\n\n // give 50 ms for browser to add/remove class\n setTimeout(function() {\n _this.$slide.removeClass('lg-current');\n\n //_this.$slide.eq(_prevIndex).removeClass('lg-current');\n _this.$slide.eq(index).addClass('lg-current');\n\n // reset all transitions\n _this.$outer.removeClass('lg-no-trans');\n }, 50);\n } else {\n\n this.$slide.removeClass('lg-prev-slide lg-current lg-next-slide');\n var touchPrev;\n var touchNext;\n if (_length > 2) {\n touchPrev = index - 1;\n touchNext = index + 1;\n\n if ((index === 0) && (_prevIndex === _length - 1)) {\n\n // next slide\n touchNext = 0;\n touchPrev = _length - 1;\n } else if ((index === _length - 1) && (_prevIndex === 0)) {\n\n // prev slide\n touchNext = 0;\n touchPrev = _length - 1;\n }\n\n } else {\n touchPrev = 0;\n touchNext = 1;\n }\n\n if (direction === 'prev') {\n _this.$slide.eq(touchNext).addClass('lg-next-slide');\n } else {\n _this.$slide.eq(touchPrev).addClass('lg-prev-slide');\n }\n\n _this.$slide.eq(index).addClass('lg-current');\n }\n\n if (_this.lGalleryOn) {\n setTimeout(function() {\n _this.loadContent(index, true, 0);\n }, this.s.speed + 50);\n\n setTimeout(function() {\n _this.lgBusy = false;\n _this.$el.trigger('onAfterSlide.lg', [_prevIndex, index, fromTouch, fromThumb]);\n }, this.s.speed);\n\n } else {\n _this.loadContent(index, true, _this.s.backdropDuration);\n\n _this.lgBusy = false;\n _this.$el.trigger('onAfterSlide.lg', [_prevIndex, index, fromTouch, fromThumb]);\n }\n\n _this.lGalleryOn = true;\n\n if (this.s.counter) {\n $('#lg-counter-current').text(index + 1);\n }\n\n }\n _this.index = index;\n\n };\n\n /**\n * @desc Go to next slide\n * @param {Boolean} fromTouch - true if slide function called via touch event\n */\n Plugin.prototype.goToNextSlide = function(fromTouch) {\n var _this = this;\n var _loop = _this.s.loop;\n if (fromTouch && _this.$slide.length < 3) {\n _loop = false;\n }\n\n if (!_this.lgBusy) {\n if ((_this.index + 1) < _this.$slide.length) {\n _this.index++;\n _this.$el.trigger('onBeforeNextSlide.lg', [_this.index]);\n _this.slide(_this.index, fromTouch, false, 'next');\n } else {\n if (_loop) {\n _this.index = 0;\n _this.$el.trigger('onBeforeNextSlide.lg', [_this.index]);\n _this.slide(_this.index, fromTouch, false, 'next');\n } else if (_this.s.slideEndAnimatoin && !fromTouch) {\n _this.$outer.addClass('lg-right-end');\n setTimeout(function() {\n _this.$outer.removeClass('lg-right-end');\n }, 400);\n }\n }\n }\n };\n\n /**\n * @desc Go to previous slide\n * @param {Boolean} fromTouch - true if slide function called via touch event\n */\n Plugin.prototype.goToPrevSlide = function(fromTouch) {\n var _this = this;\n var _loop = _this.s.loop;\n if (fromTouch && _this.$slide.length < 3) {\n _loop = false;\n }\n\n if (!_this.lgBusy) {\n if (_this.index > 0) {\n _this.index--;\n _this.$el.trigger('onBeforePrevSlide.lg', [_this.index, fromTouch]);\n _this.slide(_this.index, fromTouch, false, 'prev');\n } else {\n if (_loop) {\n _this.index = _this.$items.length - 1;\n _this.$el.trigger('onBeforePrevSlide.lg', [_this.index, fromTouch]);\n _this.slide(_this.index, fromTouch, false, 'prev');\n } else if (_this.s.slideEndAnimatoin && !fromTouch) {\n _this.$outer.addClass('lg-left-end');\n setTimeout(function() {\n _this.$outer.removeClass('lg-left-end');\n }, 400);\n }\n }\n }\n };\n\n Plugin.prototype.keyPress = function() {\n var _this = this;\n if (this.$items.length > 1) {\n $(window).on('keyup.lg', function(e) {\n if (_this.$items.length > 1) {\n if (e.keyCode === 37) {\n e.preventDefault();\n _this.goToPrevSlide();\n }\n\n if (e.keyCode === 39) {\n e.preventDefault();\n _this.goToNextSlide();\n }\n }\n });\n }\n\n $(window).on('keydown.lg', function(e) {\n if (_this.s.escKey === true && e.keyCode === 27) {\n e.preventDefault();\n if (!_this.$outer.hasClass('lg-thumb-open')) {\n _this.destroy();\n } else {\n _this.$outer.removeClass('lg-thumb-open');\n }\n }\n });\n };\n\n Plugin.prototype.arrow = function() {\n var _this = this;\n this.$outer.find('.lg-prev').on('click.lg', function() {\n _this.goToPrevSlide();\n });\n\n this.$outer.find('.lg-next').on('click.lg', function() {\n _this.goToNextSlide();\n });\n };\n\n Plugin.prototype.arrowDisable = function(index) {\n\n // Disable arrows if s.hideControlOnEnd is true\n if (!this.s.loop && this.s.hideControlOnEnd) {\n if ((index + 1) < this.$slide.length) {\n this.$outer.find('.lg-next').removeAttr('disabled').removeClass('disabled');\n } else {\n this.$outer.find('.lg-next').attr('disabled', 'disabled').addClass('disabled');\n }\n\n if (index > 0) {\n this.$outer.find('.lg-prev').removeAttr('disabled').removeClass('disabled');\n } else {\n this.$outer.find('.lg-prev').attr('disabled', 'disabled').addClass('disabled');\n }\n }\n };\n\n Plugin.prototype.setTranslate = function($el, xValue, yValue) {\n // jQuery supports Automatic CSS prefixing since jQuery 1.8.0\n if (this.s.useLeft) {\n $el.css('left', xValue);\n } else {\n $el.css({\n transform: 'translate3d(' + (xValue) + 'px, ' + yValue + 'px, 0px)'\n });\n }\n };\n\n Plugin.prototype.touchMove = function(startCoords, endCoords) {\n\n var distance = endCoords - startCoords;\n\n if (Math.abs(distance) > 15) {\n // reset opacity and transition duration\n this.$outer.addClass('lg-dragging');\n\n // move current slide\n this.setTranslate(this.$slide.eq(this.index), distance, 0);\n\n // move next and prev slide with current slide\n this.setTranslate($('.lg-prev-slide'), -this.$slide.eq(this.index).width() + distance, 0);\n this.setTranslate($('.lg-next-slide'), this.$slide.eq(this.index).width() + distance, 0);\n }\n };\n\n Plugin.prototype.touchEnd = function(distance) {\n var _this = this;\n\n // keep slide animation for any mode while dragg/swipe\n if (_this.s.mode !== 'lg-slide') {\n _this.$outer.addClass('lg-slide');\n }\n\n this.$slide.not('.lg-current, .lg-prev-slide, .lg-next-slide').css('opacity', '0');\n\n // set transition duration\n setTimeout(function() {\n _this.$outer.removeClass('lg-dragging');\n if ((distance < 0) && (Math.abs(distance) > _this.s.swipeThreshold)) {\n _this.goToNextSlide(true);\n } else if ((distance > 0) && (Math.abs(distance) > _this.s.swipeThreshold)) {\n _this.goToPrevSlide(true);\n } else if (Math.abs(distance) < 5) {\n\n // Trigger click if distance is less than 5 pix\n _this.$el.trigger('onSlideClick.lg');\n }\n\n _this.$slide.removeAttr('style');\n });\n\n // remove slide class once drag/swipe is completed if mode is not slide\n setTimeout(function() {\n if (!_this.$outer.hasClass('lg-dragging') && _this.s.mode !== 'lg-slide') {\n _this.$outer.removeClass('lg-slide');\n }\n }, _this.s.speed + 100);\n\n };\n\n Plugin.prototype.enableSwipe = function() {\n var _this = this;\n var startCoords = 0;\n var endCoords = 0;\n var isMoved = false;\n\n if (_this.s.enableSwipe && _this.doCss()) {\n\n _this.$slide.on('touchstart.lg', function(e) {\n if (!_this.$outer.hasClass('lg-zoomed') && !_this.lgBusy) {\n e.preventDefault();\n _this.manageSwipeClass();\n startCoords = e.originalEvent.targetTouches[0].pageX;\n }\n });\n\n _this.$slide.on('touchmove.lg', function(e) {\n if (!_this.$outer.hasClass('lg-zoomed')) {\n e.preventDefault();\n endCoords = e.originalEvent.targetTouches[0].pageX;\n _this.touchMove(startCoords, endCoords);\n isMoved = true;\n }\n });\n\n _this.$slide.on('touchend.lg', function() {\n if (!_this.$outer.hasClass('lg-zoomed')) {\n if (isMoved) {\n isMoved = false;\n _this.touchEnd(endCoords - startCoords);\n } else {\n _this.$el.trigger('onSlideClick.lg');\n }\n }\n });\n }\n\n };\n\n Plugin.prototype.enableDrag = function() {\n var _this = this;\n var startCoords = 0;\n var endCoords = 0;\n var isDraging = false;\n var isMoved = false;\n if (_this.s.enableDrag && _this.doCss()) {\n _this.$slide.on('mousedown.lg', function(e) {\n if (!_this.$outer.hasClass('lg-zoomed') && !_this.lgBusy && !$(e.target).text().trim()) {\n e.preventDefault();\n _this.manageSwipeClass();\n startCoords = e.pageX;\n isDraging = true;\n\n // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723\n _this.$outer.scrollLeft += 1;\n _this.$outer.scrollLeft -= 1;\n\n // *\n\n _this.$outer.removeClass('lg-grab').addClass('lg-grabbing');\n\n _this.$el.trigger('onDragstart.lg');\n }\n });\n\n $(window).on('mousemove.lg', function(e) {\n if (isDraging) {\n isMoved = true;\n endCoords = e.pageX;\n _this.touchMove(startCoords, endCoords);\n _this.$el.trigger('onDragmove.lg');\n }\n });\n\n $(window).on('mouseup.lg', function(e) {\n if (isMoved) {\n isMoved = false;\n _this.touchEnd(endCoords - startCoords);\n _this.$el.trigger('onDragend.lg');\n } else if ($(e.target).hasClass('lg-object') || $(e.target).hasClass('lg-video-play')) {\n _this.$el.trigger('onSlideClick.lg');\n }\n\n // Prevent execution on click\n if (isDraging) {\n isDraging = false;\n _this.$outer.removeClass('lg-grabbing').addClass('lg-grab');\n }\n });\n\n }\n };\n\n Plugin.prototype.manageSwipeClass = function() {\n var _touchNext = this.index + 1;\n var _touchPrev = this.index - 1;\n if (this.s.loop && this.$slide.length > 2) {\n if (this.index === 0) {\n _touchPrev = this.$slide.length - 1;\n } else if (this.index === this.$slide.length - 1) {\n _touchNext = 0;\n }\n }\n\n this.$slide.removeClass('lg-next-slide lg-prev-slide');\n if (_touchPrev > -1) {\n this.$slide.eq(_touchPrev).addClass('lg-prev-slide');\n }\n\n this.$slide.eq(_touchNext).addClass('lg-next-slide');\n };\n\n Plugin.prototype.mousewheel = function() {\n var _this = this;\n _this.$outer.on('mousewheel.lg', function(e) {\n\n if (!e.deltaY) {\n return;\n }\n\n if (e.deltaY > 0) {\n _this.goToPrevSlide();\n } else {\n _this.goToNextSlide();\n }\n\n e.preventDefault();\n });\n\n };\n\n Plugin.prototype.closeGallery = function() {\n\n var _this = this;\n var mousedown = false;\n this.$outer.find('.lg-close').on('click.lg', function() {\n _this.destroy();\n });\n\n if (_this.s.closable) {\n\n // If you drag the slide and release outside gallery gets close on chrome\n // for preventing this check mousedown and mouseup happened on .lg-item or lg-outer\n _this.$outer.on('mousedown.lg', function(e) {\n\n if ($(e.target).is('.lg-outer') || $(e.target).is('.lg-item ') || $(e.target).is('.lg-img-wrap')) {\n mousedown = true;\n } else {\n mousedown = false;\n }\n\n });\n \n _this.$outer.on('mousemove.lg', function() {\n mousedown = false;\n });\n\n _this.$outer.on('mouseup.lg', function(e) {\n\n if ($(e.target).is('.lg-outer') || $(e.target).is('.lg-item ') || $(e.target).is('.lg-img-wrap') && mousedown) {\n if (!_this.$outer.hasClass('lg-dragging')) {\n _this.destroy();\n }\n }\n\n });\n\n }\n\n };\n\n Plugin.prototype.destroy = function(d) {\n\n var _this = this;\n\n if (!d) {\n _this.$el.trigger('onBeforeClose.lg');\n $(window).scrollTop(_this.prevScrollTop);\n }\n\n\n /**\n * if d is false or undefined destroy will only close the gallery\n * plugins instance remains with the element\n *\n * if d is true destroy will completely remove the plugin\n */\n\n if (d) {\n if (!_this.s.dynamic) {\n // only when not using dynamic mode is $items a jquery collection\n this.$items.off('click.lg click.lgcustom');\n }\n\n $.removeData(_this.el, 'lightGallery');\n }\n\n // Unbind all events added by lightGallery\n this.$el.off('.lg.tm');\n\n // Distroy all lightGallery modules\n $.each($.fn.lightGallery.modules, function(key) {\n if (_this.modules[key]) {\n _this.modules[key].destroy();\n }\n });\n\n this.lGalleryOn = false;\n\n clearTimeout(_this.hideBartimeout);\n this.hideBartimeout = false;\n $(window).off('.lg');\n $('body').removeClass('lg-on lg-from-hash');\n\n if (_this.$outer) {\n _this.$outer.removeClass('lg-visible');\n }\n\n $('.lg-backdrop').removeClass('in');\n\n setTimeout(function() {\n if (_this.$outer) {\n _this.$outer.remove();\n }\n\n $('.lg-backdrop').remove();\n\n if (!d) {\n _this.$el.trigger('onCloseAfter.lg');\n }\n\n }, _this.s.backdropDuration + 50);\n };\n\n $.fn.lightGallery = function(options) {\n return this.each(function() {\n if (!$.data(this, 'lightGallery')) {\n $.data(this, 'lightGallery', new Plugin(this, options));\n } else {\n try {\n $(this).data('lightGallery').init();\n } catch (err) {\n console.error('lightGallery has not initiated properly');\n }\n }\n });\n };\n\n $.fn.lightGallery.modules = {};\n\n})();\n\n\n}));\n"]}