!function(l,e,n,r){"use strict";function t(){this.storage={},this.get=function(t){return t in this.storage?this.storage[t]:null},this.set=function(t,e){this.storage[t]=e},this.del=function(t){delete this.storage[t]},this.len=function(){return Object.keys(this.storage).length}}function o(){this.isMobile=function(t){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(t)},this.transitionEvent=function(){var t=n.createElement("fakeelement"),e={transition:"transitionend",OTransition:"otransitionend",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(var o in e)if(t.style[o]!==r)return e[o];return null},this.animationEvent=function(){var t=n.createElement("fakeelement"),e={animation:"animationend",MSAnimationEnd:"msAnimationEnd",OAnimation:"oAnimationEnd",MozAnimation:"mozAnimationEnd",WebkitAnimation:"webkitAnimationEnd"};for(var o in e)if(t.style[o]!==r)return e[o];return null}}var a="flashy-id",i=0,h=0,s=null;function c(){}function u(){return null==s&&(s=new c)._init(),s}c.prototype={itemDefaults:{type:"image",title:!0,width:null,height:null,gallery:!0,galleryLoop:!0,galleryCounter:!0,galleryPrevNext:!0,galleryCounterMessage:"[index] / [total]",gallerySwipeDesktop:!0,gallerySwipeMobile:!0,gallerySwipeThreshold:100,keyboard:!0,overlayClose:!1,themeClass:null,showClass:null,hideClass:null,nextShowClass:null,nextHideClass:null,prevShowClass:null,prevHideClass:null,videoAutoPlay:!1,loadError:"Sorry, an error occured while loading the content..."},touchMouseEvent:{down:"touchmousedown",up:"touchmouseup",move:"touchmousemove"},$body:null,$document:null,util:null,animationEvent:null,items:null,currItem:null,prevItem:null,nextItem:null,def:null,swipe:{startY:0,startX:0,endY:0,endX:0,diffY:0,diffX:0,startTouch:!1,threshold:100},controls:{$overlay:null,$container:null,$contentOuter:null,$contentInner:null,$content:null,$title:null,$numeration:null,$next:null,$prev:null,$close:null,$preloader:null},_init:function(){this.$body=l("body"),this.$document=l(n),this.util=new o,this.animationEvent=this.util.animationEvent(),this.items=new t},_buildDOM:function(){this.controls.$overlay=l("
").addClass("flashy-overlay"),this.controls.$container=l("").addClass("flashy-container").attr("tabindex",1),this.controls.$title=l("").addClass("flashy-title"),this.controls.$numeration=l("").addClass("flashy-numeration"),this.controls.$next=l("").addClass("flashy-next"),this.controls.$prev=l("").addClass("flashy-prev"),this.controls.$close=l("").addClass("flashy-close"),this.controls.$preloader=l("").addClass("flashy-preloader"),this.controls.$overlay.append(this.controls.$container,this.controls.$title,this.controls.$numeration,this.controls.$next,this.controls.$prev,this.controls.$close,this.controls.$preloader),this.$body.append(this.controls.$overlay),this.$body.get(0).offsetHeight;var t=this.controls.$container.get(0).offsetWidth-this.controls.$container.get(0).clientWidth;this.controls.$container.css("right",-t+"px"),this.$body.addClass("flashy-active")},_bind:function(t){t.config.overlayClose?this.controls.$overlay.on("click touchend",l.proxy(this._onOverlayClick,this)):this.controls.$close.on("click touchend",l.proxy(this._onCloseClick,this)),this.controls.$prev.on("click touchend",l.proxy(this._onGalleryNavigationClick,this,"prev")),this.controls.$next.on("click touchend",l.proxy(this._onGalleryNavigationClick,this,"next")),this.$body.on("keydown",l.proxy(this._onKeyboard,this)),t.config.gallery&&("ontouchstart"in e?t.config.gallerySwipeMobile&&(this.$document.on("touchstart",l.proxy(this._onTouch,this)),this.$document.on("touchmove",l.proxy(this._onTouch,this)),this.$document.on("touchend",l.proxy(this._onTouch,this))):t.config.gallerySwipeDesktop&&(this.$document.on("mousedown",l.proxy(this._onMouse,this)),this.$document.on("mouseup",l.proxy(this._onMouse,this)),this.$document.on("mouseout",l.proxy(this._onMouse,this)),this.$document.on("mousemove",l.proxy(this._onMouse,this)))),this.$document.on("webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange",l.proxy(this._onFullsceenChange,this))},_unbind:function(){this.controls.$overlay.off("click touchend",l.proxy(this._onOverlayClick,this)),this.controls.$close.off("click touchend",l.proxy(this._onCloseClick,this)),this.controls.$prev.off("click touchend",l.proxy(this._onGalleryNavigationClick,this,"prev")),this.controls.$next.off("click touchend",l.proxy(this._onGalleryNavigationClick,this,"next")),this.$body.off("keydown",l.proxy(this._onKeyboard,this)),"ontouchstart"in e?(this.$document.off("touchstart",l.proxy(this._onTouch,this)),this.$document.off("touchmove",l.proxy(this._onTouch,this)),this.$document.off("touchend",l.proxy(this._onTouch,this))):(this.$document.off("mousedown",l.proxy(this._onMouse,this)),this.$document.off("mouseup",l.proxy(this._onMouse,this)),this.$document.off("mouseout",l.proxy(this._onMouse,this)),this.$document.off("mousemove",l.proxy(this._onMouse,this))),this.$document.off("webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange",l.proxy(this._onFullsceenChange,this))},_addItem:function(t,e,o){var n=t.data(a),s={id:null,$el:t,config:o,group:e,groupIndex:0,groupTotal:0};n||(n=i++,t.data(a,n),t.on("click touchend",l.proxy(this._onItemClick,this))),s.id=n,this.items.set(n,s)},_removeItem:function(t){var e=t.data(a);e&&(t.removeData(a),t.off("click touchend",l.proxy(this._onItemClick,this)),this.items.del(e))},_onFullsceenChange:function(t){e.screenTop||e.screenY?this.controls.$overlay.addClass("flashy-fullscreen"):this.controls.$overlay.removeClass("flashy-fullscreen")},_onOverlayClick:function(t){l(t.target).closest(".flashy-content").hasClass("flashy-content")||this._close()},_onCloseClick:function(t){this._close()},_onGalleryNavigationClick:function(t,e){e.preventDefault(),e.stopPropagation(),this._galleryNavigate(t)},_onKeyboard:function(t){null!=this.currItem&&this.currItem.config.keyboard&&(27!==t.keyCode?this.currItem.config.gallery&&(37==t.keyCode&&this.prevItem&&this._galleryNavigate("prev"),39==t.keyCode&&this.nextItem&&this._galleryNavigate("next")):this._close())},_onItemClick:function(t){t.preventDefault(),t.stopPropagation(),this._show(l(t.currentTarget))},_onMouse:function(t){var e;switch(t.type){case"mousedown":e=this.touchMouseEvent.down;break;case"mouseup":case"mouseout":e=this.touchMouseEvent.up;break;case"mousemove":e=this.touchMouseEvent.move;break;default:return}var o=this._normalizeEvent(e,t,t.pageX,t.pageY);l(t.target).trigger(o)},_onTouch:function(t){var e;switch(t.type){case"touchstart":e=this.touchMouseEvent.down;break;case"touchend":e=this.touchMouseEvent.up;break;case"touchmove":e=this.touchMouseEvent.move;break;default:return}var o,n=t.originalEvent.touches[0];o=e==this.touchMouseEvent.up?this._normalizeEvent(e,t,null,null):this._normalizeEvent(e,t,n.pageX,n.pageY),l(t.target).trigger(o)},_onSwipeDown:function(t){this.swipe.startY=this.swipe.endY=t.pageY,this.swipe.startX=this.swipe.endX=t.pageX,this.swipe.startouch=!0},_onSwipeMove:function(t){if(this.swipe.startouch){this.swipe.endY=t.pageY,this.swipe.endX=t.pageX,this.swipe.diffY=this.swipe.endY-this.swipe.startY,this.swipe.diffX=this.swipe.endX-this.swipe.startX;var e=Math.abs(this.swipe.diffX),o=Math.abs(this.swipe.diffY);(10<=e||10<=o)&&(t.preventDefault(),this.controls.$content.css("transform","translate("+this.swipe.diffX+"px,"+this.swipe.diffY+"px)"))}},_onSwipeUp:function(t){if(this.swipe.startouch){var e=null,o=this.swipe.startouch=!1;this.swipe.diff=this.swipe.endX-this.swipe.startX,this.swipe.diff<0&&this.nextItem&&(e="next",o=!0),0