/** * ModuloBox PACKAGED v1.5.0 * Touch & responsive multimedia Lightbox * * @author Themeone [https://theme-one.com/] * Copyright 漏 2016 All Rights Reserved. */ !function(){var t=window,e=0;t.requestAnimationFrame=t.requestAnimationFrame||t.webkitRequestAnimationFrame,t.requestAnimationFrame||(t.requestAnimationFrame=function(t){var i=(new Date).getTime(),s=Math.max(0,16-(i-e));return t=setTimeout(t,s),e=i+s,t}),t.cancelAnimationFrame||(t.cancelAnimationFrame=function(t){clearTimeout(t)})}(),function(t,e){"function"==typeof define&&define.amd?define("themeone-utils/utils",e):"object"==typeof module&&module.exports?module.exports=e():t.ThemeoneUtils=e()}(this,function(){var t={},e=window.console;return t.error=function(t){void 0!==e&&e.error(t)},t.extend=function(t,e){if(t)if("object"!=typeof t)this.error("Custom options must be an object");else for(var i in e)e.hasOwnProperty(i)&&t.hasOwnProperty(i)&&(e[i]=t[i]);return e},t.prop=function(t){for(var e=this.createEl(),i=["","Webkit","Moz","ms","O"],s=0,o=i.length;s=e)&&(i=o,t.apply(this,s))}},t.modulo=function(t,e){return(t+e%t)%t},t.classReg=function(t){return new RegExp("(^|\\s+)"+t+"(\\s+|$)")},t.hasClass=function(t,e){return!!t.className.match(this.classReg(e))},t.addClass=function(t,e){this.hasClass(t,e)||(t.className+=(t.className?" ":"")+e)},t.removeClass=function(t,e){this.hasClass(t,e)&&(t.className=t.className.replace(this.classReg(e)," ").replace(/\s+$/,""))},t.translate=function(t,e,i,s){s=s?" scale("+s+","+s+")":"",t.style[this.browser.trans]=this.browser.gpu?"translate3d("+(e||0)+"px, "+(i||0)+"px, 0)"+s:"translate("+(e||0)+"px, "+(i||0)+"px)"+s},t.browser={trans:t.prop("transform"),gpu:!!t.prop("perspective")},t}),function(t,e){"function"==typeof define&&define.amd?define("themeone-event/event",e):"object"==typeof module&&module.exports?module.exports=e():t.ThemeoneEvent=e()}("undefined"!=typeof window?window:this,function(){var t=function(){},e=t.prototype;return e.on=function(t,e){if(!t||!e)return null;var i=this._events=this._events||{};return-1===(i=i[t]=i[t]||[]).indexOf(e)&&i.push(e),this},e.off=function(t,e){var i=this._events&&this._events[t];if(!i||!i.length)return null;var s=i.indexOf(e);return-1!==s&&i.splice(s,1),this},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(!i||!i.length)return null;var s=0,o=i[s];e=e||[];for(var n=this._onceEvents&&this._onceEvents[t];o;){var r=n&&n[o];r&&(this.off(t,o),delete n[o]),o.apply(this,e),o=i[s+=r?0:1]}return this},t}),function(t,e){"function"==typeof define&&define.amd?define("themeone-animate/animate",["themeone-utils/utils","themeone-event/event"],e):"object"==typeof module&&module.exports?module.exports=e(require("themeone-utils"),require("themeone-event")):t.ThemeoneAnimate=e(t.ThemeoneUtils,t.ThemeoneEvent)}(this,function(t,e){var i=function(t,e,i,s){this.element=t,this.defaults=e,this.forces={friction:i||.28,attraction:s||.028},this.resetAnimate()},s=i.prototype=Object.create(e.prototype);return s.updateDrag=function(t){this.move=!0,this.drag=t},s.releaseDrag=function(){this.move=!1},s.animateTo=function(t){this.attraction=t},s.startAnimate=function(){this.move=!0,this.settle=!1,this.restingFrames=0,this.RAF||this.animate()},s.stopAnimate=function(){this.move=!1,this.restingFrames=0,this.RAF&&(cancelAnimationFrame(this.RAF),this.RAF=!1),this.start=t.cloneObject(this.position),this.velocity={x:0,y:0,s:0}},s.resetAnimate=function(){this.stopAnimate(),this.settle=!0,this.drag=t.cloneObject(this.defaults),this.start=t.cloneObject(this.defaults),this.resting=t.cloneObject(this.defaults),this.position=t.cloneObject(this.defaults),this.attraction=t.cloneObject(this.defaults)},s.animate=function(){var e=function(){if(void 0!==this.position){var i=t.cloneObject(this.position);this.applyDragForce(),this.applyAttractionForce(),t.dispatchEvent(this,"toanimate","render",this),this.integratePhysics(),this.getRestingPosition(),this.render(100),this.RAF=requestAnimationFrame(e),this.checkSettle(i)}}.bind(this);this.RAF=requestAnimationFrame(e)},s.integratePhysics=function(){for(var t in this.position)void 0!==this.position[t]&&(this.position[t]+=this.velocity[t],this.position[t]="s"===t?Math.max(.1,this.position[t]):this.position[t],this.velocity[t]*=this.getFrictionFactor())},s.applyDragForce=function(){if(this.move)for(var t in this.drag)void 0!==this.drag[t]&&this.applyForce(t,this.drag[t]-this.position[t]-this.velocity[t])},s.applyAttractionForce=function(){if(!this.move)for(var t in this.attraction)void 0!==this.attraction[t]&&this.applyForce(t,(this.attraction[t]-this.position[t])*this.forces.attraction)},s.getRestingPosition=function(){for(var t in this.position)void 0!==this.position[t]&&(this.resting[t]=this.position[t]+this.velocity[t]/(1-this.getFrictionFactor()))},s.applyForce=function(t,e){this.velocity[t]+=e},s.getFrictionFactor=function(){return 1-this.forces.friction},s.roundValues=function(t,e){for(var i in t)void 0!==t[i]&&(e="s"===i?100*e:e,t[i]=Math.round(t[i]*e)/e)},s.checkSettle=function(e){if(!this.move){var i,s=0;for(i in this.position)if(void 0!==this.position[i]){var o="s"===i?1e4:100;Math.round(this.position[i]*o)===Math.round(e[i]*o)&&(++s===Object.keys(this.position).length&&this.restingFrames++)}}2s;s++){var o=e.item.cloneNode(!0);o.appendChild(e.itemInner.cloneNode(!0)),e.slider.appendChild(o),this.slides[s]=o}this.slides.length=e.slider.children.length,this.createUI(e,i),e.holder.setAttribute("tabindex",-1),e.holder.setAttribute("aria-hidden",!0),this.DOM.comment=document.createComment(" ModuloBox (v1.5.0) by Themeone "),document.body.appendChild(this.DOM.comment),t.dispatchEvent(this,"modulobox","beforeAppendDOM",e),document.body.appendChild(e.holder),e.topBar.height=e.topBar.clientHeight},e.createUI=function(e,i){var s=i.controls.indexOf("share");if(-1i.slideShowInterval&&-1>>0));if(/(jpg|jpeg|png|bmp|gif|tif|tiff|jfi|jfif|exif|svg)/i.test(i)||-1<["external.xx.fbcdn","drscdn.500px.org"].indexOf(e))t.type="image",t.src=this.getSrc(e);else if(/(mp4|webm|ogv)/i.test(i))t.type="video",t.format="html5";else{var s,o=this.iframeVideo;for(s in o)if(o.hasOwnProperty(s)&&(i=e.match(o[s].reg))&&i[1]){e=o[s],t.type="video",t.format=s,t.share=e.share.replace("[ID]",i[1]),t.src=e.url.replace("[ID]",i[1]),t.pause=e.pause,t.play=e.play,this.options.videoThumbnail&&(t.poster=!t.poster&&e.poster?e.poster.replace("[ID]",i[1]):t.poster,t.thumb=!t.thumb&&e.poster?e.poster.replace("[ID]",i[1]):t.thumb);break}}}},e.getSrc=function(t){var e=(t||"").split(/,/),i=e.length,s=0;if(1>=i)return t;for(var o=0;o=r&&r>s||!r||0===o)&&(s=r,t=n[0])}return t},e.getMediaAtts=function(t,e){var i=this.options.autoCaption,s=this.getAttr(t),o=t.firstElementChild;o="IMG"!==t.tagName&&o&&"IMG"===o.tagName?o:t,e.type=e.type?e.type:s.type||t.getAttribute("data-type"),e.title=s.title||t.getAttribute("data-title")||(i?o.title:null),e.desc=s.desc||t.getAttribute("data-desc")||(i?o.alt:null),e.thumb=s.thumb||t.getAttribute("data-thumb"),e.poster=this.getSrc(s.poster||t.getAttribute("data-poster")),e.width=s.width||t.getAttribute("data-width"),e.height=s.height||t.getAttribute("data-height"),e.title===e.desc&&(e.desc=null)},e.getMediaThumb=function(t,e){var i=t.getElementsByTagName("img");!e.thumb&&i[0]&&(e.thumb=i[0].src)},e.getVideoThumb=function(t){if(this.options.videoThumbnail&&"video"===t.type&&"html5"!==t.format){var e=t.poster&&-1'+t.title.trim()+"":"",t.desc=t.desc?'
'+t.desc.trim()+"
":"",t.caption=t.title+t.desc},e.getGalleryName=function(t){for(var e=0;t&&2>e;){if((t=t.parentNode)&&"FIGURE"===t.tagName&&t.parentNode)return t.parentNode.getAttribute("id");e++}},e.setGalleryName=function(t){var e=this.getAttr(t).rel||t.getAttribute("data-rel");return e=(e=e||this.getGalleryName(t))?e:Object.keys(this.galleries).length+1,(t=(t=this.galleries[e])?t:this.galleries[e]=[]).name=e,t},e.setGalleryFeatures=function(t,e){t.zoom||"image"!==e.type||(t.zoom=!0),t.download||"image"!==e.type&&"html5"!==e.format||(t.download=!0)},e.setMediaEvent=function(t,e,i){t.mobxListener&&t.removeEventListener("click",t.mobxListener,!1),t.mobxListener=this.open.bind(this,e,i),t.addEventListener("click",t.mobxListener,!1)},e.open=function(e,i,s){return s&&(s.preventDefault(),s.stopPropagation()),!!this.GUID&&(this.galleries.hasOwnProperty(e)?this.galleries[e].length?this.galleries[e][i]?(t.dispatchEvent(this,"modulobox","beforeOpen",e,i),this.slides.index=i,this.gallery=this.galleries[e],this.gallery.name=e,this.gallery.index=i,this.gallery.loaded=!1,this.removeContent(),this.wrapAround(),this.hideScrollBar(),this.setSlider(),this.setThumbs(),this.setCaption(),this.setMedia(this.options.preload),this.updateMediaInfo(),this.replaceState(),this.setControls(),this.bindEvents(!0),this.show(),this.options.videoAutoPlay&&this.appendVideo(),this.options.slideShowAutoPlay&&-1this.slider.width&&this.browser.touchDevice&&!this.options.prevNextTouch;this.buttons.prev.style.display=this.buttons.next.style.display=1=this.slider.width||480>=this.slider.height)),this.DOM.caption.style.display=this.states.caption?"":"none"},e.hideScrollBar=function(){if(!this.options.scrollBar){var t=this.states.open;document.body.style.overflow=document.documentElement.style.overflow="undefined"!==t&&t?"":"hidden"}},e.bindEvents=function(e){var i,s,o=window,n=document,r=this.options,a=this.DOM.holder,h=this.buttons;for(s in h)h.hasOwnProperty(s)&&t.handleEvents(this,"share"!==s?h[s]:o,["click","touchend"],h[s].event,e);t.handleEvents(this,a,this.dragEvents.start,"touchStart",e),t.handleEvents(this,o,["keydown"],"keyDown",e),t.handleEvents(this,o,["resize","orientationchange"],"resize",e),t.handleEvents(this,a,["transitionend","webkitTransitionEnd","oTransitionEnd","otransitionend","MSTransitionEnd"],"opened"),t.handleEvents(this,a,["touchend"],"disableZoom",e),this.browser.fullScreen&&t.handleEvents(this,n,[this.browser.fullScreen.change],"toggleFullScreen",e),r.history&&t.handleEvents(this,o,["mouseout"],"mouseOut",e),0t.delta*this.isRTL()?"prev":"next"]()},e.scrollToClose=function(t){this.isEl(t)&&(t.preventDefault(),this.close())},e.disableZoom=function(t){for(var e=t.target;e;){if(-1<["VIDEO","INPUT","A"].indexOf(e.tagName))return;e=e.parentElement}t.preventDefault()},e.resize=function(e){this.DOM.topBar.height=this.DOM.topBar.clientHeight,this.share(),this.setSlider(),this.setThumbsPosition(),this.setCaption(),this.resizeMedia(),this.updateMediaInfo(),this.setPrevNextButtons(),this.states.zoom=!1,t.removeClass(this.DOM.holder,this.pre+"-panzoom"),t.dispatchEvent(this,"modulobox","resize",e)},e.resizeMedia=function(){for(var t=this.slides,e=0;eMath.abs(i)?e:i,t=Math.min(100,Math.max(-100,t)),Math.abs(t)Math.abs(this.states.prevDelta)||60(i=s.left-i+s.width/2+20)&&(t="left",i=s.left+s.width/2-20),e.setAttribute("data-position",t),e.style.top=this.DOM.topBar.height+6+"px",e.style.left=i+"px"}},e.download=function(){if(!this.isDownloadable())return!1;var t=this.getMedia().src.replace(/\s/g,"").split(",")[0],e=document.createElement("a"),i=t.split("/");e.href=t,e.download=i.pop().split("?")[0],e.setAttribute("target","_blank"),document.body.appendChild(e),e.click(),document.body.removeChild(e)},e.fullScreen=function(){document[this.browser.fullScreen.element]?this.exitFullScreen():this.requestFullScreen()},e.toggleFullScreen=function(){var e=this.DOM.holder,i=document[this.browser.fullScreen.element];i?i===e&&(this.setShareTooltip(),this.states.fullScreen=!0,t.addClass(e,this.pre+"-fullscreen")):(this.share(),this.states.fullScreen=!1,t.removeClass(e,this.pre+"-fullscreen")),this.videoFullScreen()},e.requestFullScreen=function(){var t=this.browser.fullScreen.request;document.documentElement[t]&&this.DOM.holder[t]()},e.exitFullScreen=function(){var t=this.browser.fullScreen.exit;document[t]&&document[t]()},e.play=function(){this.states.play?this.stopSlideShow():this.startSlideShow()},e.startSlideShow=function(){var e=0,i=this.gallery,s=this.options,o=this.states.loop,n=s.slideShowAutoStop,r=Math.max(120,s.slideShowInterval),a=s.countTimer,h=a&&this.DOM.timer?this.DOM.timer.getContext("2d"):null,l=function(t){if(t=t||+new Date,e=e||t,o&&!n||i.index!==i.initialLength-1){if(a&&h){var d=Math.PI/180*Math.min(1,(t-e+r)/r-1)*360;h.clearRect(0,0,48,48),this.timerProgress(h,s.countTimerBg,100),this.timerProgress(h,s.countTimerColor,d)}t>=e+r&&(e=t,this.slideTo(this.slides.index+1,!0)),this.timer=requestAnimationFrame(l)}else this.stopSlideShow()}.bind(this);t.addClass(this.DOM.holder,this.pre+"-autoplay"),this.states.play=!0,this.timer=requestAnimationFrame(l)},e.stopSlideShow=function(){cancelAnimationFrame(this.timer),t.removeClass(this.DOM.holder,this.pre+"-autoplay"),this.states.play=!1},e.timerProgress=function(t,e,i){var s=1.5*Math.PI;t.strokeStyle=e,t.lineWidth=5,t.beginPath(),t.arc(24,24,18,s,s+i,!1),t.stroke()},e.appendVideo=function(){var e=this.getMedia();if("video"===e.type){if(t.addClass(e.dom,this.pre+"-loading"),t.removeClass(e.dom,this.pre+"-playing"),!e.video){if("html5"===e.format){e.video=t.createEl("video"),e.video.setAttribute("controls",""),e.video.setAttribute("autoplay","");for(var i=e.src.replace(/\s/g,"").split(","),s=0;sr&&this.setMedia(r+2)),"iframe"===e.type&&(e.dom.loaded=!1)}},e.setMediaSize=function(t,e){var i=t.dom,s=this.slider,o=i.viewport,n=this.getThumbHeight();i.error||(o&&o.width===s.width&&o.height===s.height-n||(this.getCaptionHeight(t,e),this.getMediaSize(t,e),this.fitMediaSize(t,e),this.setMediaOffset(t,e)),(s=i.style).width=i.size.width+"px",s.height=i.size.height+"px",s.left=i.offset.left+"px",s.top=i.offset.top+"px")},e.getCaptionHeight=function(t,e){var i=this.DOM.captionInner,s=this.DOM.topBar.height,o=i.innerHTML,n=this.getThumbHeight();this.options.caption&&this.states.caption&&t.caption?(i.innerHTML=t.caption,i.height=Math.max(s,parseInt(i.clientHeight,10))||s,i.innerHTML=o):i.height=n?0:s,e.width=this.slider.width,e.height=this.slider.height-s-i.height-n},e.getMediaSize=function(t,e){var i=t.dom.size={};switch(t.type){case"image":i.width=t.dom.naturalWidth,i.height=t.dom.naturalHeight;break;case"video":i.width=this.options.videoMaxWidth,i.height=i.width/this.options.videoRatio;break;case"iframe":i.width=t.width?t.width:680=o.width||680>=o.height,u=0>["video","iframe","HTML"].indexOf(t.type),p=[e.height];(n.smartResize&&d||n.overflow)&&u&&p.unshift(o.height-l),p.forEach(function(t){(!s||se.width?e.width:Math.round(i),s=2>(s=Math.ceil(1/h*i))%t?t:s)}),d=Number((a.width/i).toFixed(3)),t.dom.size={width:i,height:s,scale:d>=n.minZoom?Math.min(n.maxZoom,"auto"===r?d:r):1}},e.setMediaOffset=function(t,e){var i=t.dom.size,s=this.slider,o=this.DOM.topBar.height,n=this.getThumbHeight(),r=0;i.height<=e.height&&(r=o+.5*(e.height-i.height)),t.dom.offset={top:0>r?0:Math.round(r),left:Math.round(.5*(e.width-i.width))},t.dom.viewport={width:s.width,height:s.height-n}},e.mediaViewport=function(t){var e=this.getMedia();if(!e.dom||!e.dom.size)return{top:0,bottom:0,left:0,right:0};var i=e.dom.size,s=e.dom.offset,o=this.slider.height;e=this.slider.width;var n=.5*(o-i.height),r=2*s.top-n;r=(n=.5*(n-r))*t-2*n-r,s=i.width/2*(t-1)-s.left;var a=i.height*t<=o?n*t:-i.height/2*(t-1)+o-i.height+r;return o=i.height*t<=o?n*t:i.height/2*(t-1)+r,{top:1>=t?0:Math.round(a),bottom:1>=t?0:Math.round(o),left:i.width*te?-e:0,l=i>h?h-i:l),r=r.map(function(e){return t.modulo(s.length,e+l+a)}),i=0;ie||!(-1i)this.DOM.caption.style.bottom=0,s.style.visibility="hidden",s.style.height=0,e.height=e.gutter=0;else{var o=this.options.thumbnailSizes,n=Math.max(window.innerWidth,Math.max(screen.width,screen.height));s=0;var r=Object.keys(o).sort(function(t,e){return t-e});for(e=0;es&&(s=h),a>=n)break}for(o=document.createDocumentFragment(),i=50o.indexOf(".json")?"url("+o+")":null,"video"===s.type&&(t.addClass(s.thumb,this.pre+"-thumb-video"),t.addClass(s.thumb,this.pre+"-thumb-loaded"))}if(e[e.firstChild?"replaceChild":"appendChild"](s.thumb,e.firstChild),e.media=i,o){var n=new Image;n.onload=function(){t.addClass(s.thumb,this.pre+"-thumb-loaded")}.bind(this),n.src=o}},e.updateThumbs=function(){var e=this.gallery;if(this.options.thumbnails&&!(2>e.initialLength)){e=this.thumbs;var i=this.getThumbPosition(e);e.stopAnimate(),i===e.position.x?this.shiftThumbs(e):Math.abs(i-e.position.x)>50*e.size?(this.DOM.thumbsHolder.style.visibility="hidden",e.position.x=i,t.translate(this.DOM.thumbsInner,i,0),this.renderThumbs(e),this.DOM.thumbsHolder.style.visibility=""):(e.startAnimate(),e.releaseDrag(),e.animateTo({x:i}))}},e.updateCaption=function(){if(this.options.caption){var t=this.getMedia();t=t.caption?t.caption:"";var e=this.DOM.captionInner;e.innerHTML!==t&&(e.innerHTML=t)}},e.updateCounter=function(){if(this.options.counterMessage){var e=this.gallery,i=e.initialLength;e=t.modulo(i,e.index),i=this.options.counterMessage.replace("[index]",e+1).replace("[total]",i),(e=this.DOM.counter).textContent!==i&&(e.textContent=i)}},e.wrapAround=function(){var e=this.options.loop,i=this.gallery,s=i.length;if(i.initialLength||(i.initialLength=s),this.states.loop=!!(e&&e<=s),this.states.loop&&sthis.gallery.initialLength)){for(var e,i=this.thumbs,s=this.slider,o=this.DOM.thumbsHolder,n=this.DOM.thumbsInner,r=this.options.thumbnailSizes,a=this.options.rightToLeft,h=Object.keys(r).sort(function(t,e){return e-t}),l=Math.max.apply(null,h),d=window.innerWidth,u=0;us.width?s.width-r:0},a&&(i.bound.right=r>s.width?s.width-i.size:r-i.size,i.bound.left=r-i.size),"centered"===this.options.thumbnailsNav&&(i.bound={left:r>s.width?Math.floor(.5*s.width-.5*i.size):Math.floor(.5*r-.5*i.size),right:r>s.width?Math.ceil(.5*s.width-r+.5*i.size):-Math.ceil(.5*r-.5*i.size)},a&&(i.bound.right=i.bound.left,i.bound.left=i.bound.left+r-i.size)),i.resetAnimate(),h=this.getThumbPosition(i),i.position.x=h,t.translate(n,h,0),h=this.getThumbHeight(),o.style.visibility=h?"":"hidden",o.style.height=h?h+"px":"",n.style.height=h?i.height+Math.min(10,i.gutter)+"px":"",n.style.width=i.length*i.size+"px",n.style.right=r>s.width&&a?"auto":""}},e.getThumbPosition=function(e){var i=this.slider,s=this.gallery,o=this.options.thumbnailsNav,n=this.isRTL(),r=0>n?"right":"left";return s=t.modulo(s.initialLength,s.index),i=.5*i.width-.5*e.size,s=e.bound[r]-s*e.size*n,s=e.bound[r]?s+(0>n&&"centered"!==o?-i:0):s+i,Math.max(e.bound.right,Math.min(e.bound.left,s))},e.setCellPosition=function(e){this.cells[e].resetAnimate(),t.translate(this.slides[e].children[0],0,0,1)},e.setSliderPosition=function(e,i){var s=this.options.rightToLeft,o=-i.index*i.width;o=s?-o:o,e.resetAnimate(),e.position.x=e.attraction.x=o,e.bound={left:0,right:-(this.gallery.length-1)*i.width},s&&(e.bound.left=-e.bound.right,e.bound.right=0),t.translate(this.DOM.slider,o,0)},e.setAnimation=function(){var t=this.DOM.slider,e=this.options.friction,s=this.options.attraction;this.slider=new i(t,{x:0,y:0},Math.min(Math.max(e.slider,0),1),Math.min(Math.max(s.slider,0),1)),this.slider.on("settle.toanimate",this.settleSider.bind(this)),this.slider.on("render.toanimate",this.renderSlider.bind(this));for(var o=(t=t.children).length,n=0;ns-.5?0:e)/(s-1))))},e.renderCell=function(e){if(this.willClose(e),"panY"===this.gesture.type||this.gesture.closeBy||"dragSlider"===this.gesture.type&&0!==e.position.y){var i=1-Math.abs(e.position.y)/(.5*this.slider.height);t.dispatchEvent(this,"modulobox","panYProgress",null,i)}"panY"!==this.gesture.type&&1!==e.position.s&&(i=e.position.s,t.dispatchEvent(this,"modulobox","panZoomProgress",null,i))},e.renderThumbs=function(e){this.shiftThumbs(e),t.dispatchEvent(this,"modulobox","thumbsProgress",null,e.bound.left!==e.bound.right?(e.bound.left-e.position.x)/(e.bound.left-e.bound.right):0)},e.touchStart=function(e){var i=e.target,s=i.tagName,o=i.className;3!==e.which&&i!==this.buttons.play&&this.stopSlideShow(),3===e.which||!this.isEl(e)||-1<["BUTTON","VIDEO","INPUT","A"].indexOf(s)||("IMG"===s&&1o.indexOf("-thumb")?(this.slider.stopAnimate(),e=this.getCell(),(1!=Math.round(100*e.position.s)/100||2===this.pointers.length||this.gesture.closeBy)&&e.stopAnimate()):this.thumbs.stopAnimate(),this.gestures("start")))},e.touchMove=function(e){this.updatePointer(e);var i=this.gesture,s=this.pointers.length,o=this.isSliderSettle();this.switchPointers(),this.gestures("move"),i.type?(this[i.type](e),t.dispatchEvent(this,"modulobox",i.type+"Move",e,i),i.move=!0):(2===s&&o||Math.abs(i.dx)>this.options.threshold||Math.abs(i.dy)>this.options.threshold)&&(i.sx+=i.dx,i.sy+=i.dy,i.canZoom=this.isZoomable(),i.closeBy=!1,i.type=!(Math.abs(i.dx)i.scale&&o&&2===s?"panZoom":i.type,i.type=-1+new Date-this.tap.delay&&30>Math.abs(this.tap.deltaX-i)&&30>Math.abs(this.tap.deltaY-s)?(this.states.tapIdle&&clearTimeout(this.states.tapIdle),this.options.doubleTapToZoom&&this.zoomTo(i,s),this.tap=void 0):(this.browser.touchDevice&&this.options.timeToIdle&&!this.states.idle&&(this.states.tapIdle=setTimeout(function(){var e=t.hasClass(this.DOM.holder,this.pre+"-idle")?"remove":"add";t[e+"Class"](this.DOM.holder,this.pre+"-idle")}.bind(this),350)),this.tap={delay:+new Date,deltaX:e[0].clientX,deltaY:e[0].clientY})},e.isSliderSettle=function(){if(this.gesture.type)return!1;var t=this.isRTL(),e=this.slides,i=e.width;return 3>=Math.abs(t*this.slider.position.x+e.index*i)/i*100},e.mapPointer=function(t){return t.touches?t.changedTouches:[t]},e.addPointer=function(t){t=this.mapPointer(t);for(var e=0;ethis.pointers.length&&-1===["dragSlider","panY","dragThumbs"].indexOf(this.gesture.type)){var i=t[e],s=void 0!==i.pointerId?i.pointerId:i.identifier;this.getPointer(s)||(this.pointers[this.pointers.length]={id:s,x:Math.round(i.clientX),y:Math.round(i.clientY)})}},e.updatePointer=function(t){t=this.mapPointer(t);for(var e=0;ee.x?1:-1:0,e.x=i[0].x,e.y=i[0].y,2===i.length){var s=i[1].x;i=i[1].y;var o=this.getDistance([e.x,e.y],[s,i]);e.x-=(e.x-s)/2,e.y-=(e.y-i)/2}"start"===t?(e.dx=0,e.dy=0,e.sx=e.x,e.sy=e.y,e.distance=o||0):(e.dx=e.x-e.sx,e.dy=e.y-e.sy,e.scale=o&&e.distance?o/e.distance:1)}},e.getDistance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return Math.sqrt(i*i+s*s)},e.panY=function(){var t=this.getCell();t.startAnimate(),t.updateDrag({x:t.position.x,y:t.start.y+this.gesture.dy,s:t.position.s})},e.panYEnd=function(){var t=this.getCell(),e=this.slider.height,i=t.resting.y;.8>1-Math.abs(i)/(.5*e)&&(e=Math.abs(i)<.5*e?Math.abs(i)/i*e*.5:i,this.close(),t.animateTo({x:0,y:e,s:e?t.resting.s:1}),t.startAnimate(),t.releaseDrag())},e.panZoom=function(){var t=this.getCell(),e=this.gesture,i=this.mediaViewport(t.position.s),s=Math.min(1.5*this.options.maxZoom,Math.max(this.options.pinchToClose&&e.canClose?.1:.6,t.start.s*e.scale)),o=t.start.x+e.dx,n=t.start.y+e.dy,r=e.sx-.5*this.slider.width,a=e.sy-.5*this.slider.height;e.canZoom&&(this.options.pinchToZoom||this.states.zoom)||(s=Math.min(1,s)),!this.options.pinchToZoom&&this.states.zoom&&(s=t.position.s),e.move||1!==this.pointers.length||(t.start.x+=o>i.left?o-i.left:oi.bottom?n-i.bottom:ni.left?.5*(o+i.left):oi.bottom?.5*(n+i.bottom):nthis.options.maxZoom?this.options.maxZoom:1>t.resting.s?1:t.resting.s,s=this.mediaViewport(i);if(Math.round(10*t.resting.s)/10>this.options.maxZoom){var o=e.distance?e.sx-.5*this.slider.width:0,n=e.distance?e.sy-.5*this.slider.height:0;o=e.dx+o+i/t.start.s*(t.start.x-o),n=e.dy+n+i/t.start.s*(t.start.y-n),o=o>s.left?s.left:os.bottom?s.bottom:ns.left?s.left:t.resting.xs.bottom?s.bottom:t.resting.yt.resting.s&&e.canClose&&(i=.3>t.resting.s?t.resting.s:.15,o=t.resting.x,n=t.resting.y,this.close()),t.animateTo({x:o,y:n,s:i!==t.resting.s?i:void 0}),t.startAnimate(),t.releaseDrag(),this.updateZoom(t.resting.s)},e.dragThumbs=function(){var t=this.thumbs,e=t.bound,i=t.start.x+this.gesture.dx;this.gesture.move||(t.start.x+=i>e.left?i-e.left:ie.left?.5*(i+e.left):ie.left?e.left:ii.left?e-i.left:ei.left?.5*(e+i.left):en&&0>i&&(a+=1*r)),i=Math.max(-1,Math.min(1,a-o.index)),!this.states.loop&&(0>s.index+i||s.index+i>s.length-1)||(o.index+=i)},e.shiftSlides=function(){var e=this.slides,i=this.gallery,s=this.states.loop,o=this.isRTL(),n=o*Math.round(-this.slider.position.x/e.width)-2,r=n+5;for(!s&&r>i.initialLength-1&&(r=(n=i.initialLength-5)+5),!s&&0>n&&(n=0,r=5),i=n;io.initialLength&&(h=(l=o.initialLength)-r),l===o.initialLength-1&&h-l=s&&h.media!==o&&this.loadThumb(h,o),m&&a!==o?t.removeClass(h,p):m||a!==o||t.addClass(h,p)}},e.setThumbSize=function(t,e){t.width===e.width&&t.height===e.height&&t.gutter===e.gutter||(t.width=e.width,t.height=e.height,t.gutter=e.gutter,t.style.width=e.width+"px",t.style.height=e.height+"px")},e.willClose=function(e){var i=this.DOM.overlay.style.opacity,s=this.gesture.canClose,o=this.gesture.type,n=this.gesture.closeBy,r="panY"===o||"panY"===n;1.1e.position.s&&void 0===s&&(this.gesture.canClose=!0),this.options.pinchToClose&&("panZoom"===o||"panZoom"===n)&&this.gesture.canClose?(i=e.position.s,this.gesture.closeBy="panZoom"):r?(i=1-Math.abs(e.position.y)/(.5*this.slider.height),this.gesture.closeBy="panY"):i&&1>i&&(i=1,this.gesture.closeBy=!1),i=i?Math.max(0,Math.min(1,i)):1,t[(.8>=i||!i?"add":"remove")+"Class"](this.DOM.holder,this.pre+"-will-close"),this.DOM.overlay.style.opacity=i},e.prev=t.throttle(function(){this.gesture.move||this.slideTo(this.slides.index-1*this.isRTL())},120),e.next=t.throttle(function(){this.gesture.move||this.slideTo(this.slides.index+1*this.isRTL())},120),e.slideTo=function(e,i){var s=this.slides,o=this.gallery,n=this.DOM.slider,r=this.isRTL(),a=o.initialLength,h=t.modulo(a,e);o=h-(o=t.modulo(a,o.index));var l=a-Math.abs(o);!this.states.loop&&(0>e||e>this.gallery.initialLength-1)||(this.states.loop&&3>l&&2*lo?l:-l),h===e&&(e=s.index+o),(o=e-s.index)&&(this.states.zoom&&this.zoom(),this.pauseVideo(),this.share(),i||this.stopSlideShow(),s.index=e,a=this.slider,2o.left?o.left:to.bottom?o.bottom:e