{"version":3,"sources":["readmore.js","jquery.accordion.js","jquery.responsiveTabs.js","jquery.background-video.js","jquery.fancybox.js","slick.js","index.js","browser.js","lazyload.js","helper.class.js","pluginloader.class.js","backtop.class.js","header.class.js","menu.class.js","notificationbanner.class.js","dnneditor.class.js","phonenumber.class.js","core.js"],"names":["factory","define","amd","exports","module","$","readmore","defaults","speed","collapsedHeight","heightMargin","moreLink","lessLink","startOpen","beforeToggle","blockProcessed","afterToggle","uniqueIdCounter","String","element","el","clone","css","height","width","setBoxHeights","maxHeight","insertAfter","outerHeight","overflow","parseInt","replace","data","remove","defaultHeight","expandedHeight","cssMaxHeight","wait","immediate","timeout","resizeBoxes","debounce","current","this","attr","isExpanded","context","args","arguments","callNow","clearTimeout","setTimeout","later","apply","window","addEventListener","options","styles","selector","blockCSS","appendChild","document","d","createElement","type","styleSheet","cssText","u","createTextNode","cssEmbedded","attachEvent","_defaults","_name","Readmore","prototype","init","id","useLink","_this","prefix","data-readmore","aria-expanded","toggle","after","event","trigger","preventDefault","data-readmore-toggle","aria-controls","$element","newHeight","newLink","expanded","destroy","on","next","off","replaceWith","each","instance","removeData","fn","_typeof","Array","slice","call","pluginName","transitionSpeed","transitionEasing","controlElement","contentElement","Accordion","extend","$accordion","self","find","opts","$controls","accordionHasParent","parents","length","closedCSS","max-height","CSStransitions","func","s","documentElement","style","p","i","v","supportsTransitions","mozRequestAnimationFrame","toggleTransition","-webkit-transition","transition","$content","cb","$el","children","calculateHeight","$currentAccordion","qty","operation","$matched","$parentAccordion","filter","$childs","updateParentHeight","add","currentHeight","hasClass","refreshHeight","$parentAccordions","removeClass","animate","openAccordion","requestAnimationFrame","webkitRequestAnimationFrame","requestAnimFrame","addClass","isAccordionGroup","closeSiblingAccordions","singleOpen","groupElement","closeAccordion","$siblings","siblings","$siblingsChildren","$otherAccordions","toggleAccordion","$curr","closest","addEventListeners","setup","threshold","execAsap","obj","jQuery","undefined","active","disabled","collapsible","startCollapsed","rotate","setHash","animation","animationQueue","duration","fluidHeight","scrollToAccordion","scrollToAccordionOnLoad","scrollToAccordionOffset","accordionTabElement","navigationContainer","click","stateDefault","deactivate","stateDisabled","activateState","container","stateActive","stateExcluded","ResponsiveTabs","tabs","$queue","state","_loadElements","_loadClasses","_loadEvents","e","_setState","_equaliseHeights","tabRef","_getTabRefBySelector","location","hash","_getTab","oTab","_ignoreHashChange","_openTab","startRotation","bind","activate","startTab","_getStartTab","$ul","classes","ul","$accordionAnchor","panelSelector","$tab","$anchor","isExcluded","$accordionTab","$panel","html","appendTo","anchor","accordionAnchor","push","tab","panel","accordionTab","accordionTitle","fActivate","_getCurrentTab","activatedTab","history","origin","protocol","hostname","port","pushState","pathname","search","_isCollapisble","_closeTab","oldState","startCollapsedIsState","is","newState","closeCurrent","stopRotation","scrollOffset","rotateInterval","_doTransition","getState","_isInView","scrollOnLoad","offset","top","scrollTop","doQueue","doQueueOnState","method","callback","dequeue","effect","queue","complete","numRef","_getCurrentTabRef","_getNextTabRef","currentTabRef","nextTabRef","_getPreviousTabRef","map","docViewTop","docViewBottom","elemTop","Event","enable","Error","setInterval","disable","clearInterval","option","key","value","responsiveTabs","isNumeric","currentTime","Math","floor","Date","now","getTime","bgVideo","old_iOS","test","navigator","platform","appVersion","match","iOSVersion","iOSversion","settings","start_time","$video","$pauseplay","video","poster","$container","parent","el_settings","data_name","data_attrs","data_val","charAt","toLowerCase","fitVideo","text","fadeOnPause","position","background-size","background-position","background-repeat","background-image","min-width","left","transform","fullScreen","bottom","right","margin","fadeIn","pauseAfter","resize","showPausePlay","pause","fadeOnEnd","append","pausePlayXPos","pausePlayXOffset","pausePlayYPos","pausePlayYOffset","margin-top","paused","play","container_height","container_width","video_height","ready","console","info","fancybox","closeExisting","div","buttonStr","keyboard","gutter","infobar","preventCaptionOverlap","arrows","smallBtn","protect","buttons","preload","tpl","image","scrolling","format","defaultType","transitionEffect","autoStart","download","animationDuration","zoomOpacity","transitionDuration","slideClass","vertical","baseTpl","spinnerTpl","errorTpl","media","slideShow","thumbs","close","arrowLeft","arrowRight","parentEl","afterLoad","noop","beforeClose","backFocus","onDeactivate","touch","momentum","clickContent","dblclickContent","hideOnClose","dblclickSlide","wheel","ZOOM","de","CLOSE","PREV","ERROR","PLAY_STOP","FULL_SCREEN","DOWNLOAD","SHARE","requestAFrame","clickSlide","clickOutside","cancelAnimationFrame","dblclickOutside","mobile","transitions","OTransition","MozTransition","WebkitTransition","lang","i18n","en","NEXT","mergeOpts","rez","THUMBS","inViewport","elemCenter","PLAY_START","elem","getBoundingClientRect","$W","$D","called","currIndex","prevIndex","firstRun","cancelAFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","transitionEnd","t","firstItem","firstItemOpts","btnTpl","opts1","opts2","$refs","isArray","FancyBox","content","index","$item","found","src","srcParts","isPlainObject","item","$orig","group","slides","addContent","getInstance","hideScrollbar","isMobile","body","innerHeight","clientWidth","contentType","inArray","$trigger","$thumb","thumb","arr","str","caption","n","items","makeArray","trapFocus","indexOf","substring","Object","updateControls","focus","removeEvents","stopPropagation","previous","isScaledDown","originalEvent","requestId","keycode","toolbar","idleSecondsCounter","isIdle","split","shift","modal","idleInterval","isMoved","slidePos","stagePos","Thumbs","isActive","create","prevPos","groupLen","currPos","forcedDuration","loadSlide","stage","hide","stop","slide","$slide","update","isComplete","diff","which","ctrlKey","altKey","shiftKey","target","pos","leftPos","setTranslate","idleTime","updateSlide","isDragging","hideControls","scaleX","scaleY","isAnimating","newImgHeight","jumpTo","posX","posY","loop","prop","isClosing","maxWidth","SlideShow","keys","scaleToFit","createSlide","parseFloat","minRatio","getTranslate","className","join","adjustCaption","updateCursor","opacity","centerSlide","isLoaded","scaleToActual","canPan","isZoomable","canvasWidth","Guestures","canvasHeight","newImgWidth","hasError","x","y","imgPos","fitPos","nextWidth","getFitPos","end","isLoading","aspectRatio","setContent","setError","ajaxLoad","url","success","textStatus","error","jqXHR","min","$img","$image","checkSrcset","ratio","ghost","$ghost","srcset","windowWidth","innerWidth","pxRatio","adjustLayout","ret","postfix","navigation","toggleClass","get","scrollHeight","clientHeight","temp","j","one","sizes","abs","nextHeight","hideLoading","resolveImageSlideSize","isFunction","imgHeight","$iframe","showLoading","frameHeight","frameWidth","isQuery","setImage","setIframe","videoFormat","$placeholder","empty","ajax","isRevealed","$spinner","onerror","onload","$smallBtn","_a3","revealContent","_f3","preventOverlap","$caption","_i3","_r2","captionH","$clone","marginBottom","inlinePadding","actualPadding","img","naturalWidth","naturalHeight","start","round","max","readyState","forceRedraw","imgWidth","iframe","effectClassName","getThumbPos","brw","thumbPos","blw","isReady","contents","$body","max-width","ceil","outerWidth","ignore","Document","exitFullscreen","prev","trim","focusedItemIndex","focusableItems","first","isVisible","translate","done","cleanUp","domRect","button","$focus","eq","unshift","disableLayoutFix","name","andCaption","hasHiddenControls","command","show","version","btw","use3d","ownerDocument","offsetHeight","elementFromPoint","bbw","props","from","webkitExitFullscreen","autoFocus","to","scrollLeft","focusableStr","activeElement","_run","addEvents","focusStr","$pressed","animationEffect","youtube","matcher","params","rel","wmode","enablejsapi","vimeo","hd","show_title","show_portrait","paramPlace","gmap_search","urlParams","provider","providerOpts","providerName","paramObj","scrollY","VideoAPILoader","loaded","showControls","vendor","loading","script","_a4","_r4","_i4","events","player","contentSource","toggleControls","pageX","pageY","clientX","result","open","all","userAgent","getComputedStyle","getPropertyValue","documentMode","tapped","$target","isTouchDevice","startPoints","leaveAnimationName","canTap","isSwiping","isScrolling","startTime","propertyName","sliderStartPos","contentStartPos","isScrollable","isPanning","isZooming","percentageOfImageAtPinchPointY","startDistanceBetweenFingers","callCallback","onscroll","removeEventListener","swiping","distanceX","sliderLastPos","distanceY","distance","newPoints","currentTarget","onSwipe","angle","newOffsetY","param","autoplay","fs","currentWidth","minTranslateX","newOffsetX","currentOffsetX","show_byline","fullscreen","currentOffsetY","maxTranslateY","gmap_place","newWidth","endDistanceBetweenFingers","pinchRatio","contentLastPos","m","ontouchend","decodeURIComponent","endPoints","getPointerXY","p1","velocityX","panning","endPanning","zooming","endZooming","endSwiping","len","canAdvance","class","load","newPos","YT","Player","onStateChange","limitPosition","afterShow.fb","where","touches","changedTouches","clientY","point2","point1","what","pow","tapX","isClickable","onclick","tapY","attributes","atts","nodeName","substr","overflowY","process","horizontal","overflowX","scrollWidth","bg","$stage","proxy","oRequestAnimationFrame","$button","$progress","set","force","realPoints","removeAttr","keypress","hidden","centerPointStartX","centerPointStartY","percentageOfImageAtPinchPointX","ontouchmove","FullScreen","isFullscreen","Boolean","enabled","onPan","onZoom","CLASS_ACTIVE","CLASS","axis","FancyThumbs","$list","atan2","PI","request","transition-duration","limitMovement","minTranslateY","maxTranslateX","that","$grid","translateFromZoomingX","centerPointEndX","centerPointEndY","translateFromZoomingY","translateFromTranslatingX","share","string","dMs","entityMap","onTap","shareInstance","velocityY","shareCurrent","escapeSelector","rcssescape","fcssescape","asCodePoint","charCodeAt","reset","gallery","action","hashTimer","hasCreatedHistory","currentHash","startEvent","triggerFromUrl","addBack","progress","timer","inner","clear","onInit.fb","beforeShow.fb","afterKeydown.fb","beforeClose.fb onDeactivate.fb","fnMap","val","requestFullscreen","ALLOW_KEYBOARD_INPUT","exit","fullscreenElement","fullscreenEnabled","fullscreenchange","beforeClose.fb","list","innerHTML","origSrc","encodeURIComponent","&","<",">","\"","'","/","`","=","escapeHtml","href","parseUrl","pop","getGalleryID","sel","ch","toString","origHash","title","back","replaceState","fb","reverse","tmp","prevTime","currTime","deltaY","deltaX","wheelDelta","detail","require","instanceUid","Slick","dataSettings","_","adaptiveHeight","appendDots","asNavFor","prevArrow","accessibility","appendArrows","centerPadding","cssEase","slider","autoplaySpeed","centerMode","easing","customPaging","fade","focusOnSelect","focusOnChange","dotsClass","draggable","lazyLoad","edgeFriction","pauseOnHover","respondTo","initialSlide","rows","mobileFirst","pauseOnFocus","pauseOnDotsHover","responsive","swipe","swipeToSlide","touchMove","slidesPerRow","slidesToShow","slidesToScroll","variableWidth","touchThreshold","animating","verticalSwiping","waitForAnimate","currentDirection","currentLeft","currentSlide","$dots","autoPlayTimer","direction","listWidth","listHeight","loadIndex","$nextArrow","$prevArrow","slideCount","slideWidth","$slideTrack","touchObject","transformsEnabled","slideOffset","initials","unslicked","animProp","breakpoints","activeBreakpoint","animType","breakpointSettings","cssTransitions","focussed","interrupted","rowCount","shouldClick","positionProp","$slider","$slidesCache","transformType","visibilityChange","windowTimer","originalSettings","mozHidden","webkitHidden","autoPlay","autoPlayClear","autoPlayIterator","changeSlide","clickHandler","selectHandler","setPosition","swipeHandler","dragHandler","keyHandler","registerBreakpoints","activateADA","aria-hidden","addSlide","slickAdd","markup","addBefore","$slides","prependTo","detach","reinit","targetHeight","animateSlide","animProps","targetLeft","animStart","disableTransition","getNavTarget","not","slick","transitionType","applyTransition","slideTo","buildArrows","htmlExpr","slideHandler","buildDots","nextArrow","dots","getDotCount","infinite","buildOut","aria-disabled","tabindex","setupInfinite","setSlideClasses","updateDots","dot","newSlides","originalSlides","slidesPerSection","a","wrap","targetBreakpoint","respondToWidth","buildRows","b","c","numOfSlides","createDocumentFragment","sliderWidth","hasOwnProperty","breakpoint","row","unslick","checkResponsive","initial","forceUpdate","triggerBreakpoint","refresh","dontAnimate","indexOffset","prevNavigable","message","checkNavigable","navigables","getNavigableIndexes","cleanUpSlideEvents","cleanUpEvents","interrupt","visibility","orientationChange","cleanUpRows","zIndex","fadeSlideOut","slideIndex","unload","focusHandler","$sf","getCurrent","counter","breakPoint","pagerQty","filterSlides","slickFilter","getLeft","verticalOffset","coef","targetSlide","verticalHeight","getOption","indexes","swipedSlide","swipeTarget","centerOffset","swipeLeft","slideOuterWidth","slideRightBoundary","slidesTraversed","rtl","offsetLeft","slickGetOption","creation","initADA","tabControlIndexes","getSlideCount","slideControlIndex","ariaButtonControl","mappedSlideIndex","goTo","slickGoTo","setProps","updateArrows","numDotGroups","initArrowEvents","initDotEvents","role","initSlideEvents","aria-describedby","aria-label","aria-selected","keyCode","loadRange","rangeStart","rangeEnd","loadImages","imageSource","imageToLoad","prevSlide","cloneRange","tagName","imagesScope","imageSizes","imageSrcSet","tryCount","nextSlide","$imgsToLoad","loadSlider","progressiveLazyLoad","initUI","slickNext","initializing","lastVisibleIndex","slickPause","slickPlay","postSlide","currentBreakpoint","responsiveSettings","slickPrev","positionProps","l","splice","windowDelay","removeSlide","slickRemove","removeBefore","removeAll","opt","setCSS","setDimensions","bodyStyle","useCSS","OTransform","setFade","MozTransform","perspectiveProperty","webkitTransform","msTransform","setHeight","setOption","allSlides","infiniteCount","targetElement","oldSlide","slideLeft","sync","msTransition","webkitPerspective","MozPerspective","useTransform","remainder","animSlide","evenCoef","startLoad","swipeDirection","startX","xDist","swipeAngle","navTarget","swipeStart","swipeEnd","positionOffset","verticalSwipeLength","swipeLength","curLeft","animateHeight","dragging","unfilterSlides","yDist","r","curX","startY","curY","fromBreakpoint","minSwipe","fingerCount","swipeMove","sqrt","edgeHit","slickUnfilter","o","defineProperty","configurable","enumerable","__esModule","default","Number","isNaN","isFinite","TypeError","f","createElementNS","view","classListProp","protoProp","arrIndexOf","elemCtrProto","Element","objCtr","strTrim","DOMEx","code","DOMException","checkTokenAndGetIndex","classList","token","ClassList","_updateClassName","trimmedClasses","getAttribute","classListGetter","classListProto","tokens","contains","updated","ex","classListPropDesc","__defineGetter__","number","testElement","createMethod","original","DOMTokenList","_toggle","matches","msMatchesSelector","mozMatchesSelector","webkitMatchesSelector","querySelectorAll","nodeType","parentNode","NodeList","forEach","thisArg","_extends","assign","source","Symbol","_typeof2","iterator","constructor","global","LazyLoad","runningOnBrowser","isBot","classObj","supportsIntersectionObserver","supportsClassList","defaultSettings","thresholds","CustomEvent","eventString","data_src","data_srcset","class_loading","class_error","createEvent","load_delay","auto_unobserve","callback_loaded","IntersectionObserverEntry","elements_selector","data_sizes","data_bg","class_loaded","callback_enter","callback_reveal","callback_error","callback_finish","use_native","initCustomEvent","attribute","setData","dispatchEvent","attrName","removeAttribute","getWasProcessedData","getData","processedDataName","trueString","setTimeoutData","timeoutDataName","dataPrefix","callbackIfSet","argument","updateLoadingCount","plusMinus","_loadingCount","_settings","getSourceTags","parentTag","sourceTags","childTag","purgeOneElement","elementToPurge","setAttribute","setAttributeIfValue","setSources","setSourcesFunction","setSourcesFunctions","setImageAttributes","setSourcesIframe","elements","srcDataValue","backgroundImage","concat","bgDataValue","setSourcesBgImage","sourceTag","eventName","handler","removeEventListeners","loadHandler","errorHandler","genericLoadEventName","mediaLoadEventName","errorEventName","eventHandler","addOneShotEventListeners","setSourcesVideo","timeoutId","loadDelay","entries","getTimeoutData","entry","cancelDelayLoad","intersectionRatio","isIntersecting","delayLoad","onEnter","callback_exit","onExit","root","rootMargin","getObserverSettings","getElements","purgeProcessedElements","nodeSet","nodeSetToArray","queryElements","customSettings","setObserver","_elements","_a","_i","IFRAME","VIDEO","_a2","_i2","observer","_observer","revealElement","revealAndUnobserve","unobserve","HTMLImageElement","shouldUseNative","nativeLazyTags","loadAllNative","_a5","_i5","observe","loadAll","_a6","_i6","_this3","_a7","_i7","optionsItem","createInstance","autoInitialize","Helper","currentStyle","marginTop","paddingTop","paddingBottom","borderTopWidth","borderBottomWidth","inMilliseconds","padding","querySelector","PluginLoader","_classCallCheck","lazyload","accordion","debug","backgroundVideo","readMore","initLazyload","initAccordion","$elAccordion","$elParent","showOnMobile","$elSlick","slides_sm","slides_md","slides_lg","slides_xl","$elReadMore","buttonMore","buttonLess","$elAccordions","initialHeight","$this","accordionHeight","groupCollapsed","log","groupEnd","BackTop","config","elBackTop","getElement","childElementCount","handleScroll","bindEvents","animateTop","pageYOffset","scrollTo","behavior","offsetTop","Header","elHeader","elBanner","elInnerBanner","viewportWidth","addPlaceholder","handleStickyHeader","getHeight","_this2","elPlaceholder","headerHeight","headerOffset","elHeaderParent","isDNNEditState","dataset","placeholder","insertBefore","marginBelow","parentElement","Menu","elMenuDesktop","elMenuMobile","elMenuToggleMobile","elMenuDesktopToggles","isOpen","elMenuMobileToggles","initIcons","initActive","elMenu","elToggle","elIcon","icon","dropdownIcon","isDesktop","elToggles","elActiveItem","elParentItem","handleDocument","_f2","preventOverflow","elIconList","handleMobileDropdownToggle","handleMobileToggle","isMobileMenu","elDropdown","setMobileOpenState","getTransitionDuration","elChildDropdown","dropdownRight","getPositionFromRight","childDropdownRight","NotificationBanner","elNotificationBannerBottom","elFooter","initFooter","hasAttribute","elClose","handleClose","elNotificationBanner","removeChild","DNNEditor","elContentPanes","initContentPanes","_f","elContentPane","elModule","elContentPaneTitle","elModules","contentPaneTitle","PhoneNumber","elPhoneNumbers","initPhoneNumbers","elPhoneNumber","phoneNumber","destination","gtag","changeHref","callGtag","event_category","event_label","injectCoreMinCss","coreMinJs","distPath","coreMinJsSrc","elHead","elCoreMinCss","coreMinCssSrc"],"mappings":"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","file":"core.min.js","sourcesContent":["/*!\r\n * @preserve\r\n *\r\n * Readmore.js jQuery plugin\r\n * Author: @jed_foster\r\n * Project home: http://jedfoster.github.io/Readmore.js\r\n * Licensed under the MIT license\r\n *\r\n * Debounce function from http://davidwalsh.name/javascript-debounce-function\r\n */\r\n\r\n/* global jQuery */\r\n\r\n(function(factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD\r\n define(['jquery'], factory);\r\n } else if (typeof exports === 'object') {\r\n // CommonJS\r\n module.exports = factory(require('jquery'));\r\n } else {\r\n // Browser globals\r\n factory(jQuery);\r\n }\r\n}(function($) {\r\n 'use strict';\r\n\r\n var readmore = 'readmore',\r\n defaults = {\r\n speed: 100,\r\n collapsedHeight: 200,\r\n heightMargin: 16,\r\n moreLink: 'Read More',\r\n lessLink: 'Close',\r\n embedCSS: true,\r\n blockCSS: 'display: block; width: 100%;',\r\n startOpen: false,\r\n\r\n // callbacks\r\n blockProcessed: function() {},\r\n beforeToggle: function() {},\r\n afterToggle: function() {}\r\n },\r\n cssEmbedded = {},\r\n uniqueIdCounter = 0;\r\n\r\n function debounce(func, wait, immediate) {\r\n var timeout;\r\n\r\n return function() {\r\n var context = this, args = arguments;\r\n var later = function() {\r\n timeout = null;\r\n if (! immediate) {\r\n func.apply(context, args);\r\n }\r\n };\r\n var callNow = immediate && !timeout;\r\n\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n\r\n if (callNow) {\r\n func.apply(context, args);\r\n }\r\n };\r\n }\r\n\r\n function uniqueId(prefix) {\r\n var id = ++uniqueIdCounter;\r\n\r\n return String(prefix === null ? 'rmjs-' : prefix) + id;\r\n }\r\n\r\n function setBoxHeights(element) {\r\n var el = element.clone().css({\r\n height: 'auto',\r\n width: element.width(),\r\n maxHeight: 'none',\r\n overflow: 'hidden'\r\n }).insertAfter(element),\r\n expandedHeight = el.outerHeight(),\r\n cssMaxHeight = parseInt(el.css({maxHeight: ''}).css('max-height').replace(/[^-\\d\\.]/g, ''), 10),\r\n defaultHeight = element.data('defaultHeight');\r\n\r\n el.remove();\r\n\r\n var collapsedHeight = cssMaxHeight || element.data('collapsedHeight') || defaultHeight;\r\n\r\n // Store our measurements.\r\n element.data({\r\n expandedHeight: expandedHeight,\r\n maxHeight: cssMaxHeight,\r\n collapsedHeight: collapsedHeight\r\n })\r\n // and disable any `max-height` property set in CSS\r\n .css({\r\n maxHeight: 'none'\r\n });\r\n }\r\n\r\n var resizeBoxes = debounce(function() {\r\n $('[data-readmore]').each(function() {\r\n var current = $(this),\r\n isExpanded = (current.attr('aria-expanded') === 'true');\r\n\r\n setBoxHeights(current);\r\n\r\n current.css({\r\n height: current.data( (isExpanded ? 'expandedHeight' : 'collapsedHeight') )\r\n });\r\n });\r\n }, 100);\r\n\r\n function embedCSS(options) {\r\n if (! cssEmbedded[options.selector]) {\r\n var styles = ' ';\r\n\r\n if (options.embedCSS && options.blockCSS !== '') {\r\n styles += options.selector + ' + [data-readmore-toggle], ' +\r\n options.selector + '[data-readmore]{' +\r\n options.blockCSS +\r\n '}';\r\n }\r\n\r\n // Include the transition CSS even if embedCSS is false\r\n styles += options.selector + '[data-readmore]{' +\r\n 'transition: height ' + options.speed + 'ms;' +\r\n 'overflow: hidden;' +\r\n '}';\r\n\r\n (function(d, u) {\r\n var css = d.createElement('style');\r\n css.type = 'text/css';\r\n\r\n if (css.styleSheet) {\r\n css.styleSheet.cssText = u;\r\n }\r\n else {\r\n css.appendChild(d.createTextNode(u));\r\n }\r\n\r\n d.getElementsByTagName('head')[0].appendChild(css);\r\n }(document, styles));\r\n\r\n cssEmbedded[options.selector] = true;\r\n }\r\n }\r\n\r\n function Readmore(element, options) {\r\n this.element = element;\r\n\r\n this.options = $.extend({}, defaults, options);\r\n\r\n embedCSS(this.options);\r\n\r\n this._defaults = defaults;\r\n this._name = readmore;\r\n\r\n this.init();\r\n\r\n // IE8 chokes on `window.addEventListener`, so need to test for support.\r\n if (window.addEventListener) {\r\n // Need to resize boxes when the page has fully loaded.\r\n window.addEventListener('load', resizeBoxes);\r\n window.addEventListener('resize', resizeBoxes);\r\n }\r\n else {\r\n window.attachEvent('load', resizeBoxes);\r\n window.attachEvent('resize', resizeBoxes);\r\n }\r\n }\r\n\r\n\r\n Readmore.prototype = {\r\n init: function() {\r\n var current = $(this.element);\r\n\r\n current.data({\r\n defaultHeight: this.options.collapsedHeight,\r\n heightMargin: this.options.heightMargin\r\n });\r\n\r\n setBoxHeights(current);\r\n\r\n var collapsedHeight = current.data('collapsedHeight'),\r\n heightMargin = current.data('heightMargin');\r\n\r\n if (current.outerHeight(true) <= collapsedHeight + heightMargin) {\r\n // The block is shorter than the limit, so there's no need to truncate it.\r\n if (this.options.blockProcessed && typeof this.options.blockProcessed === 'function') {\r\n this.options.blockProcessed(current, false);\r\n }\r\n return true;\r\n }\r\n else {\r\n var id = current.attr('id') || uniqueId(),\r\n useLink = this.options.startOpen ? this.options.lessLink : this.options.moreLink;\r\n\r\n current.attr({\r\n 'data-readmore': '',\r\n 'aria-expanded': this.options.startOpen,\r\n 'id': id\r\n });\r\n\r\n current.after($(useLink)\r\n .on('click', (function(_this) {\r\n return function(event) {\r\n _this.toggle(this, current[0], event);\r\n };\r\n })(this))\r\n .attr({\r\n 'data-readmore-toggle': id,\r\n 'aria-controls': id\r\n }));\r\n\r\n if (! this.options.startOpen) {\r\n current.css({\r\n height: collapsedHeight\r\n });\r\n }\r\n\r\n if (this.options.blockProcessed && typeof this.options.blockProcessed === 'function') {\r\n this.options.blockProcessed(current, true);\r\n }\r\n }\r\n },\r\n\r\n toggle: function(trigger, element, event) {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n if (! trigger) {\r\n trigger = $('[aria-controls=\"' + this.element.id + '\"]')[0];\r\n }\r\n\r\n if (! element) {\r\n element = this.element;\r\n }\r\n\r\n var $element = $(element),\r\n newHeight = '',\r\n newLink = '',\r\n expanded = false,\r\n collapsedHeight = $element.data('collapsedHeight');\r\n\r\n if ($element.height() <= collapsedHeight) {\r\n newHeight = $element.data('expandedHeight') + 'px';\r\n newLink = 'lessLink';\r\n expanded = true;\r\n }\r\n else {\r\n newHeight = collapsedHeight;\r\n newLink = 'moreLink';\r\n }\r\n\r\n // Fire beforeToggle callback\r\n // Since we determined the new \"expanded\" state above we're now out of sync\r\n // with our true current state, so we need to flip the value of `expanded`\r\n if (this.options.beforeToggle && typeof this.options.beforeToggle === 'function') {\r\n this.options.beforeToggle(trigger, $element, ! expanded);\r\n }\r\n\r\n $element.css({'height': newHeight});\r\n\r\n // Fire afterToggle callback\r\n $element.on('transitionend', (function(_this) {\r\n return function() {\r\n if (_this.options.afterToggle && typeof _this.options.afterToggle === 'function') {\r\n _this.options.afterToggle(trigger, $element, expanded);\r\n }\r\n\r\n $(this).attr({\r\n 'aria-expanded': expanded\r\n }).off('transitionend');\r\n };\r\n })(this));\r\n\r\n $(trigger).replaceWith($(this.options[newLink])\r\n .on('click', (function(_this) {\r\n return function(event) {\r\n _this.toggle(this, element, event);\r\n };\r\n })(this))\r\n .attr({\r\n 'data-readmore-toggle': $element.attr('id'),\r\n 'aria-controls': $element.attr('id')\r\n }));\r\n },\r\n\r\n destroy: function() {\r\n $(this.element).each(function() {\r\n var current = $(this);\r\n\r\n current.attr({\r\n 'data-readmore': null,\r\n 'aria-expanded': null\r\n })\r\n .css({\r\n maxHeight: '',\r\n height: ''\r\n })\r\n .next('[data-readmore-toggle]')\r\n .remove();\r\n\r\n current.removeData();\r\n });\r\n }\r\n };\r\n\r\n\r\n $.fn.readmore = function(options) {\r\n var args = arguments,\r\n selector = this.selector;\r\n\r\n options = options || {};\r\n\r\n if (typeof options === 'object') {\r\n return this.each(function() {\r\n if ($.data(this, 'plugin_' + readmore)) {\r\n var instance = $.data(this, 'plugin_' + readmore);\r\n instance.destroy.apply(instance);\r\n }\r\n\r\n options.selector = selector;\r\n\r\n $.data(this, 'plugin_' + readmore, new Readmore(this, options));\r\n });\r\n }\r\n else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {\r\n return this.each(function () {\r\n var instance = $.data(this, 'plugin_' + readmore);\r\n if (instance instanceof Readmore && typeof instance[options] === 'function') {\r\n instance[options].apply(instance, Array.prototype.slice.call(args, 1));\r\n }\r\n });\r\n }\r\n };\r\n\r\n}));\r\n\r\n","/*!\r\n * jQuery Accordion 0.0.1\r\n * (c) 2014 Victor Fernandez \r\n * MIT Licensed.\r\n */\r\n\r\n;(function ( $, window, document, undefined ) {\r\n\r\n var pluginName = 'accordion',\r\n defaults = {\r\n transitionSpeed: 300,\r\n transitionEasing: 'ease',\r\n controlElement: '[data-control]',\r\n contentElement: '[data-content]',\r\n groupElement: '[data-accordion-group]',\r\n singleOpen: true\r\n };\r\n\r\n function Accordion(element, options) {\r\n this.element = element;\r\n this.options = $.extend({}, defaults, options);\r\n this._defaults = defaults;\r\n this._name = pluginName;\r\n this.init();\r\n }\r\n\r\n Accordion.prototype.init = function () {\r\n var self = this,\r\n opts = self.options;\r\n\r\n var $accordion = $(self.element),\r\n $controls = $accordion.find('> ' + opts.controlElement),\r\n $content = $accordion.find('> ' + opts.contentElement);\r\n\r\n var accordionParentsQty = $accordion.parents('[data-accordion]').length,\r\n accordionHasParent = accordionParentsQty > 0;\r\n\r\n var closedCSS = { 'max-height': 0, 'overflow': 'hidden' };\r\n\r\n var CSStransitions = supportsTransitions();\r\n\r\n function debounce(func, threshold, execAsap) {\r\n var timeout;\r\n\r\n return function debounced() {\r\n var obj = this,\r\n args = arguments;\r\n\r\n function delayed() {\r\n if (!execAsap) func.apply(obj, args);\r\n timeout = null;\r\n };\r\n\r\n if (timeout) clearTimeout(timeout);\r\n else if (execAsap) func.apply(obj, args);\r\n\r\n timeout = setTimeout(delayed, threshold || 100);\r\n };\r\n }\r\n\r\n function supportsTransitions() {\r\n var b = document.body || document.documentElement,\r\n s = b.style,\r\n p = 'transition';\r\n\r\n if (typeof s[p] == 'string') {\r\n return true;\r\n }\r\n\r\n var v = ['Moz', 'webkit', 'Webkit', 'Khtml', 'O', 'ms'];\r\n\r\n p = 'Transition';\r\n\r\n for (var i=0; i [data-content]'),\r\n $childs = $content.find('[data-accordion].open > [data-content]'),\r\n $matched;\r\n\r\n if(!opts.singleOpen) {\r\n $childs = $childs.not($currentAccordion.siblings('[data-accordion].open').find('> [data-content]'));\r\n }\r\n\r\n $matched = $content.add($childs);\r\n\r\n if($parentAccordion.hasClass('open')) {\r\n $matched.each(function() {\r\n var currentHeight = $(this).data('oHeight');\r\n\r\n switch (operation) {\r\n case '+':\r\n $(this).data('oHeight', currentHeight + qty);\r\n break;\r\n case '-':\r\n $(this).data('oHeight', currentHeight - qty);\r\n break;\r\n default:\r\n throw 'updateParentHeight method needs an operation';\r\n }\r\n\r\n $(this).css('max-height', $(this).data('oHeight'));\r\n });\r\n }\r\n }\r\n\r\n function refreshHeight($accordion) {\r\n if($accordion.hasClass('open')) {\r\n var $content = $accordion.find('> [data-content]'),\r\n $childs = $content.find('[data-accordion].open > [data-content]'),\r\n $matched = $content.add($childs);\r\n\r\n calculateHeight($matched);\r\n\r\n $matched.css('max-height', $matched.data('oHeight'));\r\n }\r\n }\r\n\r\n function closeAccordion($accordion, $content) {\r\n $accordion.trigger('accordion.close');\r\n \r\n if(CSStransitions) {\r\n if(accordionHasParent) {\r\n var $parentAccordions = $accordion.parents('[data-accordion]');\r\n\r\n updateParentHeight($parentAccordions, $accordion, $content.data('oHeight'), '-');\r\n }\r\n\r\n $content.css(closedCSS);\r\n\r\n $accordion.removeClass('open');\r\n } else {\r\n $content.css('max-height', $content.data('oHeight'));\r\n\r\n $content.animate(closedCSS, opts.transitionSpeed);\r\n\r\n $accordion.removeClass('open');\r\n }\r\n }\r\n\r\n function openAccordion($accordion, $content) {\r\n $accordion.trigger('accordion.open');\r\n if(CSStransitions) {\r\n toggleTransition($content);\r\n\r\n if(accordionHasParent) {\r\n var $parentAccordions = $accordion.parents('[data-accordion]');\r\n\r\n updateParentHeight($parentAccordions, $accordion, $content.data('oHeight'), '+');\r\n }\r\n\r\n requestAnimFrame(function() {\r\n $content.css('max-height', $content.data('oHeight'));\r\n });\r\n\r\n $accordion.addClass('open');\r\n } else {\r\n $content.animate({\r\n 'max-height': $content.data('oHeight')\r\n }, opts.transitionSpeed, function() {\r\n $content.css({'max-height': 'none'});\r\n });\r\n\r\n $accordion.addClass('open');\r\n }\r\n }\r\n\r\n function closeSiblingAccordions($accordion) {\r\n var $accordionGroup = $accordion.closest(opts.groupElement);\r\n\r\n var $siblings = $accordion.siblings('[data-accordion]').filter('.open'),\r\n $siblingsChildren = $siblings.find('[data-accordion]').filter('.open');\r\n\r\n var $otherAccordions = $siblings.add($siblingsChildren);\r\n\r\n $otherAccordions.each(function() {\r\n var $accordion = $(this),\r\n $content = $accordion.find(opts.contentElement);\r\n\r\n closeAccordion($accordion, $content);\r\n });\r\n\r\n $otherAccordions.removeClass('open');\r\n }\r\n\r\n function toggleAccordion() {\r\n var isAccordionGroup = (opts.singleOpen) ? $accordion.parents(opts.groupElement).length > 0 : false;\r\n\r\n calculateHeight($content);\r\n\r\n if(isAccordionGroup) {\r\n closeSiblingAccordions($accordion);\r\n }\r\n\r\n if($accordion.hasClass('open')) {\r\n closeAccordion($accordion, $content);\r\n } else {\r\n openAccordion($accordion, $content);\r\n }\r\n }\r\n\r\n function addEventListeners() {\r\n $controls.on('click', toggleAccordion);\r\n \r\n $controls.on('accordion.toggle', function() {\r\n if(opts.singleOpen && $controls.length > 1) {\r\n return false;\r\n }\r\n \r\n toggleAccordion();\r\n });\r\n \r\n $controls.on('accordion.refresh', function() {\r\n refreshHeight($accordion);\r\n });\r\n\r\n $(window).on('resize', debounce(function() {\r\n refreshHeight($accordion);\r\n }));\r\n }\r\n\r\n function setup() {\r\n $content.each(function() {\r\n var $curr = $(this);\r\n\r\n if($curr.css('max-height') != 0) {\r\n if(!$curr.closest('[data-accordion]').hasClass('open')) {\r\n $curr.css({ 'max-height': 0, 'overflow': 'hidden' });\r\n } else {\r\n toggleTransition($curr);\r\n calculateHeight($curr);\r\n\r\n $curr.css('max-height', $curr.data('oHeight'));\r\n }\r\n }\r\n });\r\n\r\n\r\n if(!$accordion.attr('data-accordion')) {\r\n $accordion.attr('data-accordion', '');\r\n $accordion.find(opts.controlElement).attr('data-control', '');\r\n $accordion.find(opts.contentElement).attr('data-content', '');\r\n }\r\n }\r\n\r\n setup();\r\n addEventListeners();\r\n };\r\n\r\n $.fn[pluginName] = function ( options ) {\r\n return this.each(function () {\r\n if (!$.data(this, 'plugin_' + pluginName)) {\r\n $.data(this, 'plugin_' + pluginName,\r\n new Accordion( this, options ));\r\n }\r\n });\r\n }\r\n\r\n})( jQuery, window, document );\r\n",";(function ( $, window, undefined ) {\r\n\r\n /** Default settings */\r\n var defaults = {\r\n active: null,\r\n event: 'click',\r\n disabled: [],\r\n collapsible: 'accordion',\r\n startCollapsed: false,\r\n rotate: false,\r\n setHash: false,\r\n animation: 'default',\r\n animationQueue: false,\r\n duration: 500,\r\n fluidHeight: true,\r\n scrollToAccordion: false,\r\n scrollToAccordionOnLoad: true,\r\n scrollToAccordionOffset: 0,\r\n accordionTabElement: '
',\r\n navigationContainer: '',\r\n click: function(){},\r\n activate: function(){},\r\n deactivate: function(){},\r\n load: function(){},\r\n activateState: function(){},\r\n classes: {\r\n stateDefault: 'r-tabs-state-default',\r\n stateActive: 'r-tabs-state-active',\r\n stateDisabled: 'r-tabs-state-disabled',\r\n stateExcluded: 'r-tabs-state-excluded',\r\n container: 'r-tabs',\r\n ul: 'r-tabs-nav',\r\n tab: 'r-tabs-tab',\r\n anchor: 'r-tabs-anchor',\r\n panel: 'r-tabs-panel',\r\n accordionTitle: 'r-tabs-accordion-title'\r\n }\r\n };\r\n\r\n /**\r\n * Responsive Tabs\r\n * @constructor\r\n * @param {object} element - The HTML element the validator should be bound to\r\n * @param {object} options - An option map\r\n */\r\n function ResponsiveTabs(element, options) {\r\n this.element = element; // Selected DOM element\r\n this.$element = $(element); // Selected jQuery element\r\n\r\n this.tabs = []; // Create tabs array\r\n this.state = ''; // Define the plugin state (tabs/accordion)\r\n this.rotateInterval = 0; // Define rotate interval\r\n this.$queue = $({});\r\n\r\n // Extend the defaults with the passed options\r\n this.options = $.extend( {}, defaults, options);\r\n\r\n this.init();\r\n }\r\n\r\n\r\n /**\r\n * This function initializes the tab plugin\r\n */\r\n ResponsiveTabs.prototype.init = function () {\r\n var _this = this;\r\n\r\n // Load all the elements\r\n this.tabs = this._loadElements();\r\n this._loadClasses();\r\n this._loadEvents();\r\n\r\n // Window resize bind to check state\r\n $(window).on('resize', function(e) {\r\n _this._setState(e);\r\n if(_this.options.fluidHeight !== true) {\r\n _this._equaliseHeights();\r\n }\r\n });\r\n\r\n // Hashchange event\r\n $(window).on('hashchange', function(e) {\r\n var tabRef = _this._getTabRefBySelector(window.location.hash);\r\n var oTab = _this._getTab(tabRef);\r\n\r\n // Check if a tab is found that matches the hash\r\n if(tabRef >= 0 && !oTab._ignoreHashChange && !oTab.disabled) {\r\n // If so, open the tab and auto close the current one\r\n _this._openTab(e, _this._getTab(tabRef), true);\r\n }\r\n });\r\n\r\n // Start rotate event if rotate option is defined\r\n if(this.options.rotate !== false) {\r\n this.startRotation();\r\n }\r\n\r\n // Set fluid height\r\n if(this.options.fluidHeight !== true) {\r\n _this._equaliseHeights();\r\n }\r\n\r\n // --------------------\r\n // Define plugin events\r\n //\r\n\r\n // Activate: this event is called when a tab is selected\r\n this.$element.bind('tabs-click', function(e, oTab) {\r\n _this.options.click.call(this, e, oTab);\r\n });\r\n\r\n // Activate: this event is called when a tab is selected\r\n this.$element.bind('tabs-activate', function(e, oTab) {\r\n _this.options.activate.call(this, e, oTab);\r\n });\r\n // Deactivate: this event is called when a tab is closed\r\n this.$element.bind('tabs-deactivate', function(e, oTab) {\r\n _this.options.deactivate.call(this, e, oTab);\r\n });\r\n // Activate State: this event is called when the plugin switches states\r\n this.$element.bind('tabs-activate-state', function(e, state) {\r\n _this.options.activateState.call(this, e, state);\r\n });\r\n\r\n // Load: this event is called when the plugin has been loaded\r\n this.$element.bind('tabs-load', function(e) {\r\n var startTab;\r\n\r\n _this._setState(e); // Set state\r\n\r\n // Check if the panel should be collaped on load\r\n if(_this.options.startCollapsed !== true && !(_this.options.startCollapsed === 'accordion' && _this.state === 'accordion')) {\r\n\r\n startTab = _this._getStartTab();\r\n\r\n // Open the initial tab\r\n _this._openTab(e, startTab); // Open first tab\r\n\r\n // Call the callback function\r\n _this.options.load.call(this, e, startTab); // Call the load callback\r\n }\r\n });\r\n // Trigger loaded event\r\n this.$element.trigger('tabs-load');\r\n };\r\n\r\n //\r\n // PRIVATE FUNCTIONS\r\n //\r\n\r\n /**\r\n * This function loads the tab elements and stores them in an array\r\n * @returns {Array} Array of tab elements\r\n */\r\n ResponsiveTabs.prototype._loadElements = function() {\r\n var _this = this;\r\n var $ul = (_this.options.navigationContainer === '') ? this.$element.children('ul:first') : this.$element.find(_this.options.navigationContainer).children('ul:first');\r\n var tabs = [];\r\n var id = 0;\r\n\r\n // Add the classes to the basic html elements\r\n this.$element.addClass(_this.options.classes.container); // Tab container\r\n $ul.addClass(_this.options.classes.ul); // List container\r\n\r\n // Get tab buttons and store their data in an array\r\n $('li', $ul).each(function() {\r\n var $tab = $(this);\r\n var isExcluded = $tab.hasClass(_this.options.classes.stateExcluded);\r\n var $anchor, $panel, $accordionTab, $accordionAnchor, panelSelector;\r\n\r\n // Check if the tab should be excluded\r\n if(!isExcluded) {\r\n\r\n $anchor = $('a', $tab);\r\n panelSelector = $anchor.attr('href');\r\n $panel = $(panelSelector);\r\n $accordionTab = $(_this.options.accordionTabElement).insertBefore($panel);\r\n $accordionAnchor = $('').attr('href', panelSelector).html($anchor.html()).appendTo($accordionTab);\r\n\r\n var oTab = {\r\n _ignoreHashChange: false,\r\n id: id,\r\n disabled: ($.inArray(id, _this.options.disabled) !== -1),\r\n tab: $(this),\r\n anchor: $('a', $tab),\r\n panel: $panel,\r\n selector: panelSelector,\r\n accordionTab: $accordionTab,\r\n accordionAnchor: $accordionAnchor,\r\n active: false\r\n };\r\n\r\n // 1up the ID\r\n id++;\r\n // Add to tab array\r\n tabs.push(oTab);\r\n }\r\n });\r\n return tabs;\r\n };\r\n\r\n\r\n /**\r\n * This function adds classes to the tab elements based on the options\r\n */\r\n ResponsiveTabs.prototype._loadClasses = function() {\r\n for (var i=0; i= 0 && !this._getTab(tabRef).disabled) {\r\n // If so, set the current tab to the linked tab\r\n startTab = this._getTab(tabRef);\r\n } else if(this.options.active > 0 && !this._getTab(this.options.active).disabled) {\r\n startTab = this._getTab(this.options.active);\r\n } else {\r\n // If not, just get the first one\r\n startTab = this._getTab(0);\r\n }\r\n\r\n return startTab;\r\n };\r\n\r\n /**\r\n * This function sets the current state of the plugin\r\n * @param {Event} e - The event that triggers the state change\r\n */\r\n ResponsiveTabs.prototype._setState = function(e) {\r\n var $ul = $('ul:first', this.$element);\r\n var oldState = this.state;\r\n var startCollapsedIsState = (typeof this.options.startCollapsed === 'string');\r\n var startTab;\r\n\r\n // The state is based on the visibility of the tabs list\r\n if($ul.is(':visible')){\r\n // Tab list is visible, so the state is 'tabs'\r\n this.state = 'tabs';\r\n } else {\r\n // Tab list is invisible, so the state is 'accordion'\r\n this.state = 'accordion';\r\n }\r\n\r\n // If the new state is different from the old state\r\n if(this.state !== oldState) {\r\n // If so, the state activate trigger must be called\r\n this.$element.trigger('tabs-activate-state', {oldState: oldState, newState: this.state});\r\n\r\n // Check if the state switch should open a tab\r\n if(oldState && startCollapsedIsState && this.options.startCollapsed !== this.state && this._getCurrentTab() === undefined) {\r\n // Get initial tab\r\n startTab = this._getStartTab(e);\r\n // Open the initial tab\r\n this._openTab(e, startTab); // Open first tab\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * This function opens a tab\r\n * @param {Event} e - The event that triggers the tab opening\r\n * @param {Object} oTab - The tab object that should be opened\r\n * @param {Boolean} closeCurrent - Defines if the current tab should be closed\r\n * @param {Boolean} stopRotation - Defines if the tab rotation loop should be stopped\r\n */\r\n ResponsiveTabs.prototype._openTab = function(e, oTab, closeCurrent, stopRotation) {\r\n var _this = this;\r\n var scrollOffset;\r\n\r\n // Check if the current tab has to be closed\r\n if(closeCurrent) {\r\n this._closeTab(e, this._getCurrentTab());\r\n }\r\n\r\n // Check if the rotation has to be stopped when activated\r\n if(stopRotation && this.rotateInterval > 0) {\r\n this.stopRotation();\r\n }\r\n\r\n // Set this tab to active\r\n oTab.active = true;\r\n // Set active classes to the tab button and accordion tab button\r\n oTab.tab.removeClass(_this.options.classes.stateDefault).addClass(_this.options.classes.stateActive);\r\n oTab.accordionTab.removeClass(_this.options.classes.stateDefault).addClass(_this.options.classes.stateActive);\r\n\r\n // Run panel transiton\r\n _this._doTransition(oTab.panel, _this.options.animation, 'open', function() {\r\n var scrollOnLoad = (e.type !== 'tabs-load' || _this.options.scrollToAccordionOnLoad);\r\n\r\n // When finished, set active class to the panel\r\n oTab.panel.removeClass(_this.options.classes.stateDefault).addClass(_this.options.classes.stateActive);\r\n\r\n // And if enabled and state is accordion, scroll to the accordion tab\r\n if(_this.getState() === 'accordion' && _this.options.scrollToAccordion && (!_this._isInView(oTab.accordionTab) || _this.options.animation !== 'default') && scrollOnLoad) {\r\n\r\n // Add offset element's height to scroll position\r\n scrollOffset = oTab.accordionTab.offset().top - _this.options.scrollToAccordionOffset;\r\n\r\n // Check if the animation option is enabled, and if the duration isn't 0\r\n if(_this.options.animation !== 'default' && _this.options.duration > 0) {\r\n // If so, set scrollTop with animate and use the 'animation' duration\r\n $('html, body').animate({\r\n scrollTop: scrollOffset\r\n }, _this.options.duration);\r\n } else {\r\n // If not, just set scrollTop\r\n $('html, body').scrollTop(scrollOffset);\r\n }\r\n }\r\n });\r\n\r\n this.$element.trigger('tabs-activate', oTab);\r\n };\r\n\r\n /**\r\n * This function closes a tab\r\n * @param {Event} e - The event that is triggered when a tab is closed\r\n * @param {Object} oTab - The tab object that should be closed\r\n */\r\n ResponsiveTabs.prototype._closeTab = function(e, oTab) {\r\n var _this = this;\r\n var doQueueOnState = typeof _this.options.animationQueue === 'string';\r\n var doQueue;\r\n\r\n if(oTab !== undefined) {\r\n if(doQueueOnState && _this.getState() === _this.options.animationQueue) {\r\n doQueue = true;\r\n } else if(doQueueOnState) {\r\n doQueue = false;\r\n } else {\r\n doQueue = _this.options.animationQueue;\r\n }\r\n\r\n // Deactivate tab\r\n oTab.active = false;\r\n // Set default class to the tab button\r\n oTab.tab.removeClass(_this.options.classes.stateActive).addClass(_this.options.classes.stateDefault);\r\n\r\n // Run panel transition\r\n _this._doTransition(oTab.panel, _this.options.animation, 'close', function() {\r\n // Set default class to the accordion tab button and tab panel\r\n oTab.accordionTab.removeClass(_this.options.classes.stateActive).addClass(_this.options.classes.stateDefault);\r\n oTab.panel.removeClass(_this.options.classes.stateActive).addClass(_this.options.classes.stateDefault);\r\n }, !doQueue);\r\n\r\n this.$element.trigger('tabs-deactivate', oTab);\r\n }\r\n };\r\n\r\n /**\r\n * This function runs an effect on a panel\r\n * @param {Element} panel - The HTML element of the tab panel\r\n * @param {String} method - The transition method reference\r\n * @param {String} state - The state (open/closed) that the panel should transition to\r\n * @param {Function} callback - The callback function that is called after the transition\r\n * @param {Boolean} dequeue - Defines if the event queue should be dequeued after the transition\r\n */\r\n ResponsiveTabs.prototype._doTransition = function(panel, method, state, callback, dequeue) {\r\n var effect;\r\n var _this = this;\r\n\r\n // Get effect based on method\r\n switch(method) {\r\n case 'slide':\r\n effect = (state === 'open') ? 'slideDown' : 'slideUp';\r\n break;\r\n case 'fade':\r\n effect = (state === 'open') ? 'fadeIn' : 'fadeOut';\r\n break;\r\n default:\r\n effect = (state === 'open') ? 'show' : 'hide';\r\n // When default is used, set the duration to 0\r\n _this.options.duration = 0;\r\n break;\r\n }\r\n\r\n // Add the transition to a custom queue\r\n this.$queue.queue('responsive-tabs',function(next){\r\n // Run the transition on the panel\r\n panel[effect]({\r\n duration: _this.options.duration,\r\n complete: function() {\r\n // Call the callback function\r\n callback.call(panel, method, state);\r\n // Run the next function in the queue\r\n next();\r\n }\r\n });\r\n });\r\n\r\n // When the panel is openend, dequeue everything so the animation starts\r\n if(state === 'open' || dequeue) {\r\n this.$queue.dequeue('responsive-tabs');\r\n }\r\n\r\n };\r\n\r\n /**\r\n * This function returns the collapsibility of the tab in this state\r\n * @returns {Boolean} The collapsibility of the tab\r\n */\r\n ResponsiveTabs.prototype._isCollapisble = function() {\r\n return (typeof this.options.collapsible === 'boolean' && this.options.collapsible) || (typeof this.options.collapsible === 'string' && this.options.collapsible === this.getState());\r\n };\r\n\r\n /**\r\n * This function returns a tab by numeric reference\r\n * @param {Integer} numRef - Numeric tab reference\r\n * @returns {Object} Tab object\r\n */\r\n ResponsiveTabs.prototype._getTab = function(numRef) {\r\n return this.tabs[numRef];\r\n };\r\n\r\n /**\r\n * This function returns the numeric tab reference based on a hash selector\r\n * @param {String} selector - Hash selector\r\n * @returns {Integer} Numeric tab reference\r\n */\r\n ResponsiveTabs.prototype._getTabRefBySelector = function(selector) {\r\n // Loop all tabs\r\n for (var i=0; i= docViewTop));\r\n };\r\n\r\n //\r\n // PUBLIC FUNCTIONS\r\n //\r\n\r\n /**\r\n * This function activates a tab\r\n * @param {Integer} tabRef - Numeric tab reference\r\n * @param {Boolean} stopRotation - Defines if the tab rotation should stop after activation\r\n */\r\n ResponsiveTabs.prototype.activate = function(tabRef, stopRotation) {\r\n var e = jQuery.Event('tabs-activate');\r\n var oTab = this._getTab(tabRef);\r\n if(!oTab.disabled) {\r\n this._openTab(e, oTab, true, stopRotation || true);\r\n }\r\n };\r\n\r\n /**\r\n * This function deactivates a tab\r\n * @param {Integer} tabRef - Numeric tab reference\r\n */\r\n ResponsiveTabs.prototype.deactivate = function(tabRef) {\r\n var e = jQuery.Event('tabs-dectivate');\r\n var oTab = this._getTab(tabRef);\r\n if(!oTab.disabled) {\r\n this._closeTab(e, oTab);\r\n }\r\n };\r\n\r\n /**\r\n * This function enables a tab\r\n * @param {Integer} tabRef - Numeric tab reference\r\n */\r\n ResponsiveTabs.prototype.enable = function(tabRef) {\r\n var oTab = this._getTab(tabRef);\r\n if(oTab){\r\n oTab.disabled = false;\r\n oTab.tab.addClass(this.options.classes.stateDefault).removeClass(this.options.classes.stateDisabled);\r\n oTab.accordionTab.addClass(this.options.classes.stateDefault).removeClass(this.options.classes.stateDisabled);\r\n }\r\n };\r\n\r\n /**\r\n * This function disable a tab\r\n * @param {Integer} tabRef - Numeric tab reference\r\n */\r\n ResponsiveTabs.prototype.disable = function(tabRef) {\r\n var oTab = this._getTab(tabRef);\r\n if(oTab){\r\n oTab.disabled = true;\r\n oTab.tab.removeClass(this.options.classes.stateDefault).addClass(this.options.classes.stateDisabled);\r\n oTab.accordionTab.removeClass(this.options.classes.stateDefault).addClass(this.options.classes.stateDisabled);\r\n }\r\n };\r\n\r\n /**\r\n * This function gets the current state of the plugin\r\n * @returns {String} State of the plugin\r\n */\r\n ResponsiveTabs.prototype.getState = function() {\r\n return this.state;\r\n };\r\n\r\n /**\r\n * This function starts the rotation of the tabs\r\n * @param {Integer} speed - The speed of the rotation\r\n */\r\n ResponsiveTabs.prototype.startRotation = function(speed) {\r\n var _this = this;\r\n // Make sure not all tabs are disabled\r\n if(this.tabs.length > this.options.disabled.length) {\r\n this.rotateInterval = setInterval(function(){\r\n var e = jQuery.Event('rotate');\r\n _this._openTab(e, _this._getTab(_this._getNextTabRef()), true);\r\n }, speed || (($.isNumeric(_this.options.rotate)) ? _this.options.rotate : 4000) );\r\n } else {\r\n throw new Error(\"Rotation is not possible if all tabs are disabled\");\r\n }\r\n };\r\n\r\n /**\r\n * This function stops the rotation of the tabs\r\n */\r\n ResponsiveTabs.prototype.stopRotation = function() {\r\n window.clearInterval(this.rotateInterval);\r\n this.rotateInterval = 0;\r\n };\r\n\r\n /**\r\n * This function can be used to get/set options\r\n * @return {any} Option value\r\n */\r\n ResponsiveTabs.prototype.option = function(key, value) {\r\n if(value) {\r\n this.options[key] = value;\r\n }\r\n return this.options[key];\r\n };\r\n\r\n /** jQuery wrapper */\r\n $.fn.responsiveTabs = function ( options ) {\r\n var args = arguments;\r\n var instance;\r\n\r\n if (options === undefined || typeof options === 'object') {\r\n return this.each(function () {\r\n if (!$.data(this, 'responsivetabs')) {\r\n $.data(this, 'responsivetabs', new ResponsiveTabs( this, options ));\r\n }\r\n });\r\n } else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {\r\n instance = $.data(this[0], 'responsivetabs');\r\n\r\n // Allow instances to be destroyed via the 'destroy' method\r\n if (options === 'destroy') {\r\n // TODO: destroy instance classes, etc\r\n $.data(this, 'responsivetabs', null);\r\n }\r\n\r\n if (instance instanceof ResponsiveTabs && typeof instance[options] === 'function') {\r\n return instance[options].apply( instance, Array.prototype.slice.call( args, 1 ) );\r\n } else {\r\n return this;\r\n }\r\n }\r\n };\r\n\r\n}(jQuery, window));\r\n","// The MIT License (MIT)\r\n\r\n// Copyright (c) 2015 BG Stock - html5backgroundvideos.com\r\n\r\n// Permission is hereby granted, free of charge, to any person obtaining a copy\r\n// of this software and associated documentation files (the \"Software\"), to deal\r\n// in the Software without restriction, including without limitation the rights\r\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n// copies of the Software, and to permit persons to whom the Software is\r\n// furnished to do so, subject to the following conditions:\r\n\r\n// The above copyright notice and this permission notice shall be included in all\r\n// copies or substantial portions of the Software.\r\n\r\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n// SOFTWARE.\r\n\r\n(function($) {\r\n\r\n\t// Add js class to html\r\n\t$('html').addClass('js');\r\n\r\n\t// Add IE8 shim for Date.now()\r\n\tif (!Date.now) {\r\n\t\tDate.now = function() { return new Date().getTime(); }\r\n\t}\r\n\r\n\t// Return current time in seconds\r\n\tfunction currentTime() {\r\n\t\treturn Math.floor(Date.now() / 1000);\r\n\t}\r\n\r\n\t// The plugin\r\n\t$.fn.bgVideo = function( options ) {\r\n\r\n\t\t// @bool iOS\r\n\t\tfunction iOSversion() {\r\n\t\t\tif (/iP(hone|od|ad)/.test(navigator.platform)) {\r\n\t\t\t\tvar v = (navigator.appVersion).match(/OS (\\d+)_(\\d+)_?(\\d+)?/);\r\n\t\t\t\treturn [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar iOSVersion = iOSversion();\r\n\t\tvar old_iOS = false;\r\n\r\n\t\tif (iOSVersion && (iOSVersion[0] < 10)){\r\n\t\t\told_iOS = true;\r\n\t\t}\r\n\r\n\t\t// Settings\r\n\t\tvar settings = $.extend({}, $.fn.bgVideo.defaults, options );\r\n\r\n\t\t// Do the things\r\n\t\treturn this.each(function() {\r\n\r\n\t\t\t// Set some handy variables\r\n\t\t\tvar $video = $(this); // jQuery Object\r\n\t\t\tvar video = $video[0]; // DOM node\r\n\t\t\tvar poster = $video.attr('poster') || '';\r\n\t\t\tvar $container = $video.parent();\r\n\t\t\tvar $pauseplay = $('');\r\n\t\t\tvar start_time; // We'll set this when it starts playing\r\n\r\n\r\n\t\t\t// Check for any data attributes that will override the settings for this particular element\r\n\t\t\tvar el_settings = $.extend({}, settings);\r\n\t\t\tvar data_attrs = $video.data();\r\n\t\t\t$.each( data_attrs, function( data_name, data_val ) {\r\n\t\t\t\tif( data_name.indexOf('bgvideo') === 0 ) {\r\n\t\t\t\t\t// It's a match! Strip the bgvideo prefix and lowercase the first letter\r\n\t\t\t\t\tdata_name = data_name.replace('bgvideo', '');\r\n\t\t\t\t\tdata_name = data_name.charAt(0).toLowerCase() + data_name.slice(1);\r\n\t\t\t\t\t// Then set the setting\r\n\t\t\t\t\tel_settings[data_name] = data_val;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\r\n\t\t\t// Attach to playing event\r\n\t\t\t$video.on('playing', function(){\r\n\t\t\t\tif(start_time == null){\r\n\t\t\t\t\tstart_time = currentTime();\r\n\t\t\t\t}\r\n\t\t\t\t$video.addClass('is-playing is-visible');\r\n\t\t\t\t$pauseplay.removeClass('play').addClass('pause').find('span').text('Pause');\r\n\t\t\t\t$.fn.bgVideo.fitVideo( $video );\r\n\t\t\t});\r\n\r\n\r\n\t\t\t// If the video is already playing before js loads\r\n\t\t\tif( video.currentTime > 0 ) {\r\n\t\t\t\t$video.addClass('is-playing is-visible');\r\n\t\t\t}\r\n\r\n\r\n\t\t\t// Attach to pause event\r\n\t\t\t$video.on('pause', function(){\r\n\t\t\t\t$video.removeClass('is-playing');\r\n\t\t\t\t$pauseplay.removeClass('pause').addClass('play').find('span').text('Play');\r\n\t\t\t\tif(el_settings.fadeOnPause) {\r\n\t\t\t\t\t$video.removeClass('is-visible');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\r\n\t\t\t// Set default styles\r\n\t\t\t$container.css({\r\n\t\t\t\t'position': 'relative',\r\n\t\t\t\t'overflow': 'hidden',\r\n\t\t\t\t'background-size': 'cover',\r\n\t\t\t\t'background-position': 'center center',\r\n\t\t\t\t'background-repeat': 'no-repeat',\r\n\t\t\t\t'background-image': 'url(' + poster + ')'\r\n\t\t\t});\r\n\t\t\t$video.css({\r\n\t\t\t\t'min-width': 'auto',\r\n\t\t\t\t'min-height': 'auto',\r\n\t\t\t\t'width': '100%',\r\n\t\t\t\t'height': 'auto',\r\n\t\t\t\t'position': 'absolute',\r\n\t\t\t\t'left': '50%',\r\n\t\t\t\t'top': '50%',\r\n\t\t\t\t'transform': 'translate(-50%,-50%)'\r\n\t\t\t});\r\n\t\t\tif( el_settings.fullScreen ) {\r\n\t\t\t\t$container.css({\r\n\t\t\t\t\t'position': 'fixed',\r\n\t\t\t\t\t'top': '0',\r\n\t\t\t\t\t'bottom': '0',\r\n\t\t\t\t\t'left': '0',\r\n\t\t\t\t\t'right': '0',\r\n\t\t\t\t\t'height': 'auto',\r\n\t\t\t\t\t'margin': '0',\r\n\t\t\t\t\t'z-index': '-1'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\r\n\t\t\t// Fade in video by setting the transition duration\r\n\t\t\t$video.css('transition-duration', el_settings.fadeIn + 'ms');\r\n\r\n\r\n\t\t\t// Remove on iOS\r\n\t\t\tif( old_iOS ) {\r\n\t\t\t\t// Unset sources to prevent them from continuing to download\r\n\t\t\t\t$video.attr('src', '');\r\n\t\t\t\t$video.find('source').attr('src', '');\r\n\t\t\t\t$video.remove();\r\n\t\t\t}\r\n\r\n\r\n\t\t\t// Mimic background-size: cover with video element\r\n\t\t\t$.fn.bgVideo.fitVideo( $video );\r\n\t\t\t$(window).resize(function(){\r\n\t\t\t\t$.fn.bgVideo.fitVideo( $video );\r\n\t\t\t});\r\n\r\n\r\n\t\t\t// Pause after X seconds\r\n\t\t\tel_settings.pauseAfter = parseInt( el_settings.pauseAfter, 10 );\r\n\t\t\tif( el_settings.pauseAfter > 0 ) {\r\n\t\t\t\t$video.on('timeupdate', function(){\r\n\t\t\t\t\tvar now = currentTime();\r\n\t\t\t\t\tif( now > start_time + el_settings.pauseAfter ) {\r\n\t\t\t\t\t\tvideo.pause();\r\n\t\t\t\t\t\tif( el_settings.fadeOnEnd ) {\r\n\t\t\t\t\t\t\t$video.removeClass('is-visible');\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\r\n\t\t\t// Play / pause button\r\n\t\t\tif( el_settings.showPausePlay && !old_iOS ) {\r\n\t\t\t\t// Append pauseplay element created earlier\r\n\t\t\t\t$container.append($pauseplay);\r\n\t\t\t\t// Position element\r\n\t\t\t\t$pauseplay.css({\r\n\t\t\t\t\t'left': 'auto',\r\n\t\t\t\t\t'right': 'auto',\r\n\t\t\t\t\t'top': 'auto',\r\n\t\t\t\t\t'bottom': 'auto'\r\n\t\t\t\t});\r\n\t\t\t\t$pauseplay.css(el_settings.pausePlayXPos, el_settings.pausePlayXOffset);\r\n\t\t\t\t$pauseplay.css(el_settings.pausePlayYPos, el_settings.pausePlayYOffset);\r\n\t\t\t\tif( el_settings.pausePlayXPos === 'center' ) {\r\n\t\t\t\t\t$pauseplay.css({\r\n\t\t\t\t\t\t'left': '50%',\r\n\t\t\t\t\t\t'margin-left': '-10px'\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tif( el_settings.pausePlayYPos === 'center' ) {\r\n\t\t\t\t\t$pauseplay.css({\r\n\t\t\t\t\t\t'top': '50%',\r\n\t\t\t\t\t\t'margin-top': '-10px'\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\t// Add functionality\r\n\t\t\t\t$pauseplay.on('click', function(){\r\n\t\t\t\t\tif(video.paused) {\r\n\t\t\t\t\t\tvideo.play();\r\n\t\t\t\t\t\tstart_time = currentTime();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvideo.pause();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\r\n\t\t});\r\n\r\n\r\n\t};\r\n\r\n\r\n\t// Default settings\r\n\t$.fn.bgVideo.defaults = {\r\n\t\tfullScreen: false, // Sets the video to be fixed to the full window\r\n\t\tfadeIn: 500, // Milliseconds to fade video in/out (0 for no fade)\r\n\t\tpauseAfter: 120, // Seconds to play before pausing (0 for forever)\r\n\t\tfadeOnPause: false, // For all (including manual) pauses\r\n\t\tfadeOnEnd: true, // When we've reached the pauseAfter time\r\n\t\tshowPausePlay: true, // Show pause/play button\r\n\t\tpausePlayXPos: 'right', // left|right|center\r\n\t\tpausePlayYPos: 'top', // top|bottom|center\r\n\t\tpausePlayXOffset: '15px', // pixels or percent from side - ignored if positioned center\r\n\t\tpausePlayYOffset: '15px' // pixels or percent from top/bottom - ignored if positioned center\r\n\t};\r\n\r\n\r\n\t// Fit video\r\n\t$.fn.bgVideo.fitVideo = function( $video ) {\r\n\r\n\t\tvar $container = $video.parent(),\r\n\t\t\tcontainer_height = $container.outerHeight(),\r\n\t\t\tcontainer_width = $container.outerWidth();\r\n\r\n\t\t// Do this again every time the screen size changes\r\n\t\t$video.css({\r\n\t\t\t'height': 'auto',\r\n\t\t\t'width': container_width + 'px'\r\n\t\t});\r\n\r\n\t\tvar video_height = $video.height();\r\n\r\n\t\tif( container_height > video_height ) {\r\n\t\t\t//console.log('Container height > video height');\r\n\t\t\t$video.css({\r\n\t\t\t\t'height': container_height + 'px',\r\n\t\t\t\t'width': 'auto'\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t};\r\n\r\n\r\n\t// Auto run based on data attributes\r\n\t$(document).ready(function(){\r\n\t\t$('[data-bgvideo]').bgVideo();\r\n\t});\r\n\r\n\r\n}(jQuery));\r\n","// ==================================================\r\n// fancyBox v3.5.7\r\n//\r\n// Licensed GPLv3 for open source use\r\n// or fancyBox Commercial License for commercial use\r\n//\r\n// http://fancyapps.com/fancybox/\r\n// Copyright 2019 fancyApps\r\n//\r\n// ==================================================\r\n(function (window, document, $, undefined) {\r\n \"use strict\";\r\n\r\n window.console = window.console || {\r\n info: function (stuff) {}\r\n };\r\n\r\n // If there's no jQuery, fancyBox can't work\r\n // =========================================\r\n\r\n if (!$) {\r\n return;\r\n }\r\n\r\n // Check if fancyBox is already initialized\r\n // ========================================\r\n\r\n if ($.fn.fancybox) {\r\n console.info(\"fancyBox already initialized\");\r\n\r\n return;\r\n }\r\n\r\n // Private default settings\r\n // ========================\r\n\r\n var defaults = {\r\n // Close existing modals\r\n // Set this to false if you do not need to stack multiple instances\r\n closeExisting: false,\r\n\r\n // Enable infinite gallery navigation\r\n loop: false,\r\n\r\n // Horizontal space between slides\r\n gutter: 50,\r\n\r\n // Enable keyboard navigation\r\n keyboard: true,\r\n\r\n // Should allow caption to overlap the content\r\n preventCaptionOverlap: true,\r\n\r\n // Should display navigation arrows at the screen edges\r\n arrows: true,\r\n\r\n // Should display counter at the top left corner\r\n infobar: true,\r\n\r\n // Should display close button (using `btnTpl.smallBtn` template) over the content\r\n // Can be true, false, \"auto\"\r\n // If \"auto\" - will be automatically enabled for \"html\", \"inline\" or \"ajax\" items\r\n smallBtn: \"auto\",\r\n\r\n // Should display toolbar (buttons at the top)\r\n // Can be true, false, \"auto\"\r\n // If \"auto\" - will be automatically hidden if \"smallBtn\" is enabled\r\n toolbar: \"auto\",\r\n\r\n // What buttons should appear in the top right corner.\r\n // Buttons will be created using templates from `btnTpl` option\r\n // and they will be placed into toolbar (class=\"fancybox-toolbar\"` element)\r\n buttons: [\r\n \"zoom\",\r\n //\"share\",\r\n \"slideShow\",\r\n //\"fullScreen\",\r\n //\"download\",\r\n \"thumbs\",\r\n \"close\"\r\n ],\r\n\r\n // Detect \"idle\" time in seconds\r\n idleTime: 3,\r\n\r\n // Disable right-click and use simple image protection for images\r\n protect: false,\r\n\r\n // Shortcut to make content \"modal\" - disable keyboard navigtion, hide buttons, etc\r\n modal: false,\r\n\r\n image: {\r\n // Wait for images to load before displaying\r\n // true - wait for image to load and then display;\r\n // false - display thumbnail and load the full-sized image over top,\r\n // requires predefined image dimensions (`data-width` and `data-height` attributes)\r\n preload: false\r\n },\r\n\r\n ajax: {\r\n // Object containing settings for ajax request\r\n settings: {\r\n // This helps to indicate that request comes from the modal\r\n // Feel free to change naming\r\n data: {\r\n fancybox: true\r\n }\r\n }\r\n },\r\n\r\n iframe: {\r\n // Iframe template\r\n tpl: '',\r\n\r\n // Preload iframe before displaying it\r\n // This allows to calculate iframe content width and height\r\n // (note: Due to \"Same Origin Policy\", you can't get cross domain data).\r\n preload: true,\r\n\r\n // Custom CSS styling for iframe wrapping element\r\n // You can use this to set custom iframe dimensions\r\n css: {},\r\n\r\n // Iframe tag attributes\r\n attr: {\r\n scrolling: \"auto\"\r\n }\r\n },\r\n\r\n // For HTML5 video only\r\n video: {\r\n tpl: '\",\r\n format: \"\", // custom video format\r\n autoStart: true\r\n },\r\n\r\n // Default content type if cannot be detected automatically\r\n defaultType: \"image\",\r\n\r\n // Open/close animation type\r\n // Possible values:\r\n // false - disable\r\n // \"zoom\" - zoom images from/to thumbnail\r\n // \"fade\"\r\n // \"zoom-in-out\"\r\n //\r\n animationEffect: \"zoom\",\r\n\r\n // Duration in ms for open/close animation\r\n animationDuration: 366,\r\n\r\n // Should image change opacity while zooming\r\n // If opacity is \"auto\", then opacity will be changed if image and thumbnail have different aspect ratios\r\n zoomOpacity: \"auto\",\r\n\r\n // Transition effect between slides\r\n //\r\n // Possible values:\r\n // false - disable\r\n // \"fade'\r\n // \"slide'\r\n // \"circular'\r\n // \"tube'\r\n // \"zoom-in-out'\r\n // \"rotate'\r\n //\r\n transitionEffect: \"fade\",\r\n\r\n // Duration in ms for transition animation\r\n transitionDuration: 366,\r\n\r\n // Custom CSS class for slide element\r\n slideClass: \"\",\r\n\r\n // Custom CSS class for layout\r\n baseClass: \"\",\r\n\r\n // Base template for layout\r\n baseTpl: '
' +\r\n '
' +\r\n '
' +\r\n '
 / 
' +\r\n '
{{buttons}}
' +\r\n '
{{arrows}}
' +\r\n '
' +\r\n '
' +\r\n \"
\" +\r\n \"
\",\r\n\r\n // Loading indicator template\r\n spinnerTpl: '
',\r\n\r\n // Error message template\r\n errorTpl: '

{{ERROR}}

',\r\n\r\n btnTpl: {\r\n download: '' +\r\n '' +\r\n \"\",\r\n\r\n zoom: '\",\r\n\r\n close: '\",\r\n\r\n // Arrows\r\n arrowLeft: '\",\r\n\r\n arrowRight: '\",\r\n\r\n // This small close button will be appended to your html/inline/ajax content by default,\r\n // if \"smallBtn\" option is not set to false\r\n smallBtn: '\"\r\n },\r\n\r\n // Container is injected into this element\r\n parentEl: \"body\",\r\n\r\n // Hide browser vertical scrollbars; use at your own risk\r\n hideScrollbar: true,\r\n\r\n // Focus handling\r\n // ==============\r\n\r\n // Try to focus on the first focusable element after opening\r\n autoFocus: true,\r\n\r\n // Put focus back to active element after closing\r\n backFocus: true,\r\n\r\n // Do not let user to focus on element outside modal content\r\n trapFocus: true,\r\n\r\n // Module specific options\r\n // =======================\r\n\r\n fullScreen: {\r\n autoStart: false\r\n },\r\n\r\n // Set `touch: false` to disable panning/swiping\r\n touch: {\r\n vertical: true, // Allow to drag content vertically\r\n momentum: true // Continue movement after releasing mouse/touch when panning\r\n },\r\n\r\n // Hash value when initializing manually,\r\n // set `false` to disable hash change\r\n hash: null,\r\n\r\n // Customize or add new media types\r\n // Example:\r\n /*\r\n media : {\r\n youtube : {\r\n params : {\r\n autoplay : 0\r\n }\r\n }\r\n }\r\n */\r\n media: {},\r\n\r\n slideShow: {\r\n autoStart: false,\r\n speed: 3000\r\n },\r\n\r\n thumbs: {\r\n autoStart: false, // Display thumbnails on opening\r\n hideOnClose: true, // Hide thumbnail grid when closing animation starts\r\n parentEl: \".fancybox-container\", // Container is injected into this element\r\n axis: \"y\" // Vertical (y) or horizontal (x) scrolling\r\n },\r\n\r\n // Use mousewheel to navigate gallery\r\n // If 'auto' - enabled for images only\r\n wheel: \"auto\",\r\n\r\n // Callbacks\r\n //==========\r\n\r\n // See Documentation/API/Events for more information\r\n // Example:\r\n /*\r\n afterShow: function( instance, current ) {\r\n console.info( 'Clicked element:' );\r\n console.info( current.opts.$orig );\r\n }\r\n */\r\n\r\n onInit: $.noop, // When instance has been initialized\r\n\r\n beforeLoad: $.noop, // Before the content of a slide is being loaded\r\n afterLoad: $.noop, // When the content of a slide is done loading\r\n\r\n beforeShow: $.noop, // Before open animation starts\r\n afterShow: $.noop, // When content is done loading and animating\r\n\r\n beforeClose: $.noop, // Before the instance attempts to close. Return false to cancel the close.\r\n afterClose: $.noop, // After instance has been closed\r\n\r\n onActivate: $.noop, // When instance is brought to front\r\n onDeactivate: $.noop, // When other instance has been activated\r\n\r\n // Interaction\r\n // ===========\r\n\r\n // Use options below to customize taken action when user clicks or double clicks on the fancyBox area,\r\n // each option can be string or method that returns value.\r\n //\r\n // Possible values:\r\n // \"close\" - close instance\r\n // \"next\" - move to next gallery item\r\n // \"nextOrClose\" - move to next gallery item or close if gallery has only one item\r\n // \"toggleControls\" - show/hide controls\r\n // \"zoom\" - zoom image (if loaded)\r\n // false - do nothing\r\n\r\n // Clicked on the content\r\n clickContent: function (current, event) {\r\n return current.type === \"image\" ? \"zoom\" : false;\r\n },\r\n\r\n // Clicked on the slide\r\n clickSlide: \"close\",\r\n\r\n // Clicked on the background (backdrop) element;\r\n // if you have not changed the layout, then most likely you need to use `clickSlide` option\r\n clickOutside: \"close\",\r\n\r\n // Same as previous two, but for double click\r\n dblclickContent: false,\r\n dblclickSlide: false,\r\n dblclickOutside: false,\r\n\r\n // Custom options when mobile device is detected\r\n // =============================================\r\n\r\n mobile: {\r\n preventCaptionOverlap: false,\r\n idleTime: false,\r\n clickContent: function (current, event) {\r\n return current.type === \"image\" ? \"toggleControls\" : false;\r\n },\r\n clickSlide: function (current, event) {\r\n return current.type === \"image\" ? \"toggleControls\" : \"close\";\r\n },\r\n dblclickContent: function (current, event) {\r\n return current.type === \"image\" ? \"zoom\" : false;\r\n },\r\n dblclickSlide: function (current, event) {\r\n return current.type === \"image\" ? \"zoom\" : false;\r\n }\r\n },\r\n\r\n // Internationalization\r\n // ====================\r\n\r\n lang: \"en\",\r\n i18n: {\r\n en: {\r\n CLOSE: \"Close\",\r\n NEXT: \"Next\",\r\n PREV: \"Previous\",\r\n ERROR: \"The requested content cannot be loaded.
Please try again later.\",\r\n PLAY_START: \"Start slideshow\",\r\n PLAY_STOP: \"Pause slideshow\",\r\n FULL_SCREEN: \"Full screen\",\r\n THUMBS: \"Thumbnails\",\r\n DOWNLOAD: \"Download\",\r\n SHARE: \"Share\",\r\n ZOOM: \"Zoom\"\r\n },\r\n de: {\r\n CLOSE: \"Schließen\",\r\n NEXT: \"Weiter\",\r\n PREV: \"Zurück\",\r\n ERROR: \"Die angeforderten Daten konnten nicht geladen werden.
Bitte versuchen Sie es später nochmal.\",\r\n PLAY_START: \"Diaschau starten\",\r\n PLAY_STOP: \"Diaschau beenden\",\r\n FULL_SCREEN: \"Vollbild\",\r\n THUMBS: \"Vorschaubilder\",\r\n DOWNLOAD: \"Herunterladen\",\r\n SHARE: \"Teilen\",\r\n ZOOM: \"Vergrößern\"\r\n }\r\n }\r\n };\r\n\r\n // Few useful variables and methods\r\n // ================================\r\n\r\n var $W = $(window);\r\n var $D = $(document);\r\n\r\n var called = 0;\r\n\r\n // Check if an object is a jQuery object and not a native JavaScript object\r\n // ========================================================================\r\n var isQuery = function (obj) {\r\n return obj && obj.hasOwnProperty && obj instanceof $;\r\n };\r\n\r\n // Handle multiple browsers for \"requestAnimationFrame\" and \"cancelAnimationFrame\"\r\n // ===============================================================================\r\n var requestAFrame = (function () {\r\n return (\r\n window.requestAnimationFrame ||\r\n window.webkitRequestAnimationFrame ||\r\n window.mozRequestAnimationFrame ||\r\n window.oRequestAnimationFrame ||\r\n // if all else fails, use setTimeout\r\n function (callback) {\r\n return window.setTimeout(callback, 1000 / 60);\r\n }\r\n );\r\n })();\r\n\r\n var cancelAFrame = (function () {\r\n return (\r\n window.cancelAnimationFrame ||\r\n window.webkitCancelAnimationFrame ||\r\n window.mozCancelAnimationFrame ||\r\n window.oCancelAnimationFrame ||\r\n function (id) {\r\n window.clearTimeout(id);\r\n }\r\n );\r\n })();\r\n\r\n // Detect the supported transition-end event property name\r\n // =======================================================\r\n var transitionEnd = (function () {\r\n var el = document.createElement(\"fakeelement\"),\r\n t;\r\n\r\n var transitions = {\r\n transition: \"transitionend\",\r\n OTransition: \"oTransitionEnd\",\r\n MozTransition: \"transitionend\",\r\n WebkitTransition: \"webkitTransitionEnd\"\r\n };\r\n\r\n for (t in transitions) {\r\n if (el.style[t] !== undefined) {\r\n return transitions[t];\r\n }\r\n }\r\n\r\n return \"transitionend\";\r\n })();\r\n\r\n // Force redraw on an element.\r\n // This helps in cases where the browser doesn't redraw an updated element properly\r\n // ================================================================================\r\n var forceRedraw = function ($el) {\r\n return $el && $el.length && $el[0].offsetHeight;\r\n };\r\n\r\n // Exclude array (`buttons`) options from deep merging\r\n // ===================================================\r\n var mergeOpts = function (opts1, opts2) {\r\n var rez = $.extend(true, {}, opts1, opts2);\r\n\r\n $.each(opts2, function (key, value) {\r\n if ($.isArray(value)) {\r\n rez[key] = value;\r\n }\r\n });\r\n\r\n return rez;\r\n };\r\n\r\n // How much of an element is visible in viewport\r\n // =============================================\r\n\r\n var inViewport = function (elem) {\r\n var elemCenter, rez;\r\n\r\n if (!elem || elem.ownerDocument !== document) {\r\n return false;\r\n }\r\n\r\n $(\".fancybox-container\").css(\"pointer-events\", \"none\");\r\n\r\n elemCenter = {\r\n x: elem.getBoundingClientRect().left + elem.offsetWidth / 2,\r\n y: elem.getBoundingClientRect().top + elem.offsetHeight / 2\r\n };\r\n\r\n rez = document.elementFromPoint(elemCenter.x, elemCenter.y) === elem;\r\n\r\n $(\".fancybox-container\").css(\"pointer-events\", \"\");\r\n\r\n return rez;\r\n };\r\n\r\n // Class definition\r\n // ================\r\n\r\n var FancyBox = function (content, opts, index) {\r\n var self = this;\r\n\r\n self.opts = mergeOpts({\r\n index: index\r\n }, $.fancybox.defaults);\r\n\r\n if ($.isPlainObject(opts)) {\r\n self.opts = mergeOpts(self.opts, opts);\r\n }\r\n\r\n if ($.fancybox.isMobile) {\r\n self.opts = mergeOpts(self.opts, self.opts.mobile);\r\n }\r\n\r\n self.id = self.opts.id || ++called;\r\n\r\n self.currIndex = parseInt(self.opts.index, 10) || 0;\r\n self.prevIndex = null;\r\n\r\n self.prevPos = null;\r\n self.currPos = 0;\r\n\r\n self.firstRun = true;\r\n\r\n // All group items\r\n self.group = [];\r\n\r\n // Existing slides (for current, next and previous gallery items)\r\n self.slides = {};\r\n\r\n // Create group elements\r\n self.addContent(content);\r\n\r\n if (!self.group.length) {\r\n return;\r\n }\r\n\r\n self.init();\r\n };\r\n\r\n $.extend(FancyBox.prototype, {\r\n // Create DOM structure\r\n // ====================\r\n\r\n init: function () {\r\n var self = this,\r\n firstItem = self.group[self.currIndex],\r\n firstItemOpts = firstItem.opts,\r\n $container,\r\n buttonStr;\r\n\r\n if (firstItemOpts.closeExisting) {\r\n $.fancybox.close(true);\r\n }\r\n\r\n // Hide scrollbars\r\n // ===============\r\n\r\n $(\"body\").addClass(\"fancybox-active\");\r\n\r\n if (\r\n !$.fancybox.getInstance() &&\r\n firstItemOpts.hideScrollbar !== false &&\r\n !$.fancybox.isMobile &&\r\n document.body.scrollHeight > window.innerHeight\r\n ) {\r\n $(\"head\").append(\r\n '\"\r\n );\r\n\r\n $(\"body\").addClass(\"compensate-for-scrollbar\");\r\n }\r\n\r\n // Build html markup and set references\r\n // ====================================\r\n\r\n // Build html code for buttons and insert into main template\r\n buttonStr = \"\";\r\n\r\n $.each(firstItemOpts.buttons, function (index, value) {\r\n buttonStr += firstItemOpts.btnTpl[value] || \"\";\r\n });\r\n\r\n // Create markup from base template, it will be initially hidden to\r\n // avoid unnecessary work like painting while initializing is not complete\r\n $container = $(\r\n self.translate(\r\n self,\r\n firstItemOpts.baseTpl\r\n .replace(\"{{buttons}}\", buttonStr)\r\n .replace(\"{{arrows}}\", firstItemOpts.btnTpl.arrowLeft + firstItemOpts.btnTpl.arrowRight)\r\n )\r\n )\r\n .attr(\"id\", \"fancybox-container-\" + self.id)\r\n .addClass(firstItemOpts.baseClass)\r\n .data(\"FancyBox\", self)\r\n .appendTo(firstItemOpts.parentEl);\r\n\r\n // Create object holding references to jQuery wrapped nodes\r\n self.$refs = {\r\n container: $container\r\n };\r\n\r\n [\"bg\", \"inner\", \"infobar\", \"toolbar\", \"stage\", \"caption\", \"navigation\"].forEach(function (item) {\r\n self.$refs[item] = $container.find(\".fancybox-\" + item);\r\n });\r\n\r\n self.trigger(\"onInit\");\r\n\r\n // Enable events, deactive previous instances\r\n self.activate();\r\n\r\n // Build slides, load and reveal content\r\n self.jumpTo(self.currIndex);\r\n },\r\n\r\n // Simple i18n support - replaces object keys found in template\r\n // with corresponding values\r\n // ============================================================\r\n\r\n translate: function (obj, str) {\r\n var arr = obj.opts.i18n[obj.opts.lang] || obj.opts.i18n.en;\r\n\r\n return str.replace(/\\{\\{(\\w+)\\}\\}/g, function (match, n) {\r\n return arr[n] === undefined ? match : arr[n];\r\n });\r\n },\r\n\r\n // Populate current group with fresh content\r\n // Check if each object has valid type and content\r\n // ===============================================\r\n\r\n addContent: function (content) {\r\n var self = this,\r\n items = $.makeArray(content),\r\n thumbs;\r\n\r\n $.each(items, function (i, item) {\r\n var obj = {},\r\n opts = {},\r\n $item,\r\n type,\r\n found,\r\n src,\r\n srcParts;\r\n\r\n // Step 1 - Make sure we have an object\r\n // ====================================\r\n\r\n if ($.isPlainObject(item)) {\r\n // We probably have manual usage here, something like\r\n // $.fancybox.open( [ { src : \"image.jpg\", type : \"image\" } ] )\r\n\r\n obj = item;\r\n opts = item.opts || item;\r\n } else if ($.type(item) === \"object\" && $(item).length) {\r\n // Here we probably have jQuery collection returned by some selector\r\n $item = $(item);\r\n\r\n // Support attributes like `data-options='{\"touch\" : false}'` and `data-touch='false'`\r\n opts = $item.data() || {};\r\n opts = $.extend(true, {}, opts, opts.options);\r\n\r\n // Here we store clicked element\r\n opts.$orig = $item;\r\n\r\n obj.src = self.opts.src || opts.src || $item.attr(\"href\");\r\n\r\n // DNN MODAL FIX BELOW!\r\n if (obj.src.indexOf('/#') !== -1) {\r\n obj.src = obj.src.substring(1, obj.src.length);\r\n }\r\n\r\n // Assume that simple syntax is used, for example:\r\n // `$.fancybox.open( $(\"#test\"), {} );`\r\n if (!obj.type && !obj.src) {\r\n obj.type = \"inline\";\r\n obj.src = item;\r\n }\r\n } else {\r\n // Assume we have a simple html code, for example:\r\n // $.fancybox.open( '

Hi!

' );\r\n obj = {\r\n type: \"html\",\r\n src: item + \"\"\r\n };\r\n }\r\n\r\n // Each gallery object has full collection of options\r\n obj.opts = $.extend(true, {}, self.opts, opts);\r\n\r\n // Do not merge buttons array\r\n if ($.isArray(opts.buttons)) {\r\n obj.opts.buttons = opts.buttons;\r\n }\r\n\r\n if ($.fancybox.isMobile && obj.opts.mobile) {\r\n obj.opts = mergeOpts(obj.opts, obj.opts.mobile);\r\n }\r\n\r\n // Step 2 - Make sure we have content type, if not - try to guess\r\n // ==============================================================\r\n\r\n type = obj.type || obj.opts.type;\r\n src = obj.src || \"\";\r\n\r\n if (!type && src) {\r\n if ((found = src.match(/\\.(mp4|mov|ogv|webm)((\\?|#).*)?$/i))) {\r\n type = \"video\";\r\n\r\n if (!obj.opts.video.format) {\r\n obj.opts.video.format = \"video/\" + (found[1] === \"ogv\" ? \"ogg\" : found[1]);\r\n }\r\n } else if (src.match(/(^data:image\\/[a-z0-9+\\/=]*,)|(\\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\\?|#).*)?$)/i)) {\r\n type = \"image\";\r\n } else if (src.match(/\\.(pdf)((\\?|#).*)?$/i)) {\r\n type = \"iframe\";\r\n obj = $.extend(true, obj, {\r\n contentType: \"pdf\",\r\n opts: {\r\n iframe: {\r\n preload: false\r\n }\r\n }\r\n });\r\n } else if (src.charAt(0) === \"#\") {\r\n type = \"inline\";\r\n }\r\n }\r\n\r\n if (type) {\r\n obj.type = type;\r\n } else {\r\n self.trigger(\"objectNeedsType\", obj);\r\n }\r\n\r\n if (!obj.contentType) {\r\n obj.contentType = $.inArray(obj.type, [\"html\", \"inline\", \"ajax\"]) > -1 ? \"html\" : obj.type;\r\n }\r\n\r\n // Step 3 - Some adjustments\r\n // =========================\r\n\r\n obj.index = self.group.length;\r\n\r\n if (obj.opts.smallBtn == \"auto\") {\r\n obj.opts.smallBtn = $.inArray(obj.type, [\"html\", \"inline\", \"ajax\"]) > -1;\r\n }\r\n\r\n if (obj.opts.toolbar === \"auto\") {\r\n obj.opts.toolbar = !obj.opts.smallBtn;\r\n }\r\n\r\n // Find thumbnail image, check if exists and if is in the viewport\r\n obj.$thumb = obj.opts.$thumb || null;\r\n\r\n if (obj.opts.$trigger && obj.index === self.opts.index) {\r\n obj.$thumb = obj.opts.$trigger.find(\"img:first\");\r\n\r\n if (obj.$thumb.length) {\r\n obj.opts.$orig = obj.opts.$trigger;\r\n }\r\n }\r\n\r\n if (!(obj.$thumb && obj.$thumb.length) && obj.opts.$orig) {\r\n obj.$thumb = obj.opts.$orig.find(\"img:first\");\r\n }\r\n\r\n if (obj.$thumb && !obj.$thumb.length) {\r\n obj.$thumb = null;\r\n }\r\n\r\n obj.thumb = obj.opts.thumb || (obj.$thumb ? obj.$thumb[0].src : null);\r\n\r\n // \"caption\" is a \"special\" option, it can be used to customize caption per gallery item\r\n if ($.type(obj.opts.caption) === \"function\") {\r\n obj.opts.caption = obj.opts.caption.apply(item, [self, obj]);\r\n }\r\n\r\n if ($.type(self.opts.caption) === \"function\") {\r\n obj.opts.caption = self.opts.caption.apply(item, [self, obj]);\r\n }\r\n\r\n // Make sure we have caption as a string or jQuery object\r\n if (!(obj.opts.caption instanceof $)) {\r\n obj.opts.caption = obj.opts.caption === undefined ? \"\" : obj.opts.caption + \"\";\r\n }\r\n\r\n // Check if url contains \"filter\" used to filter the content\r\n // Example: \"ajax.html #something\"\r\n if (obj.type === \"ajax\") {\r\n srcParts = src.split(/\\s+/, 2);\r\n\r\n if (srcParts.length > 1) {\r\n obj.src = srcParts.shift();\r\n\r\n obj.opts.filter = srcParts.shift();\r\n }\r\n }\r\n\r\n // Hide all buttons and disable interactivity for modal items\r\n if (obj.opts.modal) {\r\n obj.opts = $.extend(true, obj.opts, {\r\n trapFocus: true,\r\n // Remove buttons\r\n infobar: 0,\r\n toolbar: 0,\r\n\r\n smallBtn: 0,\r\n\r\n // Disable keyboard navigation\r\n keyboard: 0,\r\n\r\n // Disable some modules\r\n slideShow: 0,\r\n fullScreen: 0,\r\n thumbs: 0,\r\n touch: 0,\r\n\r\n // Disable click event handlers\r\n clickContent: false,\r\n clickSlide: false,\r\n clickOutside: false,\r\n dblclickContent: false,\r\n dblclickSlide: false,\r\n dblclickOutside: false\r\n });\r\n }\r\n\r\n // Step 4 - Add processed object to group\r\n // ======================================\r\n\r\n self.group.push(obj);\r\n });\r\n\r\n // Update controls if gallery is already opened\r\n if (Object.keys(self.slides).length) {\r\n self.updateControls();\r\n\r\n // Update thumbnails, if needed\r\n thumbs = self.Thumbs;\r\n\r\n if (thumbs && thumbs.isActive) {\r\n thumbs.create();\r\n\r\n thumbs.focus();\r\n }\r\n }\r\n },\r\n\r\n // Attach an event handler functions for:\r\n // - navigation buttons\r\n // - browser scrolling, resizing;\r\n // - focusing\r\n // - keyboard\r\n // - detecting inactivity\r\n // ======================================\r\n\r\n addEvents: function () {\r\n var self = this;\r\n\r\n self.removeEvents();\r\n\r\n // Make navigation elements clickable\r\n // ==================================\r\n\r\n self.$refs.container\r\n .on(\"click.fb-close\", \"[data-fancybox-close]\", function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n self.close(e);\r\n })\r\n .on(\"touchstart.fb-prev click.fb-prev\", \"[data-fancybox-prev]\", function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n self.previous();\r\n })\r\n .on(\"touchstart.fb-next click.fb-next\", \"[data-fancybox-next]\", function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n self.next();\r\n })\r\n .on(\"click.fb\", \"[data-fancybox-zoom]\", function (e) {\r\n // Click handler for zoom button\r\n self[self.isScaledDown() ? \"scaleToActual\" : \"scaleToFit\"]();\r\n });\r\n\r\n // Handle page scrolling and browser resizing\r\n // ==========================================\r\n\r\n $W.on(\"orientationchange.fb resize.fb\", function (e) {\r\n if (e && e.originalEvent && e.originalEvent.type === \"resize\") {\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n }\r\n\r\n self.requestId = requestAFrame(function () {\r\n self.update(e);\r\n });\r\n } else {\r\n if (self.current && self.current.type === \"iframe\") {\r\n self.$refs.stage.hide();\r\n }\r\n\r\n setTimeout(\r\n function () {\r\n self.$refs.stage.show();\r\n\r\n self.update(e);\r\n },\r\n $.fancybox.isMobile ? 600 : 250\r\n );\r\n }\r\n });\r\n\r\n $D.on(\"keydown.fb\", function (e) {\r\n var instance = $.fancybox ? $.fancybox.getInstance() : null,\r\n current = instance.current,\r\n keycode = e.keyCode || e.which;\r\n\r\n // Trap keyboard focus inside of the modal\r\n // =======================================\r\n\r\n if (keycode == 9) {\r\n if (current.opts.trapFocus) {\r\n self.focus(e);\r\n }\r\n\r\n return;\r\n }\r\n\r\n // Enable keyboard navigation\r\n // ==========================\r\n\r\n if (!current.opts.keyboard || e.ctrlKey || e.altKey || e.shiftKey || $(e.target).is(\"input,textarea,video,audio,select\")) {\r\n return;\r\n }\r\n\r\n // Backspace and Esc keys\r\n if (keycode === 8 || keycode === 27) {\r\n e.preventDefault();\r\n\r\n self.close(e);\r\n\r\n return;\r\n }\r\n\r\n // Left arrow and Up arrow\r\n if (keycode === 37 || keycode === 38) {\r\n e.preventDefault();\r\n\r\n self.previous();\r\n\r\n return;\r\n }\r\n\r\n // Righ arrow and Down arrow\r\n if (keycode === 39 || keycode === 40) {\r\n e.preventDefault();\r\n\r\n self.next();\r\n\r\n return;\r\n }\r\n\r\n self.trigger(\"afterKeydown\", e, keycode);\r\n });\r\n\r\n // Hide controls after some inactivity period\r\n if (self.group[self.currIndex].opts.idleTime) {\r\n self.idleSecondsCounter = 0;\r\n\r\n $D.on(\r\n \"mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle\",\r\n function (e) {\r\n self.idleSecondsCounter = 0;\r\n\r\n if (self.isIdle) {\r\n self.showControls();\r\n }\r\n\r\n self.isIdle = false;\r\n }\r\n );\r\n\r\n self.idleInterval = window.setInterval(function () {\r\n self.idleSecondsCounter++;\r\n\r\n if (self.idleSecondsCounter >= self.group[self.currIndex].opts.idleTime && !self.isDragging) {\r\n self.isIdle = true;\r\n self.idleSecondsCounter = 0;\r\n\r\n self.hideControls();\r\n }\r\n }, 1000);\r\n }\r\n },\r\n\r\n // Remove events added by the core\r\n // ===============================\r\n\r\n removeEvents: function () {\r\n var self = this;\r\n\r\n $W.off(\"orientationchange.fb resize.fb\");\r\n $D.off(\"keydown.fb .fb-idle\");\r\n\r\n this.$refs.container.off(\".fb-close .fb-prev .fb-next\");\r\n\r\n if (self.idleInterval) {\r\n window.clearInterval(self.idleInterval);\r\n\r\n self.idleInterval = null;\r\n }\r\n },\r\n\r\n // Change to previous gallery item\r\n // ===============================\r\n\r\n previous: function (duration) {\r\n return this.jumpTo(this.currPos - 1, duration);\r\n },\r\n\r\n // Change to next gallery item\r\n // ===========================\r\n\r\n next: function (duration) {\r\n return this.jumpTo(this.currPos + 1, duration);\r\n },\r\n\r\n // Switch to selected gallery item\r\n // ===============================\r\n\r\n jumpTo: function (pos, duration) {\r\n var self = this,\r\n groupLen = self.group.length,\r\n firstRun,\r\n isMoved,\r\n loop,\r\n current,\r\n previous,\r\n slidePos,\r\n stagePos,\r\n prop,\r\n diff;\r\n\r\n if (self.isDragging || self.isClosing || (self.isAnimating && self.firstRun)) {\r\n return;\r\n }\r\n\r\n // Should loop?\r\n pos = parseInt(pos, 10);\r\n loop = self.current ? self.current.opts.loop : self.opts.loop;\r\n\r\n if (!loop && (pos < 0 || pos >= groupLen)) {\r\n return false;\r\n }\r\n\r\n // Check if opening for the first time; this helps to speed things up\r\n firstRun = self.firstRun = !Object.keys(self.slides).length;\r\n\r\n // Create slides\r\n previous = self.current;\r\n\r\n self.prevIndex = self.currIndex;\r\n self.prevPos = self.currPos;\r\n\r\n current = self.createSlide(pos);\r\n\r\n if (groupLen > 1) {\r\n if (loop || current.index < groupLen - 1) {\r\n self.createSlide(pos + 1);\r\n }\r\n\r\n if (loop || current.index > 0) {\r\n self.createSlide(pos - 1);\r\n }\r\n }\r\n\r\n self.current = current;\r\n self.currIndex = current.index;\r\n self.currPos = current.pos;\r\n\r\n self.trigger(\"beforeShow\", firstRun);\r\n\r\n self.updateControls();\r\n\r\n // Validate duration length\r\n current.forcedDuration = undefined;\r\n\r\n if ($.isNumeric(duration)) {\r\n current.forcedDuration = duration;\r\n } else {\r\n duration = current.opts[firstRun ? \"animationDuration\" : \"transitionDuration\"];\r\n }\r\n\r\n duration = parseInt(duration, 10);\r\n\r\n // Check if user has swiped the slides or if still animating\r\n isMoved = self.isMoved(current);\r\n\r\n // Make sure current slide is visible\r\n current.$slide.addClass(\"fancybox-slide--current\");\r\n\r\n // Fresh start - reveal container, current slide and start loading content\r\n if (firstRun) {\r\n if (current.opts.animationEffect && duration) {\r\n self.$refs.container.css(\"transition-duration\", duration + \"ms\");\r\n }\r\n\r\n self.$refs.container.addClass(\"fancybox-is-open\").trigger(\"focus\");\r\n\r\n // Attempt to load content into slide\r\n // This will later call `afterLoad` -> `revealContent`\r\n self.loadSlide(current);\r\n\r\n self.preload(\"image\");\r\n\r\n return;\r\n }\r\n\r\n // Get actual slide/stage positions (before cleaning up)\r\n slidePos = $.fancybox.getTranslate(previous.$slide);\r\n stagePos = $.fancybox.getTranslate(self.$refs.stage);\r\n\r\n // Clean up all slides\r\n $.each(self.slides, function (index, slide) {\r\n $.fancybox.stop(slide.$slide, true);\r\n });\r\n\r\n if (previous.pos !== current.pos) {\r\n previous.isComplete = false;\r\n }\r\n\r\n previous.$slide.removeClass(\"fancybox-slide--complete fancybox-slide--current\");\r\n\r\n // If slides are out of place, then animate them to correct position\r\n if (isMoved) {\r\n // Calculate horizontal swipe distance\r\n diff = slidePos.left - (previous.pos * slidePos.width + previous.pos * previous.opts.gutter);\r\n\r\n $.each(self.slides, function (index, slide) {\r\n slide.$slide.removeClass(\"fancybox-animated\").removeClass(function (index, className) {\r\n return (className.match(/(^|\\s)fancybox-fx-\\S+/g) || []).join(\" \");\r\n });\r\n\r\n // Make sure that each slide is in equal distance\r\n // This is mostly needed for freshly added slides, because they are not yet positioned\r\n var leftPos = slide.pos * slidePos.width + slide.pos * slide.opts.gutter;\r\n\r\n $.fancybox.setTranslate(slide.$slide, {\r\n top: 0,\r\n left: leftPos - stagePos.left + diff\r\n });\r\n\r\n if (slide.pos !== current.pos) {\r\n slide.$slide.addClass(\"fancybox-slide--\" + (slide.pos > current.pos ? \"next\" : \"previous\"));\r\n }\r\n\r\n // Redraw to make sure that transition will start\r\n forceRedraw(slide.$slide);\r\n\r\n // Animate the slide\r\n $.fancybox.animate(\r\n slide.$slide, {\r\n top: 0,\r\n left: (slide.pos - current.pos) * slidePos.width + (slide.pos - current.pos) * slide.opts.gutter\r\n },\r\n duration,\r\n function () {\r\n slide.$slide\r\n .css({\r\n transform: \"\",\r\n opacity: \"\"\r\n })\r\n .removeClass(\"fancybox-slide--next fancybox-slide--previous\");\r\n\r\n if (slide.pos === self.currPos) {\r\n self.complete();\r\n }\r\n }\r\n );\r\n });\r\n } else if (duration && current.opts.transitionEffect) {\r\n // Set transition effect for previously active slide\r\n prop = \"fancybox-animated fancybox-fx-\" + current.opts.transitionEffect;\r\n\r\n previous.$slide.addClass(\"fancybox-slide--\" + (previous.pos > current.pos ? \"next\" : \"previous\"));\r\n\r\n $.fancybox.animate(\r\n previous.$slide,\r\n prop,\r\n duration,\r\n function () {\r\n previous.$slide.removeClass(prop).removeClass(\"fancybox-slide--next fancybox-slide--previous\");\r\n },\r\n false\r\n );\r\n }\r\n\r\n if (current.isLoaded) {\r\n self.revealContent(current);\r\n } else {\r\n self.loadSlide(current);\r\n }\r\n\r\n self.preload(\"image\");\r\n },\r\n\r\n // Create new \"slide\" element\r\n // These are gallery items that are actually added to DOM\r\n // =======================================================\r\n\r\n createSlide: function (pos) {\r\n var self = this,\r\n $slide,\r\n index;\r\n\r\n index = pos % self.group.length;\r\n index = index < 0 ? self.group.length + index : index;\r\n\r\n if (!self.slides[pos] && self.group[index]) {\r\n $slide = $('
').appendTo(self.$refs.stage);\r\n\r\n self.slides[pos] = $.extend(true, {}, self.group[index], {\r\n pos: pos,\r\n $slide: $slide,\r\n isLoaded: false\r\n });\r\n\r\n self.updateSlide(self.slides[pos]);\r\n }\r\n\r\n return self.slides[pos];\r\n },\r\n\r\n // Scale image to the actual size of the image;\r\n // x and y values should be relative to the slide\r\n // ==============================================\r\n\r\n scaleToActual: function (x, y, duration) {\r\n var self = this,\r\n current = self.current,\r\n $content = current.$content,\r\n canvasWidth = $.fancybox.getTranslate(current.$slide).width,\r\n canvasHeight = $.fancybox.getTranslate(current.$slide).height,\r\n newImgWidth = current.width,\r\n newImgHeight = current.height,\r\n imgPos,\r\n posX,\r\n posY,\r\n scaleX,\r\n scaleY;\r\n\r\n if (self.isAnimating || self.isMoved() || !$content || !(current.type == \"image\" && current.isLoaded && !current.hasError)) {\r\n return;\r\n }\r\n\r\n self.isAnimating = true;\r\n\r\n $.fancybox.stop($content);\r\n\r\n x = x === undefined ? canvasWidth * 0.5 : x;\r\n y = y === undefined ? canvasHeight * 0.5 : y;\r\n\r\n imgPos = $.fancybox.getTranslate($content);\r\n\r\n imgPos.top -= $.fancybox.getTranslate(current.$slide).top;\r\n imgPos.left -= $.fancybox.getTranslate(current.$slide).left;\r\n\r\n scaleX = newImgWidth / imgPos.width;\r\n scaleY = newImgHeight / imgPos.height;\r\n\r\n // Get center position for original image\r\n posX = canvasWidth * 0.5 - newImgWidth * 0.5;\r\n posY = canvasHeight * 0.5 - newImgHeight * 0.5;\r\n\r\n // Make sure image does not move away from edges\r\n if (newImgWidth > canvasWidth) {\r\n posX = imgPos.left * scaleX - (x * scaleX - x);\r\n\r\n if (posX > 0) {\r\n posX = 0;\r\n }\r\n\r\n if (posX < canvasWidth - newImgWidth) {\r\n posX = canvasWidth - newImgWidth;\r\n }\r\n }\r\n\r\n if (newImgHeight > canvasHeight) {\r\n posY = imgPos.top * scaleY - (y * scaleY - y);\r\n\r\n if (posY > 0) {\r\n posY = 0;\r\n }\r\n\r\n if (posY < canvasHeight - newImgHeight) {\r\n posY = canvasHeight - newImgHeight;\r\n }\r\n }\r\n\r\n self.updateCursor(newImgWidth, newImgHeight);\r\n\r\n $.fancybox.animate(\r\n $content, {\r\n top: posY,\r\n left: posX,\r\n scaleX: scaleX,\r\n scaleY: scaleY\r\n },\r\n duration || 366,\r\n function () {\r\n self.isAnimating = false;\r\n }\r\n );\r\n\r\n // Stop slideshow\r\n if (self.SlideShow && self.SlideShow.isActive) {\r\n self.SlideShow.stop();\r\n }\r\n },\r\n\r\n // Scale image to fit inside parent element\r\n // ========================================\r\n\r\n scaleToFit: function (duration) {\r\n var self = this,\r\n current = self.current,\r\n $content = current.$content,\r\n end;\r\n\r\n if (self.isAnimating || self.isMoved() || !$content || !(current.type == \"image\" && current.isLoaded && !current.hasError)) {\r\n return;\r\n }\r\n\r\n self.isAnimating = true;\r\n\r\n $.fancybox.stop($content);\r\n\r\n end = self.getFitPos(current);\r\n\r\n self.updateCursor(end.width, end.height);\r\n\r\n $.fancybox.animate(\r\n $content, {\r\n top: end.top,\r\n left: end.left,\r\n scaleX: end.width / $content.width(),\r\n scaleY: end.height / $content.height()\r\n },\r\n duration || 366,\r\n function () {\r\n self.isAnimating = false;\r\n }\r\n );\r\n },\r\n\r\n // Calculate image size to fit inside viewport\r\n // ===========================================\r\n\r\n getFitPos: function (slide) {\r\n var self = this,\r\n $content = slide.$content,\r\n $slide = slide.$slide,\r\n width = slide.width || slide.opts.width,\r\n height = slide.height || slide.opts.height,\r\n maxWidth,\r\n maxHeight,\r\n minRatio,\r\n aspectRatio,\r\n rez = {};\r\n\r\n if (!slide.isLoaded || !$content || !$content.length) {\r\n return false;\r\n }\r\n\r\n maxWidth = $.fancybox.getTranslate(self.$refs.stage).width;\r\n maxHeight = $.fancybox.getTranslate(self.$refs.stage).height;\r\n\r\n maxWidth -=\r\n parseFloat($slide.css(\"paddingLeft\")) +\r\n parseFloat($slide.css(\"paddingRight\")) +\r\n parseFloat($content.css(\"marginLeft\")) +\r\n parseFloat($content.css(\"marginRight\"));\r\n\r\n maxHeight -=\r\n parseFloat($slide.css(\"paddingTop\")) +\r\n parseFloat($slide.css(\"paddingBottom\")) +\r\n parseFloat($content.css(\"marginTop\")) +\r\n parseFloat($content.css(\"marginBottom\"));\r\n\r\n if (!width || !height) {\r\n width = maxWidth;\r\n height = maxHeight;\r\n }\r\n\r\n minRatio = Math.min(1, maxWidth / width, maxHeight / height);\r\n\r\n width = minRatio * width;\r\n height = minRatio * height;\r\n\r\n // Adjust width/height to precisely fit into container\r\n if (width > maxWidth - 0.5) {\r\n width = maxWidth;\r\n }\r\n\r\n if (height > maxHeight - 0.5) {\r\n height = maxHeight;\r\n }\r\n\r\n if (slide.type === \"image\") {\r\n rez.top = Math.floor((maxHeight - height) * 0.5) + parseFloat($slide.css(\"paddingTop\"));\r\n rez.left = Math.floor((maxWidth - width) * 0.5) + parseFloat($slide.css(\"paddingLeft\"));\r\n } else if (slide.contentType === \"video\") {\r\n // Force aspect ratio for the video\r\n // \"I say the whole world must learn of our peaceful ways… by force!\"\r\n aspectRatio = slide.opts.width && slide.opts.height ? width / height : slide.opts.ratio || 16 / 9;\r\n\r\n if (height > width / aspectRatio) {\r\n height = width / aspectRatio;\r\n } else if (width > height * aspectRatio) {\r\n width = height * aspectRatio;\r\n }\r\n }\r\n\r\n rez.width = width;\r\n rez.height = height;\r\n\r\n return rez;\r\n },\r\n\r\n // Update content size and position for all slides\r\n // ==============================================\r\n\r\n update: function (e) {\r\n var self = this;\r\n\r\n $.each(self.slides, function (key, slide) {\r\n self.updateSlide(slide, e);\r\n });\r\n },\r\n\r\n // Update slide content position and size\r\n // ======================================\r\n\r\n updateSlide: function (slide, e) {\r\n var self = this,\r\n $content = slide && slide.$content,\r\n width = slide.width || slide.opts.width,\r\n height = slide.height || slide.opts.height,\r\n $slide = slide.$slide;\r\n\r\n // First, prevent caption overlap, if needed\r\n self.adjustCaption(slide);\r\n\r\n // Then resize content to fit inside the slide\r\n if ($content && (width || height || slide.contentType === \"video\") && !slide.hasError) {\r\n $.fancybox.stop($content);\r\n\r\n $.fancybox.setTranslate($content, self.getFitPos(slide));\r\n\r\n if (slide.pos === self.currPos) {\r\n self.isAnimating = false;\r\n\r\n self.updateCursor();\r\n }\r\n }\r\n\r\n // Then some adjustments\r\n self.adjustLayout(slide);\r\n\r\n if ($slide.length) {\r\n $slide.trigger(\"refresh\");\r\n\r\n if (slide.pos === self.currPos) {\r\n self.$refs.toolbar\r\n .add(self.$refs.navigation.find(\".fancybox-button--arrow_right\"))\r\n .toggleClass(\"compensate-for-scrollbar\", $slide.get(0).scrollHeight > $slide.get(0).clientHeight);\r\n }\r\n }\r\n\r\n self.trigger(\"onUpdate\", slide, e);\r\n },\r\n\r\n // Horizontally center slide\r\n // =========================\r\n\r\n centerSlide: function (duration) {\r\n var self = this,\r\n current = self.current,\r\n $slide = current.$slide;\r\n\r\n if (self.isClosing || !current) {\r\n return;\r\n }\r\n\r\n $slide.siblings().css({\r\n transform: \"\",\r\n opacity: \"\"\r\n });\r\n\r\n $slide\r\n .parent()\r\n .children()\r\n .removeClass(\"fancybox-slide--previous fancybox-slide--next\");\r\n\r\n $.fancybox.animate(\r\n $slide, {\r\n top: 0,\r\n left: 0,\r\n opacity: 1\r\n },\r\n duration === undefined ? 0 : duration,\r\n function () {\r\n // Clean up\r\n $slide.css({\r\n transform: \"\",\r\n opacity: \"\"\r\n });\r\n\r\n if (!current.isComplete) {\r\n self.complete();\r\n }\r\n },\r\n false\r\n );\r\n },\r\n\r\n // Check if current slide is moved (swiped)\r\n // ========================================\r\n\r\n isMoved: function (slide) {\r\n var current = slide || this.current,\r\n slidePos,\r\n stagePos;\r\n\r\n if (!current) {\r\n return false;\r\n }\r\n\r\n stagePos = $.fancybox.getTranslate(this.$refs.stage);\r\n slidePos = $.fancybox.getTranslate(current.$slide);\r\n\r\n return (\r\n !current.$slide.hasClass(\"fancybox-animated\") &&\r\n (Math.abs(slidePos.top - stagePos.top) > 0.5 || Math.abs(slidePos.left - stagePos.left) > 0.5)\r\n );\r\n },\r\n\r\n // Update cursor style depending if content can be zoomed\r\n // ======================================================\r\n\r\n updateCursor: function (nextWidth, nextHeight) {\r\n var self = this,\r\n current = self.current,\r\n $container = self.$refs.container,\r\n canPan,\r\n isZoomable;\r\n\r\n if (!current || self.isClosing || !self.Guestures) {\r\n return;\r\n }\r\n\r\n $container.removeClass(\"fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan\");\r\n\r\n canPan = self.canPan(nextWidth, nextHeight);\r\n\r\n isZoomable = canPan ? true : self.isZoomable();\r\n\r\n $container.toggleClass(\"fancybox-is-zoomable\", isZoomable);\r\n\r\n $(\"[data-fancybox-zoom]\").prop(\"disabled\", !isZoomable);\r\n\r\n if (canPan) {\r\n $container.addClass(\"fancybox-can-pan\");\r\n } else if (\r\n isZoomable &&\r\n (current.opts.clickContent === \"zoom\" || ($.isFunction(current.opts.clickContent) && current.opts.clickContent(current) == \"zoom\"))\r\n ) {\r\n $container.addClass(\"fancybox-can-zoomIn\");\r\n } else if (current.opts.touch && (current.opts.touch.vertical || self.group.length > 1) && current.contentType !== \"video\") {\r\n $container.addClass(\"fancybox-can-swipe\");\r\n }\r\n },\r\n\r\n // Check if current slide is zoomable\r\n // ==================================\r\n\r\n isZoomable: function () {\r\n var self = this,\r\n current = self.current,\r\n fitPos;\r\n\r\n // Assume that slide is zoomable if:\r\n // - image is still loading\r\n // - actual size of the image is smaller than available area\r\n if (current && !self.isClosing && current.type === \"image\" && !current.hasError) {\r\n if (!current.isLoaded) {\r\n return true;\r\n }\r\n\r\n fitPos = self.getFitPos(current);\r\n\r\n if (fitPos && (current.width > fitPos.width || current.height > fitPos.height)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n },\r\n\r\n // Check if current image dimensions are smaller than actual\r\n // =========================================================\r\n\r\n isScaledDown: function (nextWidth, nextHeight) {\r\n var self = this,\r\n rez = false,\r\n current = self.current,\r\n $content = current.$content;\r\n\r\n if (nextWidth !== undefined && nextHeight !== undefined) {\r\n rez = nextWidth < current.width && nextHeight < current.height;\r\n } else if ($content) {\r\n rez = $.fancybox.getTranslate($content);\r\n rez = rez.width < current.width && rez.height < current.height;\r\n }\r\n\r\n return rez;\r\n },\r\n\r\n // Check if image dimensions exceed parent element\r\n // ===============================================\r\n\r\n canPan: function (nextWidth, nextHeight) {\r\n var self = this,\r\n current = self.current,\r\n pos = null,\r\n rez = false;\r\n\r\n if (current.type === \"image\" && (current.isComplete || (nextWidth && nextHeight)) && !current.hasError) {\r\n rez = self.getFitPos(current);\r\n\r\n if (nextWidth !== undefined && nextHeight !== undefined) {\r\n pos = {\r\n width: nextWidth,\r\n height: nextHeight\r\n };\r\n } else if (current.isComplete) {\r\n pos = $.fancybox.getTranslate(current.$content);\r\n }\r\n\r\n if (pos && rez) {\r\n rez = Math.abs(pos.width - rez.width) > 1.5 || Math.abs(pos.height - rez.height) > 1.5;\r\n }\r\n }\r\n\r\n return rez;\r\n },\r\n\r\n // Load content into the slide\r\n // ===========================\r\n\r\n loadSlide: function (slide) {\r\n var self = this,\r\n type,\r\n $slide,\r\n ajaxLoad;\r\n\r\n if (slide.isLoading || slide.isLoaded) {\r\n return;\r\n }\r\n\r\n slide.isLoading = true;\r\n\r\n if (self.trigger(\"beforeLoad\", slide) === false) {\r\n slide.isLoading = false;\r\n\r\n return false;\r\n }\r\n\r\n type = slide.type;\r\n $slide = slide.$slide;\r\n\r\n $slide\r\n .off(\"refresh\")\r\n .trigger(\"onReset\")\r\n .addClass(slide.opts.slideClass);\r\n\r\n // Create content depending on the type\r\n switch (type) {\r\n case \"image\":\r\n self.setImage(slide);\r\n\r\n break;\r\n\r\n case \"iframe\":\r\n self.setIframe(slide);\r\n\r\n break;\r\n\r\n case \"html\":\r\n self.setContent(slide, slide.src || slide.content);\r\n\r\n break;\r\n\r\n case \"video\":\r\n self.setContent(\r\n slide,\r\n slide.opts.video.tpl\r\n .replace(/\\{\\{src\\}\\}/gi, slide.src)\r\n .replace(\"{{format}}\", slide.opts.videoFormat || slide.opts.video.format || \"\")\r\n .replace(\"{{poster}}\", slide.thumb || \"\")\r\n );\r\n\r\n break;\r\n\r\n case \"inline\":\r\n if ($(slide.src).length) {\r\n self.setContent(slide, $(slide.src));\r\n } else {\r\n self.setError(slide);\r\n }\r\n\r\n break;\r\n\r\n case \"ajax\":\r\n self.showLoading(slide);\r\n\r\n ajaxLoad = $.ajax(\r\n $.extend({}, slide.opts.ajax.settings, {\r\n url: slide.src,\r\n success: function (data, textStatus) {\r\n if (textStatus === \"success\") {\r\n self.setContent(slide, data);\r\n }\r\n },\r\n error: function (jqXHR, textStatus) {\r\n if (jqXHR && textStatus !== \"abort\") {\r\n self.setError(slide);\r\n }\r\n }\r\n })\r\n );\r\n\r\n $slide.one(\"onReset\", function () {\r\n ajaxLoad.abort();\r\n });\r\n\r\n break;\r\n\r\n default:\r\n self.setError(slide);\r\n\r\n break;\r\n }\r\n\r\n return true;\r\n },\r\n\r\n // Use thumbnail image, if possible\r\n // ================================\r\n\r\n setImage: function (slide) {\r\n var self = this,\r\n ghost;\r\n\r\n // Check if need to show loading icon\r\n setTimeout(function () {\r\n var $img = slide.$image;\r\n\r\n if (!self.isClosing && slide.isLoading && (!$img || !$img.length || !$img[0].complete) && !slide.hasError) {\r\n self.showLoading(slide);\r\n }\r\n }, 50);\r\n\r\n //Check if image has srcset\r\n self.checkSrcset(slide);\r\n\r\n // This will be wrapper containing both ghost and actual image\r\n slide.$content = $('
')\r\n .addClass(\"fancybox-is-hidden\")\r\n .appendTo(slide.$slide.addClass(\"fancybox-slide--image\"));\r\n\r\n // If we have a thumbnail, we can display it while actual image is loading\r\n // Users will not stare at black screen and actual image will appear gradually\r\n if (slide.opts.preload !== false && slide.opts.width && slide.opts.height && slide.thumb) {\r\n slide.width = slide.opts.width;\r\n slide.height = slide.opts.height;\r\n\r\n ghost = document.createElement(\"img\");\r\n\r\n ghost.onerror = function () {\r\n $(this).remove();\r\n\r\n slide.$ghost = null;\r\n };\r\n\r\n ghost.onload = function () {\r\n self.afterLoad(slide);\r\n };\r\n\r\n slide.$ghost = $(ghost)\r\n .addClass(\"fancybox-image\")\r\n .appendTo(slide.$content)\r\n .attr(\"src\", slide.thumb);\r\n }\r\n\r\n // Start loading actual image\r\n self.setBigImage(slide);\r\n },\r\n\r\n // Check if image has srcset and get the source\r\n // ============================================\r\n checkSrcset: function (slide) {\r\n var srcset = slide.opts.srcset || slide.opts.image.srcset,\r\n found,\r\n temp,\r\n pxRatio,\r\n windowWidth;\r\n\r\n // If we have \"srcset\", then we need to find first matching \"src\" value.\r\n // This is necessary, because when you set an src attribute, the browser will preload the image\r\n // before any javascript or even CSS is applied.\r\n if (srcset) {\r\n pxRatio = window.devicePixelRatio || 1;\r\n windowWidth = window.innerWidth * pxRatio;\r\n\r\n temp = srcset.split(\",\").map(function (el) {\r\n var ret = {};\r\n\r\n el.trim()\r\n .split(/\\s+/)\r\n .forEach(function (el, i) {\r\n var value = parseInt(el.substring(0, el.length - 1), 10);\r\n\r\n if (i === 0) {\r\n return (ret.url = el);\r\n }\r\n\r\n if (value) {\r\n ret.value = value;\r\n ret.postfix = el[el.length - 1];\r\n }\r\n });\r\n\r\n return ret;\r\n });\r\n\r\n // Sort by value\r\n temp.sort(function (a, b) {\r\n return a.value - b.value;\r\n });\r\n\r\n // Ok, now we have an array of all srcset values\r\n for (var j = 0; j < temp.length; j++) {\r\n var el = temp[j];\r\n\r\n if ((el.postfix === \"w\" && el.value >= windowWidth) || (el.postfix === \"x\" && el.value >= pxRatio)) {\r\n found = el;\r\n break;\r\n }\r\n }\r\n\r\n // If not found, take the last one\r\n if (!found && temp.length) {\r\n found = temp[temp.length - 1];\r\n }\r\n\r\n if (found) {\r\n slide.src = found.url;\r\n\r\n // If we have default width/height values, we can calculate height for matching source\r\n if (slide.width && slide.height && found.postfix == \"w\") {\r\n slide.height = (slide.width / slide.height) * found.value;\r\n slide.width = found.value;\r\n }\r\n\r\n slide.opts.srcset = srcset;\r\n }\r\n }\r\n },\r\n\r\n // Create full-size image\r\n // ======================\r\n\r\n setBigImage: function (slide) {\r\n var self = this,\r\n img = document.createElement(\"img\"),\r\n $img = $(img);\r\n\r\n slide.$image = $img\r\n .one(\"error\", function () {\r\n self.setError(slide);\r\n })\r\n .one(\"load\", function () {\r\n var sizes;\r\n\r\n if (!slide.$ghost) {\r\n self.resolveImageSlideSize(slide, this.naturalWidth, this.naturalHeight);\r\n\r\n self.afterLoad(slide);\r\n }\r\n\r\n if (self.isClosing) {\r\n return;\r\n }\r\n\r\n if (slide.opts.srcset) {\r\n sizes = slide.opts.sizes;\r\n\r\n if (!sizes || sizes === \"auto\") {\r\n sizes =\r\n (slide.width / slide.height > 1 && $W.width() / $W.height() > 1 ? \"100\" : Math.round((slide.width / slide.height) * 100)) +\r\n \"vw\";\r\n }\r\n\r\n $img.attr(\"sizes\", sizes).attr(\"srcset\", slide.opts.srcset);\r\n }\r\n\r\n // Hide temporary image after some delay\r\n if (slide.$ghost) {\r\n setTimeout(function () {\r\n if (slide.$ghost && !self.isClosing) {\r\n slide.$ghost.hide();\r\n }\r\n }, Math.min(300, Math.max(1000, slide.height / 1600)));\r\n }\r\n\r\n self.hideLoading(slide);\r\n })\r\n .addClass(\"fancybox-image\")\r\n .attr(\"src\", slide.src)\r\n .appendTo(slide.$content);\r\n\r\n if ((img.complete || img.readyState == \"complete\") && $img.naturalWidth && $img.naturalHeight) {\r\n $img.trigger(\"load\");\r\n } else if (img.error) {\r\n $img.trigger(\"error\");\r\n }\r\n },\r\n\r\n // Computes the slide size from image size and maxWidth/maxHeight\r\n // ==============================================================\r\n\r\n resolveImageSlideSize: function (slide, imgWidth, imgHeight) {\r\n var maxWidth = parseInt(slide.opts.width, 10),\r\n maxHeight = parseInt(slide.opts.height, 10);\r\n\r\n // Sets the default values from the image\r\n slide.width = imgWidth;\r\n slide.height = imgHeight;\r\n\r\n if (maxWidth > 0) {\r\n slide.width = maxWidth;\r\n slide.height = Math.floor((maxWidth * imgHeight) / imgWidth);\r\n }\r\n\r\n if (maxHeight > 0) {\r\n slide.width = Math.floor((maxHeight * imgWidth) / imgHeight);\r\n slide.height = maxHeight;\r\n }\r\n },\r\n\r\n // Create iframe wrapper, iframe and bindings\r\n // ==========================================\r\n\r\n setIframe: function (slide) {\r\n var self = this,\r\n opts = slide.opts.iframe,\r\n $slide = slide.$slide,\r\n $iframe;\r\n\r\n slide.$content = $('
')\r\n .css(opts.css)\r\n .appendTo($slide);\r\n\r\n $slide.addClass(\"fancybox-slide--\" + slide.contentType);\r\n\r\n slide.$iframe = $iframe = $(opts.tpl.replace(/\\{rnd\\}/g, new Date().getTime()))\r\n .attr(opts.attr)\r\n .appendTo(slide.$content);\r\n\r\n if (opts.preload) {\r\n self.showLoading(slide);\r\n\r\n // Unfortunately, it is not always possible to determine if iframe is successfully loaded\r\n // (due to browser security policy)\r\n\r\n $iframe.on(\"load.fb error.fb\", function (e) {\r\n this.isReady = 1;\r\n\r\n slide.$slide.trigger(\"refresh\");\r\n\r\n self.afterLoad(slide);\r\n });\r\n\r\n // Recalculate iframe content size\r\n // ===============================\r\n\r\n $slide.on(\"refresh.fb\", function () {\r\n var $content = slide.$content,\r\n frameWidth = opts.css.width,\r\n frameHeight = opts.css.height,\r\n $contents,\r\n $body;\r\n\r\n if ($iframe[0].isReady !== 1) {\r\n return;\r\n }\r\n\r\n try {\r\n $contents = $iframe.contents();\r\n $body = $contents.find(\"body\");\r\n } catch (ignore) {}\r\n\r\n // Calculate content dimensions, if it is accessible\r\n if ($body && $body.length && $body.children().length) {\r\n // Avoid scrolling to top (if multiple instances)\r\n $slide.css(\"overflow\", \"visible\");\r\n\r\n $content.css({\r\n width: \"100%\",\r\n \"max-width\": \"100%\",\r\n height: \"9999px\"\r\n });\r\n\r\n if (frameWidth === undefined) {\r\n frameWidth = Math.ceil(Math.max($body[0].clientWidth, $body.outerWidth(true)));\r\n }\r\n\r\n $content.css(\"width\", frameWidth ? frameWidth : \"\").css(\"max-width\", \"\");\r\n\r\n if (frameHeight === undefined) {\r\n frameHeight = Math.ceil(Math.max($body[0].clientHeight, $body.outerHeight(true)));\r\n }\r\n\r\n $content.css(\"height\", frameHeight ? frameHeight : \"\");\r\n\r\n $slide.css(\"overflow\", \"auto\");\r\n }\r\n\r\n $content.removeClass(\"fancybox-is-hidden\");\r\n });\r\n } else {\r\n self.afterLoad(slide);\r\n }\r\n\r\n $iframe.attr(\"src\", slide.src);\r\n\r\n // Remove iframe if closing or changing gallery item\r\n $slide.one(\"onReset\", function () {\r\n // This helps IE not to throw errors when closing\r\n try {\r\n $(this)\r\n .find(\"iframe\")\r\n .hide()\r\n .unbind()\r\n .attr(\"src\", \"//about:blank\");\r\n } catch (ignore) {}\r\n\r\n $(this)\r\n .off(\"refresh.fb\")\r\n .empty();\r\n\r\n slide.isLoaded = false;\r\n slide.isRevealed = false;\r\n });\r\n },\r\n\r\n // Wrap and append content to the slide\r\n // ======================================\r\n\r\n setContent: function (slide, content) {\r\n var self = this;\r\n\r\n if (self.isClosing) {\r\n return;\r\n }\r\n\r\n self.hideLoading(slide);\r\n\r\n if (slide.$content) {\r\n $.fancybox.stop(slide.$content);\r\n }\r\n\r\n slide.$slide.empty();\r\n\r\n // If content is a jQuery object, then it will be moved to the slide.\r\n // The placeholder is created so we will know where to put it back.\r\n if (isQuery(content) && content.parent().length) {\r\n // Make sure content is not already moved to fancyBox\r\n if (content.hasClass(\"fancybox-content\") || content.parent().hasClass(\"fancybox-content\")) {\r\n content.parents(\".fancybox-slide\").trigger(\"onReset\");\r\n }\r\n\r\n // Create temporary element marking original place of the content\r\n slide.$placeholder = $(\"
\")\r\n .hide()\r\n .insertAfter(content);\r\n\r\n // Make sure content is visible\r\n content.css(\"display\", \"inline-block\");\r\n } else if (!slide.hasError) {\r\n // If content is just a plain text, try to convert it to html\r\n if ($.type(content) === \"string\") {\r\n content = $(\"
\")\r\n .append($.trim(content))\r\n .contents();\r\n }\r\n\r\n // If \"filter\" option is provided, then filter content\r\n if (slide.opts.filter) {\r\n content = $(\"
\")\r\n .html(content)\r\n .find(slide.opts.filter);\r\n }\r\n }\r\n\r\n slide.$slide.one(\"onReset\", function () {\r\n // Pause all html5 video/audio\r\n $(this)\r\n .find(\"video,audio\")\r\n .trigger(\"pause\");\r\n\r\n // Put content back\r\n if (slide.$placeholder) {\r\n slide.$placeholder.after(content.removeClass(\"fancybox-content\").hide()).remove();\r\n\r\n slide.$placeholder = null;\r\n }\r\n\r\n // Remove custom close button\r\n if (slide.$smallBtn) {\r\n slide.$smallBtn.remove();\r\n\r\n slide.$smallBtn = null;\r\n }\r\n\r\n // Remove content and mark slide as not loaded\r\n if (!slide.hasError) {\r\n $(this).empty();\r\n\r\n slide.isLoaded = false;\r\n slide.isRevealed = false;\r\n }\r\n });\r\n\r\n $(content).appendTo(slide.$slide);\r\n\r\n if ($(content).is(\"video,audio\")) {\r\n $(content).addClass(\"fancybox-video\");\r\n\r\n $(content).wrap(\"
\");\r\n\r\n slide.contentType = \"video\";\r\n\r\n slide.opts.width = slide.opts.width || $(content).attr(\"width\");\r\n slide.opts.height = slide.opts.height || $(content).attr(\"height\");\r\n }\r\n\r\n slide.$content = slide.$slide\r\n .children()\r\n .filter(\"div,form,main,video,audio,article,.fancybox-content\")\r\n .first();\r\n\r\n slide.$content.siblings().hide();\r\n\r\n // Re-check if there is a valid content\r\n // (in some cases, ajax response can contain various elements or plain text)\r\n if (!slide.$content.length) {\r\n slide.$content = slide.$slide\r\n .wrapInner(\"
\")\r\n .children()\r\n .first();\r\n }\r\n\r\n slide.$content.addClass(\"fancybox-content\");\r\n\r\n slide.$slide.addClass(\"fancybox-slide--\" + slide.contentType);\r\n\r\n self.afterLoad(slide);\r\n },\r\n\r\n // Display error message\r\n // =====================\r\n\r\n setError: function (slide) {\r\n slide.hasError = true;\r\n\r\n slide.$slide\r\n .trigger(\"onReset\")\r\n .removeClass(\"fancybox-slide--\" + slide.contentType)\r\n .addClass(\"fancybox-slide--error\");\r\n\r\n slide.contentType = \"html\";\r\n\r\n this.setContent(slide, this.translate(slide, slide.opts.errorTpl));\r\n\r\n if (slide.pos === this.currPos) {\r\n this.isAnimating = false;\r\n }\r\n },\r\n\r\n // Show loading icon inside the slide\r\n // ==================================\r\n\r\n showLoading: function (slide) {\r\n var self = this;\r\n\r\n slide = slide || self.current;\r\n\r\n if (slide && !slide.$spinner) {\r\n slide.$spinner = $(self.translate(self, self.opts.spinnerTpl))\r\n .appendTo(slide.$slide)\r\n .hide()\r\n .fadeIn(\"fast\");\r\n }\r\n },\r\n\r\n // Remove loading icon from the slide\r\n // ==================================\r\n\r\n hideLoading: function (slide) {\r\n var self = this;\r\n\r\n slide = slide || self.current;\r\n\r\n if (slide && slide.$spinner) {\r\n slide.$spinner.stop().remove();\r\n\r\n delete slide.$spinner;\r\n }\r\n },\r\n\r\n // Adjustments after slide content has been loaded\r\n // ===============================================\r\n\r\n afterLoad: function (slide) {\r\n var self = this;\r\n\r\n if (self.isClosing) {\r\n return;\r\n }\r\n\r\n slide.isLoading = false;\r\n slide.isLoaded = true;\r\n\r\n self.trigger(\"afterLoad\", slide);\r\n\r\n self.hideLoading(slide);\r\n\r\n // Add small close button\r\n if (slide.opts.smallBtn && (!slide.$smallBtn || !slide.$smallBtn.length)) {\r\n slide.$smallBtn = $(self.translate(slide, slide.opts.btnTpl.smallBtn)).appendTo(slide.$content);\r\n }\r\n\r\n // Disable right click\r\n if (slide.opts.protect && slide.$content && !slide.hasError) {\r\n slide.$content.on(\"contextmenu.fb\", function (e) {\r\n if (e.button == 2) {\r\n e.preventDefault();\r\n }\r\n\r\n return true;\r\n });\r\n\r\n // Add fake element on top of the image\r\n // This makes a bit harder for user to select image\r\n if (slide.type === \"image\") {\r\n $('
').appendTo(slide.$content);\r\n }\r\n }\r\n\r\n self.adjustCaption(slide);\r\n\r\n self.adjustLayout(slide);\r\n\r\n if (slide.pos === self.currPos) {\r\n self.updateCursor();\r\n }\r\n\r\n self.revealContent(slide);\r\n },\r\n\r\n // Prevent caption overlap,\r\n // fix css inconsistency across browsers\r\n // =====================================\r\n\r\n adjustCaption: function (slide) {\r\n var self = this,\r\n current = slide || self.current,\r\n caption = current.opts.caption,\r\n preventOverlap = current.opts.preventCaptionOverlap,\r\n $caption = self.$refs.caption,\r\n $clone,\r\n captionH = false;\r\n\r\n $caption.toggleClass(\"fancybox-caption--separate\", preventOverlap);\r\n\r\n if (preventOverlap && caption && caption.length) {\r\n if (current.pos !== self.currPos) {\r\n $clone = $caption.clone().appendTo($caption.parent());\r\n\r\n $clone\r\n .children()\r\n .eq(0)\r\n .empty()\r\n .html(caption);\r\n\r\n captionH = $clone.outerHeight(true);\r\n\r\n $clone.empty().remove();\r\n } else if (self.$caption) {\r\n captionH = self.$caption.outerHeight(true);\r\n }\r\n\r\n current.$slide.css(\"padding-bottom\", captionH || \"\");\r\n }\r\n },\r\n\r\n // Simple hack to fix inconsistency across browsers, described here (affects Edge, too):\r\n // https://bugzilla.mozilla.org/show_bug.cgi?id=748518\r\n // ====================================================================================\r\n\r\n adjustLayout: function (slide) {\r\n var self = this,\r\n current = slide || self.current,\r\n scrollHeight,\r\n marginBottom,\r\n inlinePadding,\r\n actualPadding;\r\n\r\n if (current.isLoaded && current.opts.disableLayoutFix !== true) {\r\n current.$content.css(\"margin-bottom\", \"\");\r\n\r\n // If we would always set margin-bottom for the content,\r\n // then it would potentially break vertical align\r\n if (current.$content.outerHeight() > current.$slide.height() + 0.5) {\r\n inlinePadding = current.$slide[0].style[\"padding-bottom\"];\r\n actualPadding = current.$slide.css(\"padding-bottom\");\r\n\r\n if (parseFloat(actualPadding) > 0) {\r\n scrollHeight = current.$slide[0].scrollHeight;\r\n\r\n current.$slide.css(\"padding-bottom\", 0);\r\n\r\n if (Math.abs(scrollHeight - current.$slide[0].scrollHeight) < 1) {\r\n marginBottom = actualPadding;\r\n }\r\n\r\n current.$slide.css(\"padding-bottom\", inlinePadding);\r\n }\r\n }\r\n\r\n current.$content.css(\"margin-bottom\", marginBottom);\r\n }\r\n },\r\n\r\n // Make content visible\r\n // This method is called right after content has been loaded or\r\n // user navigates gallery and transition should start\r\n // ============================================================\r\n\r\n revealContent: function (slide) {\r\n var self = this,\r\n $slide = slide.$slide,\r\n end = false,\r\n start = false,\r\n isMoved = self.isMoved(slide),\r\n isRevealed = slide.isRevealed,\r\n effect,\r\n effectClassName,\r\n duration,\r\n opacity;\r\n\r\n slide.isRevealed = true;\r\n\r\n effect = slide.opts[self.firstRun ? \"animationEffect\" : \"transitionEffect\"];\r\n duration = slide.opts[self.firstRun ? \"animationDuration\" : \"transitionDuration\"];\r\n\r\n duration = parseInt(slide.forcedDuration === undefined ? duration : slide.forcedDuration, 10);\r\n\r\n if (isMoved || slide.pos !== self.currPos || !duration) {\r\n effect = false;\r\n }\r\n\r\n // Check if can zoom\r\n if (effect === \"zoom\") {\r\n if (slide.pos === self.currPos && duration && slide.type === \"image\" && !slide.hasError && (start = self.getThumbPos(slide))) {\r\n end = self.getFitPos(slide);\r\n } else {\r\n effect = \"fade\";\r\n }\r\n }\r\n\r\n // Zoom animation\r\n // ==============\r\n if (effect === \"zoom\") {\r\n self.isAnimating = true;\r\n\r\n end.scaleX = end.width / start.width;\r\n end.scaleY = end.height / start.height;\r\n\r\n // Check if we need to animate opacity\r\n opacity = slide.opts.zoomOpacity;\r\n\r\n if (opacity == \"auto\") {\r\n opacity = Math.abs(slide.width / slide.height - start.width / start.height) > 0.1;\r\n }\r\n\r\n if (opacity) {\r\n start.opacity = 0.1;\r\n end.opacity = 1;\r\n }\r\n\r\n // Draw image at start position\r\n $.fancybox.setTranslate(slide.$content.removeClass(\"fancybox-is-hidden\"), start);\r\n\r\n forceRedraw(slide.$content);\r\n\r\n // Start animation\r\n $.fancybox.animate(slide.$content, end, duration, function () {\r\n self.isAnimating = false;\r\n\r\n self.complete();\r\n });\r\n\r\n return;\r\n }\r\n\r\n self.updateSlide(slide);\r\n\r\n // Simply show content if no effect\r\n // ================================\r\n if (!effect) {\r\n slide.$content.removeClass(\"fancybox-is-hidden\");\r\n\r\n if (!isRevealed && isMoved && slide.type === \"image\" && !slide.hasError) {\r\n slide.$content.hide().fadeIn(\"fast\");\r\n }\r\n\r\n if (slide.pos === self.currPos) {\r\n self.complete();\r\n }\r\n\r\n return;\r\n }\r\n\r\n // Prepare for CSS transiton\r\n // =========================\r\n $.fancybox.stop($slide);\r\n\r\n //effectClassName = \"fancybox-animated fancybox-slide--\" + (slide.pos >= self.prevPos ? \"next\" : \"previous\") + \" fancybox-fx-\" + effect;\r\n effectClassName = \"fancybox-slide--\" + (slide.pos >= self.prevPos ? \"next\" : \"previous\") + \" fancybox-animated fancybox-fx-\" + effect;\r\n\r\n $slide.addClass(effectClassName).removeClass(\"fancybox-slide--current\"); //.addClass(effectClassName);\r\n\r\n slide.$content.removeClass(\"fancybox-is-hidden\");\r\n\r\n // Force reflow\r\n forceRedraw($slide);\r\n\r\n if (slide.type !== \"image\") {\r\n slide.$content.hide().show(0);\r\n }\r\n\r\n $.fancybox.animate(\r\n $slide,\r\n \"fancybox-slide--current\",\r\n duration,\r\n function () {\r\n $slide.removeClass(effectClassName).css({\r\n transform: \"\",\r\n opacity: \"\"\r\n });\r\n\r\n if (slide.pos === self.currPos) {\r\n self.complete();\r\n }\r\n },\r\n true\r\n );\r\n },\r\n\r\n // Check if we can and have to zoom from thumbnail\r\n //================================================\r\n\r\n getThumbPos: function (slide) {\r\n var rez = false,\r\n $thumb = slide.$thumb,\r\n thumbPos,\r\n btw,\r\n brw,\r\n bbw,\r\n blw;\r\n\r\n if (!$thumb || !inViewport($thumb[0])) {\r\n return false;\r\n }\r\n\r\n thumbPos = $.fancybox.getTranslate($thumb);\r\n\r\n btw = parseFloat($thumb.css(\"border-top-width\") || 0);\r\n brw = parseFloat($thumb.css(\"border-right-width\") || 0);\r\n bbw = parseFloat($thumb.css(\"border-bottom-width\") || 0);\r\n blw = parseFloat($thumb.css(\"border-left-width\") || 0);\r\n\r\n rez = {\r\n top: thumbPos.top + btw,\r\n left: thumbPos.left + blw,\r\n width: thumbPos.width - brw - blw,\r\n height: thumbPos.height - btw - bbw,\r\n scaleX: 1,\r\n scaleY: 1\r\n };\r\n\r\n return thumbPos.width > 0 && thumbPos.height > 0 ? rez : false;\r\n },\r\n\r\n // Final adjustments after current gallery item is moved to position\r\n // and it`s content is loaded\r\n // ==================================================================\r\n\r\n complete: function () {\r\n var self = this,\r\n current = self.current,\r\n slides = {},\r\n $el;\r\n\r\n if (self.isMoved() || !current.isLoaded) {\r\n return;\r\n }\r\n\r\n if (!current.isComplete) {\r\n current.isComplete = true;\r\n\r\n current.$slide.siblings().trigger(\"onReset\");\r\n\r\n self.preload(\"inline\");\r\n\r\n // Trigger any CSS transiton inside the slide\r\n forceRedraw(current.$slide);\r\n\r\n current.$slide.addClass(\"fancybox-slide--complete\");\r\n\r\n // Remove unnecessary slides\r\n $.each(self.slides, function (key, slide) {\r\n if (slide.pos >= self.currPos - 1 && slide.pos <= self.currPos + 1) {\r\n slides[slide.pos] = slide;\r\n } else if (slide) {\r\n $.fancybox.stop(slide.$slide);\r\n\r\n slide.$slide.off().remove();\r\n }\r\n });\r\n\r\n self.slides = slides;\r\n }\r\n\r\n self.isAnimating = false;\r\n\r\n self.updateCursor();\r\n\r\n self.trigger(\"afterShow\");\r\n\r\n // Autoplay first html5 video/audio\r\n if (!!current.opts.video.autoStart) {\r\n current.$slide\r\n .find(\"video,audio\")\r\n .filter(\":visible:first\")\r\n .trigger(\"play\")\r\n .one(\"ended\", function () {\r\n if (Document.exitFullscreen) {\r\n Document.exitFullscreen();\r\n } else if (this.webkitExitFullscreen) {\r\n this.webkitExitFullscreen();\r\n }\r\n\r\n self.next();\r\n });\r\n }\r\n\r\n // Try to focus on the first focusable element\r\n if (current.opts.autoFocus && current.contentType === \"html\") {\r\n // Look for the first input with autofocus attribute\r\n $el = current.$content.find(\"input[autofocus]:enabled:visible:first\");\r\n\r\n if ($el.length) {\r\n $el.trigger(\"focus\");\r\n } else {\r\n self.focus(null, true);\r\n }\r\n }\r\n\r\n // Avoid jumping\r\n current.$slide.scrollTop(0).scrollLeft(0);\r\n },\r\n\r\n // Preload next and previous slides\r\n // ================================\r\n\r\n preload: function (type) {\r\n var self = this,\r\n prev,\r\n next;\r\n\r\n if (self.group.length < 2) {\r\n return;\r\n }\r\n\r\n next = self.slides[self.currPos + 1];\r\n prev = self.slides[self.currPos - 1];\r\n\r\n if (prev && prev.type === type) {\r\n self.loadSlide(prev);\r\n }\r\n\r\n if (next && next.type === type) {\r\n self.loadSlide(next);\r\n }\r\n },\r\n\r\n // Try to find and focus on the first focusable element\r\n // ====================================================\r\n\r\n focus: function (e, firstRun) {\r\n var self = this,\r\n focusableStr = [\r\n \"a[href]\",\r\n \"area[href]\",\r\n 'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\r\n \"select:not([disabled]):not([aria-hidden])\",\r\n \"textarea:not([disabled]):not([aria-hidden])\",\r\n \"button:not([disabled]):not([aria-hidden])\",\r\n \"iframe\",\r\n \"object\",\r\n \"embed\",\r\n \"video\",\r\n \"audio\",\r\n \"[contenteditable]\",\r\n '[tabindex]:not([tabindex^=\"-\"])'\r\n ].join(\",\"),\r\n focusableItems,\r\n focusedItemIndex;\r\n\r\n if (self.isClosing) {\r\n return;\r\n }\r\n\r\n if (e || !self.current || !self.current.isComplete) {\r\n // Focus on any element inside fancybox\r\n focusableItems = self.$refs.container.find(\"*:visible\");\r\n } else {\r\n // Focus inside current slide\r\n focusableItems = self.current.$slide.find(\"*:visible\" + (firstRun ? \":not(.fancybox-close-small)\" : \"\"));\r\n }\r\n\r\n focusableItems = focusableItems.filter(focusableStr).filter(function () {\r\n return $(this).css(\"visibility\") !== \"hidden\" && !$(this).hasClass(\"disabled\");\r\n });\r\n\r\n if (focusableItems.length) {\r\n focusedItemIndex = focusableItems.index(document.activeElement);\r\n\r\n if (e && e.shiftKey) {\r\n // Back tab\r\n if (focusedItemIndex < 0 || focusedItemIndex == 0) {\r\n e.preventDefault();\r\n\r\n focusableItems.eq(focusableItems.length - 1).trigger(\"focus\");\r\n }\r\n } else {\r\n // Outside or Forward tab\r\n if (focusedItemIndex < 0 || focusedItemIndex == focusableItems.length - 1) {\r\n if (e) {\r\n e.preventDefault();\r\n }\r\n\r\n focusableItems.eq(0).trigger(\"focus\");\r\n }\r\n }\r\n } else {\r\n self.$refs.container.trigger(\"focus\");\r\n }\r\n },\r\n\r\n // Activates current instance - brings container to the front and enables keyboard,\r\n // notifies other instances about deactivating\r\n // =================================================================================\r\n\r\n activate: function () {\r\n var self = this;\r\n\r\n // Deactivate all instances\r\n $(\".fancybox-container\").each(function () {\r\n var instance = $(this).data(\"FancyBox\");\r\n\r\n // Skip self and closing instances\r\n if (instance && instance.id !== self.id && !instance.isClosing) {\r\n instance.trigger(\"onDeactivate\");\r\n\r\n instance.removeEvents();\r\n\r\n instance.isVisible = false;\r\n }\r\n });\r\n\r\n self.isVisible = true;\r\n\r\n if (self.current || self.isIdle) {\r\n self.update();\r\n\r\n self.updateControls();\r\n }\r\n\r\n self.trigger(\"onActivate\");\r\n\r\n self.addEvents();\r\n },\r\n\r\n // Start closing procedure\r\n // This will start \"zoom-out\" animation if needed and clean everything up afterwards\r\n // =================================================================================\r\n\r\n close: function (e, d) {\r\n var self = this,\r\n current = self.current,\r\n effect,\r\n duration,\r\n $content,\r\n domRect,\r\n opacity,\r\n start,\r\n end;\r\n\r\n var done = function () {\r\n self.cleanUp(e);\r\n };\r\n\r\n if (self.isClosing) {\r\n return false;\r\n }\r\n\r\n self.isClosing = true;\r\n\r\n // If beforeClose callback prevents closing, make sure content is centered\r\n if (self.trigger(\"beforeClose\", e) === false) {\r\n self.isClosing = false;\r\n\r\n requestAFrame(function () {\r\n self.update();\r\n });\r\n\r\n return false;\r\n }\r\n\r\n // Remove all events\r\n // If there are multiple instances, they will be set again by \"activate\" method\r\n self.removeEvents();\r\n\r\n $content = current.$content;\r\n effect = current.opts.animationEffect;\r\n duration = $.isNumeric(d) ? d : effect ? current.opts.animationDuration : 0;\r\n\r\n current.$slide.removeClass(\"fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated\");\r\n\r\n if (e !== true) {\r\n $.fancybox.stop(current.$slide);\r\n } else {\r\n effect = false;\r\n }\r\n\r\n // Remove other slides\r\n current.$slide\r\n .siblings()\r\n .trigger(\"onReset\")\r\n .remove();\r\n\r\n // Trigger animations\r\n if (duration) {\r\n self.$refs.container\r\n .removeClass(\"fancybox-is-open\")\r\n .addClass(\"fancybox-is-closing\")\r\n .css(\"transition-duration\", duration + \"ms\");\r\n }\r\n\r\n // Clean up\r\n self.hideLoading(current);\r\n\r\n self.hideControls(true);\r\n\r\n self.updateCursor();\r\n\r\n // Check if possible to zoom-out\r\n if (\r\n effect === \"zoom\" &&\r\n !($content && duration && current.type === \"image\" && !self.isMoved() && !current.hasError && (end = self.getThumbPos(current)))\r\n ) {\r\n effect = \"fade\";\r\n }\r\n\r\n if (effect === \"zoom\") {\r\n $.fancybox.stop($content);\r\n\r\n domRect = $.fancybox.getTranslate($content);\r\n\r\n start = {\r\n top: domRect.top,\r\n left: domRect.left,\r\n scaleX: domRect.width / end.width,\r\n scaleY: domRect.height / end.height,\r\n width: end.width,\r\n height: end.height\r\n };\r\n\r\n // Check if we need to animate opacity\r\n opacity = current.opts.zoomOpacity;\r\n\r\n if (opacity == \"auto\") {\r\n opacity = Math.abs(current.width / current.height - end.width / end.height) > 0.1;\r\n }\r\n\r\n if (opacity) {\r\n end.opacity = 0;\r\n }\r\n\r\n $.fancybox.setTranslate($content, start);\r\n\r\n forceRedraw($content);\r\n\r\n $.fancybox.animate($content, end, duration, done);\r\n\r\n return true;\r\n }\r\n\r\n if (effect && duration) {\r\n $.fancybox.animate(\r\n current.$slide.addClass(\"fancybox-slide--previous\").removeClass(\"fancybox-slide--current\"),\r\n \"fancybox-animated fancybox-fx-\" + effect,\r\n duration,\r\n done\r\n );\r\n } else {\r\n // If skip animation\r\n if (e === true) {\r\n setTimeout(done, duration);\r\n } else {\r\n done();\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n\r\n // Final adjustments after removing the instance\r\n // =============================================\r\n\r\n cleanUp: function (e) {\r\n var self = this,\r\n instance,\r\n $focus = self.current.opts.$orig,\r\n x,\r\n y;\r\n\r\n self.current.$slide.trigger(\"onReset\");\r\n\r\n self.$refs.container.empty().remove();\r\n\r\n self.trigger(\"afterClose\", e);\r\n\r\n // Place back focus\r\n if (!!self.current.opts.backFocus) {\r\n if (!$focus || !$focus.length || !$focus.is(\":visible\")) {\r\n $focus = self.$trigger;\r\n }\r\n\r\n if ($focus && $focus.length) {\r\n x = window.scrollX;\r\n y = window.scrollY;\r\n\r\n $focus.trigger(\"focus\");\r\n\r\n $(\"html, body\")\r\n .scrollTop(y)\r\n .scrollLeft(x);\r\n }\r\n }\r\n\r\n self.current = null;\r\n\r\n // Check if there are other instances\r\n instance = $.fancybox.getInstance();\r\n\r\n if (instance) {\r\n instance.activate();\r\n } else {\r\n $(\"body\").removeClass(\"fancybox-active compensate-for-scrollbar\");\r\n\r\n $(\"#fancybox-style-noscroll\").remove();\r\n }\r\n },\r\n\r\n // Call callback and trigger an event\r\n // ==================================\r\n\r\n trigger: function (name, slide) {\r\n var args = Array.prototype.slice.call(arguments, 1),\r\n self = this,\r\n obj = slide && slide.opts ? slide : self.current,\r\n rez;\r\n\r\n if (obj) {\r\n args.unshift(obj);\r\n } else {\r\n obj = self;\r\n }\r\n\r\n args.unshift(self);\r\n\r\n if ($.isFunction(obj.opts[name])) {\r\n rez = obj.opts[name].apply(obj, args);\r\n }\r\n\r\n if (rez === false) {\r\n return rez;\r\n }\r\n\r\n if (name === \"afterClose\" || !self.$refs) {\r\n $D.trigger(name + \".fb\", args);\r\n } else {\r\n self.$refs.container.trigger(name + \".fb\", args);\r\n }\r\n },\r\n\r\n // Update infobar values, navigation button states and reveal caption\r\n // ==================================================================\r\n\r\n updateControls: function () {\r\n var self = this,\r\n current = self.current,\r\n index = current.index,\r\n $container = self.$refs.container,\r\n $caption = self.$refs.caption,\r\n caption = current.opts.caption;\r\n\r\n // Recalculate content dimensions\r\n current.$slide.trigger(\"refresh\");\r\n\r\n // Set caption\r\n if (caption && caption.length) {\r\n self.$caption = $caption;\r\n\r\n $caption\r\n .children()\r\n .eq(0)\r\n .html(caption);\r\n } else {\r\n self.$caption = null;\r\n }\r\n\r\n if (!self.hasHiddenControls && !self.isIdle) {\r\n self.showControls();\r\n }\r\n\r\n // Update info and navigation elements\r\n $container.find(\"[data-fancybox-count]\").html(self.group.length);\r\n $container.find(\"[data-fancybox-index]\").html(index + 1);\r\n\r\n $container.find(\"[data-fancybox-prev]\").prop(\"disabled\", !current.opts.loop && index <= 0);\r\n $container.find(\"[data-fancybox-next]\").prop(\"disabled\", !current.opts.loop && index >= self.group.length - 1);\r\n\r\n if (current.type === \"image\") {\r\n // Re-enable buttons; update download button source\r\n $container\r\n .find(\"[data-fancybox-zoom]\")\r\n .show()\r\n .end()\r\n .find(\"[data-fancybox-download]\")\r\n .attr(\"href\", current.opts.image.src || current.src)\r\n .show();\r\n } else if (current.opts.toolbar) {\r\n $container.find(\"[data-fancybox-download],[data-fancybox-zoom]\").hide();\r\n }\r\n\r\n // Make sure focus is not on disabled button/element\r\n if ($(document.activeElement).is(\":hidden,[disabled]\")) {\r\n self.$refs.container.trigger(\"focus\");\r\n }\r\n },\r\n\r\n // Hide toolbar and caption\r\n // ========================\r\n\r\n hideControls: function (andCaption) {\r\n var self = this,\r\n arr = [\"infobar\", \"toolbar\", \"nav\"];\r\n\r\n if (andCaption || !self.current.opts.preventCaptionOverlap) {\r\n arr.push(\"caption\");\r\n }\r\n\r\n this.$refs.container.removeClass(\r\n arr\r\n .map(function (i) {\r\n return \"fancybox-show-\" + i;\r\n })\r\n .join(\" \")\r\n );\r\n\r\n this.hasHiddenControls = true;\r\n },\r\n\r\n showControls: function () {\r\n var self = this,\r\n opts = self.current ? self.current.opts : self.opts,\r\n $container = self.$refs.container;\r\n\r\n self.hasHiddenControls = false;\r\n self.idleSecondsCounter = 0;\r\n\r\n $container\r\n .toggleClass(\"fancybox-show-toolbar\", !!(opts.toolbar && opts.buttons))\r\n .toggleClass(\"fancybox-show-infobar\", !!(opts.infobar && self.group.length > 1))\r\n .toggleClass(\"fancybox-show-caption\", !!self.$caption)\r\n .toggleClass(\"fancybox-show-nav\", !!(opts.arrows && self.group.length > 1))\r\n .toggleClass(\"fancybox-is-modal\", !!opts.modal);\r\n },\r\n\r\n // Toggle toolbar and caption\r\n // ==========================\r\n\r\n toggleControls: function () {\r\n if (this.hasHiddenControls) {\r\n this.showControls();\r\n } else {\r\n this.hideControls();\r\n }\r\n }\r\n });\r\n\r\n $.fancybox = {\r\n version: \"3.5.7\",\r\n defaults: defaults,\r\n\r\n // Get current instance and execute a command.\r\n //\r\n // Examples of usage:\r\n //\r\n // $instance = $.fancybox.getInstance();\r\n // $.fancybox.getInstance().jumpTo( 1 );\r\n // $.fancybox.getInstance( 'jumpTo', 1 );\r\n // $.fancybox.getInstance( function() {\r\n // console.info( this.currIndex );\r\n // });\r\n // ======================================================\r\n\r\n getInstance: function (command) {\r\n var instance = $('.fancybox-container:not(\".fancybox-is-closing\"):last').data(\"FancyBox\"),\r\n args = Array.prototype.slice.call(arguments, 1);\r\n\r\n if (instance instanceof FancyBox) {\r\n if ($.type(command) === \"string\") {\r\n instance[command].apply(instance, args);\r\n } else if ($.type(command) === \"function\") {\r\n command.apply(instance, args);\r\n }\r\n\r\n return instance;\r\n }\r\n\r\n return false;\r\n },\r\n\r\n // Create new instance\r\n // ===================\r\n\r\n open: function (items, opts, index) {\r\n return new FancyBox(items, opts, index);\r\n },\r\n\r\n // Close current or all instances\r\n // ==============================\r\n\r\n close: function (all) {\r\n var instance = this.getInstance();\r\n\r\n if (instance) {\r\n instance.close();\r\n\r\n // Try to find and close next instance\r\n if (all === true) {\r\n this.close(all);\r\n }\r\n }\r\n },\r\n\r\n // Close all instances and unbind all events\r\n // =========================================\r\n\r\n destroy: function () {\r\n this.close(true);\r\n\r\n $D.add(\"body\").off(\"click.fb-start\", \"**\");\r\n },\r\n\r\n // Try to detect mobile devices\r\n // ============================\r\n\r\n isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),\r\n\r\n // Detect if 'translate3d' support is available\r\n // ============================================\r\n\r\n use3d: (function () {\r\n var div = document.createElement(\"div\");\r\n\r\n return (\r\n window.getComputedStyle &&\r\n window.getComputedStyle(div) &&\r\n window.getComputedStyle(div).getPropertyValue(\"transform\") &&\r\n !(document.documentMode && document.documentMode < 11)\r\n );\r\n })(),\r\n\r\n // Helper function to get current visual state of an element\r\n // returns array[ top, left, horizontal-scale, vertical-scale, opacity ]\r\n // =====================================================================\r\n\r\n getTranslate: function ($el) {\r\n var domRect;\r\n\r\n if (!$el || !$el.length) {\r\n return false;\r\n }\r\n\r\n domRect = $el[0].getBoundingClientRect();\r\n\r\n return {\r\n top: domRect.top || 0,\r\n left: domRect.left || 0,\r\n width: domRect.width,\r\n height: domRect.height,\r\n opacity: parseFloat($el.css(\"opacity\"))\r\n };\r\n },\r\n\r\n // Shortcut for setting \"translate3d\" properties for element\r\n // Can set be used to set opacity, too\r\n // ========================================================\r\n\r\n setTranslate: function ($el, props) {\r\n var str = \"\",\r\n css = {};\r\n\r\n if (!$el || !props) {\r\n return;\r\n }\r\n\r\n if (props.left !== undefined || props.top !== undefined) {\r\n str =\r\n (props.left === undefined ? $el.position().left : props.left) +\r\n \"px, \" +\r\n (props.top === undefined ? $el.position().top : props.top) +\r\n \"px\";\r\n\r\n if (this.use3d) {\r\n str = \"translate3d(\" + str + \", 0px)\";\r\n } else {\r\n str = \"translate(\" + str + \")\";\r\n }\r\n }\r\n\r\n if (props.scaleX !== undefined && props.scaleY !== undefined) {\r\n str += \" scale(\" + props.scaleX + \", \" + props.scaleY + \")\";\r\n } else if (props.scaleX !== undefined) {\r\n str += \" scaleX(\" + props.scaleX + \")\";\r\n }\r\n\r\n if (str.length) {\r\n css.transform = str;\r\n }\r\n\r\n if (props.opacity !== undefined) {\r\n css.opacity = props.opacity;\r\n }\r\n\r\n if (props.width !== undefined) {\r\n css.width = props.width;\r\n }\r\n\r\n if (props.height !== undefined) {\r\n css.height = props.height;\r\n }\r\n\r\n return $el.css(css);\r\n },\r\n\r\n // Simple CSS transition handler\r\n // =============================\r\n\r\n animate: function ($el, to, duration, callback, leaveAnimationName) {\r\n var self = this,\r\n from;\r\n\r\n if ($.isFunction(duration)) {\r\n callback = duration;\r\n duration = null;\r\n }\r\n\r\n self.stop($el);\r\n\r\n from = self.getTranslate($el);\r\n\r\n $el.on(transitionEnd, function (e) {\r\n // Skip events from child elements and z-index change\r\n if (e && e.originalEvent && (!$el.is(e.originalEvent.target) || e.originalEvent.propertyName == \"z-index\")) {\r\n return;\r\n }\r\n\r\n self.stop($el);\r\n\r\n if ($.isNumeric(duration)) {\r\n $el.css(\"transition-duration\", \"\");\r\n }\r\n\r\n if ($.isPlainObject(to)) {\r\n if (to.scaleX !== undefined && to.scaleY !== undefined) {\r\n self.setTranslate($el, {\r\n top: to.top,\r\n left: to.left,\r\n width: from.width * to.scaleX,\r\n height: from.height * to.scaleY,\r\n scaleX: 1,\r\n scaleY: 1\r\n });\r\n }\r\n } else if (leaveAnimationName !== true) {\r\n $el.removeClass(to);\r\n }\r\n\r\n if ($.isFunction(callback)) {\r\n callback(e);\r\n }\r\n });\r\n\r\n if ($.isNumeric(duration)) {\r\n $el.css(\"transition-duration\", duration + \"ms\");\r\n }\r\n\r\n // Start animation by changing CSS properties or class name\r\n if ($.isPlainObject(to)) {\r\n if (to.scaleX !== undefined && to.scaleY !== undefined) {\r\n delete to.width;\r\n delete to.height;\r\n\r\n if ($el.parent().hasClass(\"fancybox-slide--image\")) {\r\n $el.parent().addClass(\"fancybox-is-scaling\");\r\n }\r\n }\r\n\r\n $.fancybox.setTranslate($el, to);\r\n } else {\r\n $el.addClass(to);\r\n }\r\n\r\n // Make sure that `transitionend` callback gets fired\r\n $el.data(\r\n \"timer\",\r\n setTimeout(function () {\r\n $el.trigger(transitionEnd);\r\n }, duration + 33)\r\n );\r\n },\r\n\r\n stop: function ($el, callCallback) {\r\n if ($el && $el.length) {\r\n clearTimeout($el.data(\"timer\"));\r\n\r\n if (callCallback) {\r\n $el.trigger(transitionEnd);\r\n }\r\n\r\n $el.off(transitionEnd).css(\"transition-duration\", \"\");\r\n\r\n $el.parent().removeClass(\"fancybox-is-scaling\");\r\n }\r\n }\r\n };\r\n\r\n // Default click handler for \"fancyboxed\" links\r\n // ============================================\r\n\r\n function _run(e, opts) {\r\n var items = [],\r\n index = 0,\r\n $target,\r\n value,\r\n instance;\r\n\r\n // Avoid opening multiple times\r\n if (e && e.isDefaultPrevented()) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n opts = opts || {};\r\n\r\n if (e && e.data) {\r\n opts = mergeOpts(e.data.options, opts);\r\n }\r\n\r\n $target = opts.$target || $(e.currentTarget).trigger(\"blur\");\r\n instance = $.fancybox.getInstance();\r\n\r\n if (instance && instance.$trigger && instance.$trigger.is($target)) {\r\n return;\r\n }\r\n\r\n if (opts.selector) {\r\n items = $(opts.selector);\r\n } else {\r\n // Get all related items and find index for clicked one\r\n value = $target.attr(\"data-fancybox\") || \"\";\r\n\r\n if (value) {\r\n items = e.data ? e.data.items : [];\r\n items = items.length ? items.filter('[data-fancybox=\"' + value + '\"]') : $('[data-fancybox=\"' + value + '\"]');\r\n } else {\r\n items = [$target];\r\n }\r\n }\r\n\r\n index = $(items).index($target);\r\n\r\n // Sometimes current item can not be found\r\n if (index < 0) {\r\n index = 0;\r\n }\r\n\r\n instance = $.fancybox.open(items, opts, index);\r\n\r\n // Save last active element\r\n instance.$trigger = $target;\r\n }\r\n\r\n // Create a jQuery plugin\r\n // ======================\r\n\r\n $.fn.fancybox = function (options) {\r\n var selector;\r\n\r\n options = options || {};\r\n selector = options.selector || false;\r\n\r\n if (selector) {\r\n // Use body element instead of document so it executes first\r\n $(\"body\")\r\n .off(\"click.fb-start\", selector)\r\n .on(\"click.fb-start\", selector, {\r\n options: options\r\n }, _run);\r\n } else {\r\n this.off(\"click.fb-start\").on(\r\n \"click.fb-start\", {\r\n items: this,\r\n options: options\r\n },\r\n _run\r\n );\r\n }\r\n\r\n return this;\r\n };\r\n\r\n // Self initializing plugin for all elements having `data-fancybox` attribute\r\n // ==========================================================================\r\n\r\n $D.on(\"click.fb-start\", \"[data-fancybox]\", _run);\r\n\r\n // Enable \"trigger elements\"\r\n // =========================\r\n\r\n $D.on(\"click.fb-start\", \"[data-fancybox-trigger]\", function (e) {\r\n $('[data-fancybox=\"' + $(this).attr(\"data-fancybox-trigger\") + '\"]')\r\n .eq($(this).attr(\"data-fancybox-index\") || 0)\r\n .trigger(\"click.fb-start\", {\r\n $trigger: $(this)\r\n });\r\n });\r\n\r\n // Track focus event for better accessibility styling\r\n // ==================================================\r\n (function () {\r\n var buttonStr = \".fancybox-button\",\r\n focusStr = \"fancybox-focus\",\r\n $pressed = null;\r\n\r\n $D.on(\"mousedown mouseup focus blur\", buttonStr, function (e) {\r\n switch (e.type) {\r\n case \"mousedown\":\r\n $pressed = $(this);\r\n break;\r\n case \"mouseup\":\r\n $pressed = null;\r\n break;\r\n case \"focusin\":\r\n $(buttonStr).removeClass(focusStr);\r\n\r\n if (!$(this).is($pressed) && !$(this).is(\"[disabled]\")) {\r\n $(this).addClass(focusStr);\r\n }\r\n break;\r\n case \"focusout\":\r\n $(buttonStr).removeClass(focusStr);\r\n break;\r\n }\r\n });\r\n })();\r\n})(window, document, jQuery);\r\n// ==========================================================================\r\n//\r\n// Media\r\n// Adds additional media type support\r\n//\r\n// ==========================================================================\r\n(function ($) {\r\n \"use strict\";\r\n\r\n // Object containing properties for each media type\r\n var defaults = {\r\n youtube: {\r\n matcher: /(youtube\\.com|youtu\\.be|youtube\\-nocookie\\.com)\\/(watch\\?(.*&)?v=|v\\/|u\\/|embed\\/?)?(videoseries\\?list=(.*)|[\\w-]{11}|\\?listType=(.*)&list=(.*))(.*)/i,\r\n params: {\r\n autoplay: 1,\r\n autohide: 1,\r\n fs: 1,\r\n rel: 0,\r\n hd: 1,\r\n wmode: \"transparent\",\r\n enablejsapi: 1,\r\n html5: 1\r\n },\r\n paramPlace: 8,\r\n type: \"iframe\",\r\n url: \"https://www.youtube-nocookie.com/embed/$4\",\r\n thumb: \"https://img.youtube.com/vi/$4/hqdefault.jpg\"\r\n },\r\n\r\n vimeo: {\r\n matcher: /^.+vimeo.com\\/(.*\\/)?([\\d]+)(.*)?/,\r\n params: {\r\n autoplay: 1,\r\n hd: 1,\r\n show_title: 1,\r\n show_byline: 1,\r\n show_portrait: 0,\r\n fullscreen: 1\r\n },\r\n paramPlace: 3,\r\n type: \"iframe\",\r\n url: \"//player.vimeo.com/video/$2\"\r\n },\r\n\r\n instagram: {\r\n matcher: /(instagr\\.am|instagram\\.com)\\/p\\/([a-zA-Z0-9_\\-]+)\\/?/i,\r\n type: \"image\",\r\n url: \"//$1/p/$2/media/?size=l\"\r\n },\r\n\r\n // Examples:\r\n // http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16\r\n // https://www.google.com/maps/@37.7852006,-122.4146355,14.65z\r\n // https://www.google.com/maps/@52.2111123,2.9237542,6.61z?hl=en\r\n // https://www.google.com/maps/place/Googleplex/@37.4220041,-122.0833494,17z/data=!4m5!3m4!1s0x0:0x6c296c66619367e0!8m2!3d37.4219998!4d-122.0840572\r\n gmap_place: {\r\n matcher: /(maps\\.)?google\\.([a-z]{2,3}(\\.[a-z]{2})?)\\/(((maps\\/(place\\/(.*)\\/)?\\@(.*),(\\d+.?\\d+?)z))|(\\?ll=))(.*)?/i,\r\n type: \"iframe\",\r\n url: function (rez) {\r\n return (\r\n \"//maps.google.\" +\r\n rez[2] +\r\n \"/?ll=\" +\r\n (rez[9] ? rez[9] + \"&z=\" + Math.floor(rez[10]) + (rez[12] ? rez[12].replace(/^\\//, \"&\") : \"\") : rez[12] + \"\").replace(/\\?/, \"&\") +\r\n \"&output=\" +\r\n (rez[12] && rez[12].indexOf(\"layer=c\") > 0 ? \"svembed\" : \"embed\")\r\n );\r\n }\r\n },\r\n\r\n // Examples:\r\n // https://www.google.com/maps/search/Empire+State+Building/\r\n // https://www.google.com/maps/search/?api=1&query=centurylink+field\r\n // https://www.google.com/maps/search/?api=1&query=47.5951518,-122.3316393\r\n gmap_search: {\r\n matcher: /(maps\\.)?google\\.([a-z]{2,3}(\\.[a-z]{2})?)\\/(maps\\/search\\/)(.*)/i,\r\n type: \"iframe\",\r\n url: function (rez) {\r\n return \"//maps.google.\" + rez[2] + \"/maps?q=\" + rez[5].replace(\"query=\", \"q=\").replace(\"api=1\", \"\") + \"&output=embed\";\r\n }\r\n }\r\n };\r\n\r\n // Formats matching url to final form\r\n var format = function (url, rez, params) {\r\n if (!url) {\r\n return;\r\n }\r\n\r\n params = params || \"\";\r\n\r\n if ($.type(params) === \"object\") {\r\n params = $.param(params, true);\r\n }\r\n\r\n $.each(rez, function (key, value) {\r\n url = url.replace(\"$\" + key, value || \"\");\r\n });\r\n\r\n if (params.length) {\r\n url += (url.indexOf(\"?\") > 0 ? \"&\" : \"?\") + params;\r\n }\r\n\r\n return url;\r\n };\r\n\r\n $(document).on(\"objectNeedsType.fb\", function (e, instance, item) {\r\n var url = item.src || \"\",\r\n type = false,\r\n media,\r\n thumb,\r\n rez,\r\n params,\r\n urlParams,\r\n paramObj,\r\n provider;\r\n\r\n media = $.extend(true, {}, defaults, item.opts.media);\r\n\r\n // Look for any matching media type\r\n $.each(media, function (providerName, providerOpts) {\r\n rez = url.match(providerOpts.matcher);\r\n\r\n if (!rez) {\r\n return;\r\n }\r\n\r\n type = providerOpts.type;\r\n provider = providerName;\r\n paramObj = {};\r\n\r\n if (providerOpts.paramPlace && rez[providerOpts.paramPlace]) {\r\n urlParams = rez[providerOpts.paramPlace];\r\n\r\n if (urlParams[0] == \"?\") {\r\n urlParams = urlParams.substring(1);\r\n }\r\n\r\n urlParams = urlParams.split(\"&\");\r\n\r\n for (var m = 0; m < urlParams.length; ++m) {\r\n var p = urlParams[m].split(\"=\", 2);\r\n\r\n if (p.length == 2) {\r\n paramObj[p[0]] = decodeURIComponent(p[1].replace(/\\+/g, \" \"));\r\n }\r\n }\r\n }\r\n\r\n params = $.extend(true, {}, providerOpts.params, item.opts[providerName], paramObj);\r\n\r\n url =\r\n $.type(providerOpts.url) === \"function\" ? providerOpts.url.call(this, rez, params, item) : format(providerOpts.url, rez, params);\r\n\r\n thumb =\r\n $.type(providerOpts.thumb) === \"function\" ? providerOpts.thumb.call(this, rez, params, item) : format(providerOpts.thumb, rez);\r\n\r\n if (providerName === \"youtube\") {\r\n url = url.replace(/&t=((\\d+)m)?(\\d+)s/, function (match, p1, m, s) {\r\n return \"&start=\" + ((m ? parseInt(m, 10) * 60 : 0) + parseInt(s, 10));\r\n });\r\n } else if (providerName === \"vimeo\") {\r\n url = url.replace(\"&%23\", \"#\");\r\n }\r\n\r\n return false;\r\n });\r\n\r\n // If it is found, then change content type and update the url\r\n\r\n if (type) {\r\n if (!item.opts.thumb && !(item.opts.$thumb && item.opts.$thumb.length)) {\r\n item.opts.thumb = thumb;\r\n }\r\n\r\n if (type === \"iframe\") {\r\n item.opts = $.extend(true, item.opts, {\r\n iframe: {\r\n preload: false,\r\n attr: {\r\n scrolling: \"no\"\r\n }\r\n }\r\n });\r\n }\r\n\r\n $.extend(item, {\r\n type: type,\r\n src: url,\r\n origSrc: item.src,\r\n contentSource: provider,\r\n contentType: type === \"image\" ? \"image\" : provider == \"gmap_place\" || provider == \"gmap_search\" ? \"map\" : \"video\"\r\n });\r\n } else if (url) {\r\n item.type = item.opts.defaultType;\r\n }\r\n });\r\n\r\n // Load YouTube/Video API on request to detect when video finished playing\r\n var VideoAPILoader = {\r\n youtube: {\r\n src: \"https://www.youtube.com/iframe_api\",\r\n class: \"YT\",\r\n loading: false,\r\n loaded: false\r\n },\r\n\r\n vimeo: {\r\n src: \"https://player.vimeo.com/api/player.js\",\r\n class: \"Vimeo\",\r\n loading: false,\r\n loaded: false\r\n },\r\n\r\n load: function (vendor) {\r\n var _this = this,\r\n script;\r\n\r\n if (this[vendor].loaded) {\r\n setTimeout(function () {\r\n _this.done(vendor);\r\n });\r\n return;\r\n }\r\n\r\n if (this[vendor].loading) {\r\n return;\r\n }\r\n\r\n this[vendor].loading = true;\r\n\r\n script = document.createElement(\"script\");\r\n script.type = \"text/javascript\";\r\n script.src = this[vendor].src;\r\n\r\n if (vendor === \"youtube\") {\r\n window.onYouTubeIframeAPIReady = function () {\r\n _this[vendor].loaded = true;\r\n _this.done(vendor);\r\n };\r\n } else {\r\n script.onload = function () {\r\n _this[vendor].loaded = true;\r\n _this.done(vendor);\r\n };\r\n }\r\n\r\n document.body.appendChild(script);\r\n },\r\n done: function (vendor) {\r\n var instance, $el, player;\r\n\r\n if (vendor === \"youtube\") {\r\n delete window.onYouTubeIframeAPIReady;\r\n }\r\n\r\n instance = $.fancybox.getInstance();\r\n\r\n if (instance) {\r\n $el = instance.current.$content.find(\"iframe\");\r\n\r\n if (vendor === \"youtube\" && YT !== undefined && YT) {\r\n player = new YT.Player($el.attr(\"id\"), {\r\n events: {\r\n onStateChange: function (e) {\r\n if (e.data == 0) {\r\n instance.next();\r\n }\r\n }\r\n }\r\n });\r\n } else if (vendor === \"vimeo\" && Vimeo !== undefined && Vimeo) {\r\n player = new Vimeo.Player($el);\r\n\r\n player.on(\"ended\", function () {\r\n instance.next();\r\n });\r\n }\r\n }\r\n }\r\n };\r\n\r\n $(document).on({\r\n \"afterShow.fb\": function (e, instance, current) {\r\n if (instance.group.length > 1 && (current.contentSource === \"youtube\" || current.contentSource === \"vimeo\")) {\r\n VideoAPILoader.load(current.contentSource);\r\n }\r\n }\r\n });\r\n})(jQuery);\r\n// ==========================================================================\r\n//\r\n// Guestures\r\n// Adds touch guestures, handles click and tap events\r\n//\r\n// ==========================================================================\r\n(function (window, document, $) {\r\n \"use strict\";\r\n\r\n var requestAFrame = (function () {\r\n return (\r\n window.requestAnimationFrame ||\r\n window.webkitRequestAnimationFrame ||\r\n window.mozRequestAnimationFrame ||\r\n window.oRequestAnimationFrame ||\r\n // if all else fails, use setTimeout\r\n function (callback) {\r\n return window.setTimeout(callback, 1000 / 60);\r\n }\r\n );\r\n })();\r\n\r\n var cancelAFrame = (function () {\r\n return (\r\n window.cancelAnimationFrame ||\r\n window.webkitCancelAnimationFrame ||\r\n window.mozCancelAnimationFrame ||\r\n window.oCancelAnimationFrame ||\r\n function (id) {\r\n window.clearTimeout(id);\r\n }\r\n );\r\n })();\r\n\r\n var getPointerXY = function (e) {\r\n var result = [];\r\n\r\n e = e.originalEvent || e || window.e;\r\n e = e.touches && e.touches.length ? e.touches : e.changedTouches && e.changedTouches.length ? e.changedTouches : [e];\r\n\r\n for (var key in e) {\r\n if (e[key].pageX) {\r\n result.push({\r\n x: e[key].pageX,\r\n y: e[key].pageY\r\n });\r\n } else if (e[key].clientX) {\r\n result.push({\r\n x: e[key].clientX,\r\n y: e[key].clientY\r\n });\r\n }\r\n }\r\n\r\n return result;\r\n };\r\n\r\n var distance = function (point2, point1, what) {\r\n if (!point1 || !point2) {\r\n return 0;\r\n }\r\n\r\n if (what === \"x\") {\r\n return point2.x - point1.x;\r\n } else if (what === \"y\") {\r\n return point2.y - point1.y;\r\n }\r\n\r\n return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));\r\n };\r\n\r\n var isClickable = function ($el) {\r\n if (\r\n $el.is('a,area,button,[role=\"button\"],input,label,select,summary,textarea,video,audio,iframe') ||\r\n $.isFunction($el.get(0).onclick) ||\r\n $el.data(\"selectable\")\r\n ) {\r\n return true;\r\n }\r\n\r\n // Check for attributes like data-fancybox-next or data-fancybox-close\r\n for (var i = 0, atts = $el[0].attributes, n = atts.length; i < n; i++) {\r\n if (atts[i].nodeName.substr(0, 14) === \"data-fancybox-\") {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n\r\n var hasScrollbars = function (el) {\r\n var overflowY = window.getComputedStyle(el)[\"overflow-y\"],\r\n overflowX = window.getComputedStyle(el)[\"overflow-x\"],\r\n vertical = (overflowY === \"scroll\" || overflowY === \"auto\") && el.scrollHeight > el.clientHeight,\r\n horizontal = (overflowX === \"scroll\" || overflowX === \"auto\") && el.scrollWidth > el.clientWidth;\r\n\r\n return vertical || horizontal;\r\n };\r\n\r\n var isScrollable = function ($el) {\r\n var rez = false;\r\n\r\n while (true) {\r\n rez = hasScrollbars($el.get(0));\r\n\r\n if (rez) {\r\n break;\r\n }\r\n\r\n $el = $el.parent();\r\n\r\n if (!$el.length || $el.hasClass(\"fancybox-stage\") || $el.is(\"body\")) {\r\n break;\r\n }\r\n }\r\n\r\n return rez;\r\n };\r\n\r\n var Guestures = function (instance) {\r\n var self = this;\r\n\r\n self.instance = instance;\r\n\r\n self.$bg = instance.$refs.bg;\r\n self.$stage = instance.$refs.stage;\r\n self.$container = instance.$refs.container;\r\n\r\n self.destroy();\r\n\r\n self.$container.on(\"touchstart.fb.touch mousedown.fb.touch\", $.proxy(self, \"ontouchstart\"));\r\n };\r\n\r\n Guestures.prototype.destroy = function () {\r\n var self = this;\r\n\r\n self.$container.off(\".fb.touch\");\r\n\r\n $(document).off(\".fb.touch\");\r\n\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n self.requestId = null;\r\n }\r\n\r\n if (self.tapped) {\r\n clearTimeout(self.tapped);\r\n self.tapped = null;\r\n }\r\n };\r\n\r\n Guestures.prototype.ontouchstart = function (e) {\r\n var self = this,\r\n $target = $(e.target),\r\n instance = self.instance,\r\n current = instance.current,\r\n $slide = current.$slide,\r\n $content = current.$content,\r\n isTouchDevice = e.type == \"touchstart\";\r\n\r\n // Do not respond to both (touch and mouse) events\r\n if (isTouchDevice) {\r\n self.$container.off(\"mousedown.fb.touch\");\r\n }\r\n\r\n // Ignore right click\r\n if (e.originalEvent && e.originalEvent.button == 2) {\r\n return;\r\n }\r\n\r\n // Ignore taping on links, buttons, input elements\r\n if (!$slide.length || !$target.length || isClickable($target) || isClickable($target.parent())) {\r\n return;\r\n }\r\n // Ignore clicks on the scrollbar\r\n if (!$target.is(\"img\") && e.originalEvent.clientX > $target[0].clientWidth + $target.offset().left) {\r\n return;\r\n }\r\n\r\n // Ignore clicks while zooming or closing\r\n if (!current || instance.isAnimating || current.$slide.hasClass(\"fancybox-animated\")) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n return;\r\n }\r\n\r\n self.realPoints = self.startPoints = getPointerXY(e);\r\n\r\n if (!self.startPoints.length) {\r\n return;\r\n }\r\n\r\n // Allow other scripts to catch touch event if \"touch\" is set to false\r\n if (current.touch) {\r\n e.stopPropagation();\r\n }\r\n\r\n self.startEvent = e;\r\n\r\n self.canTap = true;\r\n self.$target = $target;\r\n self.$content = $content;\r\n self.opts = current.opts.touch;\r\n\r\n self.isPanning = false;\r\n self.isSwiping = false;\r\n self.isZooming = false;\r\n self.isScrolling = false;\r\n self.canPan = instance.canPan();\r\n\r\n self.startTime = new Date().getTime();\r\n self.distanceX = self.distanceY = self.distance = 0;\r\n\r\n self.canvasWidth = Math.round($slide[0].clientWidth);\r\n self.canvasHeight = Math.round($slide[0].clientHeight);\r\n\r\n self.contentLastPos = null;\r\n self.contentStartPos = $.fancybox.getTranslate(self.$content) || {\r\n top: 0,\r\n left: 0\r\n };\r\n self.sliderStartPos = $.fancybox.getTranslate($slide);\r\n\r\n // Since position will be absolute, but we need to make it relative to the stage\r\n self.stagePos = $.fancybox.getTranslate(instance.$refs.stage);\r\n\r\n self.sliderStartPos.top -= self.stagePos.top;\r\n self.sliderStartPos.left -= self.stagePos.left;\r\n\r\n self.contentStartPos.top -= self.stagePos.top;\r\n self.contentStartPos.left -= self.stagePos.left;\r\n\r\n $(document)\r\n .off(\".fb.touch\")\r\n .on(isTouchDevice ? \"touchend.fb.touch touchcancel.fb.touch\" : \"mouseup.fb.touch mouseleave.fb.touch\", $.proxy(self, \"ontouchend\"))\r\n .on(isTouchDevice ? \"touchmove.fb.touch\" : \"mousemove.fb.touch\", $.proxy(self, \"ontouchmove\"));\r\n\r\n if ($.fancybox.isMobile) {\r\n document.addEventListener(\"scroll\", self.onscroll, true);\r\n }\r\n\r\n // Skip if clicked outside the sliding area\r\n if (!(self.opts || self.canPan) || !($target.is(self.$stage) || self.$stage.find($target).length)) {\r\n if ($target.is(\".fancybox-image\")) {\r\n e.preventDefault();\r\n }\r\n\r\n if (!($.fancybox.isMobile && $target.parents(\".fancybox-caption\").length)) {\r\n return;\r\n }\r\n }\r\n\r\n self.isScrollable = isScrollable($target) || isScrollable($target.parent());\r\n\r\n // Check if element is scrollable and try to prevent default behavior (scrolling)\r\n if (!($.fancybox.isMobile && self.isScrollable)) {\r\n e.preventDefault();\r\n }\r\n\r\n // One finger or mouse click - swipe or pan an image\r\n if (self.startPoints.length === 1 || current.hasError) {\r\n if (self.canPan) {\r\n $.fancybox.stop(self.$content);\r\n\r\n self.isPanning = true;\r\n } else {\r\n self.isSwiping = true;\r\n }\r\n\r\n self.$container.addClass(\"fancybox-is-grabbing\");\r\n }\r\n\r\n // Two fingers - zoom image\r\n if (self.startPoints.length === 2 && current.type === \"image\" && (current.isLoaded || current.$ghost)) {\r\n self.canTap = false;\r\n self.isSwiping = false;\r\n self.isPanning = false;\r\n\r\n self.isZooming = true;\r\n\r\n $.fancybox.stop(self.$content);\r\n\r\n self.centerPointStartX = (self.startPoints[0].x + self.startPoints[1].x) * 0.5 - $(window).scrollLeft();\r\n self.centerPointStartY = (self.startPoints[0].y + self.startPoints[1].y) * 0.5 - $(window).scrollTop();\r\n\r\n self.percentageOfImageAtPinchPointX = (self.centerPointStartX - self.contentStartPos.left) / self.contentStartPos.width;\r\n self.percentageOfImageAtPinchPointY = (self.centerPointStartY - self.contentStartPos.top) / self.contentStartPos.height;\r\n\r\n self.startDistanceBetweenFingers = distance(self.startPoints[0], self.startPoints[1]);\r\n }\r\n };\r\n\r\n Guestures.prototype.onscroll = function (e) {\r\n var self = this;\r\n\r\n self.isScrolling = true;\r\n\r\n document.removeEventListener(\"scroll\", self.onscroll, true);\r\n };\r\n\r\n Guestures.prototype.ontouchmove = function (e) {\r\n var self = this;\r\n\r\n // Make sure user has not released over iframe or disabled element\r\n if (e.originalEvent.buttons !== undefined && e.originalEvent.buttons === 0) {\r\n self.ontouchend(e);\r\n return;\r\n }\r\n\r\n if (self.isScrolling) {\r\n self.canTap = false;\r\n return;\r\n }\r\n\r\n self.newPoints = getPointerXY(e);\r\n\r\n if (!(self.opts || self.canPan) || !self.newPoints.length || !self.newPoints.length) {\r\n return;\r\n }\r\n\r\n if (!(self.isSwiping && self.isSwiping === true)) {\r\n e.preventDefault();\r\n }\r\n\r\n self.distanceX = distance(self.newPoints[0], self.startPoints[0], \"x\");\r\n self.distanceY = distance(self.newPoints[0], self.startPoints[0], \"y\");\r\n\r\n self.distance = distance(self.newPoints[0], self.startPoints[0]);\r\n\r\n // Skip false ontouchmove events (Chrome)\r\n if (self.distance > 0) {\r\n if (self.isSwiping) {\r\n self.onSwipe(e);\r\n } else if (self.isPanning) {\r\n self.onPan();\r\n } else if (self.isZooming) {\r\n self.onZoom();\r\n }\r\n }\r\n };\r\n\r\n Guestures.prototype.onSwipe = function (e) {\r\n var self = this,\r\n instance = self.instance,\r\n swiping = self.isSwiping,\r\n left = self.sliderStartPos.left || 0,\r\n angle;\r\n\r\n // If direction is not yet determined\r\n if (swiping === true) {\r\n // We need at least 10px distance to correctly calculate an angle\r\n if (Math.abs(self.distance) > 10) {\r\n self.canTap = false;\r\n\r\n if (instance.group.length < 2 && self.opts.vertical) {\r\n self.isSwiping = \"y\";\r\n } else if (instance.isDragging || self.opts.vertical === false || (self.opts.vertical === \"auto\" && $(window).width() > 800)) {\r\n self.isSwiping = \"x\";\r\n } else {\r\n angle = Math.abs((Math.atan2(self.distanceY, self.distanceX) * 180) / Math.PI);\r\n\r\n self.isSwiping = angle > 45 && angle < 135 ? \"y\" : \"x\";\r\n }\r\n\r\n if (self.isSwiping === \"y\" && $.fancybox.isMobile && self.isScrollable) {\r\n self.isScrolling = true;\r\n\r\n return;\r\n }\r\n\r\n instance.isDragging = self.isSwiping;\r\n\r\n // Reset points to avoid jumping, because we dropped first swipes to calculate the angle\r\n self.startPoints = self.newPoints;\r\n\r\n $.each(instance.slides, function (index, slide) {\r\n var slidePos, stagePos;\r\n\r\n $.fancybox.stop(slide.$slide);\r\n\r\n slidePos = $.fancybox.getTranslate(slide.$slide);\r\n stagePos = $.fancybox.getTranslate(instance.$refs.stage);\r\n\r\n slide.$slide\r\n .css({\r\n transform: \"\",\r\n opacity: \"\",\r\n \"transition-duration\": \"\"\r\n })\r\n .removeClass(\"fancybox-animated\")\r\n .removeClass(function (index, className) {\r\n return (className.match(/(^|\\s)fancybox-fx-\\S+/g) || []).join(\" \");\r\n });\r\n\r\n if (slide.pos === instance.current.pos) {\r\n self.sliderStartPos.top = slidePos.top - stagePos.top;\r\n self.sliderStartPos.left = slidePos.left - stagePos.left;\r\n }\r\n\r\n $.fancybox.setTranslate(slide.$slide, {\r\n top: slidePos.top - stagePos.top,\r\n left: slidePos.left - stagePos.left\r\n });\r\n });\r\n\r\n // Stop slideshow\r\n if (instance.SlideShow && instance.SlideShow.isActive) {\r\n instance.SlideShow.stop();\r\n }\r\n }\r\n\r\n return;\r\n }\r\n\r\n // Sticky edges\r\n if (swiping == \"x\") {\r\n if (\r\n self.distanceX > 0 &&\r\n (self.instance.group.length < 2 || (self.instance.current.index === 0 && !self.instance.current.opts.loop))\r\n ) {\r\n left = left + Math.pow(self.distanceX, 0.8);\r\n } else if (\r\n self.distanceX < 0 &&\r\n (self.instance.group.length < 2 ||\r\n (self.instance.current.index === self.instance.group.length - 1 && !self.instance.current.opts.loop))\r\n ) {\r\n left = left - Math.pow(-self.distanceX, 0.8);\r\n } else {\r\n left = left + self.distanceX;\r\n }\r\n }\r\n\r\n self.sliderLastPos = {\r\n top: swiping == \"x\" ? 0 : self.sliderStartPos.top + self.distanceY,\r\n left: left\r\n };\r\n\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n\r\n self.requestId = null;\r\n }\r\n\r\n self.requestId = requestAFrame(function () {\r\n if (self.sliderLastPos) {\r\n $.each(self.instance.slides, function (index, slide) {\r\n var pos = slide.pos - self.instance.currPos;\r\n\r\n $.fancybox.setTranslate(slide.$slide, {\r\n top: self.sliderLastPos.top,\r\n left: self.sliderLastPos.left + pos * self.canvasWidth + pos * slide.opts.gutter\r\n });\r\n });\r\n\r\n self.$container.addClass(\"fancybox-is-sliding\");\r\n }\r\n });\r\n };\r\n\r\n Guestures.prototype.onPan = function () {\r\n var self = this;\r\n\r\n // Prevent accidental movement (sometimes, when tapping casually, finger can move a bit)\r\n if (distance(self.newPoints[0], self.realPoints[0]) < ($.fancybox.isMobile ? 10 : 5)) {\r\n self.startPoints = self.newPoints;\r\n return;\r\n }\r\n\r\n self.canTap = false;\r\n\r\n self.contentLastPos = self.limitMovement();\r\n\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n }\r\n\r\n self.requestId = requestAFrame(function () {\r\n $.fancybox.setTranslate(self.$content, self.contentLastPos);\r\n });\r\n };\r\n\r\n // Make panning sticky to the edges\r\n Guestures.prototype.limitMovement = function () {\r\n var self = this;\r\n\r\n var canvasWidth = self.canvasWidth;\r\n var canvasHeight = self.canvasHeight;\r\n\r\n var distanceX = self.distanceX;\r\n var distanceY = self.distanceY;\r\n\r\n var contentStartPos = self.contentStartPos;\r\n\r\n var currentOffsetX = contentStartPos.left;\r\n var currentOffsetY = contentStartPos.top;\r\n\r\n var currentWidth = contentStartPos.width;\r\n var currentHeight = contentStartPos.height;\r\n\r\n var minTranslateX, minTranslateY, maxTranslateX, maxTranslateY, newOffsetX, newOffsetY;\r\n\r\n if (currentWidth > canvasWidth) {\r\n newOffsetX = currentOffsetX + distanceX;\r\n } else {\r\n newOffsetX = currentOffsetX;\r\n }\r\n\r\n newOffsetY = currentOffsetY + distanceY;\r\n\r\n // Slow down proportionally to traveled distance\r\n minTranslateX = Math.max(0, canvasWidth * 0.5 - currentWidth * 0.5);\r\n minTranslateY = Math.max(0, canvasHeight * 0.5 - currentHeight * 0.5);\r\n\r\n maxTranslateX = Math.min(canvasWidth - currentWidth, canvasWidth * 0.5 - currentWidth * 0.5);\r\n maxTranslateY = Math.min(canvasHeight - currentHeight, canvasHeight * 0.5 - currentHeight * 0.5);\r\n\r\n // ->\r\n if (distanceX > 0 && newOffsetX > minTranslateX) {\r\n newOffsetX = minTranslateX - 1 + Math.pow(-minTranslateX + currentOffsetX + distanceX, 0.8) || 0;\r\n }\r\n\r\n // <-\r\n if (distanceX < 0 && newOffsetX < maxTranslateX) {\r\n newOffsetX = maxTranslateX + 1 - Math.pow(maxTranslateX - currentOffsetX - distanceX, 0.8) || 0;\r\n }\r\n\r\n // \\/\r\n if (distanceY > 0 && newOffsetY > minTranslateY) {\r\n newOffsetY = minTranslateY - 1 + Math.pow(-minTranslateY + currentOffsetY + distanceY, 0.8) || 0;\r\n }\r\n\r\n // /\\\r\n if (distanceY < 0 && newOffsetY < maxTranslateY) {\r\n newOffsetY = maxTranslateY + 1 - Math.pow(maxTranslateY - currentOffsetY - distanceY, 0.8) || 0;\r\n }\r\n\r\n return {\r\n top: newOffsetY,\r\n left: newOffsetX\r\n };\r\n };\r\n\r\n Guestures.prototype.limitPosition = function (newOffsetX, newOffsetY, newWidth, newHeight) {\r\n var self = this;\r\n\r\n var canvasWidth = self.canvasWidth;\r\n var canvasHeight = self.canvasHeight;\r\n\r\n if (newWidth > canvasWidth) {\r\n newOffsetX = newOffsetX > 0 ? 0 : newOffsetX;\r\n newOffsetX = newOffsetX < canvasWidth - newWidth ? canvasWidth - newWidth : newOffsetX;\r\n } else {\r\n // Center horizontally\r\n newOffsetX = Math.max(0, canvasWidth / 2 - newWidth / 2);\r\n }\r\n\r\n if (newHeight > canvasHeight) {\r\n newOffsetY = newOffsetY > 0 ? 0 : newOffsetY;\r\n newOffsetY = newOffsetY < canvasHeight - newHeight ? canvasHeight - newHeight : newOffsetY;\r\n } else {\r\n // Center vertically\r\n newOffsetY = Math.max(0, canvasHeight / 2 - newHeight / 2);\r\n }\r\n\r\n return {\r\n top: newOffsetY,\r\n left: newOffsetX\r\n };\r\n };\r\n\r\n Guestures.prototype.onZoom = function () {\r\n var self = this;\r\n\r\n // Calculate current distance between points to get pinch ratio and new width and height\r\n var contentStartPos = self.contentStartPos;\r\n\r\n var currentWidth = contentStartPos.width;\r\n var currentHeight = contentStartPos.height;\r\n\r\n var currentOffsetX = contentStartPos.left;\r\n var currentOffsetY = contentStartPos.top;\r\n\r\n var endDistanceBetweenFingers = distance(self.newPoints[0], self.newPoints[1]);\r\n\r\n var pinchRatio = endDistanceBetweenFingers / self.startDistanceBetweenFingers;\r\n\r\n var newWidth = Math.floor(currentWidth * pinchRatio);\r\n var newHeight = Math.floor(currentHeight * pinchRatio);\r\n\r\n // This is the translation due to pinch-zooming\r\n var translateFromZoomingX = (currentWidth - newWidth) * self.percentageOfImageAtPinchPointX;\r\n var translateFromZoomingY = (currentHeight - newHeight) * self.percentageOfImageAtPinchPointY;\r\n\r\n // Point between the two touches\r\n var centerPointEndX = (self.newPoints[0].x + self.newPoints[1].x) / 2 - $(window).scrollLeft();\r\n var centerPointEndY = (self.newPoints[0].y + self.newPoints[1].y) / 2 - $(window).scrollTop();\r\n\r\n // And this is the translation due to translation of the centerpoint\r\n // between the two fingers\r\n var translateFromTranslatingX = centerPointEndX - self.centerPointStartX;\r\n var translateFromTranslatingY = centerPointEndY - self.centerPointStartY;\r\n\r\n // The new offset is the old/current one plus the total translation\r\n var newOffsetX = currentOffsetX + (translateFromZoomingX + translateFromTranslatingX);\r\n var newOffsetY = currentOffsetY + (translateFromZoomingY + translateFromTranslatingY);\r\n\r\n var newPos = {\r\n top: newOffsetY,\r\n left: newOffsetX,\r\n scaleX: pinchRatio,\r\n scaleY: pinchRatio\r\n };\r\n\r\n self.canTap = false;\r\n\r\n self.newWidth = newWidth;\r\n self.newHeight = newHeight;\r\n\r\n self.contentLastPos = newPos;\r\n\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n }\r\n\r\n self.requestId = requestAFrame(function () {\r\n $.fancybox.setTranslate(self.$content, self.contentLastPos);\r\n });\r\n };\r\n\r\n Guestures.prototype.ontouchend = function (e) {\r\n var self = this;\r\n\r\n var swiping = self.isSwiping;\r\n var panning = self.isPanning;\r\n var zooming = self.isZooming;\r\n var scrolling = self.isScrolling;\r\n\r\n self.endPoints = getPointerXY(e);\r\n self.dMs = Math.max(new Date().getTime() - self.startTime, 1);\r\n\r\n self.$container.removeClass(\"fancybox-is-grabbing\");\r\n\r\n $(document).off(\".fb.touch\");\r\n\r\n document.removeEventListener(\"scroll\", self.onscroll, true);\r\n\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n\r\n self.requestId = null;\r\n }\r\n\r\n self.isSwiping = false;\r\n self.isPanning = false;\r\n self.isZooming = false;\r\n self.isScrolling = false;\r\n\r\n self.instance.isDragging = false;\r\n\r\n if (self.canTap) {\r\n return self.onTap(e);\r\n }\r\n\r\n self.speed = 100;\r\n\r\n // Speed in px/ms\r\n self.velocityX = (self.distanceX / self.dMs) * 0.5;\r\n self.velocityY = (self.distanceY / self.dMs) * 0.5;\r\n\r\n if (panning) {\r\n self.endPanning();\r\n } else if (zooming) {\r\n self.endZooming();\r\n } else {\r\n self.endSwiping(swiping, scrolling);\r\n }\r\n\r\n return;\r\n };\r\n\r\n Guestures.prototype.endSwiping = function (swiping, scrolling) {\r\n var self = this,\r\n ret = false,\r\n len = self.instance.group.length,\r\n distanceX = Math.abs(self.distanceX),\r\n canAdvance = swiping == \"x\" && len > 1 && ((self.dMs > 130 && distanceX > 10) || distanceX > 50),\r\n speedX = 300;\r\n\r\n self.sliderLastPos = null;\r\n\r\n // Close if swiped vertically / navigate if horizontally\r\n if (swiping == \"y\" && !scrolling && Math.abs(self.distanceY) > 50) {\r\n // Continue vertical movement\r\n $.fancybox.animate(\r\n self.instance.current.$slide, {\r\n top: self.sliderStartPos.top + self.distanceY + self.velocityY * 150,\r\n opacity: 0\r\n },\r\n 200\r\n );\r\n ret = self.instance.close(true, 250);\r\n } else if (canAdvance && self.distanceX > 0) {\r\n ret = self.instance.previous(speedX);\r\n } else if (canAdvance && self.distanceX < 0) {\r\n ret = self.instance.next(speedX);\r\n }\r\n\r\n if (ret === false && (swiping == \"x\" || swiping == \"y\")) {\r\n self.instance.centerSlide(200);\r\n }\r\n\r\n self.$container.removeClass(\"fancybox-is-sliding\");\r\n };\r\n\r\n // Limit panning from edges\r\n // ========================\r\n Guestures.prototype.endPanning = function () {\r\n var self = this,\r\n newOffsetX,\r\n newOffsetY,\r\n newPos;\r\n\r\n if (!self.contentLastPos) {\r\n return;\r\n }\r\n\r\n if (self.opts.momentum === false || self.dMs > 350) {\r\n newOffsetX = self.contentLastPos.left;\r\n newOffsetY = self.contentLastPos.top;\r\n } else {\r\n // Continue movement\r\n newOffsetX = self.contentLastPos.left + self.velocityX * 500;\r\n newOffsetY = self.contentLastPos.top + self.velocityY * 500;\r\n }\r\n\r\n newPos = self.limitPosition(newOffsetX, newOffsetY, self.contentStartPos.width, self.contentStartPos.height);\r\n\r\n newPos.width = self.contentStartPos.width;\r\n newPos.height = self.contentStartPos.height;\r\n\r\n $.fancybox.animate(self.$content, newPos, 366);\r\n };\r\n\r\n Guestures.prototype.endZooming = function () {\r\n var self = this;\r\n\r\n var current = self.instance.current;\r\n\r\n var newOffsetX, newOffsetY, newPos, reset;\r\n\r\n var newWidth = self.newWidth;\r\n var newHeight = self.newHeight;\r\n\r\n if (!self.contentLastPos) {\r\n return;\r\n }\r\n\r\n newOffsetX = self.contentLastPos.left;\r\n newOffsetY = self.contentLastPos.top;\r\n\r\n reset = {\r\n top: newOffsetY,\r\n left: newOffsetX,\r\n width: newWidth,\r\n height: newHeight,\r\n scaleX: 1,\r\n scaleY: 1\r\n };\r\n\r\n // Reset scalex/scaleY values; this helps for perfomance and does not break animation\r\n $.fancybox.setTranslate(self.$content, reset);\r\n\r\n if (newWidth < self.canvasWidth && newHeight < self.canvasHeight) {\r\n self.instance.scaleToFit(150);\r\n } else if (newWidth > current.width || newHeight > current.height) {\r\n self.instance.scaleToActual(self.centerPointStartX, self.centerPointStartY, 150);\r\n } else {\r\n newPos = self.limitPosition(newOffsetX, newOffsetY, newWidth, newHeight);\r\n\r\n $.fancybox.animate(self.$content, newPos, 150);\r\n }\r\n };\r\n\r\n Guestures.prototype.onTap = function (e) {\r\n var self = this;\r\n var $target = $(e.target);\r\n\r\n var instance = self.instance;\r\n var current = instance.current;\r\n\r\n var endPoints = (e && getPointerXY(e)) || self.startPoints;\r\n\r\n var tapX = endPoints[0] ? endPoints[0].x - $(window).scrollLeft() - self.stagePos.left : 0;\r\n var tapY = endPoints[0] ? endPoints[0].y - $(window).scrollTop() - self.stagePos.top : 0;\r\n\r\n var where;\r\n\r\n var process = function (prefix) {\r\n var action = current.opts[prefix];\r\n\r\n if ($.isFunction(action)) {\r\n action = action.apply(instance, [current, e]);\r\n }\r\n\r\n if (!action) {\r\n return;\r\n }\r\n\r\n switch (action) {\r\n case \"close\":\r\n instance.close(self.startEvent);\r\n\r\n break;\r\n\r\n case \"toggleControls\":\r\n instance.toggleControls();\r\n\r\n break;\r\n\r\n case \"next\":\r\n instance.next();\r\n\r\n break;\r\n\r\n case \"nextOrClose\":\r\n if (instance.group.length > 1) {\r\n instance.next();\r\n } else {\r\n instance.close(self.startEvent);\r\n }\r\n\r\n break;\r\n\r\n case \"zoom\":\r\n if (current.type == \"image\" && (current.isLoaded || current.$ghost)) {\r\n if (instance.canPan()) {\r\n instance.scaleToFit();\r\n } else if (instance.isScaledDown()) {\r\n instance.scaleToActual(tapX, tapY);\r\n } else if (instance.group.length < 2) {\r\n instance.close(self.startEvent);\r\n }\r\n }\r\n\r\n break;\r\n }\r\n };\r\n\r\n // Ignore right click\r\n if (e.originalEvent && e.originalEvent.button == 2) {\r\n return;\r\n }\r\n\r\n // Skip if clicked on the scrollbar\r\n if (!$target.is(\"img\") && tapX > $target[0].clientWidth + $target.offset().left) {\r\n return;\r\n }\r\n\r\n // Check where is clicked\r\n if ($target.is(\".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container\")) {\r\n where = \"Outside\";\r\n } else if ($target.is(\".fancybox-slide\")) {\r\n where = \"Slide\";\r\n } else if (\r\n instance.current.$content &&\r\n instance.current.$content\r\n .find($target)\r\n .addBack()\r\n .filter($target).length\r\n ) {\r\n where = \"Content\";\r\n } else {\r\n return;\r\n }\r\n\r\n // Check if this is a double tap\r\n if (self.tapped) {\r\n // Stop previously created single tap\r\n clearTimeout(self.tapped);\r\n self.tapped = null;\r\n\r\n // Skip if distance between taps is too big\r\n if (Math.abs(tapX - self.tapX) > 50 || Math.abs(tapY - self.tapY) > 50) {\r\n return this;\r\n }\r\n\r\n // OK, now we assume that this is a double-tap\r\n process(\"dblclick\" + where);\r\n } else {\r\n // Single tap will be processed if user has not clicked second time within 300ms\r\n // or there is no need to wait for double-tap\r\n self.tapX = tapX;\r\n self.tapY = tapY;\r\n\r\n if (current.opts[\"dblclick\" + where] && current.opts[\"dblclick\" + where] !== current.opts[\"click\" + where]) {\r\n self.tapped = setTimeout(function () {\r\n self.tapped = null;\r\n\r\n if (!instance.isAnimating) {\r\n process(\"click\" + where);\r\n }\r\n }, 500);\r\n } else {\r\n process(\"click\" + where);\r\n }\r\n }\r\n\r\n return this;\r\n };\r\n\r\n $(document)\r\n .on(\"onActivate.fb\", function (e, instance) {\r\n if (instance && !instance.Guestures) {\r\n instance.Guestures = new Guestures(instance);\r\n }\r\n })\r\n .on(\"beforeClose.fb\", function (e, instance) {\r\n if (instance && instance.Guestures) {\r\n instance.Guestures.destroy();\r\n }\r\n });\r\n})(window, document, jQuery);\r\n// ==========================================================================\r\n//\r\n// SlideShow\r\n// Enables slideshow functionality\r\n//\r\n// Example of usage:\r\n// $.fancybox.getInstance().SlideShow.start()\r\n//\r\n// ==========================================================================\r\n(function (document, $) {\r\n \"use strict\";\r\n\r\n $.extend(true, $.fancybox.defaults, {\r\n btnTpl: {\r\n slideShow: '\"\r\n },\r\n slideShow: {\r\n autoStart: false,\r\n speed: 3000,\r\n progress: true\r\n }\r\n });\r\n\r\n var SlideShow = function (instance) {\r\n this.instance = instance;\r\n this.init();\r\n };\r\n\r\n $.extend(SlideShow.prototype, {\r\n timer: null,\r\n isActive: false,\r\n $button: null,\r\n\r\n init: function () {\r\n var self = this,\r\n instance = self.instance,\r\n opts = instance.group[instance.currIndex].opts.slideShow;\r\n\r\n self.$button = instance.$refs.toolbar.find(\"[data-fancybox-play]\").on(\"click\", function () {\r\n self.toggle();\r\n });\r\n\r\n if (instance.group.length < 2 || !opts) {\r\n self.$button.hide();\r\n } else if (opts.progress) {\r\n self.$progress = $('
').appendTo(instance.$refs.inner);\r\n }\r\n },\r\n\r\n set: function (force) {\r\n var self = this,\r\n instance = self.instance,\r\n current = instance.current;\r\n\r\n // Check if reached last element\r\n if (current && (force === true || current.opts.loop || instance.currIndex < instance.group.length - 1)) {\r\n if (self.isActive && current.contentType !== \"video\") {\r\n if (self.$progress) {\r\n $.fancybox.animate(self.$progress.show(), {\r\n scaleX: 1\r\n }, current.opts.slideShow.speed);\r\n }\r\n\r\n self.timer = setTimeout(function () {\r\n if (!instance.current.opts.loop && instance.current.index == instance.group.length - 1) {\r\n instance.jumpTo(0);\r\n } else {\r\n instance.next();\r\n }\r\n }, current.opts.slideShow.speed);\r\n }\r\n } else {\r\n self.stop();\r\n instance.idleSecondsCounter = 0;\r\n instance.showControls();\r\n }\r\n },\r\n\r\n clear: function () {\r\n var self = this;\r\n\r\n clearTimeout(self.timer);\r\n\r\n self.timer = null;\r\n\r\n if (self.$progress) {\r\n self.$progress.removeAttr(\"style\").hide();\r\n }\r\n },\r\n\r\n start: function () {\r\n var self = this,\r\n current = self.instance.current;\r\n\r\n if (current) {\r\n self.$button\r\n .attr(\"title\", (current.opts.i18n[current.opts.lang] || current.opts.i18n.en).PLAY_STOP)\r\n .removeClass(\"fancybox-button--play\")\r\n .addClass(\"fancybox-button--pause\");\r\n\r\n self.isActive = true;\r\n\r\n if (current.isComplete) {\r\n self.set(true);\r\n }\r\n\r\n self.instance.trigger(\"onSlideShowChange\", true);\r\n }\r\n },\r\n\r\n stop: function () {\r\n var self = this,\r\n current = self.instance.current;\r\n\r\n self.clear();\r\n\r\n self.$button\r\n .attr(\"title\", (current.opts.i18n[current.opts.lang] || current.opts.i18n.en).PLAY_START)\r\n .removeClass(\"fancybox-button--pause\")\r\n .addClass(\"fancybox-button--play\");\r\n\r\n self.isActive = false;\r\n\r\n self.instance.trigger(\"onSlideShowChange\", false);\r\n\r\n if (self.$progress) {\r\n self.$progress.removeAttr(\"style\").hide();\r\n }\r\n },\r\n\r\n toggle: function () {\r\n var self = this;\r\n\r\n if (self.isActive) {\r\n self.stop();\r\n } else {\r\n self.start();\r\n }\r\n }\r\n });\r\n\r\n $(document).on({\r\n \"onInit.fb\": function (e, instance) {\r\n if (instance && !instance.SlideShow) {\r\n instance.SlideShow = new SlideShow(instance);\r\n }\r\n },\r\n\r\n \"beforeShow.fb\": function (e, instance, current, firstRun) {\r\n var SlideShow = instance && instance.SlideShow;\r\n\r\n if (firstRun) {\r\n if (SlideShow && current.opts.slideShow.autoStart) {\r\n SlideShow.start();\r\n }\r\n } else if (SlideShow && SlideShow.isActive) {\r\n SlideShow.clear();\r\n }\r\n },\r\n\r\n \"afterShow.fb\": function (e, instance, current) {\r\n var SlideShow = instance && instance.SlideShow;\r\n\r\n if (SlideShow && SlideShow.isActive) {\r\n SlideShow.set();\r\n }\r\n },\r\n\r\n \"afterKeydown.fb\": function (e, instance, current, keypress, keycode) {\r\n var SlideShow = instance && instance.SlideShow;\r\n\r\n // \"P\" or Spacebar\r\n if (SlideShow && current.opts.slideShow && (keycode === 80 || keycode === 32) && !$(document.activeElement).is(\"button,a,input\")) {\r\n keypress.preventDefault();\r\n\r\n SlideShow.toggle();\r\n }\r\n },\r\n\r\n \"beforeClose.fb onDeactivate.fb\": function (e, instance) {\r\n var SlideShow = instance && instance.SlideShow;\r\n\r\n if (SlideShow) {\r\n SlideShow.stop();\r\n }\r\n }\r\n });\r\n\r\n // Page Visibility API to pause slideshow when window is not active\r\n $(document).on(\"visibilitychange\", function () {\r\n var instance = $.fancybox.getInstance(),\r\n SlideShow = instance && instance.SlideShow;\r\n\r\n if (SlideShow && SlideShow.isActive) {\r\n if (document.hidden) {\r\n SlideShow.clear();\r\n } else {\r\n SlideShow.set();\r\n }\r\n }\r\n });\r\n})(document, jQuery);\r\n// ==========================================================================\r\n//\r\n// FullScreen\r\n// Adds fullscreen functionality\r\n//\r\n// ==========================================================================\r\n(function (document, $) {\r\n \"use strict\";\r\n\r\n // Collection of methods supported by user browser\r\n var fn = (function () {\r\n var fnMap = [\r\n [\"requestFullscreen\", \"exitFullscreen\", \"fullscreenElement\", \"fullscreenEnabled\", \"fullscreenchange\", \"fullscreenerror\"],\r\n // new WebKit\r\n [\r\n \"webkitRequestFullscreen\",\r\n \"webkitExitFullscreen\",\r\n \"webkitFullscreenElement\",\r\n \"webkitFullscreenEnabled\",\r\n \"webkitfullscreenchange\",\r\n \"webkitfullscreenerror\"\r\n ],\r\n // old WebKit (Safari 5.1)\r\n [\r\n \"webkitRequestFullScreen\",\r\n \"webkitCancelFullScreen\",\r\n \"webkitCurrentFullScreenElement\",\r\n \"webkitCancelFullScreen\",\r\n \"webkitfullscreenchange\",\r\n \"webkitfullscreenerror\"\r\n ],\r\n [\r\n \"mozRequestFullScreen\",\r\n \"mozCancelFullScreen\",\r\n \"mozFullScreenElement\",\r\n \"mozFullScreenEnabled\",\r\n \"mozfullscreenchange\",\r\n \"mozfullscreenerror\"\r\n ],\r\n [\"msRequestFullscreen\", \"msExitFullscreen\", \"msFullscreenElement\", \"msFullscreenEnabled\", \"MSFullscreenChange\", \"MSFullscreenError\"]\r\n ];\r\n\r\n var ret = {};\r\n\r\n for (var i = 0; i < fnMap.length; i++) {\r\n var val = fnMap[i];\r\n\r\n if (val && val[1] in document) {\r\n for (var j = 0; j < val.length; j++) {\r\n ret[fnMap[0][j]] = val[j];\r\n }\r\n\r\n return ret;\r\n }\r\n }\r\n\r\n return false;\r\n })();\r\n\r\n if (fn) {\r\n var FullScreen = {\r\n request: function (elem) {\r\n elem = elem || document.documentElement;\r\n\r\n elem[fn.requestFullscreen](elem.ALLOW_KEYBOARD_INPUT);\r\n },\r\n exit: function () {\r\n document[fn.exitFullscreen]();\r\n },\r\n toggle: function (elem) {\r\n elem = elem || document.documentElement;\r\n\r\n if (this.isFullscreen()) {\r\n this.exit();\r\n } else {\r\n this.request(elem);\r\n }\r\n },\r\n isFullscreen: function () {\r\n return Boolean(document[fn.fullscreenElement]);\r\n },\r\n enabled: function () {\r\n return Boolean(document[fn.fullscreenEnabled]);\r\n }\r\n };\r\n\r\n $.extend(true, $.fancybox.defaults, {\r\n btnTpl: {\r\n fullScreen: '\"\r\n },\r\n fullScreen: {\r\n autoStart: false\r\n }\r\n });\r\n\r\n $(document).on(fn.fullscreenchange, function () {\r\n var isFullscreen = FullScreen.isFullscreen(),\r\n instance = $.fancybox.getInstance();\r\n\r\n if (instance) {\r\n // If image is zooming, then force to stop and reposition properly\r\n if (instance.current && instance.current.type === \"image\" && instance.isAnimating) {\r\n instance.isAnimating = false;\r\n\r\n instance.update(true, true, 0);\r\n\r\n if (!instance.isComplete) {\r\n instance.complete();\r\n }\r\n }\r\n\r\n instance.trigger(\"onFullscreenChange\", isFullscreen);\r\n\r\n instance.$refs.container.toggleClass(\"fancybox-is-fullscreen\", isFullscreen);\r\n\r\n instance.$refs.toolbar\r\n .find(\"[data-fancybox-fullscreen]\")\r\n .toggleClass(\"fancybox-button--fsenter\", !isFullscreen)\r\n .toggleClass(\"fancybox-button--fsexit\", isFullscreen);\r\n }\r\n });\r\n }\r\n\r\n $(document).on({\r\n \"onInit.fb\": function (e, instance) {\r\n var $container;\r\n\r\n if (!fn) {\r\n instance.$refs.toolbar.find(\"[data-fancybox-fullscreen]\").remove();\r\n\r\n return;\r\n }\r\n\r\n if (instance && instance.group[instance.currIndex].opts.fullScreen) {\r\n $container = instance.$refs.container;\r\n\r\n $container.on(\"click.fb-fullscreen\", \"[data-fancybox-fullscreen]\", function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n FullScreen.toggle();\r\n });\r\n\r\n if (instance.opts.fullScreen && instance.opts.fullScreen.autoStart === true) {\r\n FullScreen.request();\r\n }\r\n\r\n // Expose API\r\n instance.FullScreen = FullScreen;\r\n } else if (instance) {\r\n instance.$refs.toolbar.find(\"[data-fancybox-fullscreen]\").hide();\r\n }\r\n },\r\n\r\n \"afterKeydown.fb\": function (e, instance, current, keypress, keycode) {\r\n // \"F\"\r\n if (instance && instance.FullScreen && keycode === 70) {\r\n keypress.preventDefault();\r\n\r\n instance.FullScreen.toggle();\r\n }\r\n },\r\n\r\n \"beforeClose.fb\": function (e, instance) {\r\n if (instance && instance.FullScreen && instance.$refs.container.hasClass(\"fancybox-is-fullscreen\")) {\r\n FullScreen.exit();\r\n }\r\n }\r\n });\r\n})(document, jQuery);\r\n// ==========================================================================\r\n//\r\n// Thumbs\r\n// Displays thumbnails in a grid\r\n//\r\n// ==========================================================================\r\n(function (document, $) {\r\n \"use strict\";\r\n\r\n var CLASS = \"fancybox-thumbs\",\r\n CLASS_ACTIVE = CLASS + \"-active\";\r\n\r\n // Make sure there are default values\r\n $.fancybox.defaults = $.extend(\r\n true, {\r\n btnTpl: {\r\n thumbs: '\"\r\n },\r\n thumbs: {\r\n autoStart: false, // Display thumbnails on opening\r\n hideOnClose: true, // Hide thumbnail grid when closing animation starts\r\n parentEl: \".fancybox-container\", // Container is injected into this element\r\n axis: \"y\" // Vertical (y) or horizontal (x) scrolling\r\n }\r\n },\r\n $.fancybox.defaults\r\n );\r\n\r\n var FancyThumbs = function (instance) {\r\n this.init(instance);\r\n };\r\n\r\n $.extend(FancyThumbs.prototype, {\r\n $button: null,\r\n $grid: null,\r\n $list: null,\r\n isVisible: false,\r\n isActive: false,\r\n\r\n init: function (instance) {\r\n var self = this,\r\n group = instance.group,\r\n enabled = 0;\r\n\r\n self.instance = instance;\r\n self.opts = group[instance.currIndex].opts.thumbs;\r\n\r\n instance.Thumbs = self;\r\n\r\n self.$button = instance.$refs.toolbar.find(\"[data-fancybox-thumbs]\");\r\n\r\n // Enable thumbs if at least two group items have thumbnails\r\n for (var i = 0, len = group.length; i < len; i++) {\r\n if (group[i].thumb) {\r\n enabled++;\r\n }\r\n\r\n if (enabled > 1) {\r\n break;\r\n }\r\n }\r\n\r\n if (enabled > 1 && !!self.opts) {\r\n self.$button.removeAttr(\"style\").on(\"click\", function () {\r\n self.toggle();\r\n });\r\n\r\n self.isActive = true;\r\n } else {\r\n self.$button.hide();\r\n }\r\n },\r\n\r\n create: function () {\r\n var self = this,\r\n instance = self.instance,\r\n parentEl = self.opts.parentEl,\r\n list = [],\r\n src;\r\n\r\n if (!self.$grid) {\r\n // Create main element\r\n self.$grid = $('
').appendTo(\r\n instance.$refs.container\r\n .find(parentEl)\r\n .addBack()\r\n .filter(parentEl)\r\n );\r\n\r\n // Add \"click\" event that performs gallery navigation\r\n self.$grid.on(\"click\", \"a\", function () {\r\n instance.jumpTo($(this).attr(\"data-index\"));\r\n });\r\n }\r\n\r\n // Build the list\r\n if (!self.$list) {\r\n self.$list = $('
').appendTo(self.$grid);\r\n }\r\n\r\n $.each(instance.group, function (i, item) {\r\n src = item.thumb;\r\n\r\n if (!src && item.type === \"image\") {\r\n src = item.src;\r\n }\r\n\r\n list.push(\r\n '\"\r\n );\r\n });\r\n\r\n self.$list[0].innerHTML = list.join(\"\");\r\n\r\n if (self.opts.axis === \"x\") {\r\n // Set fixed width for list element to enable horizontal scrolling\r\n self.$list.width(\r\n parseInt(self.$grid.css(\"padding-right\"), 10) +\r\n instance.group.length *\r\n self.$list\r\n .children()\r\n .eq(0)\r\n .outerWidth(true)\r\n );\r\n }\r\n },\r\n\r\n focus: function (duration) {\r\n var self = this,\r\n $list = self.$list,\r\n $grid = self.$grid,\r\n thumb,\r\n thumbPos;\r\n\r\n if (!self.instance.current) {\r\n return;\r\n }\r\n\r\n thumb = $list\r\n .children()\r\n .removeClass(CLASS_ACTIVE)\r\n .filter('[data-index=\"' + self.instance.current.index + '\"]')\r\n .addClass(CLASS_ACTIVE);\r\n\r\n thumbPos = thumb.position();\r\n\r\n // Check if need to scroll to make current thumb visible\r\n if (self.opts.axis === \"y\" && (thumbPos.top < 0 || thumbPos.top > $list.height() - thumb.outerHeight())) {\r\n $list.stop().animate({\r\n scrollTop: $list.scrollTop() + thumbPos.top\r\n },\r\n duration\r\n );\r\n } else if (\r\n self.opts.axis === \"x\" &&\r\n (thumbPos.left < $grid.scrollLeft() || thumbPos.left > $grid.scrollLeft() + ($grid.width() - thumb.outerWidth()))\r\n ) {\r\n $list\r\n .parent()\r\n .stop()\r\n .animate({\r\n scrollLeft: thumbPos.left\r\n },\r\n duration\r\n );\r\n }\r\n },\r\n\r\n update: function () {\r\n var that = this;\r\n that.instance.$refs.container.toggleClass(\"fancybox-show-thumbs\", this.isVisible);\r\n\r\n if (that.isVisible) {\r\n if (!that.$grid) {\r\n that.create();\r\n }\r\n\r\n that.instance.trigger(\"onThumbsShow\");\r\n\r\n that.focus(0);\r\n } else if (that.$grid) {\r\n that.instance.trigger(\"onThumbsHide\");\r\n }\r\n\r\n // Update content position\r\n that.instance.update();\r\n },\r\n\r\n hide: function () {\r\n this.isVisible = false;\r\n this.update();\r\n },\r\n\r\n show: function () {\r\n this.isVisible = true;\r\n this.update();\r\n },\r\n\r\n toggle: function () {\r\n this.isVisible = !this.isVisible;\r\n this.update();\r\n }\r\n });\r\n\r\n $(document).on({\r\n \"onInit.fb\": function (e, instance) {\r\n var Thumbs;\r\n\r\n if (instance && !instance.Thumbs) {\r\n Thumbs = new FancyThumbs(instance);\r\n\r\n if (Thumbs.isActive && Thumbs.opts.autoStart === true) {\r\n Thumbs.show();\r\n }\r\n }\r\n },\r\n\r\n \"beforeShow.fb\": function (e, instance, item, firstRun) {\r\n var Thumbs = instance && instance.Thumbs;\r\n\r\n if (Thumbs && Thumbs.isVisible) {\r\n Thumbs.focus(firstRun ? 0 : 250);\r\n }\r\n },\r\n\r\n \"afterKeydown.fb\": function (e, instance, current, keypress, keycode) {\r\n var Thumbs = instance && instance.Thumbs;\r\n\r\n // \"G\"\r\n if (Thumbs && Thumbs.isActive && keycode === 71) {\r\n keypress.preventDefault();\r\n\r\n Thumbs.toggle();\r\n }\r\n },\r\n\r\n \"beforeClose.fb\": function (e, instance) {\r\n var Thumbs = instance && instance.Thumbs;\r\n\r\n if (Thumbs && Thumbs.isVisible && Thumbs.opts.hideOnClose !== false) {\r\n Thumbs.$grid.hide();\r\n }\r\n }\r\n });\r\n})(document, jQuery);\r\n//// ==========================================================================\r\n//\r\n// Share\r\n// Displays simple form for sharing current url\r\n//\r\n// ==========================================================================\r\n(function (document, $) {\r\n \"use strict\";\r\n\r\n $.extend(true, $.fancybox.defaults, {\r\n btnTpl: {\r\n share: '\"\r\n },\r\n share: {\r\n url: function (instance, item) {\r\n return (\r\n (!instance.currentHash && !(item.type === \"inline\" || item.type === \"html\") ? item.origSrc || item.src : false) || window.location\r\n );\r\n },\r\n tpl: '
' +\r\n \"

{{SHARE}}

\" +\r\n \"

\" +\r\n '' +\r\n '' +\r\n \"Facebook\" +\r\n \"\" +\r\n '' +\r\n '' +\r\n \"Twitter\" +\r\n \"\" +\r\n '' +\r\n '' +\r\n \"Pinterest\" +\r\n \"\" +\r\n \"

\" +\r\n '

' +\r\n \"
\"\r\n }\r\n });\r\n\r\n function escapeHtml(string) {\r\n var entityMap = {\r\n \"&\": \"&\",\r\n \"<\": \"<\",\r\n \">\": \">\",\r\n '\"': \""\",\r\n \"'\": \"'\",\r\n \"/\": \"/\",\r\n \"`\": \"`\",\r\n \"=\": \"=\"\r\n };\r\n\r\n return String(string).replace(/[&<>\"'`=\\/]/g, function (s) {\r\n return entityMap[s];\r\n });\r\n }\r\n\r\n $(document).on(\"click\", \"[data-fancybox-share]\", function () {\r\n var instance = $.fancybox.getInstance(),\r\n current = instance.current || null,\r\n url,\r\n tpl;\r\n\r\n if (!current) {\r\n return;\r\n }\r\n\r\n if ($.type(current.opts.share.url) === \"function\") {\r\n url = current.opts.share.url.apply(current, [instance, current]);\r\n }\r\n\r\n tpl = current.opts.share.tpl\r\n .replace(/\\{\\{media\\}\\}/g, current.type === \"image\" ? encodeURIComponent(current.src) : \"\")\r\n .replace(/\\{\\{url\\}\\}/g, encodeURIComponent(url))\r\n .replace(/\\{\\{url_raw\\}\\}/g, escapeHtml(url))\r\n .replace(/\\{\\{descr\\}\\}/g, instance.$caption ? encodeURIComponent(instance.$caption.text()) : \"\");\r\n\r\n $.fancybox.open({\r\n src: instance.translate(instance, tpl),\r\n type: \"html\",\r\n opts: {\r\n touch: false,\r\n animationEffect: false,\r\n afterLoad: function (shareInstance, shareCurrent) {\r\n // Close self if parent instance is closing\r\n instance.$refs.container.one(\"beforeClose.fb\", function () {\r\n shareInstance.close(null, 0);\r\n });\r\n\r\n // Opening links in a popup window\r\n shareCurrent.$content.find(\".fancybox-share__button\").click(function () {\r\n window.open(this.href, \"Share\", \"width=550, height=450\");\r\n return false;\r\n });\r\n },\r\n mobile: {\r\n autoFocus: false\r\n }\r\n }\r\n });\r\n });\r\n})(document, jQuery);\r\n// ==========================================================================\r\n//\r\n// Hash\r\n// Enables linking to each modal\r\n//\r\n// ==========================================================================\r\n(function (window, document, $) {\r\n \"use strict\";\r\n\r\n // Simple $.escapeSelector polyfill (for jQuery prior v3)\r\n if (!$.escapeSelector) {\r\n $.escapeSelector = function (sel) {\r\n var rcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g;\r\n var fcssescape = function (ch, asCodePoint) {\r\n if (asCodePoint) {\r\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\r\n if (ch === \"\\0\") {\r\n return \"\\uFFFD\";\r\n }\r\n\r\n // Control characters and (dependent upon position) numbers get escaped as code points\r\n return ch.slice(0, -1) + \"\\\\\" + ch.charCodeAt(ch.length - 1).toString(16) + \" \";\r\n }\r\n\r\n // Other potentially-special ASCII characters get backslash-escaped\r\n return \"\\\\\" + ch;\r\n };\r\n\r\n return (sel + \"\").replace(rcssescape, fcssescape);\r\n };\r\n }\r\n\r\n // Get info about gallery name and current index from url\r\n function parseUrl() {\r\n var hash = window.location.hash.substr(1),\r\n rez = hash.split(\"-\"),\r\n index = rez.length > 1 && /^\\+?\\d+$/.test(rez[rez.length - 1]) ? parseInt(rez.pop(-1), 10) || 1 : 1,\r\n gallery = rez.join(\"-\");\r\n\r\n return {\r\n hash: hash,\r\n /* Index is starting from 1 */\r\n index: index < 1 ? 1 : index,\r\n gallery: gallery\r\n };\r\n }\r\n\r\n // Trigger click evnt on links to open new fancyBox instance\r\n function triggerFromUrl(url) {\r\n if (url.gallery !== \"\") {\r\n // If we can find element matching 'data-fancybox' atribute,\r\n // then triggering click event should start fancyBox\r\n $(\"[data-fancybox='\" + $.escapeSelector(url.gallery) + \"']\")\r\n .eq(url.index - 1)\r\n .focus()\r\n .trigger(\"click.fb-start\");\r\n }\r\n }\r\n\r\n // Get gallery name from current instance\r\n function getGalleryID(instance) {\r\n var opts, ret;\r\n\r\n if (!instance) {\r\n return false;\r\n }\r\n\r\n opts = instance.current ? instance.current.opts : instance.opts;\r\n ret = opts.hash || (opts.$orig ? opts.$orig.data(\"fancybox\") || opts.$orig.data(\"fancybox-trigger\") : \"\");\r\n\r\n return ret === \"\" ? false : ret;\r\n }\r\n\r\n // Start when DOM becomes ready\r\n $(function () {\r\n // Check if user has disabled this module\r\n if ($.fancybox.defaults.hash === false) {\r\n return;\r\n }\r\n\r\n // Update hash when opening/closing fancyBox\r\n $(document).on({\r\n \"onInit.fb\": function (e, instance) {\r\n var url, gallery;\r\n\r\n if (instance.group[instance.currIndex].opts.hash === false) {\r\n return;\r\n }\r\n\r\n url = parseUrl();\r\n gallery = getGalleryID(instance);\r\n\r\n // Make sure gallery start index matches index from hash\r\n if (gallery && url.gallery && gallery == url.gallery) {\r\n instance.currIndex = url.index - 1;\r\n }\r\n },\r\n\r\n \"beforeShow.fb\": function (e, instance, current, firstRun) {\r\n var gallery;\r\n\r\n if (!current || current.opts.hash === false) {\r\n return;\r\n }\r\n\r\n // Check if need to update window hash\r\n gallery = getGalleryID(instance);\r\n\r\n if (!gallery) {\r\n return;\r\n }\r\n\r\n // Variable containing last hash value set by fancyBox\r\n // It will be used to determine if fancyBox needs to close after hash change is detected\r\n instance.currentHash = gallery + (instance.group.length > 1 ? \"-\" + (current.index + 1) : \"\");\r\n\r\n // If current hash is the same (this instance most likely is opened by hashchange), then do nothing\r\n if (window.location.hash === \"#\" + instance.currentHash) {\r\n return;\r\n }\r\n\r\n if (firstRun && !instance.origHash) {\r\n instance.origHash = window.location.hash;\r\n }\r\n\r\n if (instance.hashTimer) {\r\n clearTimeout(instance.hashTimer);\r\n }\r\n\r\n // Update hash\r\n instance.hashTimer = setTimeout(function () {\r\n if (\"replaceState\" in window.history) {\r\n window.history[firstRun ? \"pushState\" : \"replaceState\"]({},\r\n document.title,\r\n window.location.pathname + window.location.search + \"#\" + instance.currentHash\r\n );\r\n\r\n if (firstRun) {\r\n instance.hasCreatedHistory = true;\r\n }\r\n } else {\r\n window.location.hash = instance.currentHash;\r\n }\r\n\r\n instance.hashTimer = null;\r\n }, 300);\r\n },\r\n\r\n \"beforeClose.fb\": function (e, instance, current) {\r\n if (!current || current.opts.hash === false) {\r\n return;\r\n }\r\n\r\n clearTimeout(instance.hashTimer);\r\n\r\n // Goto previous history entry\r\n if (instance.currentHash && instance.hasCreatedHistory) {\r\n window.history.back();\r\n } else if (instance.currentHash) {\r\n if (\"replaceState\" in window.history) {\r\n window.history.replaceState({}, document.title, window.location.pathname + window.location.search + (instance.origHash || \"\"));\r\n } else {\r\n window.location.hash = instance.origHash;\r\n }\r\n }\r\n\r\n instance.currentHash = null;\r\n }\r\n });\r\n\r\n // Check if need to start/close after url has changed\r\n $(window).on(\"hashchange.fb\", function () {\r\n var url = parseUrl(),\r\n fb = null;\r\n\r\n // Find last fancyBox instance that has \"hash\"\r\n $.each(\r\n $(\".fancybox-container\")\r\n .get()\r\n .reverse(),\r\n function (index, value) {\r\n var tmp = $(value).data(\"FancyBox\");\r\n\r\n if (tmp && tmp.currentHash) {\r\n fb = tmp;\r\n return false;\r\n }\r\n }\r\n );\r\n\r\n if (fb) {\r\n // Now, compare hash values\r\n if (fb.currentHash !== url.gallery + \"-\" + url.index && !(url.index === 1 && fb.currentHash == url.gallery)) {\r\n fb.currentHash = null;\r\n\r\n fb.close();\r\n }\r\n } else if (url.gallery !== \"\") {\r\n triggerFromUrl(url);\r\n }\r\n });\r\n\r\n // Check current hash and trigger click event on matching element to start fancyBox, if needed\r\n setTimeout(function () {\r\n if (!$.fancybox.getInstance()) {\r\n triggerFromUrl(parseUrl());\r\n }\r\n }, 50);\r\n });\r\n})(window, document, jQuery);\r\n// ==========================================================================\r\n//\r\n// Wheel\r\n// Basic mouse weheel support for gallery navigation\r\n//\r\n// ==========================================================================\r\n(function (document, $) {\r\n \"use strict\";\r\n\r\n var prevTime = new Date().getTime();\r\n\r\n $(document).on({\r\n \"onInit.fb\": function (e, instance, current) {\r\n instance.$refs.stage.on(\"mousewheel DOMMouseScroll wheel MozMousePixelScroll\", function (e) {\r\n var current = instance.current,\r\n currTime = new Date().getTime();\r\n\r\n if (instance.group.length < 2 || current.opts.wheel === false || (current.opts.wheel === \"auto\" && current.type !== \"image\")) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if (current.$slide.hasClass(\"fancybox-animated\")) {\r\n return;\r\n }\r\n\r\n e = e.originalEvent || e;\r\n\r\n if (currTime - prevTime < 250) {\r\n return;\r\n }\r\n\r\n prevTime = currTime;\r\n\r\n instance[(-e.deltaY || -e.deltaX || e.wheelDelta || -e.detail) < 0 ? \"next\" : \"previous\"]();\r\n });\r\n }\r\n });\r\n})(document, jQuery);","/*\r\n _ _ _ _\r\n ___| (_) ___| | __ (_)___\r\n/ __| | |/ __| |/ / | / __|\r\n\\__ \\ | | (__| < _ | \\__ \\\r\n|___/_|_|\\___|_|\\_(_)/ |___/\r\n |__/\r\n\r\n Version: 1.9.0\r\n Author: Ken Wheeler\r\n Website: http://kenwheeler.github.io\r\n Docs: http://kenwheeler.github.io/slick\r\n Repo: http://github.com/kenwheeler/slick\r\n Issues: http://github.com/kenwheeler/slick/issues\r\n\r\n */\r\n/* global window, document, define, jQuery, setInterval, clearInterval */\r\n;(function(factory) {\r\n 'use strict';\r\n if (typeof define === 'function' && define.amd) {\r\n define(['jquery'], factory);\r\n } else if (typeof exports !== 'undefined') {\r\n module.exports = factory(require('jquery'));\r\n } else {\r\n factory(jQuery);\r\n }\r\n\r\n}(function($) {\r\n 'use strict';\r\n var Slick = window.Slick || {};\r\n\r\n Slick = (function() {\r\n\r\n var instanceUid = 0;\r\n\r\n function Slick(element, settings) {\r\n\r\n var _ = this, dataSettings;\r\n\r\n _.defaults = {\r\n accessibility: true,\r\n adaptiveHeight: false,\r\n appendArrows: $(element),\r\n appendDots: $(element),\r\n arrows: true,\r\n asNavFor: null,\r\n prevArrow: '',\r\n nextArrow: '',\r\n autoplay: false,\r\n autoplaySpeed: 3000,\r\n centerMode: false,\r\n centerPadding: '50px',\r\n cssEase: 'ease',\r\n customPaging: function(slider, i) {\r\n return $('