{"version":3,"sources":["Content/Scripts/vendors/better-dateinput-polyfill.js","Content/Scripts/vendors/daterangepicker.js","Content/Scripts/vendors/jssocials.js","Content/Scripts/vendors/moment.min.js","Content/Scripts/vendors/ofi.js","Content/Scripts/vendors/owl.carousel.js","Content/Scripts/vendors/picturefill.min.js","Content/Scripts/vendors/picturefill-background.js","Content/Scripts/vendors/what-input.js","Content/Scripts/vendors/smoothscroll.js","Content/Scripts/vendors/lightcase.js","Content/Scripts/customs/custom.js","Content/Scripts/vendors/slick.min.js","Content/Scripts/customs/carousel.js"],"names":["revokeCookieConsent","$","ihavecookies","options","dropCookie","setButtonState","hidePopup","fn","event","$element","this","settings","extend","cookieTypes","type","value","description","brandForLogo","title","message","link","delay","expires","moreInfoLabel","acceptBtnLabel","advancedBtnLabel","necessaryBtnLabel","saveAndContinueBtnLabel","cookieTypesTitle","fixedCookieTypeLabel","fixedCookieTypeDesc","onAccept","removeClass","myPreferences","cookie","console","log","uncheckBoxes","myCookie","getCookie","myCookiePrefs","cookieVal","remove","addClass","preferences","JSON","parse","each","index","field","cookieTypeDescription","encodeURI","cookieMessageStart","toUpperCase","cookieMessage","setTimeout","append","hide","fadeIn","document","getElementById","style","display","trigger","prop","on","prefs","serializeArray","i","push","setCookie","encodeURIComponent","stringify","call","attr","slideDown","show","preference","cookieTypeValue","control","indexOf","expiryDays","fadeOut","name","expiry_days","d","Date","setTime","getTime","toUTCString","cookie_name","decodedCookie","decodeURIComponent","ca","split","length","c","charAt","substring","selectedChecks","totalSelectableChecks","jQuery","ready","innerText","nextElementSibling","a","b","exports","module","define","amd","window","createElement","setAttribute","innerHTML","head","appendChild","TypeError","enumerable","configurable","writable","Object","defineProperty","key","prototype","instance","date","input","isOpen","container","year","createRangeSelect","getFullYear","className","addEventListener","setYear","refreshDaysMatrix","month","setMonth","today","textContent","setInput","daysHead","days","target","hasAttribute","querySelector","removeAttribute","setDate","parseInt","body","parentNode","getAttribute","getBoundingClientRect","top","height","documentElement","scrollTop","left","scrollLeft","sync","element","valueAsDate","absoluteDate","getMonth","slice","getDate","focus","pingInput","locale","localeText","join","months","refreshLocale","getDay","e","f","g","h","j","k","Event","createEvent","initEvent","dispatchEvent","text","selected","getTimezoneOffset","en_en-US","format","en-GB","zh_zh-CN","zh-Hans_zh-Hans-CN","zh-Hant_zh-Hant-TW","de_de-DE","da_da-DA","es","hi","pt","ja","nl_nl-NL_nl-BE","tr_tr-TR","fr_fr-FR","uk_uk-UA","it","pl","cs","ru","getLocaleText","defineProperties","get","polyfillValue","set","test","replace","toISOString","valueAsNumber","NaN","attachTo","keyCode","toLowerCase","map","substr","currentScript","querySelectorAll","supportsDateInput","addPickerToDateInputs","readyState","root","factory","moment","jquery","undefined","require","daterangepicker","DateRangePicker","cb","parentEl","startDate","startOf","endDate","endOf","minDate","maxDate","maxSpan","autoApply","singleDatePicker","showDropdowns","minYear","subtract","maxYear","add","showWeekNumbers","showISOWeekNumbers","showCustomRangeLabel","timePicker","timePicker24Hour","timePickerIncrement","timePickerSeconds","linkedCalendars","autoUpdateInput","alwaysShowCalendars","ranges","opens","hasClass","drops","buttonClasses","applyButtonClasses","cancelButtonClasses","direction","localeData","longDateFormat","separator","applyLabel","cancelLabel","weekLabel","customRangeLabel","daysOfWeek","weekdaysMin","monthNames","monthsShort","firstDay","firstDayOfWeek","callback","isShowing","leftCalendar","rightCalendar","data","template","appendTo","elem","rangeHtml","isBefore","clone","isAfter","applyClass","cancelClass","dateLimit","isInvalidDate","isCustomDate","iterator","shift","start","end","range","is","val","setStartDate","setEndDate","timepicker","list","find","prepend","html","proxy","clickPrev","clickNext","clickDate","hoverDate","monthOrYearChanged","timeChanged","clickRange","clickApply","clickCancel","click.daterangepicker","focus.daterangepicker","keyup.daterangepicker","elementChanged","keydown.daterangepicker","keydown","toggle","updateElement","constructor","minute","Math","round","floor","updateMonthsInView","previousRightTime","updateView","renderTimePicker","removeAttr","updateCalendars","updateFormInputs","hour","second","ampm","renderCalendar","calculateChosenLabel","side","calendar","daysInMonth","lastDay","lastMonth","lastYear","daysInLastMonth","dayOfWeek","day","startDay","col","row","curDate","right","dateHtml","currentMonth","currentYear","inMinYear","inMaxYear","monthHtml","m","yearHtml","y","maxLimit","week","isoWeek","classes","isSame","isoWeekday","isCustom","Array","apply","cname","disabled","timeSelector","i_in_24","time","padded","am_html","pm_html","move","containerTop","parentOffset","parentRightEdge","width","offset","clientWidth","outerHeight","css","outerWidth","_outsideClickProxy","outsideClick","oldStartDate","oldEndDate","chosenLabel","off","closest","showCalendars","hideCalendars","label","dates","cal","parents","el","dt","stopPropagation","customRange","isLeft","leftOrRight","dateString","isValid","preventDefault","newValue","removeData","implementOptions","defaultOptions","Socials","config","JSSOCIALS_DATA_KEY","_$element","shares","_init","_render","JSSOCIALS","getOrApply","context","isFunction","makeArray","arguments","IMG_SRC_REGEX","URL_PARAMS_REGEX","MEASURES","G","M","K","url","shareIn","showLabel","screenWidth","showCount","smallScreenWidth","largeScreenWidth","resizeTimeout","elementClass","sharesClass","shareClass","shareButtonClass","shareLinkClass","shareLogoClass","shareLabelClass","shareLinkCountClass","shareCountBoxClass","shareCountClass","shareZeroCountClass","_initDefaults","_initShares","_attachWindowResizeCallback","location","href","trim","shareConfig","share","renderer","Error","_windowResizeHandler","_detachWindowResizeCallback","clearTimeout","_resizeTimer","refresh","_clear","_defineOptionsByScreen","_$shares","_renderShares","_screenWidth","_showLabel","_showCount","_","_renderShare","$share","_createShare","$result","$shareLink","_createShareLink","isInsideCount","$countContainer","_renderShareCount","shareStrategy","_getShareStrategy","shareUrl","_getShareUrl","_createShareLogo","_createShareLabel","handler","result","shareStrategies","_formatShareUrl","logo","$container","$count","_loadCount","done","count","deferred","Deferred","countUrl","_getCountUrl","resolve","promise","handleSuccess","response","_getCountValue","getJSON","fail","getCount","_formatNumber","number","letter","parseFloat","toFixed","match","empty","_passOptionToShares","optionName","_normalizeShare","isNumeric","grep","s","destroy","option","shareOption","jsSocials","args","methodArgs","methodResult","setDefaults","component","isPlainObject","popup","open","blank","self","email","twitter","facebook","share_count","vkontakte","googleplus","linkedin","pinterest","stumbleupon","views","telegram","whatsapp","line","viber","pocket","messenger","t","o","toString","u","l","n","hasOwnProperty","valueOf","Ot","utc","_pf","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","p","_isValid","isNaN","_d","invalidWeekday","_strict","bigHour","isFrozen","v","w","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","r","updateOffset","S","D","ceil","isFinite","min","abs","Y","suppressDeprecationWarnings","warn","deprecationHandler","stack","T","O","x","Function","P","H","W","R","C","L","F","U","pow","max","I","E","ordinal","A","V","N","invalidDate","lastIndex","ue","oe","le","RegExp","de","ce","he","fe","_w","De","ke","Te","be","xe","Pe","Ce","monthsParse","Fe","Ne","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","Ge","UTC","getUTCFullYear","setUTCFullYear","Ve","getUTCDay","Ee","dayOfYear","Ie","Ae","Be","weekdaysShort","weekdays","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","Qe","hours","Xe","minutes","Ke","_meridiemParse","rt","at","st","et","_abbr","ot","lt","ut","nt","abbr","_config","parentLocale","forEach","_a","_e","ye","me","ge","pe","ve","we","_overflowDayOfYear","_overflowWeeks","Me","_overflowWeekday","Se","ht","ct","now","_useUTC","getUTCMonth","getUTCDate","GG","Tt","_week","dow","doy","gg","_dayOfYear","_nextDay","setFullYear","setUTCMinutes","getUTCMinutes","vt","ft","exec","mt","yt","gt","_t","kt","Mt","Re","Dt","wt","Ze","St","ISO_8601","RFC_2822","_meridiem","meridiemHour","isPM","Yt","preparse","score","createFromInputFallback","millisecond","getOwnPropertyNames","Pt","Ht","quarter","Ye","Wt","_milliseconds","_days","_months","_data","_bubble","Rt","Ct","Ft","utcOffset","Ut","Lt","Nt","local","Gt","Vt","At","ms","milliseconds","Et","It","jt","Zt","from","to","zt","$t","Bt","Qt","Kt","en","tn","dn","cn","mn","yn","gn","pn","vn","wn","as","bn","Vn","En","Gn","asSeconds","some","momentProperties","keys","Z","z","q","J","B","Q","X","ee","te","ne","se","ie","re","ae","parseTwoDigitYear","Oe","monthsShortRegex","monthsRegex","We","He","Le","Ue","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","je","ze","$e","qe","Je","seconds","_isPm","tt","sameDay","nextDay","nextWeek","lastWeek","sameElse","LTS","LT","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","hh","dd","MM","yy","meridiemParse","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","xt","bt","invalid","qt","Jt","defaultFormat","defaultFormatUtc","Xt","weekYear","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","nn","sn","rn","an","un","ln","calendarFormat","diff","isUtc","postformat","humanize","fromNow","toNow","invalidAt","isBetween","isSameOrAfter","isSameOrBefore","lang","parsingFlags","unit","priority","weekday","toArray","toObject","years","toDate","inspect","isLocal","toJSON","unix","creationData","isUTC","strict","isLeapYear","quarters","weeks","isoWeeks","weeksInYear","isoWeeksInYear","_changeInProgress","parseZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","zone","isDSTShifted","_isDSTShifted","hn","_calendar","_longDateFormat","_invalidDate","_ordinal","_relativeTime","pastFuture","source","isFormat","standalone","_monthsShort","_monthsParseExact","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","firstDayOfYear","_weekdays","_weekdaysMin","_weekdaysShort","_weekdaysParseExact","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","_fullWeekdaysParse","langData","_n","Mn","Sn","Dn","kn","Yn","On","Tn","xn","Pn","Wn","Hn","Rn","Cn","Fn","Ln","Un","Nn","In","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","toIsoString","version","isDate","duration","isMoment","isDuration","defineLocale","updateLocale","locales","normalizeUnits","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","DATE","TIME","TIME_SECONDS","TIME_MS","WEEK","MONTH","navigator","userAgent","objectFitPolyfill","getComputedStyle","getPropertyValue","position","clientHeight","max-width","max-height","min-width","min-height","bottom","margin-top","margin-right","margin-bottom","margin-left","dataset","objectFit","objectPosition","marginTop","marginLeft","nodeName","complete","Owl","Defaults","_handlers","_plugins","_supress","_current","_speed","_coordinates","_breakpoint","_width","_items","_clones","_mergers","_widths","_invalidated","_pipe","_drag","pointer","stage","current","_states","tags","initializing","animating","dragging","Plugins","plugin","Workers","worker","filter","run","setup","initialize","items","loop","center","rewind","mouseDrag","touchDrag","pullDrag","freeDrag","margin","stagePadding","merge","mergeFit","autoWidth","startPosition","rtl","smartSpeed","fluidSpeed","dragEndSpeed","responsive","responsiveRefreshRate","responsiveBaseElement","fallbackEasing","info","nestedItemSelector","itemElement","stageElement","refreshClass","loadedClass","loadingClass","rtlClass","responsiveClass","dragClass","itemClass","stageClass","stageOuterClass","grabClass","Width","Default","Inner","Outer","Type","State","cache","relative","$stage","children","grid","widths","clones","view","size","repeat","normalize","outerHTML","prependTo","previous","coordinates","padding","padding-left","padding-right","eq","minimum","maximum","reset","animate","inner","outer","begin","matches","op","enter","toggleClass","imgs","nestedSelector","preloadAutoWidthImages","wrap","parent","not","invalidate","registerEventHandlers","leave","viewport","overwrites","breakpoint","Number","property","optionsLogic","prepare","item","content","update","all","dimension","onThrottledResize","resizeTimer","onResize","isDefaultPrevented","support","transition","onTransitionEnd","onDragStart","onDragEnd","which","transform","stop","speed","one","delta","difference","onDragMove","pull","coordinate","transform3d","state","part","suppress","release","reciprocalItemsWidth","elementWidth","mergers","odd","even","multiplier","newPosition","factor","revert","distance","next","prev","srcElement","originalTarget","innerWidth","nodeType","addBack","after","before","splice","images","Image","src","unwrap","contents","listener","capture","attachEvent","removeEventListener","detachEvent","namespace","status","camelCase","relatedTarget","onTrigger","register","concat","object","special","owl","_default","tag","inArray","events","originalEvent","touches","changedTouches","pageX","pageY","clientX","clientY","first","owlCarousel","$this","Constructor","Zepto","AutoRefresh","carousel","_core","_interval","_visible","initialized.owl.carousel","autoRefresh","watch","autoRefreshInterval","setInterval","clearInterval","Lazy","_loaded","initialized.owl.carousel change.owl.carousel resized.owl.carousel","lazyLoad","load","$item","$elements","image","devicePixelRatio","onload","background-image","opacity","handlers","AutoHeight","initialized.owl.carousel refreshed.owl.carousel","autoHeight","changed.owl.carousel","loaded.owl.lazy","autoHeightClass","visible","heights","maxheight","Video","_videos","_playing","resize.owl.carousel","video","isInFullScreen","refreshed.owl.carousel","prepared.owl.carousel","fetch","play","videoHeight","videoWidth","id","thumbnail","tnLink","icon","path","dimensions","customTn","srcType","lazyClass","create","ajax","jsonp","dataType","success","thumbnail_large","framegrab_url","insertAfter","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","Animate","scope","core","swapping","change.owl.carousel","drag.owl.carousel dragged.owl.carousel translated.owl.carousel","translate.owl.carousel","animateOut","animateIn","swap","animation","clear","incoming","outgoing","Autoplay","_timeout","_paused","autoplay","_setAutoPlayInterval","play.owl.autoplay","stop.owl.autoplay","mouseover.owl.autoplay","autoplayHoverPause","pause","mouseleave.owl.autoplay","touchstart.owl.core","touchend.owl.core","autoplayTimeout","autoplaySpeed","timeout","_getNextTimeout","hidden","Navigation","_initialized","_pages","_controls","_templates","_overrides","dotsData","dotClass","added.owl.carousel","pop","remove.owl.carousel","draw","nav","navText","navSpeed","navElement","navContainer","navContainerClass","navClass","slideBy","dotsClass","dots","dotsEach","dotsSpeed","dotsContainer","override","$relative","$previous","$next","$absolute","overides","lower","upper","page","getPosition","successor","standard","Hash","_hashes","hash","URLhashListener","prefixed","prefixes","WebkitTransition","MozTransition","OTransition","WebkitAnimation","MozAnimation","OAnimation","tests","csstransforms","csstransforms3d","csstransitions","cssanimations","String","HTMLPictureElement","$1","cloneNode","insertBefore","firstElementChild","removeChild","_pfLastSize","offsetWidth","sizes","matchMedia","addListener","srcset","onerror","ba","DPR","innerHeight","vw","vh","em","getEmValue","rem","algorithm","sqrt","getSet","setRes","applySetCandidate","ns","evaled","res","sets","makeUrl","curSrc","curCan","aa","parseSet","getElementsByTagName","media","has1x","matchesMedia","picturefillCFG","px","in","cWidth","calcListLength","elements","qsa","reevaluate","reselect","sel","selShort","setupRun","fillImg","teardownRun","implementation","hasFeature","supSrcset","supSizes","supPicture","cfg","types","setSize","mMQ","calcLength","supportsType","parseSize","cands","cssText","uT","cached","setSrc","parseSets","pic","supported","parsed","fillImgs","picturefill","pf","escapeRegExp","string","picturefillBackgroundOptions","selector","picturefillBackground","picturefills","getElementsByClassName","il","sources","jl","exp","backgroundImage","backgroundSize","backgroundRepeat","backgroundPosition","modules","__webpack_require__","moduleId","installedModules","loaded","docElem","currentElement","currentInput","currentIntent","eventTimer","formInputs","functionList","ignoreMap","inputMap","keyup","mousedown","mousemove","MSPointerDown","MSPointerMove","pointerdown","pointermove","touchstart","isBuffering","isScrolling","mousePos","pointerMap","2","3","4","supportsPassive","opts","setUp","detectWheel","addListeners","doUpdate","passive","PointerEvent","setIntent","MSPointerEvent","eventBuffer","setElement","clearElement","eventKey","pointerType","shouldUpdate","activeElem","activeElement","notFormInput","fireFunctions","detectScrolling","classList","wheelType","onmousewheel","len","objPos","screenX","screenY","ask","opt","ignoreKeys","arr","registerOnChange","eventType","unRegisterOnChange","behavior","scrollHeight","scrollWidth","startTime","cos","PI","startX","startY","method","scrollable","requestAnimationFrame","bind","scrollX","pageXOffset","scrollY","pageYOffset","scroll","__forceSmoothScrollPolyfill__","HTMLElement","Element","scrollTo","scrollBy","elementScroll","scrollIntoView","performance","SyntaxError","polyfill","_self","objects","init","unbind","lightcase","origin","idPrefix","classPrefix","attrPrefix","transitionOpen","transitionClose","transitionIn","transitionOut","cssTransitions","speedIn","speedOut","maxWidth","maxHeight","forceWidth","forceHeight","liveResize","fullScreenModeForMobile","mobileMatchExpression","disableShrink","fixedRatio","shrinkFactor","overlayOpacity","slideshow","slideshowAutoStart","breakBeforeShow","swipe","useKeys","useCategories","useAsCollection","navigateEndless","closeOnOverlayClick","caption","showTitle","showCaption","showSequenceInfo","inline","iframe","frameborder","flash","wmode","poster","preload","controls","autobuffer","typeMapping","errorMessage","labels","sequenceInfo.of","close","navigator.prev","navigator.next","navigator.play","navigator.pause","markup","overlay","loading","contentInner","sequenceInfo","onInit","onStart","onBeforeCalculateDimensions","onAfterCalculateDimensions","onBeforeShow","onFinish","onClose","onCleanup","_callHooks","objectData","_setObjectData","_addElements","_open","getViewportDimensions","getObjectData","$object","_prefixAttributeName","_determineUrl","requestType","requestData","requestDataType","rel","_determineAttributeSelector","_verifyDataType","isPartOfSequence","_isPartOfSequence","isPartOfSequenceWithSlideshow","currentIndex","sequenceLength","prevIndex","nextIndex","_determineLinkTarget","$origin","categories","category","dataUrl","_verifyDataUrl","density","supportLevel","videoType","_getFileUrlSuffix","canPlayType","_devicePixelRatio","_matchMedia","_normalizeUrl","srcExp","urlParser","str","lastChar","intVal","floatVal","expression","getSimilarLinks","regexp","isSlideshowEnabled","_loadContent","originalObject","_restoreObject","_createObject","alt","_cloneObject","_addObject","_loadObject","_loading","_showContent","error","textStatus","jqXHR","getResponseHeader","errorThrown","_calculateDimensions","_cleanupDimensions","ratio","objectWidth","objectHeight","windowWidth","windowHeight","differenceWidthAsPercent","differenceHeightAsPercent","_adjustDimensions","process","suffixArr","suffix","_startInTransition","fade","zoom","isBusy","firstOpened","_processContent","_handleEvents","_unbindEvents","isSlideshowStarted","_stopTimeout","_startTimeout","_watchResizeInteraction","click","_addKeyEvents","_setNavigation","isFirst","action","isLast","swipeleft","swiperight","$links","prevItem","isFirstOpened","$clone","objectId","_cacheObjectData","isMobileDevice","deviceAgent","agentId","isTransitionSupported","transitionMapping","MsTransition","isInTransition","startTransition","startOpacity","endTransition","endOpacity","transitions","startOffset","endOffset","startScale","endScale","hooks","hook","resize","_unwatchResizeInteraction","_switchToFullScreenMode","mobileDevice","cleanup","msMatchMedia","_isPublicMethod","_export","collapse","hover","slideUp","deviceWidth","coverId","elOffset","elHeight","mobileId","Slick","defaults","accessibility","adaptiveHeight","appendArrows","appendDots","arrows","asNavFor","prevArrow","nextArrow","centerMode","centerPadding","cssEase","customPaging","draggable","easing","edgeFriction","focusOnSelect","focusOnChange","infinite","initialSlide","mobileFirst","pauseOnHover","pauseOnFocus","pauseOnDotsHover","respondTo","rows","slide","slidesPerRow","slidesToShow","slidesToScroll","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","vertical","verticalSwiping","waitForAnimate","zIndex","initials","autoPlayTimer","currentDirection","currentLeft","currentSlide","$dots","listWidth","listHeight","loadIndex","$nextArrow","$prevArrow","scrolling","slideCount","slideWidth","$slideTrack","$slides","sliding","slideOffset","swipeLeft","swiping","$list","touchObject","transformsEnabled","unslicked","activeBreakpoint","animType","animProp","breakpoints","breakpointSettings","focussed","interrupted","paused","positionProp","rowCount","shouldClick","$slider","$slidesCache","transformType","transitionType","visibilityChange","windowTimer","originalSettings","mozHidden","webkitHidden","autoPlay","autoPlayClear","autoPlayIterator","changeSlide","clickHandler","selectHandler","setPosition","swipeHandler","dragHandler","keyHandler","instanceUid","htmlExpr","registerBreakpoints","activateADA","aria-hidden","tabindex","addSlide","slickAdd","unload","detach","reinit","animateHeight","animateSlide","animStart","step","applyTransition","disableTransition","getNavTarget","slick","slideHandler","buildArrows","aria-disabled","buildDots","getDotCount","buildOut","wrapAll","setupInfinite","updateDots","setSlideClasses","buildRows","createDocumentFragment","checkResponsive","unslick","currentTarget","checkNavigable","getNavigableIndexes","cleanUpEvents","interrupt","visibility","cleanUpSlideEvents","orientationChange","cleanUpRows","stopImmediatePropagation","fadeSlide","fadeSlideOut","filterSlides","slickFilter","focusHandler","getCurrent","slickCurrentSlide","getLeft","offsetLeft","getOption","slickGetOption","getSlick","getSlideCount","goTo","slickGoTo","setProps","startLoad","loadSlider","initializeEvents","updateArrows","initADA","role","aria-describedby","aria-controls","aria-label","aria-selected","initArrowEvents","initDotEvents","initSlideEvents","initUI","tagName","progressiveLazyLoad","slickNext","slickPause","slickPlay","postSlide","slickPrev","windowDelay","removeSlide","slickRemove","setCSS","setDimensions","setFade","setHeight","setOption","slickSetOption","msTransition","OTransform","perspectiveProperty","webkitPerspective","MozTransform","MozPerspective","webkitTransform","msTransform","swipeDirection","curX","curY","atan2","swipeEnd","swipeLength","edgeHit","minSwipe","fingerCount","swipeStart","swipeMove","unfilterSlides","slickUnfilter"],"mappings":"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","file":"scriptsBundleSecondary.js","sourcesContent":["/*!\r\n * ihavecookies - jQuery plugin for displaying cookie/privacy message\r\n * v0.3.2\r\n *\r\n * Copyright (c) 2018 Ketan Mistry (https://iamketan.com.au)\r\n * Licensed under the MIT license:\r\n * http://www.opensource.org/licenses/mit-license.php\r\n *\r\n * Modified and Extended for use by MCode - Darren Bramley\r\n *\r\n */\r\n(function ($) {\r\n\r\n /*\r\n |--------------------------------------------------------------------------\r\n | Cookie Message\r\n |--------------------------------------------------------------------------\r\n |\r\n | Displays the cookie message on first visit or 30 days after their\r\n | last visit.\r\n |\r\n | @param event - 'reinit' to reopen the cookie message\r\n |\r\n */\r\n var dropCookie;\r\n var setButtonState;\r\n var hidePopup;\r\n $.fn.ihavecookies = function (options, event) {\r\n\r\n var $element = $(this);\r\n\r\n // ### Set defaults ### - Can be overridden on page\r\n var settings = $.extend({\r\n cookieTypes: [\r\n {\r\n type: 'Advertising',\r\n value: 'advertising',\r\n description:\r\n \"These cookies remember the products you are interested in to show you other products or offers that might be relevant when you visit other websites. They are also used to make sure we don't show you adverts for things you've already bought and find out if our marketing was successful. Advertising cookies collect and save information about which pages you look at, what you click on, and if you buy a product. If you choose not to accept, you will still see adverts as you browse the web, but they won't be as relevant to your personal interests. The website will still work as normal.\"\r\n },\r\n {\r\n type: 'Analytics',\r\n value: 'analytics',\r\n description:\r\n \"These cookies are used to find out how people are using our site. This helps us fix areas that may not be working and make the site easier to navigate. They're also used to check whether changes we make to the website make it better or worse for you.\"\r\n }\r\n ],\r\n brandForLogo:\r\n 'Your Logo Here', //Colour and Background Colour are changed in the css file search for 'BrandForLogo'\r\n title: 'Cookies on this website',\r\n message:\r\n \"

In order to make our site work and keep your information safe, we use strictly necessary cookies. We would also like to set certain optional analytics and marketing cookies on your device to help us understand how you use our site and to personalise your experience.

\" +\r\n \"

You can agree to these optional cookies by pressing the 'accept all' button below. If you want to learn more, or update your cookie preferences, just click the 'manage' button below.

\",\r\n link: '/privacy-policy',\r\n delay: 2000,\r\n expires: 30,\r\n moreInfoLabel: 'View Cookie Policy',\r\n acceptBtnLabel: 'Accept All',\r\n advancedBtnLabel: 'Manage',\r\n necessaryBtnLabel: 'Accept Only Necessary Cookies',\r\n saveAndContinueBtnLabel: 'Save Preferences and Continue',\r\n cookieTypesTitle: 'Select cookies to accept',\r\n fixedCookieTypeLabel: 'Strictly Necessary',\r\n fixedCookieTypeDesc:\r\n \"These cookies are essential for the website to function and also protect our site from potential cyber attacks and fraudulent activity.\",\r\n onAccept: function () {\r\n $('body').removeClass('parentDisable');\r\n\r\n var myPreferences = $.fn.ihavecookies.cookie();\r\n //console.log('Yay! The following preferences were saved...');\r\n console.log(myPreferences);\r\n },\r\n uncheckBoxes: false\r\n },\r\n options);\r\n\r\n var myCookie = getCookie('cookieControl');\r\n var myCookiePrefs = getCookie('cookieControlPrefs');\r\n\r\n // ########## Code to trigger display of message ###########\r\n\r\n if (!myCookie || !myCookiePrefs || event == 'reinit') {\r\n // Remove all instances of the cookie message so it's not duplicated\r\n $('#gdpr-cookie-message').remove();\r\n $('#cookie-container').remove();\r\n\r\n\r\n // Set the 'necessary' cookie type checkbox which can not be unchecked\r\n var cookieTypes =\r\n '
  • ' +\r\n '

    ' +\r\n settings.fixedCookieTypeDesc +\r\n '

    ' +\r\n '
  • ';\r\n\r\n $('body').addClass('parentDisable');\r\n //$('#cookie-container').removeClass('cookie-container');\r\n\r\n // Generate list of cookie type checkboxes\r\n preferences = JSON.parse(myCookiePrefs);\r\n\r\n $.each(settings.cookieTypes,\r\n function (index, field) {\r\n if (field.type !== '' && field.value !== '') {\r\n var cookieTypeDescription = '';\r\n if (field.description !== false) {\r\n cookieTypeDescription = ' title=\"' + field.description + '\"';\r\n }\r\n cookieTypes += '
  • ' +\r\n ' ' +\r\n '' +\r\n '
    +
    ' +\r\n '' +\r\n '
  • ';\r\n }\r\n });\r\n\r\n // Display initial cookie message on page\r\n var cookieMessageStart =\r\n '
    ' +\r\n '' +\r\n '
    ';\r\n\r\n var cookieMessage = cookieMessageStart;\r\n\r\n // #########################################\r\n // ########### Show Popup #############\r\n // #########################################\r\n setTimeout(function () {\r\n $($element).append(cookieMessage);\r\n $('#gdpr-cookie-message').hide().fadeIn('slow',\r\n function () {\r\n // If reinit'ing, open the advanced section of message\r\n // and re-check all previously selected options.\r\n //document.getElementById(\"gdpr-cookie-dialog\").showModal();\r\n document.getElementById(\"gdpr-cookie-dialog\").style.display = \"block\";\r\n\r\n if (event == 'reinit') {\r\n $('#gdpr-cookie-advanced').trigger('click');\r\n $.each(preferences,\r\n function (index, field) {\r\n $('input#gdpr-cookietype-' + field).prop('checked', true);\r\n });\r\n setButtonState();\r\n }\r\n });\r\n },\r\n settings.delay);\r\n\r\n // ACCEPT ALL BUTTON\r\n // When accept button is clicked drop cookie\r\n $('body').on('click',\r\n '#gdpr-cookie-accept',\r\n function () {\r\n dropCookie(true, settings.expires);\r\n\r\n //Accepted all, make sure they are checked\r\n $('input[name=\"gdpr[]\"').prop('checked', true);\r\n\r\n // Save users cookie preferences (in a cookie!)\r\n var prefs = [];\r\n $.each($('input[name=\"gdpr[]\"]').serializeArray(),\r\n function (i, field) {\r\n prefs.push(field.value);\r\n });\r\n setCookie('cookieControlPrefs', encodeURIComponent(JSON.stringify(prefs)), settings.expires);\r\n\r\n // Run callback function\r\n settings.onAccept.call(this);\r\n\r\n hidePopup();\r\n });\r\n\r\n // MANAGE BUTTON\r\n // Toggle advanced cookie selection options\r\n $('body').on('click',\r\n '#gdpr-cookie-advanced',\r\n function () {\r\n // Uncheck all checkboxes except for the disabled 'necessary'\r\n // one and set 'data-auto' to OFF for all. The user can now\r\n // select the cookies they want to accept.\r\n $('input[name=\"gdpr[]\"]:not(:disabled)').attr('data-auto', 'off').prop('checked', false);\r\n $('#gdpr-cookie-types').slideDown('fast',\r\n function () {\r\n $('#gdpr-cookie-advanced').prop('disabled', true);\r\n $('#gdpr-cookie-advanced').hide();\r\n $('#gdpr-cookie-necessary').show();\r\n });\r\n });\r\n\r\n // ACCEPT ONLY NECESSARY COOKIES BUTTON\r\n // Disable Advertising and Analytics\r\n $('body').on('click',\r\n '#gdpr-cookie-necessary',\r\n function () {\r\n console.log('Clicked gdpr-cookie-necessary');\r\n\r\n hidePopup();\r\n\r\n dropCookie(true, settings.expires);\r\n\r\n // Uncheck all options as only necessary has been clicked\r\n $('input[name=\"gdpr[]\"][data-auto=\"off\"]').prop('checked', false);\r\n\r\n // Save users cookie preferences (in a cookie!)\r\n var prefs = [];\r\n $.each($('input[name=\"gdpr[]\"]').serializeArray(),\r\n function (i, field) {\r\n prefs.push(field.value);\r\n });\r\n setCookie('cookieControlPrefs', encodeURIComponent(JSON.stringify(prefs)), settings.expires);\r\n\r\n var myPreferences = $.fn.ihavecookies.cookie();\r\n console.log(myPreferences);\r\n });\r\n\r\n // BUTTON TOGGLE ON MANAGE SCREEN\r\n // If it's a custom selection, switch button to 'Save and Continue' if not 'Accept All'\r\n $('body').on('click',\r\n '.cookie-selectable-checkbox',\r\n function () {\r\n setButtonState();\r\n }\r\n );\r\n\r\n // SAVE AND CONTINUE BUTTON\r\n //CUSTOM Options - Customer has hit MANAGE, then selected custom options\r\n $('body').on('click',\r\n '#gdpr-cookie-save-preferences',\r\n function () {\r\n\r\n $(hidePopup());\r\n\r\n dropCookie(true, settings.expires);\r\n\r\n // Save users cookie preferences (in a cookie!)\r\n var prefs = [];\r\n $.each($('input[name=\"gdpr[]\"]').serializeArray(),\r\n function (i, field) {\r\n prefs.push(field.value);\r\n });\r\n setCookie('cookieControlPrefs', encodeURIComponent(JSON.stringify(prefs)), settings.expires);\r\n\r\n var myPreferences = $.fn.ihavecookies.cookie();\r\n console.log(myPreferences);\r\n });\r\n } else {\r\n var cookieVal = true;\r\n if (myCookie == 'false') {\r\n cookieVal = false;\r\n }\r\n dropCookie(cookieVal, settings.expires);\r\n }\r\n\r\n // Uncheck any checkboxes on page load\r\n if (settings.uncheckBoxes === true) {\r\n $('input[type=\"checkbox\"].ihavecookies').prop('checked', false);\r\n }\r\n\r\n };\r\n\r\n // Method to get cookie value\r\n $.fn.ihavecookies.cookie = function () {\r\n var preferences = getCookie('cookieControlPrefs');\r\n return JSON.parse(preferences);\r\n };\r\n\r\n // Method to check if user cookie preference exists\r\n $.fn.ihavecookies.preference = function (cookieTypeValue) {\r\n var control = getCookie('cookieControl');\r\n var preferences = getCookie('cookieControlPrefs');\r\n preferences = JSON.parse(preferences);\r\n if (control === false) {\r\n return false;\r\n }\r\n if (preferences === false || preferences.indexOf(cookieTypeValue) === -1) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n /*\r\n |--------------------------------------------------------------------------\r\n | Drop Cookie\r\n |--------------------------------------------------------------------------\r\n |\r\n | Function to drop the cookie with a boolean value of true.\r\n |\r\n */\r\n dropCookie = function (value, expiryDays) {\r\n setCookie('cookieControl', value, expiryDays);\r\n $('#gdpr-cookie-message').fadeOut('fast',\r\n function () {\r\n $(this).remove();\r\n });\r\n };\r\n\r\n /*\r\n |--------------------------------------------------------------------------\r\n | Set Cookie\r\n |--------------------------------------------------------------------------\r\n |\r\n | Sets cookie with 'name' and value of 'value' for 'expiry_days'.\r\n |\r\n */\r\n var setCookie = function (name, value, expiry_days) {\r\n var d = new Date();\r\n d.setTime(d.getTime() + (expiry_days * 24 * 60 * 60 * 1000));\r\n var expires = \"expires=\" + d.toUTCString();\r\n document.cookie = name + \"=\" + value + \";secure;\" + expires + \";path=/\";\r\n document.cookie\r\n return getCookie(name);\r\n };\r\n\r\n /*\r\n |--------------------------------------------------------------------------\r\n | Get Cookie\r\n |--------------------------------------------------------------------------\r\n |\r\n | Gets cookie called 'name'.\r\n |\r\n */\r\n var getCookie = function (name) {\r\n var cookie_name = name + \"=\";\r\n var decodedCookie = decodeURIComponent(document.cookie);\r\n var ca = decodedCookie.split(';');\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i];\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(cookie_name) === 0) {\r\n return c.substring(cookie_name.length, c.length);\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n /*\r\n |--------------------------------------------------------------------------\r\n | Set Button State\r\n |--------------------------------------------------------------------------\r\n |\r\n | If Custom preferences (i.e. only one checkbox selected), switch button to Save Preferences and Continue\r\n | Else Button = Accept All\r\n |\r\n */\r\n setButtonState = function () {\r\n {\r\n var selectedChecks = $('.cookie-selectable-checkbox:checked').length;\r\n var totalSelectableChecks = $('.cookie-selectable-checkbox').length;\r\n if (selectedChecks > 0 && selectedChecks < totalSelectableChecks) {\r\n // console.log('Custom Selection');\r\n $('#gdpr-cookie-accept').prop('disabled', true);\r\n $('#gdpr-cookie-accept').hide();\r\n $('#gdpr-cookie-save-preferences').prop('disabled', false);\r\n $('#gdpr-cookie-save-preferences').show();\r\n } else {\r\n // console.log('Standard Selection');\r\n $('#gdpr-cookie-save-preferences').prop('disabled', true);\r\n $('#gdpr-cookie-save-preferences').hide();\r\n $('#gdpr-cookie-accept').prop('disabled', false);\r\n $('#gdpr-cookie-accept').show();\r\n }\r\n }\r\n };\r\n\r\n /*\r\n |--------------------------------------------------------------------------\r\n | Hide Popup\r\n |--------------------------------------------------------------------------\r\n |\r\n */\r\n hidePopup = function () {\r\n $('body').removeClass('parentDisable');\r\n $('#cookie-container').removeClass('cookie-container');\r\n //document.getElementById(\"gdpr-cookie-dialog\").close();\r\n document.getElementById(\"gdpr-cookie-dialog\").style.display = \"none\";\r\n };\r\n\r\n\r\n}(jQuery));\r\n\r\nfunction revokeCookieConsent() {\r\n $('body').ihavecookies(options, 'reinit');\r\n}\r\n\r\n$(document).ready(function () {\r\n //Toggle Advanced Cookie Description\r\n $('body').on('click', '[id^=click-for-info-]', function () {\r\n if (this.innerText === '+') {\r\n this.innerText = '-';\r\n this.nextElementSibling.style.display = 'block';\r\n } else {\r\n this.innerText = '+';\r\n this.nextElementSibling.style.display = 'none';\r\n }\r\n });\r\n});","(function (a, b) { 'object' == typeof exports && 'undefined' != typeof module ? b() : 'function' == typeof define && define.amd ? define(b) : b() })(this, function () { 'use strict'; (function (a) { if (a && 'undefined' != typeof window) { var b = document.createElement('style'); return b.setAttribute('type', 'text/css'), b.innerHTML = a, document.head.appendChild(b), a } })('date-input-polyfill {\\n background: #fff;\\n color: #000;\\n text-shadow: none;\\n border: 0;\\n padding: 0;\\n height: auto;\\n width: auto;\\n line-height: normal;\\n border-radius: 0;\\n font-family: sans-serif;\\n font-size: 14px;\\n position: absolute !important;\\n text-align: center;\\n box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12);\\n cursor: default;\\n z-index: 1; }\\n date-input-polyfill[data-open=\"false\"] {\\n display: none; }\\n date-input-polyfill[data-open=\"true\"] {\\n display: block; }\\n date-input-polyfill select, date-input-polyfill table, date-input-polyfill th, date-input-polyfill td {\\n background: #fff;\\n color: #000;\\n text-shadow: none;\\n border: 0;\\n padding: 0;\\n height: auto;\\n width: auto;\\n line-height: normal;\\n border-radius: 0;\\n font-family: sans-serif;\\n font-size: 14px;\\n box-shadow: none; }\\n date-input-polyfill select, date-input-polyfill button {\\n border: 0;\\n border-bottom: 1px solid #E0E0E0;\\n height: 24px;\\n vertical-align: top; }\\n date-input-polyfill select {\\n width: 50%; }\\n date-input-polyfill select:first-of-type {\\n border-right: 1px solid #E0E0E0;\\n width: 30%; }\\n date-input-polyfill button {\\n padding: 0;\\n width: 20%;\\n background: #E0E0E0; }\\n date-input-polyfill table {\\n border-collapse: collapse; }\\n date-input-polyfill th, date-input-polyfill td {\\n width: 32px;\\n padding: 4px;\\n text-align: center; }\\n date-input-polyfill td[data-day] {\\n cursor: pointer; }\\n date-input-polyfill td[data-day]:hover {\\n background: #E0E0E0; }\\n date-input-polyfill [data-selected] {\\n font-weight: bold;\\n background: #D8EAF6; }\\n\\ninput[data-has-picker]::-ms-clear {\\n display: none; }\\n'); var a = function (a, b) { if (!(a instanceof b)) throw new TypeError('Cannot call a class as a function') }, b = function () { function a(a, b) { for (var c, d = 0; d < b.length; d++)c = b[d], c.enumerable = c.enumerable || !1, c.configurable = !0, 'value' in c && (c.writable = !0), Object.defineProperty(a, c.key, c) } return function (b, c, d) { return c && a(b.prototype, c), d && a(b, d), b } }(), c = function () { function c() { var b = this; if (a(this, c), c.instance) return c.instance; this.date = new Date, this.input = null, this.isOpen = !1, this.container = document.createElement('date-input-polyfill'), this.year = document.createElement('select'), c.createRangeSelect(this.year, this.date.getFullYear() - 80, this.date.getFullYear() + 20), this.year.className = 'yearSelect', this.year.addEventListener('change', function () { b.date.setYear(b.year.value), b.refreshDaysMatrix() }), this.container.appendChild(this.year), this.month = document.createElement('select'), this.month.className = 'monthSelect', this.month.addEventListener('change', function () { b.date.setMonth(b.month.value), b.refreshDaysMatrix() }), this.container.appendChild(this.month), this.today = document.createElement('button'), this.today.textContent = 'Today', this.today.addEventListener('click', function () { b.date = new Date, b.setInput() }), this.container.appendChild(this.today); var d = document.createElement('table'); this.daysHead = document.createElement('thead'), this.days = document.createElement('tbody'), this.days.addEventListener('click', function (a) { var c = a.target; if (!c.hasAttribute('data-day')) return !1; var d = b.days.querySelector('[data-selected]'); d && d.removeAttribute('data-selected'), c.setAttribute('data-selected', ''), b.date.setDate(parseInt(c.textContent)), b.setInput() }), d.appendChild(this.daysHead), d.appendChild(this.days), this.container.appendChild(d), this.hide(), document.body.appendChild(this.container), document.addEventListener('click', function (a) { for (var c = a.target, d = c === b.container; !d && (c = c.parentNode);)d = c === b.container; 'date' === a.target.getAttribute('type') || d || b.hide() }) } return b(c, [{ key: 'hide', value: function () { this.container.setAttribute('data-open', this.isOpen = !1) } }, { key: 'show', value: function () { this.container.setAttribute('data-open', this.isOpen = !0) } }, { key: 'goto', value: function (a) { var b = a.getBoundingClientRect(); this.container.style.top = b.top + b.height + (document.documentElement.scrollTop || document.body.scrollTop) + 'px', this.container.style.left = b.left + (document.documentElement.scrollLeft || document.body.scrollLeft) + 'px', this.show() } }, { key: 'attachTo', value: function (a) { return a === this.input && this.isOpen ? !1 : void (this.input = a, this.sync(), this.goto(this.input.element)) } }, { key: 'sync', value: function () { this.date = this.input.element.valueAsDate ? c.absoluteDate(this.input.element.valueAsDate) : new Date, this.year.value = this.date.getFullYear(), this.month.value = this.date.getMonth(), this.refreshDaysMatrix() } }, { key: 'setInput', value: function () { var a = this; this.input.element.value = this.date.getFullYear() + '-' + ('0' + (this.date.getMonth() + 1)).slice(-2) + '-' + ('0' + this.date.getDate()).slice(-2), this.input.element.focus(), setTimeout(function () { a.hide() }, 100), this.pingInput() } }, { key: 'refreshLocale', value: function () { if (this.locale === this.input.locale) return !1; this.locale = this.input.locale; for (var a = [''], b = 0, d = this.input.localeText.days.length; b < d; ++b)a.push('' + this.input.localeText.days[b] + ''); this.daysHead.innerHTML = a.join(''), c.createRangeSelect(this.month, 0, 11, this.input.localeText.months, this.date.getMonth()), this.today.textContent = this.input.localeText.today } }, { key: 'refreshDaysMatrix', value: function () { this.refreshLocale(); for (var a = this.date.getFullYear(), b = this.date.getMonth(), d = new Date(a, b, 1).getDay(), e = new Date(this.date.getFullYear(), b + 1, 0).getDate(), f = c.absoluteDate(this.input.element.valueAsDate) || !1, g = f && a === f.getFullYear() && b === f.getMonth(), h = [], j = 0; j < e + d; ++j) { if (0 == j % 7 && h.push('\\n ' + (0 === j ? '' : '') + '\\n \\n '), j + 1 <= d) { h.push(''); continue } var i = j + 1 - d, k = g && f.getDate() === i; h.push('\\n ' + i + '\\n ') } this.days.innerHTML = h.join('') } }, { key: 'pingInput', value: function () { var a, b; try { a = new Event('input'), b = new Event('change') } catch (c) { a = document.createEvent('KeyboardEvent'), a.initEvent('input', !0, !1), b = document.createEvent('KeyboardEvent'), b.initEvent('change', !0, !1) } this.input.element.dispatchEvent(a), this.input.element.dispatchEvent(b) } }], [{ key: 'createRangeSelect', value: function (a, b, c, d, e) { a.innerHTML = ''; for (var f, g = b; g <= c; ++g) { f = document.createElement('option'), a.appendChild(f); var h = d ? d[g - b] : g; f.text = h, f.value = g, g === e && (f.selected = 'selected') } return a } }, { key: 'absoluteDate', value: function (a) { return a && new Date(a.getTime() + 1e3 * (60 * a.getTimezoneOffset())) } }]), c }(); c.instance = null; var d = { \"en_en-US\": { days: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], today: 'Today', format: 'M/D/Y' }, \"en-GB\": { days: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], today: 'Today', format: 'D/M/Y' }, \"zh_zh-CN\": { days: ['\\u661F\\u671F\\u5929', '\\u661F\\u671F\\u4E00', '\\u661F\\u671F\\u4E8C', '\\u661F\\u671F\\u4E09', '\\u661F\\u671F\\u56DB', '\\u661F\\u671F\\u4E94', '\\u661F\\u671F\\u516D'], months: ['\\u4E00\\u6708', '\\u4E8C\\u6708', '\\u4E09\\u6708', '\\u56DB\\u6708', '\\u4E94\\u6708', '\\u516D\\u6708', '\\u4E03\\u6708', '\\u516B\\u6708', '\\u4E5D\\u6708', '\\u5341\\u6708', '\\u5341\\u4E00\\u6708', '\\u5341\\u4E8C\\u6708'], today: '\\u4ECA\\u5929', format: 'Y/M/D' }, \"zh-Hans_zh-Hans-CN\": { days: ['\\u5468\\u65E5', '\\u5468\\u4E00', '\\u5468\\u4E8C', '\\u5468\\u4E09', '\\u5468\\u56DB', '\\u5468\\u4E94', '\\u5468\\u516D'], months: ['\\u4E00\\u6708', '\\u4E8C\\u6708', '\\u4E09\\u6708', '\\u56DB\\u6708', '\\u4E94\\u6708', '\\u516D\\u6708', '\\u4E03\\u6708', '\\u516B\\u6708', '\\u4E5D\\u6708', '\\u5341\\u6708', '\\u5341\\u4E00\\u6708', '\\u5341\\u4E8C\\u6708'], today: '\\u4ECA\\u5929', format: 'Y/M/D' }, \"zh-Hant_zh-Hant-TW\": { days: ['\\u9031\\u65E5', '\\u9031\\u4E00', '\\u9031\\u4E8C', '\\u9031\\u4E09', '\\u9031\\u56DB', '\\u9031\\u4E94', '\\u9031\\u516D'], months: ['\\u4E00\\u6708', '\\u4E8C\\u6708', '\\u4E09\\u6708', '\\u56DB\\u6708', '\\u4E94\\u6708', '\\u516D\\u6708', '\\u4E03\\u6708', '\\u516B\\u6708', '\\u4E5D\\u6708', '\\u5341\\u6708', '\\u5341\\u4E00\\u6708', '\\u5341\\u4E8C\\u6708'], today: '\\u4ECA\\u5929', format: 'Y/M/D' }, \"de_de-DE\": { days: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], months: ['Januar', 'Februar', 'M\\xE4rz', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], today: 'Heute', format: 'D.M.Y' }, \"da_da-DA\": { days: ['S\\xF8n', 'Man', 'Tirs', 'Ons', 'Tors', 'Fre', 'L\\xF8r'], months: ['Januar', 'Februar', 'Marts', 'April', 'Maj', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'December'], today: 'I dag', format: 'D/M/Y' }, es: { days: ['Dom', 'Lun', 'Mar', 'Mi\\xE9', 'Jue', 'Vie', 'S\\xE1b'], months: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'], today: 'Hoy', format: 'D/M/Y' }, hi: { days: ['\\u0930\\u0935\\u093F', '\\u0938\\u094B\\u092E', '\\u092E\\u0902\\u0917\\u0932', '\\u092C\\u0941\\u0927', '\\u0917\\u0941\\u0930\\u0941', '\\u0936\\u0941\\u0915\\u094D\\u0930', '\\u0936\\u0928\\u093F'], months: ['\\u091C\\u0928\\u0935\\u0930\\u0940', '\\u092B\\u0930\\u0935\\u0930\\u0940', '\\u092E\\u093E\\u0930\\u094D\\u091A', '\\u0905\\u092A\\u094D\\u0930\\u0947\\u0932', '\\u092E\\u0948', '\\u091C\\u0942\\u0928', '\\u091C\\u0942\\u0932\\u093E\\u0908', '\\u0905\\u0917\\u0938\\u094D\\u0924', '\\u0938\\u093F\\u0924\\u092E\\u094D\\u092C\\u0930', '\\u0906\\u0915\\u094D\\u091F\\u094B\\u092C\\u0930', '\\u0928\\u0935\\u092E\\u094D\\u092C\\u0930', '\\u0926\\u093F\\u0938\\u092E\\u094D\\u092C\\u0930'], today: '\\u0906\\u091C', format: 'D/M/Y' }, pt: { days: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'S\\xE1b'], months: ['Janeiro', 'Fevereiro', 'Mar\\xE7o', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'], today: 'Hoje', format: 'D/M/Y' }, ja: { days: ['\\u65E5', '\\u6708', '\\u706B', '\\u6C34', '\\u6728', '\\u91D1', '\\u571F'], months: ['1\\u6708', '2\\u6708', '3\\u6708', '4\\u6708', '5\\u6708', '6\\u6708', '7\\u6708', '8\\u6708', '9\\u6708', '10\\u6708', '11\\u6708', '12\\u6708'], today: '\\u4ECA\\u65E5', format: 'Y/M/D' }, \"nl_nl-NL_nl-BE\": { days: ['Zondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag'], months: ['Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December'], today: 'Vandaag', format: 'D/M/Y' }, \"tr_tr-TR\": { days: ['Pzr', 'Pzt', 'Sal', '\\xC7r\\u015F', 'Pr\\u015F', 'Cum', 'Cmt'], months: ['Ocak', '\\u015Eubat', 'Mart', 'Nisan', 'May\\u0131s', 'Haziran', 'Temmuz', 'A\\u011Fustos', 'Eyl\\xFCl', 'Ekim', 'Kas\\u0131m', 'Aral\\u0131k'], today: 'Bug\\xFCn', format: 'D/M/Y' }, \"fr_fr-FR\": { days: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'], months: ['Janvier', 'F\\xE9vrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Ao\\xFBt', 'Septembre', 'Octobre', 'Novembre', 'D\\xE9cembre'], today: 'Auj.', format: 'D/M/Y' }, \"uk_uk-UA\": { days: ['\\u041D\\u0434', '\\u041F\\u043D', '\\u0412\\u0442', '\\u0421\\u0440', '\\u0427\\u0442', '\\u041F\\u0442', '\\u0421\\u0431'], months: ['\\u0421\\u0456\\u0447\\u0435\\u043D\\u044C', '\\u041B\\u044E\\u0442\\u0438\\u0439', '\\u0411\\u0435\\u0440\\u0435\\u0437\\u0435\\u043D\\u044C', '\\u041A\\u0432\\u0456\\u0442\\u0435\\u043D\\u044C', '\\u0422\\u0440\\u0430\\u0432\\u0435\\u043D\\u044C', '\\u0427\\u0435\\u0440\\u0432\\u0435\\u043D\\u044C', '\\u041B\\u0438\\u043F\\u0435\\u043D\\u044C', '\\u0421\\u0435\\u0440\\u043F\\u0435\\u043D\\u044C', '\\u0412\\u0435\\u0440\\u0435\\u0441\\u0435\\u043D\\u044C', '\\u0416\\u043E\\u0432\\u0442\\u0435\\u043D\\u044C', '\\u041B\\u0438\\u0441\\u0442\\u043E\\u043F\\u0430\\u0434', '\\u0413\\u0440\\u0443\\u0434\\u0435\\u043D\\u044C'], today: '\\u0421\\u044C\\u043E\\u0433\\u043E\\u0434\\u043D\\u0456', format: 'D.M.Y' }, it: { days: ['Dom', 'Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab'], months: ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'ottobre', 'Novembre', 'Dicembre'], today: 'Oggi', format: 'D/M/Y' }, pl: { days: ['Nie', 'Pon', 'Wto', '\\u015Aro', 'Czw', 'Pt', 'Sob'], months: ['Stycze\\u0144', 'Luty', 'Marzec', 'Kwiecie\\u0144', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpie\\u0144', 'Wrzesie\\u0144', 'Pa\\u017Adziernik', 'Listopad', 'Grudzie\\u0144'], today: 'Dzisiaj', format: 'D.M.Y' }, cs: { days: ['Po', '\\xDAt', 'St', '\\u010Ct', 'P\\xE1', 'So', 'Ne'], months: ['Leden', '\\xDAnor', 'B\\u0159ezen', 'Duben', 'Kv\\u011Bten', '\\u010Cerven', '\\u010Cervenec', 'Srpen', 'Z\\xE1\\u0159\\xED', '\\u0158\\xEDjen', 'Listopad', 'Prosinec'], today: 'Dnes', format: 'D.M.Y' }, ru: { days: ['\\u0412\\u0441', '\\u041F\\u043D', '\\u0412\\u0442', '\\u0421\\u0440', '\\u0427\\u0442', '\\u041F\\u0442', '\\u0421\\u0431'], months: ['\\u042F\\u043D\\u0432\\u0430\\u0440\\u044C', '\\u0424\\u0435\\u0432\\u0440\\u0430\\u043B\\u044C', '\\u041C\\u0430\\u0440\\u0442', '\\u0410\\u043F\\u0440\\u0435\\u043B\\u044C', '\\u041C\\u0430\\u0439', '\\u0418\\u044E\\u043D\\u044C', '\\u0418\\u044E\\u043B\\u044C', '\\u0410\\u0432\\u0433\\u0443\\u0441\\u0442', '\\u0421\\u0435\\u043D\\u0442\\u044F\\u0431\\u0440\\u044C', '\\u041E\\u043A\\u0442\\u044F\\u0431\\u0440\\u044C', '\\u041D\\u043E\\u044F\\u0431\\u0440\\u044C', '\\u0414\\u0435\\u043A\\u0430\\u0431\\u0440\\u044C'], today: '\\u0421\\u0435\\u0433\\u043E\\u0434\\u043D\\u044F', format: 'D.M.Y' } }, e = function () { function e(b) { var d = this; a(this, e), this.element = b, this.element.setAttribute('data-has-picker', ''); for (var f = this.element, g = ''; f.parentNode && (g = f.getAttribute('lang'), !g);)f = f.parentNode; this.locale = g || 'en', this.localeText = this.getLocaleText(), Object.defineProperties(this.element, { value: { get: function () { return d.element.polyfillValue }, set: function (a) { if (!/^\\d{4}-\\d{2}-\\d{2}$/.test(a)) return d.element.polyfillValue = '', d.element.setAttribute('value', ''), !1; d.element.polyfillValue = a; var b = a.split('-'); d.element.setAttribute('value', d.localeText.format.replace('Y', b[0]).replace('M', b[1]).replace('D', b[2])) } }, valueAsDate: { get: function () { return d.element.polyfillValue ? new Date(d.element.polyfillValue) : null }, set: function (a) { d.element.value = a.toISOString().slice(0, 10) } }, valueAsNumber: { get: function () { return d.element.value ? d.element.valueAsDate.getTime() : NaN }, set: function (a) { d.element.valueAsDate = new Date(a) } } }), this.element.value = this.element.getAttribute('value'); var h = function () { c.instance.attachTo(d) }; this.element.addEventListener('focus', h), this.element.addEventListener('mousedown', h), this.element.addEventListener('mouseup', h), this.element.addEventListener('keydown', function (a) { var b = new Date; switch (a.keyCode) { case 27: c.instance.hide(); break; case 38: d.element.valueAsDate && (b.setDate(d.element.valueAsDate.getDate() + 1), d.element.valueAsDate = b, c.instance.pingInput()); break; case 40: d.element.valueAsDate && (b.setDate(d.element.valueAsDate.getDate() - 1), d.element.valueAsDate = b, c.instance.pingInput()); break; default: }c.instance.sync() }) } return b(e, [{ key: 'getLocaleText', value: function () { var a = this.locale.toLowerCase(); for (var b in d) { var c = b.split('_').map(function (a) { return a.toLowerCase() }); if (!!~c.indexOf(a)) return d[b] } for (var e in d) { var f = e.split('_').map(function (a) { return a.toLowerCase() }); if (!!~f.indexOf(a.substr(0, 2))) return d[e] } return this.locale = 'en', this.getLocaleText() } }], [{ key: 'supportsDateInput', value: function () { var a = document.createElement('input'); a.setAttribute('type', 'date'); var b = 'not-a-date'; return a.setAttribute('value', b), document.currentScript && !document.currentScript.hasAttribute('data-nodep-date-input-polyfill-debug') && a.value !== b } }, { key: 'addPickerToDateInputs', value: function () { var a = document.querySelectorAll('input[type=\"date\"]:not([data-has-picker]):not([readonly])'), b = a.length; if (!b) return !1; for (var c = 0; c < b; ++c)new e(a[c]) } }]), e }(); if (!e.supportsDateInput()) { var f = function () { c.instance = new c, e.addPickerToDateInputs(), document.querySelector('body').addEventListener('mousedown', function () { e.addPickerToDateInputs() }) }; if ('complete' === document.readyState) f(); else { var g = !1; document.addEventListener('DOMContentLoaded', function () { g = !0, f() }), window.addEventListener('load', function () { g || f() }) } } });","/**\r\n* @version: 3.0.3\r\n* @author: Dan Grossman http://www.dangrossman.info/\r\n* @copyright: Copyright (c) 2012-2018 Dan Grossman. All rights reserved.\r\n* @license: Licensed under the MIT license. See http://www.opensource.org/licenses/mit-license.php\r\n* @website: http://www.daterangepicker.com/\r\n*/\r\n// Following the UMD template https://github.com/umdjs/umd/blob/master/templates/returnExportsGlobal.js\r\n(function (root, factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Make globaly available as well\r\n define(['moment', 'jquery'], function (moment, jquery) {\r\n if (!jquery.fn) jquery.fn = {}; // webpack server rendering\r\n return factory(moment, jquery);\r\n });\r\n } else if (typeof module === 'object' && module.exports) {\r\n // Node / Browserify\r\n //isomorphic issue\r\n var jQuery = (typeof window != 'undefined') ? window.jQuery : undefined;\r\n if (!jQuery) {\r\n jQuery = require('jquery');\r\n if (!jQuery.fn) jQuery.fn = {};\r\n }\r\n var moment = (typeof window != 'undefined' && typeof window.moment != 'undefined') ? window.moment : require('moment');\r\n module.exports = factory(moment, jQuery);\r\n } else {\r\n // Browser globals\r\n root.daterangepicker = factory(root.moment, root.jQuery);\r\n }\r\n}(this, function(moment, $) {\r\n var DateRangePicker = function(element, options, cb) {\r\n\r\n //default settings for options\r\n this.parentEl = 'body';\r\n this.element = $(element);\r\n this.startDate = moment().startOf('day');\r\n this.endDate = moment().endOf('day');\r\n this.minDate = false;\r\n this.maxDate = false;\r\n this.maxSpan = false;\r\n this.autoApply = false;\r\n this.singleDatePicker = false;\r\n this.showDropdowns = false;\r\n this.minYear = moment().subtract(100, 'year').format('YYYY');\r\n this.maxYear = moment().add(100, 'year').format('YYYY');\r\n this.showWeekNumbers = false;\r\n this.showISOWeekNumbers = false;\r\n this.showCustomRangeLabel = true;\r\n this.timePicker = false;\r\n this.timePicker24Hour = false;\r\n this.timePickerIncrement = 1;\r\n this.timePickerSeconds = false;\r\n this.linkedCalendars = true;\r\n this.autoUpdateInput = true;\r\n this.alwaysShowCalendars = false;\r\n this.ranges = {};\r\n\r\n this.opens = 'right';\r\n if (this.element.hasClass('pull-right'))\r\n this.opens = 'left';\r\n\r\n this.drops = 'down';\r\n if (this.element.hasClass('dropup'))\r\n this.drops = 'up';\r\n\r\n this.buttonClasses = 'btn btn-sm';\r\n this.applyButtonClasses = 'btn-primary';\r\n this.cancelButtonClasses = 'btn-default';\r\n\r\n this.locale = {\r\n direction: 'ltr',\r\n format: moment.localeData().longDateFormat('L'),\r\n separator: ' - ',\r\n applyLabel: 'Apply',\r\n cancelLabel: 'Cancel',\r\n weekLabel: 'W',\r\n customRangeLabel: 'Custom Range',\r\n daysOfWeek: moment.weekdaysMin(),\r\n monthNames: moment.monthsShort(),\r\n firstDay: moment.localeData().firstDayOfWeek()\r\n };\r\n\r\n this.callback = function() { };\r\n\r\n //some state information\r\n this.isShowing = false;\r\n this.leftCalendar = {};\r\n this.rightCalendar = {};\r\n\r\n //custom options from user\r\n if (typeof options !== 'object' || options === null)\r\n options = {};\r\n\r\n //allow setting options with data attributes\r\n //data-api options will be overwritten with custom javascript options\r\n options = $.extend(this.element.data(), options);\r\n\r\n //html template for the picker UI\r\n if (typeof options.template !== 'string' && !(options.template instanceof $))\r\n options.template =\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '' +\r\n '' +\r\n ' ' +\r\n '
    ' +\r\n '
    ';\r\n\r\n this.parentEl = (options.parentEl && $(options.parentEl).length) ? $(options.parentEl) : $(this.parentEl);\r\n this.container = $(options.template).appendTo(this.parentEl);\r\n\r\n //\r\n // handle all the possible options overriding defaults\r\n //\r\n\r\n if (typeof options.locale === 'object') {\r\n\r\n if (typeof options.locale.direction === 'string')\r\n this.locale.direction = options.locale.direction;\r\n\r\n if (typeof options.locale.format === 'string')\r\n this.locale.format = options.locale.format;\r\n\r\n if (typeof options.locale.separator === 'string')\r\n this.locale.separator = options.locale.separator;\r\n\r\n if (typeof options.locale.daysOfWeek === 'object')\r\n this.locale.daysOfWeek = options.locale.daysOfWeek.slice();\r\n\r\n if (typeof options.locale.monthNames === 'object')\r\n this.locale.monthNames = options.locale.monthNames.slice();\r\n\r\n if (typeof options.locale.firstDay === 'number')\r\n this.locale.firstDay = options.locale.firstDay;\r\n\r\n if (typeof options.locale.applyLabel === 'string')\r\n this.locale.applyLabel = options.locale.applyLabel;\r\n\r\n if (typeof options.locale.cancelLabel === 'string')\r\n this.locale.cancelLabel = options.locale.cancelLabel;\r\n\r\n if (typeof options.locale.weekLabel === 'string')\r\n this.locale.weekLabel = options.locale.weekLabel;\r\n\r\n if (typeof options.locale.customRangeLabel === 'string'){\r\n //Support unicode chars in the custom range name.\r\n var elem = document.createElement('textarea');\r\n elem.innerHTML = options.locale.customRangeLabel;\r\n var rangeHtml = elem.value;\r\n this.locale.customRangeLabel = rangeHtml;\r\n }\r\n }\r\n this.container.addClass(this.locale.direction);\r\n\r\n if (typeof options.startDate === 'string')\r\n this.startDate = moment(options.startDate, this.locale.format);\r\n\r\n if (typeof options.endDate === 'string')\r\n this.endDate = moment(options.endDate, this.locale.format);\r\n\r\n if (typeof options.minDate === 'string')\r\n this.minDate = moment(options.minDate, this.locale.format);\r\n\r\n if (typeof options.maxDate === 'string')\r\n this.maxDate = moment(options.maxDate, this.locale.format);\r\n\r\n if (typeof options.startDate === 'object')\r\n this.startDate = moment(options.startDate);\r\n\r\n if (typeof options.endDate === 'object')\r\n this.endDate = moment(options.endDate);\r\n\r\n if (typeof options.minDate === 'object')\r\n this.minDate = moment(options.minDate);\r\n\r\n if (typeof options.maxDate === 'object')\r\n this.maxDate = moment(options.maxDate);\r\n\r\n // sanity check for bad options\r\n if (this.minDate && this.startDate.isBefore(this.minDate))\r\n this.startDate = this.minDate.clone();\r\n\r\n // sanity check for bad options\r\n if (this.maxDate && this.endDate.isAfter(this.maxDate))\r\n this.endDate = this.maxDate.clone();\r\n\r\n if (typeof options.applyButtonClasses === 'string')\r\n this.applyButtonClasses = options.applyButtonClasses;\r\n\r\n if (typeof options.applyClass === 'string') //backwards compat\r\n this.applyButtonClasses = options.applyClass;\r\n\r\n if (typeof options.cancelButtonClasses === 'string')\r\n this.cancelButtonClasses = options.cancelButtonClasses;\r\n\r\n if (typeof options.cancelClass === 'string') //backwards compat\r\n this.cancelButtonClasses = options.cancelClass;\r\n\r\n if (typeof options.maxSpan === 'object')\r\n this.maxSpan = options.maxSpan;\r\n\r\n if (typeof options.dateLimit === 'object') //backwards compat\r\n this.maxSpan = options.dateLimit;\r\n\r\n if (typeof options.opens === 'string')\r\n this.opens = options.opens;\r\n\r\n if (typeof options.drops === 'string')\r\n this.drops = options.drops;\r\n\r\n if (typeof options.showWeekNumbers === 'boolean')\r\n this.showWeekNumbers = options.showWeekNumbers;\r\n\r\n if (typeof options.showISOWeekNumbers === 'boolean')\r\n this.showISOWeekNumbers = options.showISOWeekNumbers;\r\n\r\n if (typeof options.buttonClasses === 'string')\r\n this.buttonClasses = options.buttonClasses;\r\n\r\n if (typeof options.buttonClasses === 'object')\r\n this.buttonClasses = options.buttonClasses.join(' ');\r\n\r\n if (typeof options.showDropdowns === 'boolean')\r\n this.showDropdowns = options.showDropdowns;\r\n\r\n if (typeof options.minYear === 'number')\r\n this.minYear = options.minYear;\r\n\r\n if (typeof options.maxYear === 'number')\r\n this.maxYear = options.maxYear;\r\n\r\n if (typeof options.showCustomRangeLabel === 'boolean')\r\n this.showCustomRangeLabel = options.showCustomRangeLabel;\r\n\r\n if (typeof options.singleDatePicker === 'boolean') {\r\n this.singleDatePicker = options.singleDatePicker;\r\n if (this.singleDatePicker)\r\n this.endDate = this.startDate.clone();\r\n }\r\n\r\n if (typeof options.timePicker === 'boolean')\r\n this.timePicker = options.timePicker;\r\n\r\n if (typeof options.timePickerSeconds === 'boolean')\r\n this.timePickerSeconds = options.timePickerSeconds;\r\n\r\n if (typeof options.timePickerIncrement === 'number')\r\n this.timePickerIncrement = options.timePickerIncrement;\r\n\r\n if (typeof options.timePicker24Hour === 'boolean')\r\n this.timePicker24Hour = options.timePicker24Hour;\r\n\r\n if (typeof options.autoApply === 'boolean')\r\n this.autoApply = options.autoApply;\r\n\r\n if (typeof options.autoUpdateInput === 'boolean')\r\n this.autoUpdateInput = options.autoUpdateInput;\r\n\r\n if (typeof options.linkedCalendars === 'boolean')\r\n this.linkedCalendars = options.linkedCalendars;\r\n\r\n if (typeof options.isInvalidDate === 'function')\r\n this.isInvalidDate = options.isInvalidDate;\r\n\r\n if (typeof options.isCustomDate === 'function')\r\n this.isCustomDate = options.isCustomDate;\r\n\r\n if (typeof options.alwaysShowCalendars === 'boolean')\r\n this.alwaysShowCalendars = options.alwaysShowCalendars;\r\n\r\n // update day names order to firstDay\r\n if (this.locale.firstDay != 0) {\r\n var iterator = this.locale.firstDay;\r\n while (iterator > 0) {\r\n this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift());\r\n iterator--;\r\n }\r\n }\r\n\r\n var start, end, range;\r\n\r\n //if no start/end dates set, check if an input element contains initial values\r\n if (typeof options.startDate === 'undefined' && typeof options.endDate === 'undefined') {\r\n if ($(this.element).is(':text')) {\r\n var val = $(this.element).val(),\r\n split = val.split(this.locale.separator);\r\n\r\n start = end = null;\r\n\r\n if (split.length == 2) {\r\n start = moment(split[0], this.locale.format);\r\n end = moment(split[1], this.locale.format);\r\n } else if (this.singleDatePicker && val !== \"\") {\r\n start = moment(val, this.locale.format);\r\n end = moment(val, this.locale.format);\r\n }\r\n if (start !== null && end !== null) {\r\n this.setStartDate(start);\r\n this.setEndDate(end);\r\n }\r\n }\r\n }\r\n\r\n if (typeof options.ranges === 'object') {\r\n for (range in options.ranges) {\r\n\r\n if (typeof options.ranges[range][0] === 'string')\r\n start = moment(options.ranges[range][0], this.locale.format);\r\n else\r\n start = moment(options.ranges[range][0]);\r\n\r\n if (typeof options.ranges[range][1] === 'string')\r\n end = moment(options.ranges[range][1], this.locale.format);\r\n else\r\n end = moment(options.ranges[range][1]);\r\n\r\n // If the start or end date exceed those allowed by the minDate or maxSpan\r\n // options, shorten the range to the allowable period.\r\n if (this.minDate && start.isBefore(this.minDate))\r\n start = this.minDate.clone();\r\n\r\n var maxDate = this.maxDate;\r\n if (this.maxSpan && maxDate && start.clone().add(this.maxSpan).isAfter(maxDate))\r\n maxDate = start.clone().add(this.maxSpan);\r\n if (maxDate && end.isAfter(maxDate))\r\n end = maxDate.clone();\r\n\r\n // If the end of the range is before the minimum or the start of the range is\r\n // after the maximum, don't display this range option at all.\r\n if ((this.minDate && end.isBefore(this.minDate, this.timepicker ? 'minute' : 'day'))\r\n || (maxDate && start.isAfter(maxDate, this.timepicker ? 'minute' : 'day')))\r\n continue;\r\n\r\n //Support unicode chars in the range names.\r\n var elem = document.createElement('textarea');\r\n elem.innerHTML = range;\r\n var rangeHtml = elem.value;\r\n\r\n this.ranges[rangeHtml] = [start, end];\r\n }\r\n\r\n var list = '';\r\n this.container.find('.ranges').prepend(list);\r\n }\r\n\r\n if (typeof cb === 'function') {\r\n this.callback = cb;\r\n }\r\n\r\n if (!this.timePicker) {\r\n this.startDate = this.startDate.startOf('day');\r\n this.endDate = this.endDate.endOf('day');\r\n this.container.find('.calendar-time').hide();\r\n }\r\n\r\n //can't be used together for now\r\n if (this.timePicker && this.autoApply)\r\n this.autoApply = false;\r\n\r\n if (this.autoApply) {\r\n this.container.addClass('auto-apply');\r\n }\r\n\r\n if (typeof options.ranges === 'object')\r\n this.container.addClass('show-ranges');\r\n\r\n if (this.singleDatePicker) {\r\n this.container.addClass('single');\r\n this.container.find('.drp-calendar.left').addClass('single');\r\n this.container.find('.drp-calendar.left').show();\r\n this.container.find('.drp-calendar.right').hide();\r\n if (!this.timePicker) {\r\n this.container.addClass('auto-apply');\r\n }\r\n }\r\n\r\n if ((typeof options.ranges === 'undefined' && !this.singleDatePicker) || this.alwaysShowCalendars) {\r\n this.container.addClass('show-calendar');\r\n }\r\n\r\n this.container.addClass('opens' + this.opens);\r\n\r\n //apply CSS classes and labels to buttons\r\n this.container.find('.applyBtn, .cancelBtn').addClass(this.buttonClasses);\r\n if (this.applyButtonClasses.length)\r\n this.container.find('.applyBtn').addClass(this.applyButtonClasses);\r\n if (this.cancelButtonClasses.length)\r\n this.container.find('.cancelBtn').addClass(this.cancelButtonClasses);\r\n this.container.find('.applyBtn').html(this.locale.applyLabel);\r\n this.container.find('.cancelBtn').html(this.locale.cancelLabel);\r\n\r\n //\r\n // event listeners\r\n //\r\n\r\n this.container.find('.drp-calendar')\r\n .on('click.daterangepicker', '.prev', $.proxy(this.clickPrev, this))\r\n .on('click.daterangepicker', '.next', $.proxy(this.clickNext, this))\r\n .on('mousedown.daterangepicker', 'td.available', $.proxy(this.clickDate, this))\r\n .on('mouseenter.daterangepicker', 'td.available', $.proxy(this.hoverDate, this))\r\n .on('change.daterangepicker', 'select.yearselect', $.proxy(this.monthOrYearChanged, this))\r\n .on('change.daterangepicker', 'select.monthselect', $.proxy(this.monthOrYearChanged, this))\r\n .on('change.daterangepicker', 'select.hourselect,select.minuteselect,select.secondselect,select.ampmselect', $.proxy(this.timeChanged, this))\r\n\r\n this.container.find('.ranges')\r\n .on('click.daterangepicker', 'li', $.proxy(this.clickRange, this))\r\n\r\n this.container.find('.drp-buttons')\r\n .on('click.daterangepicker', 'button.applyBtn', $.proxy(this.clickApply, this))\r\n .on('click.daterangepicker', 'button.cancelBtn', $.proxy(this.clickCancel, this))\r\n\r\n if (this.element.is('input') || this.element.is('button')) {\r\n this.element.on({\r\n 'click.daterangepicker': $.proxy(this.show, this),\r\n 'focus.daterangepicker': $.proxy(this.show, this),\r\n 'keyup.daterangepicker': $.proxy(this.elementChanged, this),\r\n 'keydown.daterangepicker': $.proxy(this.keydown, this) //IE 11 compatibility\r\n });\r\n } else {\r\n this.element.on('click.daterangepicker', $.proxy(this.toggle, this));\r\n this.element.on('keydown.daterangepicker', $.proxy(this.toggle, this));\r\n }\r\n\r\n //\r\n // if attached to a text input, set the initial value\r\n //\r\n\r\n this.updateElement();\r\n\r\n };\r\n\r\n DateRangePicker.prototype = {\r\n\r\n constructor: DateRangePicker,\r\n\r\n setStartDate: function(startDate) {\r\n if (typeof startDate === 'string')\r\n this.startDate = moment(startDate, this.locale.format);\r\n\r\n if (typeof startDate === 'object')\r\n this.startDate = moment(startDate);\r\n\r\n if (!this.timePicker)\r\n this.startDate = this.startDate.startOf('day');\r\n\r\n if (this.timePicker && this.timePickerIncrement)\r\n this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\r\n\r\n if (this.minDate && this.startDate.isBefore(this.minDate)) {\r\n this.startDate = this.minDate.clone();\r\n if (this.timePicker && this.timePickerIncrement)\r\n this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\r\n }\r\n\r\n if (this.maxDate && this.startDate.isAfter(this.maxDate)) {\r\n this.startDate = this.maxDate.clone();\r\n if (this.timePicker && this.timePickerIncrement)\r\n this.startDate.minute(Math.floor(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\r\n }\r\n\r\n if (!this.isShowing)\r\n this.updateElement();\r\n\r\n this.updateMonthsInView();\r\n },\r\n\r\n setEndDate: function(endDate) {\r\n if (typeof endDate === 'string')\r\n this.endDate = moment(endDate, this.locale.format);\r\n\r\n if (typeof endDate === 'object')\r\n this.endDate = moment(endDate);\r\n\r\n if (!this.timePicker)\r\n this.endDate = this.endDate.add(1,'d').startOf('day').subtract(1,'second');\r\n\r\n if (this.timePicker && this.timePickerIncrement)\r\n this.endDate.minute(Math.round(this.endDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\r\n\r\n if (this.endDate.isBefore(this.startDate))\r\n this.endDate = this.startDate.clone();\r\n\r\n if (this.maxDate && this.endDate.isAfter(this.maxDate))\r\n this.endDate = this.maxDate.clone();\r\n\r\n if (this.maxSpan && this.startDate.clone().add(this.maxSpan).isBefore(this.endDate))\r\n this.endDate = this.startDate.clone().add(this.maxSpan);\r\n\r\n this.previousRightTime = this.endDate.clone();\r\n\r\n this.container.find('.drp-selected').html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));\r\n\r\n if (!this.isShowing)\r\n this.updateElement();\r\n\r\n this.updateMonthsInView();\r\n },\r\n\r\n isInvalidDate: function() {\r\n return false;\r\n },\r\n\r\n isCustomDate: function() {\r\n return false;\r\n },\r\n\r\n updateView: function() {\r\n if (this.timePicker) {\r\n this.renderTimePicker('left');\r\n this.renderTimePicker('right');\r\n if (!this.endDate) {\r\n this.container.find('.right .calendar-time select').attr('disabled', 'disabled').addClass('disabled');\r\n } else {\r\n this.container.find('.right .calendar-time select').removeAttr('disabled').removeClass('disabled');\r\n }\r\n }\r\n if (this.endDate)\r\n this.container.find('.drp-selected').html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));\r\n this.updateMonthsInView();\r\n this.updateCalendars();\r\n this.updateFormInputs();\r\n },\r\n\r\n updateMonthsInView: function() {\r\n if (this.endDate) {\r\n\r\n //if both dates are visible already, do nothing\r\n if (!this.singleDatePicker && this.leftCalendar.month && this.rightCalendar.month &&\r\n (this.startDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.startDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM'))\r\n &&\r\n (this.endDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.endDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM'))\r\n ) {\r\n return;\r\n }\r\n\r\n this.leftCalendar.month = this.startDate.clone().date(2);\r\n if (!this.linkedCalendars && (this.endDate.month() != this.startDate.month() || this.endDate.year() != this.startDate.year())) {\r\n this.rightCalendar.month = this.endDate.clone().date(2);\r\n } else {\r\n this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month');\r\n }\r\n\r\n } else {\r\n if (this.leftCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM') && this.rightCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM')) {\r\n this.leftCalendar.month = this.startDate.clone().date(2);\r\n this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month');\r\n }\r\n }\r\n if (this.maxDate && this.linkedCalendars && !this.singleDatePicker && this.rightCalendar.month > this.maxDate) {\r\n this.rightCalendar.month = this.maxDate.clone().date(2);\r\n this.leftCalendar.month = this.maxDate.clone().date(2).subtract(1, 'month');\r\n }\r\n },\r\n\r\n updateCalendars: function() {\r\n\r\n if (this.timePicker) {\r\n var hour, minute, second;\r\n if (this.endDate) {\r\n hour = parseInt(this.container.find('.left .hourselect').val(), 10);\r\n minute = parseInt(this.container.find('.left .minuteselect').val(), 10);\r\n second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0;\r\n if (!this.timePicker24Hour) {\r\n var ampm = this.container.find('.left .ampmselect').val();\r\n if (ampm === 'PM' && hour < 12)\r\n hour += 12;\r\n if (ampm === 'AM' && hour === 12)\r\n hour = 0;\r\n }\r\n } else {\r\n hour = parseInt(this.container.find('.right .hourselect').val(), 10);\r\n minute = parseInt(this.container.find('.right .minuteselect').val(), 10);\r\n second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0;\r\n if (!this.timePicker24Hour) {\r\n var ampm = this.container.find('.right .ampmselect').val();\r\n if (ampm === 'PM' && hour < 12)\r\n hour += 12;\r\n if (ampm === 'AM' && hour === 12)\r\n hour = 0;\r\n }\r\n }\r\n this.leftCalendar.month.hour(hour).minute(minute).second(second);\r\n this.rightCalendar.month.hour(hour).minute(minute).second(second);\r\n }\r\n\r\n this.renderCalendar('left');\r\n this.renderCalendar('right');\r\n\r\n //highlight any predefined range matching the current start and end dates\r\n this.container.find('.ranges li').removeClass('active');\r\n if (this.endDate == null) return;\r\n\r\n this.calculateChosenLabel();\r\n },\r\n\r\n renderCalendar: function(side) {\r\n\r\n //\r\n // Build the matrix of dates that will populate the calendar\r\n //\r\n\r\n var calendar = side == 'left' ? this.leftCalendar : this.rightCalendar;\r\n var month = calendar.month.month();\r\n var year = calendar.month.year();\r\n var hour = calendar.month.hour();\r\n var minute = calendar.month.minute();\r\n var second = calendar.month.second();\r\n var daysInMonth = moment([year, month]).daysInMonth();\r\n var firstDay = moment([year, month, 1]);\r\n var lastDay = moment([year, month, daysInMonth]);\r\n var lastMonth = moment(firstDay).subtract(1, 'month').month();\r\n var lastYear = moment(firstDay).subtract(1, 'month').year();\r\n var daysInLastMonth = moment([lastYear, lastMonth]).daysInMonth();\r\n var dayOfWeek = firstDay.day();\r\n\r\n //initialize a 6 rows x 7 columns array for the calendar\r\n var calendar = [];\r\n calendar.firstDay = firstDay;\r\n calendar.lastDay = lastDay;\r\n\r\n for (var i = 0; i < 6; i++) {\r\n calendar[i] = [];\r\n }\r\n\r\n //populate the calendar with date objects\r\n var startDay = daysInLastMonth - dayOfWeek + this.locale.firstDay + 1;\r\n if (startDay > daysInLastMonth)\r\n startDay -= 7;\r\n\r\n if (dayOfWeek == this.locale.firstDay)\r\n startDay = daysInLastMonth - 6;\r\n\r\n var curDate = moment([lastYear, lastMonth, startDay, 12, minute, second]);\r\n\r\n var col, row;\r\n for (var i = 0, col = 0, row = 0; i < 42; i++, col++, curDate = moment(curDate).add(24, 'hour')) {\r\n if (i > 0 && col % 7 === 0) {\r\n col = 0;\r\n row++;\r\n }\r\n calendar[row][col] = curDate.clone().hour(hour).minute(minute).second(second);\r\n curDate.hour(12);\r\n\r\n if (this.minDate && calendar[row][col].format('YYYY-MM-DD') == this.minDate.format('YYYY-MM-DD') && calendar[row][col].isBefore(this.minDate) && side == 'left') {\r\n calendar[row][col] = this.minDate.clone();\r\n }\r\n\r\n if (this.maxDate && calendar[row][col].format('YYYY-MM-DD') == this.maxDate.format('YYYY-MM-DD') && calendar[row][col].isAfter(this.maxDate) && side == 'right') {\r\n calendar[row][col] = this.maxDate.clone();\r\n }\r\n\r\n }\r\n\r\n //make the calendar object available to hoverDate/clickDate\r\n if (side == 'left') {\r\n this.leftCalendar.calendar = calendar;\r\n } else {\r\n this.rightCalendar.calendar = calendar;\r\n }\r\n\r\n //\r\n // Display the calendar\r\n //\r\n\r\n var minDate = side == 'left' ? this.minDate : this.startDate;\r\n var maxDate = this.maxDate;\r\n var selected = side == 'left' ? this.startDate : this.endDate;\r\n var arrow = this.locale.direction == 'ltr' ? {left: 'chevron-left', right: 'chevron-right'} : {left: 'chevron-right', right: 'chevron-left'};\r\n\r\n var html = '';\r\n html += '';\r\n html += '';\r\n\r\n // add empty cell for week number\r\n if (this.showWeekNumbers || this.showISOWeekNumbers)\r\n html += '';\r\n\r\n if ((!minDate || minDate.isBefore(calendar.firstDay)) && (!this.linkedCalendars || side == 'left')) {\r\n html += '';\r\n } else {\r\n html += '';\r\n }\r\n\r\n var dateHtml = this.locale.monthNames[calendar[1][1].month()] + calendar[1][1].format(\" YYYY\");\r\n\r\n if (this.showDropdowns) {\r\n var currentMonth = calendar[1][1].month();\r\n var currentYear = calendar[1][1].year();\r\n var maxYear = (maxDate && maxDate.year()) || (this.maxYear);\r\n var minYear = (minDate && minDate.year()) || (this.minYear);\r\n var inMinYear = currentYear == minYear;\r\n var inMaxYear = currentYear == maxYear;\r\n\r\n var monthHtml = '\";\r\n\r\n var yearHtml = '';\r\n\r\n dateHtml = monthHtml + yearHtml;\r\n }\r\n\r\n html += '';\r\n if ((!maxDate || maxDate.isAfter(calendar.lastDay)) && (!this.linkedCalendars || side == 'right' || this.singleDatePicker)) {\r\n html += '';\r\n } else {\r\n html += '';\r\n }\r\n\r\n html += '';\r\n html += '';\r\n\r\n // add week number label\r\n if (this.showWeekNumbers || this.showISOWeekNumbers)\r\n html += '';\r\n\r\n $.each(this.locale.daysOfWeek, function(index, dayOfWeek) {\r\n html += '';\r\n });\r\n\r\n html += '';\r\n html += '';\r\n html += '';\r\n\r\n //adjust maxDate to reflect the maxSpan setting in order to\r\n //grey out end dates beyond the maxSpan\r\n if (this.endDate == null && this.maxSpan) {\r\n var maxLimit = this.startDate.clone().add(this.maxSpan).endOf('day');\r\n if (!maxDate || maxLimit.isBefore(maxDate)) {\r\n maxDate = maxLimit;\r\n }\r\n }\r\n\r\n for (var row = 0; row < 5; row++) {\r\n html += '';\r\n\r\n // add week number\r\n if (this.showWeekNumbers)\r\n html += '';\r\n else if (this.showISOWeekNumbers)\r\n html += '';\r\n\r\n for (var col = 0; col < 7; col++) {\r\n\r\n var classes = [];\r\n\r\n //highlight today's date\r\n if (calendar[row][col].isSame(new Date(), \"day\"))\r\n classes.push('today');\r\n\r\n //highlight weekends\r\n if (calendar[row][col].isoWeekday() > 5)\r\n classes.push('weekend');\r\n\r\n //grey out the dates in other months displayed at beginning and end of this calendar\r\n if (calendar[row][col].month() != calendar[1][1].month())\r\n classes.push('off');\r\n\r\n //don't allow selection of dates before the minimum date\r\n if (this.minDate && calendar[row][col].isBefore(this.minDate, 'day'))\r\n classes.push('off', 'disabled');\r\n\r\n //don't allow selection of dates after the maximum date\r\n if (maxDate && calendar[row][col].isAfter(maxDate, 'day'))\r\n classes.push('off', 'disabled');\r\n\r\n //don't allow selection of date if a custom function decides it's invalid\r\n if (this.isInvalidDate(calendar[row][col]))\r\n classes.push('off', 'disabled');\r\n\r\n //highlight the currently selected start date\r\n if (calendar[row][col].format('YYYY-MM-DD') == this.startDate.format('YYYY-MM-DD'))\r\n classes.push('active', 'start-date');\r\n\r\n //highlight the currently selected end date\r\n if (this.endDate != null && calendar[row][col].format('YYYY-MM-DD') == this.endDate.format('YYYY-MM-DD'))\r\n classes.push('active', 'end-date');\r\n\r\n //highlight dates in-between the selected dates\r\n if (this.endDate != null && calendar[row][col] > this.startDate && calendar[row][col] < this.endDate)\r\n classes.push('in-range');\r\n\r\n //apply custom classes for this date\r\n var isCustom = this.isCustomDate(calendar[row][col]);\r\n if (isCustom !== false) {\r\n if (typeof isCustom === 'string')\r\n classes.push(isCustom);\r\n else\r\n Array.prototype.push.apply(classes, isCustom);\r\n }\r\n\r\n var cname = '', disabled = false;\r\n for (var i = 0; i < classes.length; i++) {\r\n cname += classes[i] + ' ';\r\n if (classes[i] == 'disabled')\r\n disabled = true;\r\n }\r\n if (!disabled)\r\n cname += 'available';\r\n\r\n html += '';\r\n\r\n }\r\n html += '';\r\n }\r\n\r\n html += '';\r\n html += '
    ' + dateHtml + '
    ' + this.locale.weekLabel + '' + dayOfWeek + '
    ' + calendar[row][0].week() + '' + calendar[row][0].isoWeek() + '' + calendar[row][col].date() + '
    ';\r\n\r\n this.container.find('.drp-calendar.' + side + ' .calendar-table').html(html);\r\n\r\n },\r\n\r\n renderTimePicker: function(side) {\r\n\r\n // Don't bother updating the time picker if it's currently disabled\r\n // because an end date hasn't been clicked yet\r\n if (side == 'right' && !this.endDate) return;\r\n\r\n var html, selected, minDate, maxDate = this.maxDate;\r\n\r\n if (this.maxSpan && (!this.maxDate || this.startDate.clone().add(this.maxSpan).isAfter(this.maxDate)))\r\n maxDate = this.startDate.clone().add(this.maxSpan);\r\n\r\n if (side == 'left') {\r\n selected = this.startDate.clone();\r\n minDate = this.minDate;\r\n } else if (side == 'right') {\r\n selected = this.endDate.clone();\r\n minDate = this.startDate;\r\n\r\n //Preserve the time already selected\r\n var timeSelector = this.container.find('.drp-calendar.right .calendar-time');\r\n if (timeSelector.html() != '') {\r\n\r\n selected.hour(selected.hour() || timeSelector.find('.hourselect option:selected').val());\r\n selected.minute(selected.minute() || timeSelector.find('.minuteselect option:selected').val());\r\n selected.second(selected.second() || timeSelector.find('.secondselect option:selected').val());\r\n\r\n if (!this.timePicker24Hour) {\r\n var ampm = timeSelector.find('.ampmselect option:selected').val();\r\n if (ampm === 'PM' && selected.hour() < 12)\r\n selected.hour(selected.hour() + 12);\r\n if (ampm === 'AM' && selected.hour() === 12)\r\n selected.hour(0);\r\n }\r\n\r\n }\r\n\r\n if (selected.isBefore(this.startDate))\r\n selected = this.startDate.clone();\r\n\r\n if (maxDate && selected.isAfter(maxDate))\r\n selected = maxDate.clone();\r\n\r\n }\r\n\r\n //\r\n // hours\r\n //\r\n\r\n html = ' ';\r\n\r\n //\r\n // minutes\r\n //\r\n\r\n html += ': ';\r\n\r\n //\r\n // seconds\r\n //\r\n\r\n if (this.timePickerSeconds) {\r\n html += ': ';\r\n }\r\n\r\n //\r\n // AM/PM\r\n //\r\n\r\n if (!this.timePicker24Hour) {\r\n html += '';\r\n }\r\n\r\n this.container.find('.drp-calendar.' + side + ' .calendar-time').html(html);\r\n\r\n },\r\n\r\n updateFormInputs: function() {\r\n\r\n if (this.singleDatePicker || (this.endDate && (this.startDate.isBefore(this.endDate) || this.startDate.isSame(this.endDate)))) {\r\n this.container.find('button.applyBtn').removeAttr('disabled');\r\n } else {\r\n this.container.find('button.applyBtn').attr('disabled', 'disabled');\r\n }\r\n\r\n },\r\n\r\n move: function() {\r\n var parentOffset = { top: 0, left: 0 },\r\n containerTop;\r\n var parentRightEdge = $(window).width();\r\n if (!this.parentEl.is('body')) {\r\n parentOffset = {\r\n top: this.parentEl.offset().top - this.parentEl.scrollTop(),\r\n left: this.parentEl.offset().left - this.parentEl.scrollLeft()\r\n };\r\n parentRightEdge = this.parentEl[0].clientWidth + this.parentEl.offset().left;\r\n }\r\n\r\n if (this.drops == 'up')\r\n containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top;\r\n else\r\n containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top;\r\n this.container[this.drops == 'up' ? 'addClass' : 'removeClass']('drop-up');\r\n\r\n if (this.opens == 'left') {\r\n this.container.css({\r\n top: containerTop,\r\n right: parentRightEdge - this.element.offset().left - this.element.outerWidth(),\r\n left: 'auto'\r\n });\r\n if (this.container.offset().left < 0) {\r\n this.container.css({\r\n right: 'auto',\r\n left: 9\r\n });\r\n }\r\n } else if (this.opens == 'center') {\r\n this.container.css({\r\n top: containerTop,\r\n left: this.element.offset().left - parentOffset.left + this.element.outerWidth() / 2\r\n - this.container.outerWidth() / 2,\r\n right: 'auto'\r\n });\r\n if (this.container.offset().left < 0) {\r\n this.container.css({\r\n right: 'auto',\r\n left: 9\r\n });\r\n }\r\n } else {\r\n this.container.css({\r\n top: containerTop,\r\n left: this.element.offset().left - parentOffset.left,\r\n right: 'auto'\r\n });\r\n if (this.container.offset().left + this.container.outerWidth() > $(window).width()) {\r\n this.container.css({\r\n left: 'auto',\r\n right: 0\r\n });\r\n }\r\n }\r\n },\r\n\r\n show: function(e) {\r\n if (this.isShowing) return;\r\n\r\n // Create a click proxy that is private to this instance of datepicker, for unbinding\r\n this._outsideClickProxy = $.proxy(function(e) { this.outsideClick(e); }, this);\r\n\r\n // Bind global datepicker mousedown for hiding and\r\n $(document)\r\n .on('mousedown.daterangepicker', this._outsideClickProxy)\r\n // also support mobile devices\r\n .on('touchend.daterangepicker', this._outsideClickProxy)\r\n // also explicitly play nice with Bootstrap dropdowns, which stopPropagation when clicking them\r\n .on('click.daterangepicker', '[data-toggle=dropdown]', this._outsideClickProxy)\r\n // and also close when focus changes to outside the picker (eg. tabbing between controls)\r\n .on('focusin.daterangepicker', this._outsideClickProxy);\r\n\r\n // Reposition the picker if the window is resized while it's open\r\n $(window).on('resize.daterangepicker', $.proxy(function(e) { this.move(e); }, this));\r\n\r\n this.oldStartDate = this.startDate.clone();\r\n this.oldEndDate = this.endDate.clone();\r\n this.previousRightTime = this.endDate.clone();\r\n\r\n this.updateView();\r\n this.container.show();\r\n this.move();\r\n this.element.trigger('show.daterangepicker', this);\r\n this.isShowing = true;\r\n },\r\n\r\n hide: function(e) {\r\n if (!this.isShowing) return;\r\n\r\n //incomplete date selection, revert to last values\r\n if (!this.endDate) {\r\n this.startDate = this.oldStartDate.clone();\r\n this.endDate = this.oldEndDate.clone();\r\n }\r\n\r\n //if a new date range was selected, invoke the user callback function\r\n if (!this.startDate.isSame(this.oldStartDate) || !this.endDate.isSame(this.oldEndDate))\r\n this.callback(this.startDate.clone(), this.endDate.clone(), this.chosenLabel);\r\n\r\n //if picker is attached to a text input, update it\r\n this.updateElement();\r\n\r\n $(document).off('.daterangepicker');\r\n $(window).off('.daterangepicker');\r\n this.container.hide();\r\n this.element.trigger('hide.daterangepicker', this);\r\n this.isShowing = false;\r\n },\r\n\r\n toggle: function(e) {\r\n if (this.isShowing) {\r\n this.hide();\r\n } else {\r\n this.show();\r\n }\r\n },\r\n\r\n outsideClick: function(e) {\r\n var target = $(e.target);\r\n // if the page is clicked anywhere except within the daterangerpicker/button\r\n // itself then call this.hide()\r\n if (\r\n // ie modal dialog fix\r\n e.type == \"focusin\" ||\r\n target.closest(this.element).length ||\r\n target.closest(this.container).length ||\r\n target.closest('.calendar-table').length\r\n ) return;\r\n this.hide();\r\n this.element.trigger('outsideClick.daterangepicker', this);\r\n },\r\n\r\n showCalendars: function() {\r\n this.container.addClass('show-calendar');\r\n this.move();\r\n this.element.trigger('showCalendar.daterangepicker', this);\r\n },\r\n\r\n hideCalendars: function() {\r\n this.container.removeClass('show-calendar');\r\n this.element.trigger('hideCalendar.daterangepicker', this);\r\n },\r\n\r\n clickRange: function(e) {\r\n var label = e.target.getAttribute('data-range-key');\r\n this.chosenLabel = label;\r\n if (label == this.locale.customRangeLabel) {\r\n this.showCalendars();\r\n } else {\r\n var dates = this.ranges[label];\r\n this.startDate = dates[0];\r\n this.endDate = dates[1];\r\n\r\n if (!this.timePicker) {\r\n this.startDate.startOf('day');\r\n this.endDate.endOf('day');\r\n }\r\n\r\n if (!this.alwaysShowCalendars)\r\n this.hideCalendars();\r\n this.clickApply();\r\n }\r\n },\r\n\r\n clickPrev: function(e) {\r\n var cal = $(e.target).parents('.drp-calendar');\r\n if (cal.hasClass('left')) {\r\n this.leftCalendar.month.subtract(1, 'month');\r\n if (this.linkedCalendars)\r\n this.rightCalendar.month.subtract(1, 'month');\r\n } else {\r\n this.rightCalendar.month.subtract(1, 'month');\r\n }\r\n this.updateCalendars();\r\n },\r\n\r\n clickNext: function(e) {\r\n var cal = $(e.target).parents('.drp-calendar');\r\n if (cal.hasClass('left')) {\r\n this.leftCalendar.month.add(1, 'month');\r\n } else {\r\n this.rightCalendar.month.add(1, 'month');\r\n if (this.linkedCalendars)\r\n this.leftCalendar.month.add(1, 'month');\r\n }\r\n this.updateCalendars();\r\n },\r\n\r\n hoverDate: function(e) {\r\n\r\n //ignore dates that can't be selected\r\n if (!$(e.target).hasClass('available')) return;\r\n\r\n var title = $(e.target).attr('data-title');\r\n var row = title.substr(1, 1);\r\n var col = title.substr(3, 1);\r\n var cal = $(e.target).parents('.drp-calendar');\r\n var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col];\r\n\r\n //highlight the dates between the start date and the date being hovered as a potential end date\r\n var leftCalendar = this.leftCalendar;\r\n var rightCalendar = this.rightCalendar;\r\n var startDate = this.startDate;\r\n if (!this.endDate) {\r\n this.container.find('.drp-calendar tbody td').each(function(index, el) {\r\n\r\n //skip week numbers, only look at dates\r\n if ($(el).hasClass('week')) return;\r\n\r\n var title = $(el).attr('data-title');\r\n var row = title.substr(1, 1);\r\n var col = title.substr(3, 1);\r\n var cal = $(el).parents('.drp-calendar');\r\n var dt = cal.hasClass('left') ? leftCalendar.calendar[row][col] : rightCalendar.calendar[row][col];\r\n\r\n if ((dt.isAfter(startDate) && dt.isBefore(date)) || dt.isSame(date, 'day')) {\r\n $(el).addClass('in-range');\r\n } else {\r\n $(el).removeClass('in-range');\r\n }\r\n\r\n });\r\n }\r\n\r\n },\r\n\r\n clickDate: function(e) {\r\n\r\n if (!$(e.target).hasClass('available')) return;\r\n\r\n var title = $(e.target).attr('data-title');\r\n var row = title.substr(1, 1);\r\n var col = title.substr(3, 1);\r\n var cal = $(e.target).parents('.drp-calendar');\r\n var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col];\r\n\r\n //\r\n // this function needs to do a few things:\r\n // * alternate between selecting a start and end date for the range,\r\n // * if the time picker is enabled, apply the hour/minute/second from the select boxes to the clicked date\r\n // * if autoapply is enabled, and an end date was chosen, apply the selection\r\n // * if single date picker mode, and time picker isn't enabled, apply the selection immediately\r\n // * if one of the inputs above the calendars was focused, cancel that manual input\r\n //\r\n\r\n if (this.endDate || date.isBefore(this.startDate, 'day')) { //picking start\r\n if (this.timePicker) {\r\n var hour = parseInt(this.container.find('.left .hourselect').val(), 10);\r\n if (!this.timePicker24Hour) {\r\n var ampm = this.container.find('.left .ampmselect').val();\r\n if (ampm === 'PM' && hour < 12)\r\n hour += 12;\r\n if (ampm === 'AM' && hour === 12)\r\n hour = 0;\r\n }\r\n var minute = parseInt(this.container.find('.left .minuteselect').val(), 10);\r\n var second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0;\r\n date = date.clone().hour(hour).minute(minute).second(second);\r\n }\r\n this.endDate = null;\r\n this.setStartDate(date.clone());\r\n } else if (!this.endDate && date.isBefore(this.startDate)) {\r\n //special case: clicking the same date for start/end,\r\n //but the time of the end date is before the start date\r\n this.setEndDate(this.startDate.clone());\r\n } else { // picking end\r\n if (this.timePicker) {\r\n var hour = parseInt(this.container.find('.right .hourselect').val(), 10);\r\n if (!this.timePicker24Hour) {\r\n var ampm = this.container.find('.right .ampmselect').val();\r\n if (ampm === 'PM' && hour < 12)\r\n hour += 12;\r\n if (ampm === 'AM' && hour === 12)\r\n hour = 0;\r\n }\r\n var minute = parseInt(this.container.find('.right .minuteselect').val(), 10);\r\n var second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0;\r\n date = date.clone().hour(hour).minute(minute).second(second);\r\n }\r\n this.setEndDate(date.clone());\r\n if (this.autoApply) {\r\n this.calculateChosenLabel();\r\n this.clickApply();\r\n }\r\n }\r\n\r\n if (this.singleDatePicker) {\r\n this.setEndDate(this.startDate);\r\n if (!this.timePicker)\r\n this.clickApply();\r\n }\r\n\r\n this.updateView();\r\n\r\n //This is to cancel the blur event handler if the mouse was in one of the inputs\r\n e.stopPropagation();\r\n\r\n },\r\n\r\n calculateChosenLabel: function () {\r\n var customRange = true;\r\n var i = 0;\r\n for (var range in this.ranges) {\r\n if (this.timePicker) {\r\n var format = this.timePickerSeconds ? \"YYYY-MM-DD hh:mm:ss\" : \"YYYY-MM-DD hh:mm\";\r\n //ignore times when comparing dates if time picker seconds is not enabled\r\n if (this.startDate.format(format) == this.ranges[range][0].format(format) && this.endDate.format(format) == this.ranges[range][1].format(format)) {\r\n customRange = false;\r\n this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key');\r\n break;\r\n }\r\n } else {\r\n //ignore times when comparing dates if time picker is not enabled\r\n if (this.startDate.format('YYYY-MM-DD') == this.ranges[range][0].format('YYYY-MM-DD') && this.endDate.format('YYYY-MM-DD') == this.ranges[range][1].format('YYYY-MM-DD')) {\r\n customRange = false;\r\n this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key');\r\n break;\r\n }\r\n }\r\n i++;\r\n }\r\n if (customRange) {\r\n if (this.showCustomRangeLabel) {\r\n this.chosenLabel = this.container.find('.ranges li:last').addClass('active').attr('data-range-key');\r\n } else {\r\n this.chosenLabel = null;\r\n }\r\n this.showCalendars();\r\n }\r\n },\r\n\r\n clickApply: function(e) {\r\n this.hide();\r\n this.element.trigger('apply.daterangepicker', this);\r\n },\r\n\r\n clickCancel: function(e) {\r\n this.startDate = this.oldStartDate;\r\n this.endDate = this.oldEndDate;\r\n this.hide();\r\n this.element.trigger('cancel.daterangepicker', this);\r\n },\r\n\r\n monthOrYearChanged: function(e) {\r\n var isLeft = $(e.target).closest('.drp-calendar').hasClass('left'),\r\n leftOrRight = isLeft ? 'left' : 'right',\r\n cal = this.container.find('.drp-calendar.'+leftOrRight);\r\n\r\n // Month must be Number for new moment versions\r\n var month = parseInt(cal.find('.monthselect').val(), 10);\r\n var year = cal.find('.yearselect').val();\r\n\r\n if (!isLeft) {\r\n if (year < this.startDate.year() || (year == this.startDate.year() && month < this.startDate.month())) {\r\n month = this.startDate.month();\r\n year = this.startDate.year();\r\n }\r\n }\r\n\r\n if (this.minDate) {\r\n if (year < this.minDate.year() || (year == this.minDate.year() && month < this.minDate.month())) {\r\n month = this.minDate.month();\r\n year = this.minDate.year();\r\n }\r\n }\r\n\r\n if (this.maxDate) {\r\n if (year > this.maxDate.year() || (year == this.maxDate.year() && month > this.maxDate.month())) {\r\n month = this.maxDate.month();\r\n year = this.maxDate.year();\r\n }\r\n }\r\n\r\n if (isLeft) {\r\n this.leftCalendar.month.month(month).year(year);\r\n if (this.linkedCalendars)\r\n this.rightCalendar.month = this.leftCalendar.month.clone().add(1, 'month');\r\n } else {\r\n this.rightCalendar.month.month(month).year(year);\r\n if (this.linkedCalendars)\r\n this.leftCalendar.month = this.rightCalendar.month.clone().subtract(1, 'month');\r\n }\r\n this.updateCalendars();\r\n },\r\n\r\n timeChanged: function(e) {\r\n\r\n var cal = $(e.target).closest('.drp-calendar'),\r\n isLeft = cal.hasClass('left');\r\n\r\n var hour = parseInt(cal.find('.hourselect').val(), 10);\r\n var minute = parseInt(cal.find('.minuteselect').val(), 10);\r\n var second = this.timePickerSeconds ? parseInt(cal.find('.secondselect').val(), 10) : 0;\r\n\r\n if (!this.timePicker24Hour) {\r\n var ampm = cal.find('.ampmselect').val();\r\n if (ampm === 'PM' && hour < 12)\r\n hour += 12;\r\n if (ampm === 'AM' && hour === 12)\r\n hour = 0;\r\n }\r\n\r\n if (isLeft) {\r\n var start = this.startDate.clone();\r\n start.hour(hour);\r\n start.minute(minute);\r\n start.second(second);\r\n this.setStartDate(start);\r\n if (this.singleDatePicker) {\r\n this.endDate = this.startDate.clone();\r\n } else if (this.endDate && this.endDate.format('YYYY-MM-DD') == start.format('YYYY-MM-DD') && this.endDate.isBefore(start)) {\r\n this.setEndDate(start.clone());\r\n }\r\n } else if (this.endDate) {\r\n var end = this.endDate.clone();\r\n end.hour(hour);\r\n end.minute(minute);\r\n end.second(second);\r\n this.setEndDate(end);\r\n }\r\n\r\n //update the calendars so all clickable dates reflect the new time component\r\n this.updateCalendars();\r\n\r\n //update the form inputs above the calendars with the new time\r\n this.updateFormInputs();\r\n\r\n //re-render the time pickers because changing one selection can affect what's enabled in another\r\n this.renderTimePicker('left');\r\n this.renderTimePicker('right');\r\n\r\n },\r\n\r\n elementChanged: function() {\r\n if (!this.element.is('input')) return;\r\n if (!this.element.val().length) return;\r\n\r\n var dateString = this.element.val().split(this.locale.separator),\r\n start = null,\r\n end = null;\r\n\r\n if (dateString.length === 2) {\r\n start = moment(dateString[0], this.locale.format);\r\n end = moment(dateString[1], this.locale.format);\r\n }\r\n\r\n if (this.singleDatePicker || start === null || end === null) {\r\n start = moment(this.element.val(), this.locale.format);\r\n end = start;\r\n }\r\n\r\n if (!start.isValid() || !end.isValid()) return;\r\n\r\n this.setStartDate(start);\r\n this.setEndDate(end);\r\n this.updateView();\r\n },\r\n\r\n keydown: function(e) {\r\n //hide on tab or enter\r\n if ((e.keyCode === 9) || (e.keyCode === 13)) {\r\n this.hide();\r\n }\r\n\r\n //hide on esc and prevent propagation\r\n if (e.keyCode === 27) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n this.hide();\r\n }\r\n },\r\n\r\n updateElement: function() {\r\n if (this.element.is('input') && this.autoUpdateInput) {\r\n var newValue = this.startDate.format(this.locale.format);\r\n if (!this.singleDatePicker) {\r\n newValue += this.locale.separator + this.endDate.format(this.locale.format);\r\n }\r\n if (newValue !== this.element.val()) {\r\n this.element.val(newValue).trigger('change');\r\n }\r\n }\r\n },\r\n\r\n remove: function() {\r\n this.container.remove();\r\n this.element.off('.daterangepicker');\r\n this.element.removeData();\r\n }\r\n\r\n };\r\n\r\n $.fn.daterangepicker = function(options, callback) {\r\n var implementOptions = $.extend(true, {}, $.fn.daterangepicker.defaultOptions, options);\r\n this.each(function() {\r\n var el = $(this);\r\n if (el.data('daterangepicker'))\r\n el.data('daterangepicker').remove();\r\n el.data('daterangepicker', new DateRangePicker(el, implementOptions, callback));\r\n });\r\n return this;\r\n };\r\n\r\n return DateRangePicker;\r\n\r\n}));\r\n","/*! jssocials - v1.4.0 - 2016-10-10\r\n* http://js-socials.com\r\n* Copyright (c) 2016 Artem Tabalin; Licensed MIT */\r\n(function(window, $, undefined) {\r\n\r\n var JSSOCIALS = \"JSSocials\",\r\n JSSOCIALS_DATA_KEY = JSSOCIALS;\r\n\r\n var getOrApply = function(value, context) {\r\n if($.isFunction(value)) {\r\n return value.apply(context, $.makeArray(arguments).slice(2));\r\n }\r\n return value;\r\n };\r\n\r\n var IMG_SRC_REGEX = /(\\.(jpeg|png|gif|bmp|svg)$|^data:image\\/(jpeg|png|gif|bmp|svg\\+xml);base64)/i;\r\n var URL_PARAMS_REGEX = /(&?[a-zA-Z0-9]+=)?\\{([a-zA-Z0-9]+)\\}/g;\r\n\r\n var MEASURES = {\r\n \"G\": 1000000000,\r\n \"M\": 1000000,\r\n \"K\": 1000\r\n };\r\n\r\n var shares = {};\r\n\r\n function Socials(element, config) {\r\n var $element = $(element);\r\n\r\n $element.data(JSSOCIALS_DATA_KEY, this);\r\n\r\n this._$element = $element;\r\n\r\n this.shares = [];\r\n\r\n this._init(config);\r\n this._render();\r\n }\r\n\r\n Socials.prototype = {\r\n url: \"\",\r\n text: \"\",\r\n shareIn: \"blank\",\r\n\r\n showLabel: function(screenWidth) {\r\n return (this.showCount === false) ?\r\n (screenWidth > this.smallScreenWidth) :\r\n (screenWidth >= this.largeScreenWidth);\r\n },\r\n\r\n showCount: function(screenWidth) {\r\n return (screenWidth <= this.smallScreenWidth) ? \"inside\" : true;\r\n },\r\n\r\n smallScreenWidth: 640,\r\n largeScreenWidth: 1024,\r\n\r\n resizeTimeout: 200,\r\n\r\n elementClass: \"jssocials\",\r\n sharesClass: \"jssocials-shares\",\r\n shareClass: \"jssocials-share\",\r\n shareButtonClass: \"jssocials-share-button\",\r\n shareLinkClass: \"jssocials-share-link\",\r\n shareLogoClass: \"jssocials-share-logo\",\r\n shareLabelClass: \"jssocials-share-label\",\r\n shareLinkCountClass: \"jssocials-share-link-count\",\r\n shareCountBoxClass: \"jssocials-share-count-box\",\r\n shareCountClass: \"jssocials-share-count\",\r\n shareZeroCountClass: \"jssocials-share-no-count\",\r\n\r\n _init: function(config) {\r\n this._initDefaults();\r\n $.extend(this, config);\r\n this._initShares();\r\n this._attachWindowResizeCallback();\r\n },\r\n\r\n _initDefaults: function() {\r\n this.url = window.location.href;\r\n this.text = $.trim($(\"meta[name=description]\").attr(\"content\") || $(\"title\").text());\r\n },\r\n\r\n _initShares: function() {\r\n this.shares = $.map(this.shares, $.proxy(function(shareConfig) {\r\n if(typeof shareConfig === \"string\") {\r\n shareConfig = { share: shareConfig };\r\n }\r\n\r\n var share = (shareConfig.share && shares[shareConfig.share]);\r\n\r\n if(!share && !shareConfig.renderer) {\r\n throw Error(\"Share '\" + shareConfig.share + \"' is not found\");\r\n }\r\n\r\n return $.extend({ url: this.url, text: this.text }, share, shareConfig);\r\n }, this));\r\n },\r\n\r\n _attachWindowResizeCallback: function() {\r\n $(window).on(\"resize\", $.proxy(this._windowResizeHandler, this));\r\n },\r\n\r\n _detachWindowResizeCallback: function() {\r\n $(window).off(\"resize\", this._windowResizeHandler);\r\n },\r\n\r\n _windowResizeHandler: function() {\r\n if($.isFunction(this.showLabel) || $.isFunction(this.showCount)) {\r\n window.clearTimeout(this._resizeTimer);\r\n this._resizeTimer = setTimeout($.proxy(this.refresh, this), this.resizeTimeout);\r\n }\r\n },\r\n\r\n _render: function() {\r\n this._clear();\r\n\r\n this._defineOptionsByScreen();\r\n\r\n this._$element.addClass(this.elementClass);\r\n\r\n this._$shares = $(\"
    \").addClass(this.sharesClass)\r\n .appendTo(this._$element);\r\n\r\n this._renderShares();\r\n },\r\n\r\n _defineOptionsByScreen: function() {\r\n this._screenWidth = $(window).width();\r\n this._showLabel = getOrApply(this.showLabel, this, this._screenWidth);\r\n this._showCount = getOrApply(this.showCount, this, this._screenWidth);\r\n },\r\n\r\n _renderShares: function() {\r\n $.each(this.shares, $.proxy(function(_, share) {\r\n this._renderShare(share);\r\n }, this));\r\n },\r\n\r\n _renderShare: function(share) {\r\n var $share;\r\n\r\n if($.isFunction(share.renderer)) {\r\n $share = $(share.renderer());\r\n } else {\r\n $share = this._createShare(share);\r\n }\r\n\r\n $share.addClass(this.shareClass)\r\n .addClass(share.share ? \"jssocials-share-\" + share.share : \"\")\r\n .addClass(share.css)\r\n .appendTo(this._$shares);\r\n },\r\n\r\n _createShare: function(share) {\r\n var $result = $(\"
    \");\r\n var $shareLink = this._createShareLink(share).appendTo($result);\r\n\r\n if(this._showCount) {\r\n var isInsideCount = (this._showCount === \"inside\");\r\n var $countContainer = isInsideCount ? $shareLink : $(\"
    \").addClass(this.shareCountBoxClass).appendTo($result);\r\n $countContainer.addClass(isInsideCount ? this.shareLinkCountClass : this.shareCountBoxClass);\r\n this._renderShareCount(share, $countContainer);\r\n }\r\n\r\n return $result;\r\n },\r\n\r\n _createShareLink: function(share) {\r\n var shareStrategy = this._getShareStrategy(share);\r\n\r\n var $result = shareStrategy.call(share, {\r\n shareUrl: this._getShareUrl(share)\r\n });\r\n\r\n $result.addClass(this.shareLinkClass)\r\n .append(this._createShareLogo(share));\r\n\r\n if(this._showLabel) {\r\n $result.append(this._createShareLabel(share));\r\n }\r\n\r\n $.each(this.on || {}, function(event, handler) {\r\n if($.isFunction(handler)) {\r\n $result.on(event, $.proxy(handler, share));\r\n }\r\n });\r\n\r\n return $result;\r\n },\r\n\r\n _getShareStrategy: function(share) {\r\n var result = shareStrategies[share.shareIn || this.shareIn];\r\n\r\n if(!result)\r\n throw Error(\"Share strategy '\" + this.shareIn + \"' not found\");\r\n\r\n return result;\r\n },\r\n\r\n _getShareUrl: function(share) {\r\n var shareUrl = getOrApply(share.shareUrl, share);\r\n return this._formatShareUrl(shareUrl, share);\r\n },\r\n\r\n _createShareLogo: function(share) {\r\n var logo = share.logo;\r\n\r\n var $result = IMG_SRC_REGEX.test(logo) ?\r\n $(\"\").attr(\"src\", share.logo) :\r\n $(\"\").addClass(logo);\r\n\r\n $result.addClass(this.shareLogoClass);\r\n\r\n return $result;\r\n },\r\n\r\n _createShareLabel: function(share) {\r\n return $(\"\").addClass(this.shareLabelClass)\r\n .text(share.label);\r\n },\r\n\r\n _renderShareCount: function(share, $container) {\r\n var $count = $(\"\").addClass(this.shareCountClass);\r\n\r\n $container.addClass(this.shareZeroCountClass)\r\n .append($count);\r\n\r\n this._loadCount(share).done($.proxy(function(count) {\r\n if(count) {\r\n $container.removeClass(this.shareZeroCountClass);\r\n $count.text(count);\r\n }\r\n }, this));\r\n },\r\n\r\n _loadCount: function(share) {\r\n var deferred = $.Deferred();\r\n var countUrl = this._getCountUrl(share);\r\n\r\n if(!countUrl) {\r\n return deferred.resolve(0).promise();\r\n }\r\n\r\n var handleSuccess = $.proxy(function(response) {\r\n deferred.resolve(this._getCountValue(response, share));\r\n }, this);\r\n\r\n $.getJSON(countUrl).done(handleSuccess)\r\n .fail(function() {\r\n $.get(countUrl).done(handleSuccess)\r\n .fail(function() {\r\n deferred.resolve(0);\r\n });\r\n });\r\n\r\n return deferred.promise();\r\n },\r\n\r\n _getCountUrl: function(share) {\r\n var countUrl = getOrApply(share.countUrl, share);\r\n return this._formatShareUrl(countUrl, share);\r\n },\r\n\r\n _getCountValue: function(response, share) {\r\n var count = ($.isFunction(share.getCount) ? share.getCount(response) : response) || 0;\r\n return (typeof count === \"string\") ? count : this._formatNumber(count);\r\n },\r\n\r\n _formatNumber: function(number) {\r\n $.each(MEASURES, function(letter, value) {\r\n if(number >= value) {\r\n number = parseFloat((number / value).toFixed(2)) + letter;\r\n return false;\r\n }\r\n });\r\n\r\n return number;\r\n },\r\n\r\n _formatShareUrl: function(url, share) {\r\n return url.replace(URL_PARAMS_REGEX, function(match, key, field) {\r\n var value = share[field] || \"\";\r\n return value ? (key || \"\") + window.encodeURIComponent(value) : \"\";\r\n });\r\n },\r\n\r\n _clear: function() {\r\n window.clearTimeout(this._resizeTimer);\r\n this._$element.empty();\r\n },\r\n\r\n _passOptionToShares: function(key, value) {\r\n var shares = this.shares;\r\n\r\n $.each([\"url\", \"text\"], function(_, optionName) {\r\n if(optionName !== key)\r\n return;\r\n\r\n $.each(shares, function(_, share) {\r\n share[key] = value;\r\n });\r\n });\r\n },\r\n\r\n _normalizeShare: function(share) {\r\n if($.isNumeric(share)) {\r\n return this.shares[share];\r\n }\r\n\r\n if(typeof share === \"string\") {\r\n return $.grep(this.shares, function(s) {\r\n return s.share === share;\r\n })[0];\r\n }\r\n\r\n return share;\r\n },\r\n\r\n refresh: function() {\r\n this._render();\r\n },\r\n\r\n destroy: function() {\r\n this._clear();\r\n this._detachWindowResizeCallback();\r\n\r\n this._$element\r\n .removeClass(this.elementClass)\r\n .removeData(JSSOCIALS_DATA_KEY);\r\n },\r\n\r\n option: function(key, value) {\r\n if(arguments.length === 1) {\r\n return this[key];\r\n }\r\n\r\n this[key] = value;\r\n\r\n this._passOptionToShares(key, value);\r\n\r\n this.refresh();\r\n },\r\n\r\n shareOption: function(share, key, value) {\r\n share = this._normalizeShare(share);\r\n\r\n if(arguments.length === 2) {\r\n return share[key];\r\n }\r\n\r\n share[key] = value;\r\n this.refresh();\r\n }\r\n };\r\n\r\n\r\n $.fn.jsSocials = function(config) {\r\n var args = $.makeArray(arguments),\r\n methodArgs = args.slice(1),\r\n result = this;\r\n\r\n this.each(function() {\r\n var $element = $(this),\r\n instance = $element.data(JSSOCIALS_DATA_KEY),\r\n methodResult;\r\n\r\n if(instance) {\r\n if(typeof config === \"string\") {\r\n methodResult = instance[config].apply(instance, methodArgs);\r\n if(methodResult !== undefined && methodResult !== instance) {\r\n result = methodResult;\r\n return false;\r\n }\r\n } else {\r\n instance._detachWindowResizeCallback();\r\n instance._init(config);\r\n instance._render();\r\n }\r\n } else {\r\n new Socials($element, config);\r\n }\r\n });\r\n\r\n return result;\r\n };\r\n\r\n var setDefaults = function(config) {\r\n var component;\r\n\r\n if($.isPlainObject(config)) {\r\n component = Socials.prototype;\r\n } else {\r\n component = shares[config];\r\n config = arguments[1] || {};\r\n }\r\n\r\n $.extend(component, config);\r\n };\r\n\r\n var shareStrategies = {\r\n popup: function(args) {\r\n return $(\"\").attr(\"href\", \"#\")\r\n .on(\"click\", function() {\r\n window.open(args.shareUrl, null, \"width=600, height=400, location=0, menubar=0, resizeable=0, scrollbars=0, status=0, titlebar=0, toolbar=0\");\r\n return false;\r\n });\r\n },\r\n\r\n blank: function(args) {\r\n return $(\"\").attr({ target: \"_blank\", href: args.shareUrl });\r\n },\r\n\r\n self: function(args) {\r\n return $(\"\").attr({ target: \"_self\", href: args.shareUrl });\r\n }\r\n };\r\n\r\n window.jsSocials = {\r\n Socials: Socials,\r\n shares: shares,\r\n shareStrategies: shareStrategies,\r\n setDefaults: setDefaults\r\n };\r\n\r\n}(window, jQuery));\r\n\r\n\r\n(function(window, $, jsSocials, undefined) {\r\n\r\n $.extend(jsSocials.shares, {\r\n\r\n email: {\r\n label: \"E-mail\",\r\n logo: \"fa fa-at\",\r\n shareUrl: \"mailto:{to}?subject={text}&body={url}\",\r\n countUrl: \"\",\r\n shareIn: \"self\"\r\n },\r\n\r\n twitter: {\r\n label: \"Tweet\",\r\n logo: \"fa fa-twitter\",\r\n shareUrl: \"https://twitter.com/share?url={url}&text={text}&via={via}&hashtags={hashtags}\",\r\n countUrl: \"\"\r\n },\r\n\r\n facebook: {\r\n label: \"Like\",\r\n logo: \"fa fa-facebook\",\r\n shareUrl: \"https://facebook.com/sharer/sharer.php?u={url}\",\r\n countUrl: \"https://graph.facebook.com/?id={url}\",\r\n getCount: function(data) {\r\n return data.share && data.share.share_count || 0;\r\n }\r\n },\r\n\r\n vkontakte: {\r\n label: \"Like\",\r\n logo: \"fa fa-vk\",\r\n shareUrl: \"https://vk.com/share.php?url={url}&title={title}&description={text}\",\r\n countUrl: \"https://vk.com/share.php?act=count&index=1&url={url}\",\r\n getCount: function(data) {\r\n return parseInt(data.slice(15, -2).split(', ')[1]);\r\n }\r\n },\r\n\r\n googleplus: {\r\n label: \"+1\",\r\n logo: \"fa fa-google\",\r\n shareUrl: \"https://plus.google.com/share?url={url}\",\r\n countUrl: \"\"\r\n },\r\n\r\n linkedin: {\r\n label: \"Share\",\r\n logo: \"fa fa-linkedin\",\r\n shareUrl: \"https://www.linkedin.com/shareArticle?mini=true&url={url}\",\r\n countUrl: \"https://www.linkedin.com/countserv/count/share?format=jsonp&url={url}&callback=?\",\r\n getCount: function(data) {\r\n return data.count;\r\n }\r\n },\r\n\r\n pinterest: {\r\n label: \"Pin it\",\r\n logo: \"fa fa-pinterest\",\r\n shareUrl: \"https://pinterest.com/pin/create/bookmarklet/?media={media}&url={url}&description={text}\",\r\n countUrl: \"https://api.pinterest.com/v1/urls/count.json?&url={url}&callback=?\",\r\n getCount: function(data) {\r\n return data.count;\r\n }\r\n },\r\n\r\n stumbleupon: {\r\n label: \"Share\",\r\n logo: \"fa fa-stumbleupon\",\r\n shareUrl: \"http://www.stumbleupon.com/submit?url={url}&title={title}\",\r\n countUrl: \"https://cors-anywhere.herokuapp.com/https://www.stumbleupon.com/services/1.01/badge.getinfo?url={url}\",\r\n getCount: function(data) {\r\n return data.result.views;\r\n }\r\n },\r\n\r\n telegram: {\r\n label: \"Telegram\",\r\n logo: \"fa fa-paper-plane\",\r\n shareUrl: \"tg://msg?text={url} {text}\",\r\n countUrl: \"\",\r\n shareIn: \"self\"\r\n },\r\n\r\n whatsapp: {\r\n label: \"WhatsApp\",\r\n logo: \"fa fa-whatsapp\",\r\n shareUrl: \"whatsapp://send?text={url} {text}\",\r\n countUrl: \"\",\r\n shareIn: \"self\"\r\n },\r\n\r\n line: {\r\n label: \"LINE\",\r\n logo: \"fa fa-comment\",\r\n shareUrl: \"http://line.me/R/msg/text/?{text} {url}\",\r\n countUrl: \"\"\r\n },\r\n\r\n viber: {\r\n label: \"Viber\",\r\n logo: \"fa fa-volume-control-phone\",\r\n shareUrl: \"viber://forward?text={url} {text}\",\r\n countUrl: \"\",\r\n shareIn: \"self\"\r\n },\r\n\r\n pocket: {\r\n label: \"Pocket\",\r\n logo: \"fa fa-get-pocket\",\r\n shareUrl: \"https://getpocket.com/save?url={url}&title={title}\",\r\n countUrl: \"\"\r\n },\r\n\r\n messenger: {\r\n label: \"Share\",\r\n logo: \"fa fa-commenting\",\r\n shareUrl: \"fb-messenger://share?link={url}\",\r\n countUrl: \"\",\r\n shareIn: \"self\"\r\n }\r\n\r\n });\r\n\r\n}(window, jQuery, window.jsSocials));\r\n\r\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){\"use strict\";var e,i;function c(){return e.apply(null,arguments)}function o(e){return e instanceof Array||\"[object Array]\"===Object.prototype.toString.call(e)}function u(e){return null!=e&&\"[object Object]\"===Object.prototype.toString.call(e)}function l(e){return void 0===e}function d(e){return\"number\"==typeof e||\"[object Number]\"===Object.prototype.toString.call(e)}function h(e){return e instanceof Date||\"[object Date]\"===Object.prototype.toString.call(e)}function f(e,t){var n,s=[];for(n=0;n>>0,s=0;sDe(e)?(r=e+1,a=o-De(e)):(r=e,a=o),{year:r,dayOfYear:a}}function Ie(e,t,n){var s,i,r=Ve(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+Ae(i=e.year()-1,t,n):a>Ae(e.year(),t,n)?(s=a-Ae(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function Ae(e,t,n){var s=Ve(e,t,n),i=Ve(e+1,t,n);return(De(e)-s+i)/7}I(\"w\",[\"ww\",2],\"wo\",\"week\"),I(\"W\",[\"WW\",2],\"Wo\",\"isoWeek\"),H(\"week\",\"w\"),H(\"isoWeek\",\"W\"),L(\"week\",5),L(\"isoWeek\",5),ue(\"w\",B),ue(\"ww\",B,z),ue(\"W\",B),ue(\"WW\",B,z),fe([\"w\",\"ww\",\"W\",\"WW\"],function(e,t,n,s){t[s.substr(0,1)]=k(e)});I(\"d\",0,\"do\",\"day\"),I(\"dd\",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),I(\"ddd\",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),I(\"dddd\",0,0,function(e){return this.localeData().weekdays(this,e)}),I(\"e\",0,0,\"weekday\"),I(\"E\",0,0,\"isoWeekday\"),H(\"day\",\"d\"),H(\"weekday\",\"e\"),H(\"isoWeekday\",\"E\"),L(\"day\",11),L(\"weekday\",11),L(\"isoWeekday\",11),ue(\"d\",B),ue(\"e\",B),ue(\"E\",B),ue(\"dd\",function(e,t){return t.weekdaysMinRegex(e)}),ue(\"ddd\",function(e,t){return t.weekdaysShortRegex(e)}),ue(\"dddd\",function(e,t){return t.weekdaysRegex(e)}),fe([\"dd\",\"ddd\",\"dddd\"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:g(n).invalidWeekday=e}),fe([\"d\",\"e\",\"E\"],function(e,t,n,s){t[s]=k(e)});var je=\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\");var Ze=\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\");var ze=\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\");var $e=ae;var qe=ae;var Je=ae;function Be(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],l=[];for(t=0;t<7;t++)n=y([2e3,1]).day(t),s=this.weekdaysMin(n,\"\"),i=this.weekdaysShort(n,\"\"),r=this.weekdays(n,\"\"),a.push(s),o.push(i),u.push(r),l.push(s),l.push(i),l.push(r);for(a.sort(e),o.sort(e),u.sort(e),l.sort(e),t=0;t<7;t++)o[t]=de(o[t]),u[t]=de(u[t]),l[t]=de(l[t]);this._weekdaysRegex=new RegExp(\"^(\"+l.join(\"|\")+\")\",\"i\"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(\"^(\"+u.join(\"|\")+\")\",\"i\"),this._weekdaysShortStrictRegex=new RegExp(\"^(\"+o.join(\"|\")+\")\",\"i\"),this._weekdaysMinStrictRegex=new RegExp(\"^(\"+a.join(\"|\")+\")\",\"i\")}function Qe(){return this.hours()%12||12}function Xe(e,t){I(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Ke(e,t){return t._meridiemParse}I(\"H\",[\"HH\",2],0,\"hour\"),I(\"h\",[\"hh\",2],0,Qe),I(\"k\",[\"kk\",2],0,function(){return this.hours()||24}),I(\"hmm\",0,0,function(){return\"\"+Qe.apply(this)+U(this.minutes(),2)}),I(\"hmmss\",0,0,function(){return\"\"+Qe.apply(this)+U(this.minutes(),2)+U(this.seconds(),2)}),I(\"Hmm\",0,0,function(){return\"\"+this.hours()+U(this.minutes(),2)}),I(\"Hmmss\",0,0,function(){return\"\"+this.hours()+U(this.minutes(),2)+U(this.seconds(),2)}),Xe(\"a\",!0),Xe(\"A\",!1),H(\"hour\",\"h\"),L(\"hour\",13),ue(\"a\",Ke),ue(\"A\",Ke),ue(\"H\",B),ue(\"h\",B),ue(\"k\",B),ue(\"HH\",B,z),ue(\"hh\",B,z),ue(\"kk\",B,z),ue(\"hmm\",Q),ue(\"hmmss\",X),ue(\"Hmm\",Q),ue(\"Hmmss\",X),ce([\"H\",\"HH\"],ge),ce([\"k\",\"kk\"],function(e,t,n){var s=k(e);t[ge]=24===s?0:s}),ce([\"a\",\"A\"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ce([\"h\",\"hh\"],function(e,t,n){t[ge]=k(e),g(n).bigHour=!0}),ce(\"hmm\",function(e,t,n){var s=e.length-2;t[ge]=k(e.substr(0,s)),t[pe]=k(e.substr(s)),g(n).bigHour=!0}),ce(\"hmmss\",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=k(e.substr(0,s)),t[pe]=k(e.substr(s,2)),t[ve]=k(e.substr(i)),g(n).bigHour=!0}),ce(\"Hmm\",function(e,t,n){var s=e.length-2;t[ge]=k(e.substr(0,s)),t[pe]=k(e.substr(s))}),ce(\"Hmmss\",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=k(e.substr(0,s)),t[pe]=k(e.substr(s,2)),t[ve]=k(e.substr(i))});var et,tt=Te(\"Hours\",!0),nt={calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},longDateFormat:{LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},invalidDate:\"Invalid date\",ordinal:\"%d\",dayOfMonthOrdinalParse:/\\d{1,2}/,relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},months:He,monthsShort:Re,week:{dow:0,doy:6},weekdays:je,weekdaysMin:ze,weekdaysShort:Ze,meridiemParse:/[ap]\\.?m?\\.?/i},st={},it={};function rt(e){return e?e.toLowerCase().replace(\"_\",\"-\"):e}function at(e){var t=null;if(!st[e]&&\"undefined\"!=typeof module&&module&&module.exports)try{t=et._abbr,require(\"./locale/\"+e),ot(t)}catch(e){}return st[e]}function ot(e,t){var n;return e&&((n=l(t)?lt(e):ut(e,t))?et=n:\"undefined\"!=typeof console&&console.warn&&console.warn(\"Locale \"+e+\" not found. Did you forget to load it?\")),et._abbr}function ut(e,t){if(null!==t){var n,s=nt;if(t.abbr=e,null!=st[e])T(\"defineLocaleOverride\",\"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.\"),s=st[e]._config;else if(null!=t.parentLocale)if(null!=st[t.parentLocale])s=st[t.parentLocale]._config;else{if(null==(n=at(t.parentLocale)))return it[t.parentLocale]||(it[t.parentLocale]=[]),it[t.parentLocale].push({name:e,config:t}),null;s=n._config}return st[e]=new P(b(s,t)),it[e]&&it[e].forEach(function(e){ut(e.name,e.config)}),ot(e),st[e]}return delete st[e],null}function lt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return et;if(!o(e)){if(t=at(e))return t;e=[e]}return function(e){for(var t,n,s,i,r=0;r=t&&a(i,n,!0)>=t-1)break;t--}r++}return et}(e)}function dt(e){var t,n=e._a;return n&&-2===g(e).overflow&&(t=n[_e]<0||11Pe(n[me],n[_e])?ye:n[ge]<0||24Ae(n,r,a)?g(e)._overflowWeeks=!0:null!=u?g(e)._overflowWeekday=!0:(o=Ee(n,s,i,r,a),e._a[me]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(r=ht(e._a[me],s[me]),(e._dayOfYear>De(r)||0===e._dayOfYear)&&(g(e)._overflowDayOfYear=!0),n=Ge(r,0,e._dayOfYear),e._a[_e]=n.getUTCMonth(),e._a[ye]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=a[t]=s[t];for(;t<7;t++)e._a[t]=a[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ge]&&0===e._a[pe]&&0===e._a[ve]&&0===e._a[we]&&(e._nextDay=!0,e._a[ge]=0),e._d=(e._useUTC?Ge:function(e,t,n,s,i,r,a){var o=new Date(e,t,n,s,i,r,a);return e<100&&0<=e&&isFinite(o.getFullYear())&&o.setFullYear(e),o}).apply(null,a),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ge]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(g(e).weekdayMismatch=!0)}}var ft=/^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,mt=/^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,_t=/Z|[+-]\\d\\d(?::?\\d\\d)?/,yt=[[\"YYYYYY-MM-DD\",/[+-]\\d{6}-\\d\\d-\\d\\d/],[\"YYYY-MM-DD\",/\\d{4}-\\d\\d-\\d\\d/],[\"GGGG-[W]WW-E\",/\\d{4}-W\\d\\d-\\d/],[\"GGGG-[W]WW\",/\\d{4}-W\\d\\d/,!1],[\"YYYY-DDD\",/\\d{4}-\\d{3}/],[\"YYYY-MM\",/\\d{4}-\\d\\d/,!1],[\"YYYYYYMMDD\",/[+-]\\d{10}/],[\"YYYYMMDD\",/\\d{8}/],[\"GGGG[W]WWE\",/\\d{4}W\\d{3}/],[\"GGGG[W]WW\",/\\d{4}W\\d{2}/,!1],[\"YYYYDDD\",/\\d{7}/]],gt=[[\"HH:mm:ss.SSSS\",/\\d\\d:\\d\\d:\\d\\d\\.\\d+/],[\"HH:mm:ss,SSSS\",/\\d\\d:\\d\\d:\\d\\d,\\d+/],[\"HH:mm:ss\",/\\d\\d:\\d\\d:\\d\\d/],[\"HH:mm\",/\\d\\d:\\d\\d/],[\"HHmmss.SSSS\",/\\d\\d\\d\\d\\d\\d\\.\\d+/],[\"HHmmss,SSSS\",/\\d\\d\\d\\d\\d\\d,\\d+/],[\"HHmmss\",/\\d\\d\\d\\d\\d\\d/],[\"HHmm\",/\\d\\d\\d\\d/],[\"HH\",/\\d\\d/]],pt=/^\\/?Date\\((\\-?\\d+)/i;function vt(e){var t,n,s,i,r,a,o=e._i,u=ft.exec(o)||mt.exec(o);if(u){for(g(e).iso=!0,t=0,n=yt.length;tn.valueOf():n.valueOf()this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},ln.isLocal=function(){return!!this.isValid()&&!this._isUTC},ln.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},ln.isUtc=Vt,ln.isUTC=Vt,ln.zoneAbbr=function(){return this._isUTC?\"UTC\":\"\"},ln.zoneName=function(){return this._isUTC?\"Coordinated Universal Time\":\"\"},ln.dates=n(\"dates accessor is deprecated. Use date instead.\",nn),ln.months=n(\"months accessor is deprecated. Use month instead\",Fe),ln.years=n(\"years accessor is deprecated. Use year instead\",Oe),ln.zone=n(\"moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/\",function(e,t){return null!=e?(\"string\"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),ln.isDSTShifted=n(\"isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information\",function(){if(!l(this._isDSTShifted))return this._isDSTShifted;var e={};if(w(e,this),(e=Yt(e))._a){var t=e._isUTC?y(e._a):Tt(e._a);this._isDSTShifted=this.isValid()&&0= 16; if (\"objectFit\" in document.documentElement.style != !1 && !e) return void (window.objectFitPolyfill = function () { return !1 }); var i = function (t) { var e = window.getComputedStyle(t, null), i = e.getPropertyValue(\"position\"), n = e.getPropertyValue(\"overflow\"), o = e.getPropertyValue(\"display\"); i && \"static\" !== i || (t.style.position = \"relative\"), \"hidden\" !== n && (t.style.overflow = \"hidden\"), o && \"inline\" !== o || (t.style.display = \"block\"), 0 === t.clientHeight && (t.style.height = \"100%\"), -1 === t.className.indexOf(\"object-fit-polyfill\") && (t.className = t.className + \" object-fit-polyfill\") }, n = function (t) { var e = window.getComputedStyle(t, null), i = { \"max-width\": \"none\", \"max-height\": \"none\", \"min-width\": \"0px\", \"min-height\": \"0px\", top: \"auto\", right: \"auto\", bottom: \"auto\", left: \"auto\", \"margin-top\": \"0px\", \"margin-right\": \"0px\", \"margin-bottom\": \"0px\", \"margin-left\": \"0px\" }; for (var n in i) { e.getPropertyValue(n) !== i[n] && (t.style[n] = i[n]) } }, o = function (t, e, i) { var n, o, l, a, d; if (i = i.split(\" \"), i.length < 2 && (i[1] = i[0]), \"x\" === t) n = i[0], o = i[1], l = \"left\", a = \"right\", d = e.clientWidth; else { if (\"y\" !== t) return; n = i[1], o = i[0], l = \"top\", a = \"bottom\", d = e.clientHeight } return n === l || o === l ? void (e.style[l] = \"0\") : n === a || o === a ? void (e.style[a] = \"0\") : \"center\" === n || \"50%\" === n ? (e.style[l] = \"50%\", void (e.style[\"margin-\" + l] = d / -2 + \"px\")) : n.indexOf(\"%\") >= 0 ? (n = parseInt(n), void (n < 50 ? (e.style[l] = n + \"%\", e.style[\"margin-\" + l] = d * (n / -100) + \"px\") : (n = 100 - n, e.style[a] = n + \"%\", e.style[\"margin-\" + a] = d * (n / -100) + \"px\"))) : void (e.style[l] = n) }, l = function (t) { var e = t.dataset ? t.dataset.objectFit : t.getAttribute(\"data-object-fit\"), l = t.dataset ? t.dataset.objectPosition : t.getAttribute(\"data-object-position\"); e = e || \"cover\", l = l || \"50% 50%\"; var a = t.parentNode; i(a), n(t), t.style.position = \"absolute\", t.style.height = \"100%\", t.style.width = \"auto\", \"scale-down\" === e && (t.style.height = \"auto\", t.clientWidth < a.clientWidth && t.clientHeight < a.clientHeight ? (o(\"x\", t, l), o(\"y\", t, l)) : (e = \"contain\", t.style.height = \"100%\")), \"none\" === e ? (t.style.width = \"auto\", t.style.height = \"auto\", o(\"x\", t, l), o(\"y\", t, l)) : \"cover\" === e && t.clientWidth > a.clientWidth || \"contain\" === e && t.clientWidth < a.clientWidth ? (t.style.top = \"0\", t.style.marginTop = \"0\", o(\"x\", t, l)) : \"scale-down\" !== e && (t.style.width = \"100%\", t.style.height = \"auto\", t.style.left = \"0\", t.style.marginLeft = \"0\", o(\"y\", t, l)) }, a = function (t) { if (void 0 === t) t = document.querySelectorAll(\"[data-object-fit]\"); else if (t && t.nodeName) t = [t]; else { if (\"object\" != typeof t || !t.length || !t[0].nodeName) return !1; t = t } for (var i = 0; i < t.length; i++)if (t[i].nodeName) { var n = t[i].nodeName.toLowerCase(); \"img\" !== n || e ? \"video\" === n && (t[i].readyState > 0 ? l(t[i]) : t[i].addEventListener(\"loadedmetadata\", function () { l(this) })) : t[i].complete ? l(t[i]) : t[i].addEventListener(\"load\", function () { l(this) }) } return !0 }; document.addEventListener(\"DOMContentLoaded\", function () { a() }), window.addEventListener(\"resize\", function () { a() }), window.objectFitPolyfill = a } }();","/**\r\n * Owl Carousel v2.2.1\r\n * Copyright 2013-2017 David Deutsch\r\n * Licensed under ()\r\n */\r\n/**\r\n * Owl carousel\r\n * @version 2.1.6\r\n * @author Bartosz Wojciechowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n * @todo Lazy Load Icon\r\n * @todo prevent animationend bubling\r\n * @todo itemsScaleUp\r\n * @todo Test Zepto\r\n * @todo stagePadding calculate wrong active classes\r\n */\r\n;(function($, window, document, undefined) {\r\n\r\n\t/**\r\n\t * Creates a carousel.\r\n\t * @class The Owl Carousel.\r\n\t * @public\r\n\t * @param {HTMLElement|jQuery} element - The element to create the carousel for.\r\n\t * @param {Object} [options] - The options\r\n\t */\r\n\tfunction Owl(element, options) {\r\n\r\n\t\t/**\r\n\t\t * Current settings for the carousel.\r\n\t\t * @public\r\n\t\t */\r\n\t\tthis.settings = null;\r\n\r\n\t\t/**\r\n\t\t * Current options set by the caller including defaults.\r\n\t\t * @public\r\n\t\t */\r\n\t\tthis.options = $.extend({}, Owl.Defaults, options);\r\n\r\n\t\t/**\r\n\t\t * Plugin element.\r\n\t\t * @public\r\n\t\t */\r\n\t\tthis.$element = $(element);\r\n\r\n\t\t/**\r\n\t\t * Proxied event handlers.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._handlers = {};\r\n\r\n\t\t/**\r\n\t\t * References to the running plugins of this carousel.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._plugins = {};\r\n\r\n\t\t/**\r\n\t\t * Currently suppressed events to prevent them from beeing retriggered.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._supress = {};\r\n\r\n\t\t/**\r\n\t\t * Absolute current position.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._current = null;\r\n\r\n\t\t/**\r\n\t\t * Animation speed in milliseconds.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._speed = null;\r\n\r\n\t\t/**\r\n\t\t * Coordinates of all items in pixel.\r\n\t\t * @todo The name of this member is missleading.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._coordinates = [];\r\n\r\n\t\t/**\r\n\t\t * Current breakpoint.\r\n\t\t * @todo Real media queries would be nice.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._breakpoint = null;\r\n\r\n\t\t/**\r\n\t\t * Current width of the plugin element.\r\n\t\t */\r\n\t\tthis._width = null;\r\n\r\n\t\t/**\r\n\t\t * All real items.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._items = [];\r\n\r\n\t\t/**\r\n\t\t * All cloned items.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._clones = [];\r\n\r\n\t\t/**\r\n\t\t * Merge values of all items.\r\n\t\t * @todo Maybe this could be part of a plugin.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._mergers = [];\r\n\r\n\t\t/**\r\n\t\t * Widths of all items.\r\n\t\t */\r\n\t\tthis._widths = [];\r\n\r\n\t\t/**\r\n\t\t * Invalidated parts within the update process.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._invalidated = {};\r\n\r\n\t\t/**\r\n\t\t * Ordered list of workers for the update process.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._pipe = [];\r\n\r\n\t\t/**\r\n\t\t * Current state information for the drag operation.\r\n\t\t * @todo #261\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._drag = {\r\n\t\t\ttime: null,\r\n\t\t\ttarget: null,\r\n\t\t\tpointer: null,\r\n\t\t\tstage: {\r\n\t\t\t\tstart: null,\r\n\t\t\t\tcurrent: null\r\n\t\t\t},\r\n\t\t\tdirection: null\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * Current state information and their tags.\r\n\t\t * @type {Object}\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._states = {\r\n\t\t\tcurrent: {},\r\n\t\t\ttags: {\r\n\t\t\t\t'initializing': [ 'busy' ],\r\n\t\t\t\t'animating': [ 'busy' ],\r\n\t\t\t\t'dragging': [ 'interacting' ]\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t$.each([ 'onResize', 'onThrottledResize' ], $.proxy(function(i, handler) {\r\n\t\t\tthis._handlers[handler] = $.proxy(this[handler], this);\r\n\t\t}, this));\r\n\r\n\t\t$.each(Owl.Plugins, $.proxy(function(key, plugin) {\r\n\t\t\tthis._plugins[key.charAt(0).toLowerCase() + key.slice(1)]\r\n\t\t\t\t= new plugin(this);\r\n\t\t}, this));\r\n\r\n\t\t$.each(Owl.Workers, $.proxy(function(priority, worker) {\r\n\t\t\tthis._pipe.push({\r\n\t\t\t\t'filter': worker.filter,\r\n\t\t\t\t'run': $.proxy(worker.run, this)\r\n\t\t\t});\r\n\t\t}, this));\r\n\r\n\t\tthis.setup();\r\n\t\tthis.initialize();\r\n\t}\r\n\r\n\t/**\r\n\t * Default options for the carousel.\r\n\t * @public\r\n\t */\r\n\tOwl.Defaults = {\r\n\t\titems: 3,\r\n\t\tloop: false,\r\n\t\tcenter: false,\r\n\t\trewind: false,\r\n\r\n\t\tmouseDrag: true,\r\n\t\ttouchDrag: true,\r\n\t\tpullDrag: true,\r\n\t\tfreeDrag: false,\r\n\r\n\t\tmargin: 0,\r\n\t\tstagePadding: 0,\r\n\r\n\t\tmerge: false,\r\n\t\tmergeFit: true,\r\n\t\tautoWidth: false,\r\n\r\n\t\tstartPosition: 0,\r\n\t\trtl: false,\r\n\r\n\t\tsmartSpeed: 250,\r\n\t\tfluidSpeed: false,\r\n\t\tdragEndSpeed: false,\r\n\r\n\t\tresponsive: {},\r\n\t\tresponsiveRefreshRate: 200,\r\n\t\tresponsiveBaseElement: window,\r\n\r\n\t\tfallbackEasing: 'swing',\r\n\r\n\t\tinfo: false,\r\n\r\n\t\tnestedItemSelector: false,\r\n\t\titemElement: 'div',\r\n\t\tstageElement: 'div',\r\n\r\n\t\trefreshClass: 'owl-refresh',\r\n\t\tloadedClass: 'owl-loaded',\r\n\t\tloadingClass: 'owl-loading',\r\n\t\trtlClass: 'owl-rtl',\r\n\t\tresponsiveClass: 'owl-responsive',\r\n\t\tdragClass: 'owl-drag',\r\n\t\titemClass: 'owl-item',\r\n\t\tstageClass: 'owl-stage',\r\n\t\tstageOuterClass: 'owl-stage-outer',\r\n\t\tgrabClass: 'owl-grab'\r\n\t};\r\n\r\n\t/**\r\n\t * Enumeration for width.\r\n\t * @public\r\n\t * @readonly\r\n\t * @enum {String}\r\n\t */\r\n\tOwl.Width = {\r\n\t\tDefault: 'default',\r\n\t\tInner: 'inner',\r\n\t\tOuter: 'outer'\r\n\t};\r\n\r\n\t/**\r\n\t * Enumeration for types.\r\n\t * @public\r\n\t * @readonly\r\n\t * @enum {String}\r\n\t */\r\n\tOwl.Type = {\r\n\t\tEvent: 'event',\r\n\t\tState: 'state'\r\n\t};\r\n\r\n\t/**\r\n\t * Contains all registered plugins.\r\n\t * @public\r\n\t */\r\n\tOwl.Plugins = {};\r\n\r\n\t/**\r\n\t * List of workers involved in the update process.\r\n\t */\r\n\tOwl.Workers = [ {\r\n\t\tfilter: [ 'width', 'settings' ],\r\n\t\trun: function() {\r\n\t\t\tthis._width = this.$element.width();\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'width', 'items', 'settings' ],\r\n\t\trun: function(cache) {\r\n\t\t\tcache.current = this._items && this._items[this.relative(this._current)];\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'items', 'settings' ],\r\n\t\trun: function() {\r\n\t\t\tthis.$stage.children('.cloned').remove();\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'width', 'items', 'settings' ],\r\n\t\trun: function(cache) {\r\n\t\t\tvar margin = this.settings.margin || '',\r\n\t\t\t\tgrid = !this.settings.autoWidth,\r\n\t\t\t\trtl = this.settings.rtl,\r\n\t\t\t\tcss = {\r\n\t\t\t\t\t'width': 'auto',\r\n\t\t\t\t\t'margin-left': rtl ? margin : '',\r\n\t\t\t\t\t'margin-right': rtl ? '' : margin\r\n\t\t\t\t};\r\n\r\n\t\t\t!grid && this.$stage.children().css(css);\r\n\r\n\t\t\tcache.css = css;\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'width', 'items', 'settings' ],\r\n\t\trun: function(cache) {\r\n\t\t\tvar width = (this.width() / this.settings.items).toFixed(3) - this.settings.margin,\r\n\t\t\t\tmerge = null,\r\n\t\t\t\titerator = this._items.length,\r\n\t\t\t\tgrid = !this.settings.autoWidth,\r\n\t\t\t\twidths = [];\r\n\r\n\t\t\tcache.items = {\r\n\t\t\t\tmerge: false,\r\n\t\t\t\twidth: width\r\n\t\t\t};\r\n\r\n\t\t\twhile (iterator--) {\r\n\t\t\t\tmerge = this._mergers[iterator];\r\n\t\t\t\tmerge = this.settings.mergeFit && Math.min(merge, this.settings.items) || merge;\r\n\r\n\t\t\t\tcache.items.merge = merge > 1 || cache.items.merge;\r\n\r\n\t\t\t\twidths[iterator] = !grid ? this._items[iterator].width() : width * merge;\r\n\t\t\t}\r\n\r\n\t\t\tthis._widths = widths;\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'items', 'settings' ],\r\n\t\trun: function() {\r\n\t\t\tvar clones = [],\r\n\t\t\t\titems = this._items,\r\n\t\t\t\tsettings = this.settings,\r\n\t\t\t\t// TODO: Should be computed from number of min width items in stage\r\n\t\t\t\tview = Math.max(settings.items * 2, 4),\r\n\t\t\t\tsize = Math.ceil(items.length / 2) * 2,\r\n\t\t\t\trepeat = settings.loop && items.length ? settings.rewind ? view : Math.max(view, size) : 0,\r\n\t\t\t\tappend = '',\r\n\t\t\t\tprepend = '';\r\n\r\n\t\t\trepeat /= 2;\r\n\r\n\t\t\twhile (repeat--) {\r\n\t\t\t\t// Switch to only using appended clones\r\n\t\t\t\tclones.push(this.normalize(clones.length / 2, true));\r\n\t\t\t\tappend = append + items[clones[clones.length - 1]][0].outerHTML;\r\n\t\t\t\tclones.push(this.normalize(items.length - 1 - (clones.length - 1) / 2, true));\r\n\t\t\t\tprepend = items[clones[clones.length - 1]][0].outerHTML + prepend;\r\n\t\t\t}\r\n\r\n\t\t\tthis._clones = clones;\r\n\r\n\t\t\t$(append).addClass('cloned').appendTo(this.$stage);\r\n\t\t\t$(prepend).addClass('cloned').prependTo(this.$stage);\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'width', 'items', 'settings' ],\r\n\t\trun: function() {\r\n\t\t\tvar rtl = this.settings.rtl ? 1 : -1,\r\n\t\t\t\tsize = this._clones.length + this._items.length,\r\n\t\t\t\titerator = -1,\r\n\t\t\t\tprevious = 0,\r\n\t\t\t\tcurrent = 0,\r\n\t\t\t\tcoordinates = [];\r\n\r\n\t\t\twhile (++iterator < size) {\r\n\t\t\t\tprevious = coordinates[iterator - 1] || 0;\r\n\t\t\t\tcurrent = this._widths[this.relative(iterator)] + this.settings.margin;\r\n\t\t\t\tcoordinates.push(previous + current * rtl);\r\n\t\t\t}\r\n\r\n\t\t\tthis._coordinates = coordinates;\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'width', 'items', 'settings' ],\r\n\t\trun: function() {\r\n\t\t\tvar padding = this.settings.stagePadding,\r\n\t\t\t\tcoordinates = this._coordinates,\r\n\t\t\t\tcss = {\r\n\t\t\t\t\t'width': Math.ceil(Math.abs(coordinates[coordinates.length - 1])) + padding * 2,\r\n\t\t\t\t\t'padding-left': padding || '',\r\n\t\t\t\t\t'padding-right': padding || ''\r\n\t\t\t\t};\r\n\r\n\t\t\tthis.$stage.css(css);\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'width', 'items', 'settings' ],\r\n\t\trun: function(cache) {\r\n\t\t\tvar iterator = this._coordinates.length,\r\n\t\t\t\tgrid = !this.settings.autoWidth,\r\n\t\t\t\titems = this.$stage.children();\r\n\r\n\t\t\tif (grid && cache.items.merge) {\r\n\t\t\t\twhile (iterator--) {\r\n\t\t\t\t\tcache.css.width = this._widths[this.relative(iterator)];\r\n\t\t\t\t\titems.eq(iterator).css(cache.css);\r\n\t\t\t\t}\r\n\t\t\t} else if (grid) {\r\n\t\t\t\tcache.css.width = cache.items.width;\r\n\t\t\t\titems.css(cache.css);\r\n\t\t\t}\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'items' ],\r\n\t\trun: function() {\r\n\t\t\tthis._coordinates.length < 1 && this.$stage.removeAttr('style');\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'width', 'items', 'settings' ],\r\n\t\trun: function(cache) {\r\n\t\t\tcache.current = cache.current ? this.$stage.children().index(cache.current) : 0;\r\n\t\t\tcache.current = Math.max(this.minimum(), Math.min(this.maximum(), cache.current));\r\n\t\t\tthis.reset(cache.current);\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'position' ],\r\n\t\trun: function() {\r\n\t\t\tthis.animate(this.coordinates(this._current));\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'width', 'position', 'items', 'settings' ],\r\n\t\trun: function() {\r\n\t\t\tvar rtl = this.settings.rtl ? 1 : -1,\r\n\t\t\t\tpadding = this.settings.stagePadding * 2,\r\n\t\t\t\tbegin = this.coordinates(this.current()) + padding,\r\n\t\t\t\tend = begin + this.width() * rtl,\r\n\t\t\t\tinner, outer, matches = [], i, n;\r\n\r\n\t\t\tfor (i = 0, n = this._coordinates.length; i < n; i++) {\r\n\t\t\t\tinner = this._coordinates[i - 1] || 0;\r\n\t\t\t\touter = Math.abs(this._coordinates[i]) + padding * rtl;\r\n\r\n\t\t\t\tif ((this.op(inner, '<=', begin) && (this.op(inner, '>', end)))\r\n\t\t\t\t\t|| (this.op(outer, '<', begin) && this.op(outer, '>', end))) {\r\n\t\t\t\t\tmatches.push(i);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.$stage.children('.active').removeClass('active');\r\n\t\t\tthis.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass('active');\r\n\r\n\t\t\tif (this.settings.center) {\r\n\t\t\t\tthis.$stage.children('.center').removeClass('center');\r\n\t\t\t\tthis.$stage.children().eq(this.current()).addClass('center');\r\n\t\t\t}\r\n\t\t}\r\n\t} ];\r\n\r\n\t/**\r\n\t * Initializes the carousel.\r\n\t * @protected\r\n\t */\r\n\tOwl.prototype.initialize = function() {\r\n\t\tthis.enter('initializing');\r\n\t\tthis.trigger('initialize');\r\n\r\n\t\tthis.$element.toggleClass(this.settings.rtlClass, this.settings.rtl);\r\n\r\n\t\tif (this.settings.autoWidth && !this.is('pre-loading')) {\r\n\t\t\tvar imgs, nestedSelector, width;\r\n\t\t\timgs = this.$element.find('img');\r\n\t\t\tnestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined;\r\n\t\t\twidth = this.$element.children(nestedSelector).width();\r\n\r\n\t\t\tif (imgs.length && width <= 0) {\r\n\t\t\t\tthis.preloadAutoWidthImages(imgs);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.$element.addClass(this.options.loadingClass);\r\n\r\n\t\t// create stage\r\n\t\tthis.$stage = $('<' + this.settings.stageElement + ' class=\"' + this.settings.stageClass + '\"/>')\r\n\t\t\t.wrap('
    ');\r\n\r\n\t\t// append stage\r\n\t\tthis.$element.append(this.$stage.parent());\r\n\r\n\t\t// append content\r\n\t\tthis.replace(this.$element.children().not(this.$stage.parent()));\r\n\r\n\t\t// check visibility\r\n\t\tif (this.$element.is(':visible')) {\r\n\t\t\t// update view\r\n\t\t\tthis.refresh();\r\n\t\t} else {\r\n\t\t\t// invalidate width\r\n\t\t\tthis.invalidate('width');\r\n\t\t}\r\n\r\n\t\tthis.$element\r\n\t\t\t.removeClass(this.options.loadingClass)\r\n\t\t\t.addClass(this.options.loadedClass);\r\n\r\n\t\t// register event handlers\r\n\t\tthis.registerEventHandlers();\r\n\r\n\t\tthis.leave('initializing');\r\n\t\tthis.trigger('initialized');\r\n\t};\r\n\r\n\t/**\r\n\t * Setups the current settings.\r\n\t * @todo Remove responsive classes. Why should adaptive designs be brought into IE8?\r\n\t * @todo Support for media queries by using `matchMedia` would be nice.\r\n\t * @public\r\n\t */\r\n\tOwl.prototype.setup = function() {\r\n\t\tvar viewport = this.viewport(),\r\n\t\t\toverwrites = this.options.responsive,\r\n\t\t\tmatch = -1,\r\n\t\t\tsettings = null;\r\n\r\n\t\tif (!overwrites) {\r\n\t\t\tsettings = $.extend({}, this.options);\r\n\t\t} else {\r\n\t\t\t$.each(overwrites, function(breakpoint) {\r\n\t\t\t\tif (breakpoint <= viewport && breakpoint > match) {\r\n\t\t\t\t\tmatch = Number(breakpoint);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tsettings = $.extend({}, this.options, overwrites[match]);\r\n\t\t\tif (typeof settings.stagePadding === 'function') {\r\n\t\t\t\tsettings.stagePadding = settings.stagePadding();\r\n\t\t\t}\r\n\t\t\tdelete settings.responsive;\r\n\r\n\t\t\t// responsive class\r\n\t\t\tif (settings.responsiveClass) {\r\n\t\t\t\tthis.$element.attr('class',\r\n\t\t\t\t\tthis.$element.attr('class').replace(new RegExp('(' + this.options.responsiveClass + '-)\\\\S+\\\\s', 'g'), '$1' + match)\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.trigger('change', { property: { name: 'settings', value: settings } });\r\n\t\tthis._breakpoint = match;\r\n\t\tthis.settings = settings;\r\n\t\tthis.invalidate('settings');\r\n\t\tthis.trigger('changed', { property: { name: 'settings', value: this.settings } });\r\n\t};\r\n\r\n\t/**\r\n\t * Updates option logic if necessery.\r\n\t * @protected\r\n\t */\r\n\tOwl.prototype.optionsLogic = function() {\r\n\t\tif (this.settings.autoWidth) {\r\n\t\t\tthis.settings.stagePadding = false;\r\n\t\t\tthis.settings.merge = false;\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Prepares an item before add.\r\n\t * @todo Rename event parameter `content` to `item`.\r\n\t * @protected\r\n\t * @returns {jQuery|HTMLElement} - The item container.\r\n\t */\r\n\tOwl.prototype.prepare = function(item) {\r\n\t\tvar event = this.trigger('prepare', { content: item });\r\n\r\n\t\tif (!event.data) {\r\n\t\t\tevent.data = $('<' + this.settings.itemElement + '/>')\r\n\t\t\t\t.addClass(this.options.itemClass).append(item)\r\n\t\t}\r\n\r\n\t\tthis.trigger('prepared', { content: event.data });\r\n\r\n\t\treturn event.data;\r\n\t};\r\n\r\n\t/**\r\n\t * Updates the view.\r\n\t * @public\r\n\t */\r\n\tOwl.prototype.update = function() {\r\n\t\tvar i = 0,\r\n\t\t\tn = this._pipe.length,\r\n\t\t\tfilter = $.proxy(function(p) { return this[p] }, this._invalidated),\r\n\t\t\tcache = {};\r\n\r\n\t\twhile (i < n) {\r\n\t\t\tif (this._invalidated.all || $.grep(this._pipe[i].filter, filter).length > 0) {\r\n\t\t\t\tthis._pipe[i].run(cache);\r\n\t\t\t}\r\n\t\t\ti++;\r\n\t\t}\r\n\r\n\t\tthis._invalidated = {};\r\n\r\n\t\t!this.is('valid') && this.enter('valid');\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the width of the view.\r\n\t * @public\r\n\t * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return.\r\n\t * @returns {Number} - The width of the view in pixel.\r\n\t */\r\n\tOwl.prototype.width = function(dimension) {\r\n\t\tdimension = dimension || Owl.Width.Default;\r\n\t\tswitch (dimension) {\r\n\t\t\tcase Owl.Width.Inner:\r\n\t\t\tcase Owl.Width.Outer:\r\n\t\t\t\treturn this._width;\r\n\t\t\tdefault:\r\n\t\t\t\treturn this._width - this.settings.stagePadding * 2 + this.settings.margin;\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Refreshes the carousel primarily for adaptive purposes.\r\n\t * @public\r\n\t */\r\n\tOwl.prototype.refresh = function() {\r\n\t\tthis.enter('refreshing');\r\n\t\tthis.trigger('refresh');\r\n\r\n\t\tthis.setup();\r\n\r\n\t\tthis.optionsLogic();\r\n\r\n\t\tthis.$element.addClass(this.options.refreshClass);\r\n\r\n\t\tthis.update();\r\n\r\n\t\tthis.$element.removeClass(this.options.refreshClass);\r\n\r\n\t\tthis.leave('refreshing');\r\n\t\tthis.trigger('refreshed');\r\n\t};\r\n\r\n\t/**\r\n\t * Checks window `resize` event.\r\n\t * @protected\r\n\t */\r\n\tOwl.prototype.onThrottledResize = function() {\r\n\t\twindow.clearTimeout(this.resizeTimer);\r\n\t\tthis.resizeTimer = window.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate);\r\n\t};\r\n\r\n\t/**\r\n\t * Checks window `resize` event.\r\n\t * @protected\r\n\t */\r\n\tOwl.prototype.onResize = function() {\r\n\t\tif (!this._items.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (this._width === this.$element.width()) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (!this.$element.is(':visible')) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tthis.enter('resizing');\r\n\r\n\t\tif (this.trigger('resize').isDefaultPrevented()) {\r\n\t\t\tthis.leave('resizing');\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tthis.invalidate('width');\r\n\r\n\t\tthis.refresh();\r\n\r\n\t\tthis.leave('resizing');\r\n\t\tthis.trigger('resized');\r\n\t};\r\n\r\n\t/**\r\n\t * Registers event handlers.\r\n\t * @todo Check `msPointerEnabled`\r\n\t * @todo #261\r\n\t * @protected\r\n\t */\r\n\tOwl.prototype.registerEventHandlers = function() {\r\n\t\tif ($.support.transition) {\r\n\t\t\tthis.$stage.on($.support.transition.end + '.owl.core', $.proxy(this.onTransitionEnd, this));\r\n\t\t}\r\n\r\n\t\tif (this.settings.responsive !== false) {\r\n\t\t\tthis.on(window, 'resize', this._handlers.onThrottledResize);\r\n\t\t}\r\n\r\n\t\tif (this.settings.mouseDrag) {\r\n\t\t\tthis.$element.addClass(this.options.dragClass);\r\n\t\t\tthis.$stage.on('mousedown.owl.core', $.proxy(this.onDragStart, this));\r\n\t\t\tthis.$stage.on('dragstart.owl.core selectstart.owl.core', function() { return false });\r\n\t\t}\r\n\r\n\t\tif (this.settings.touchDrag){\r\n\t\t\tthis.$stage.on('touchstart.owl.core', $.proxy(this.onDragStart, this));\r\n\t\t\tthis.$stage.on('touchcancel.owl.core', $.proxy(this.onDragEnd, this));\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Handles `touchstart` and `mousedown` events.\r\n\t * @todo Horizontal swipe threshold as option\r\n\t * @todo #261\r\n\t * @protected\r\n\t * @param {Event} event - The event arguments.\r\n\t */\r\n\tOwl.prototype.onDragStart = function(event) {\r\n\t\tvar stage = null;\r\n\r\n\t\tif (event.which === 3) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ($.support.transform) {\r\n\t\t\tstage = this.$stage.css('transform').replace(/.*\\(|\\)| /g, '').split(',');\r\n\t\t\tstage = {\r\n\t\t\t\tx: stage[stage.length === 16 ? 12 : 4],\r\n\t\t\t\ty: stage[stage.length === 16 ? 13 : 5]\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\tstage = this.$stage.position();\r\n\t\t\tstage = {\r\n\t\t\t\tx: this.settings.rtl ?\r\n\t\t\t\t\tstage.left + this.$stage.width() - this.width() + this.settings.margin :\r\n\t\t\t\t\tstage.left,\r\n\t\t\t\ty: stage.top\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tif (this.is('animating')) {\r\n\t\t\t$.support.transform ? this.animate(stage.x) : this.$stage.stop()\r\n\t\t\tthis.invalidate('position');\r\n\t\t}\r\n\r\n\t\tthis.$element.toggleClass(this.options.grabClass, event.type === 'mousedown');\r\n\r\n\t\tthis.speed(0);\r\n\r\n\t\tthis._drag.time = new Date().getTime();\r\n\t\tthis._drag.target = $(event.target);\r\n\t\tthis._drag.stage.start = stage;\r\n\t\tthis._drag.stage.current = stage;\r\n\t\tthis._drag.pointer = this.pointer(event);\r\n\r\n\t\t$(document).on('mouseup.owl.core touchend.owl.core', $.proxy(this.onDragEnd, this));\r\n\r\n\t\t$(document).one('mousemove.owl.core touchmove.owl.core', $.proxy(function(event) {\r\n\t\t\tvar delta = this.difference(this._drag.pointer, this.pointer(event));\r\n\r\n\t\t\t$(document).on('mousemove.owl.core touchmove.owl.core', $.proxy(this.onDragMove, this));\r\n\r\n\t\t\tif (Math.abs(delta.x) < Math.abs(delta.y) && this.is('valid')) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tevent.preventDefault();\r\n\r\n\t\t\tthis.enter('dragging');\r\n\t\t\tthis.trigger('drag');\r\n\t\t}, this));\r\n\t};\r\n\r\n\t/**\r\n\t * Handles the `touchmove` and `mousemove` events.\r\n\t * @todo #261\r\n\t * @protected\r\n\t * @param {Event} event - The event arguments.\r\n\t */\r\n\tOwl.prototype.onDragMove = function(event) {\r\n\t\tvar minimum = null,\r\n\t\t\tmaximum = null,\r\n\t\t\tpull = null,\r\n\t\t\tdelta = this.difference(this._drag.pointer, this.pointer(event)),\r\n\t\t\tstage = this.difference(this._drag.stage.start, delta);\r\n\r\n\t\tif (!this.is('dragging')) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tevent.preventDefault();\r\n\r\n\t\tif (this.settings.loop) {\r\n\t\t\tminimum = this.coordinates(this.minimum());\r\n\t\t\tmaximum = this.coordinates(this.maximum() + 1) - minimum;\r\n\t\t\tstage.x = (((stage.x - minimum) % maximum + maximum) % maximum) + minimum;\r\n\t\t} else {\r\n\t\t\tminimum = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum());\r\n\t\t\tmaximum = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum());\r\n\t\t\tpull = this.settings.pullDrag ? -1 * delta.x / 5 : 0;\r\n\t\t\tstage.x = Math.max(Math.min(stage.x, minimum + pull), maximum + pull);\r\n\t\t}\r\n\r\n\t\tthis._drag.stage.current = stage;\r\n\r\n\t\tthis.animate(stage.x);\r\n\t};\r\n\r\n\t/**\r\n\t * Handles the `touchend` and `mouseup` events.\r\n\t * @todo #261\r\n\t * @todo Threshold for click event\r\n\t * @protected\r\n\t * @param {Event} event - The event arguments.\r\n\t */\r\n\tOwl.prototype.onDragEnd = function(event) {\r\n\t\tvar delta = this.difference(this._drag.pointer, this.pointer(event)),\r\n\t\t\tstage = this._drag.stage.current,\r\n\t\t\tdirection = delta.x > 0 ^ this.settings.rtl ? 'left' : 'right';\r\n\r\n\t\t$(document).off('.owl.core');\r\n\r\n\t\tthis.$element.removeClass(this.options.grabClass);\r\n\r\n\t\tif (delta.x !== 0 && this.is('dragging') || !this.is('valid')) {\r\n\t\t\tthis.speed(this.settings.dragEndSpeed || this.settings.smartSpeed);\r\n\t\t\tthis.current(this.closest(stage.x, delta.x !== 0 ? direction : this._drag.direction));\r\n\t\t\tthis.invalidate('position');\r\n\t\t\tthis.update();\r\n\r\n\t\t\tthis._drag.direction = direction;\r\n\r\n\t\t\tif (Math.abs(delta.x) > 3 || new Date().getTime() - this._drag.time > 300) {\r\n\t\t\t\tthis._drag.target.one('click.owl.core', function() { return false; });\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!this.is('dragging')) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.leave('dragging');\r\n\t\tthis.trigger('dragged');\r\n\t};\r\n\r\n\t/**\r\n\t * Gets absolute position of the closest item for a coordinate.\r\n\t * @todo Setting `freeDrag` makes `closest` not reusable. See #165.\r\n\t * @protected\r\n\t * @param {Number} coordinate - The coordinate in pixel.\r\n\t * @param {String} direction - The direction to check for the closest item. Ether `left` or `right`.\r\n\t * @return {Number} - The absolute position of the closest item.\r\n\t */\r\n\tOwl.prototype.closest = function(coordinate, direction) {\r\n\t\tvar position = -1,\r\n\t\t\tpull = 30,\r\n\t\t\twidth = this.width(),\r\n\t\t\tcoordinates = this.coordinates();\r\n\r\n\t\tif (!this.settings.freeDrag) {\r\n\t\t\t// check closest item\r\n\t\t\t$.each(coordinates, $.proxy(function(index, value) {\r\n\t\t\t\t// on a left pull, check on current index\r\n\t\t\t\tif (direction === 'left' && coordinate > value - pull && coordinate < value + pull) {\r\n\t\t\t\t\tposition = index;\r\n\t\t\t\t// on a right pull, check on previous index\r\n\t\t\t\t// to do so, subtract width from value and set position = index + 1\r\n\t\t\t\t} else if (direction === 'right' && coordinate > value - width - pull && coordinate < value - width + pull) {\r\n\t\t\t\t\tposition = index + 1;\r\n\t\t\t\t} else if (this.op(coordinate, '<', value)\r\n\t\t\t\t\t&& this.op(coordinate, '>', coordinates[index + 1] || value - width)) {\r\n\t\t\t\t\tposition = direction === 'left' ? index + 1 : index;\r\n\t\t\t\t}\r\n\t\t\t\treturn position === -1;\r\n\t\t\t}, this));\r\n\t\t}\r\n\r\n\t\tif (!this.settings.loop) {\r\n\t\t\t// non loop boundries\r\n\t\t\tif (this.op(coordinate, '>', coordinates[this.minimum()])) {\r\n\t\t\t\tposition = coordinate = this.minimum();\r\n\t\t\t} else if (this.op(coordinate, '<', coordinates[this.maximum()])) {\r\n\t\t\t\tposition = coordinate = this.maximum();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn position;\r\n\t};\r\n\r\n\t/**\r\n\t * Animates the stage.\r\n\t * @todo #270\r\n\t * @public\r\n\t * @param {Number} coordinate - The coordinate in pixels.\r\n\t */\r\n\tOwl.prototype.animate = function(coordinate) {\r\n\t\tvar animate = this.speed() > 0;\r\n\r\n\t\tthis.is('animating') && this.onTransitionEnd();\r\n\r\n\t\tif (animate) {\r\n\t\t\tthis.enter('animating');\r\n\t\t\tthis.trigger('translate');\r\n\t\t}\r\n\r\n\t\tif ($.support.transform3d && $.support.transition) {\r\n\t\t\tthis.$stage.css({\r\n\t\t\t\ttransform: 'translate3d(' + coordinate + 'px,0px,0px)',\r\n\t\t\t\ttransition: (this.speed() / 1000) + 's'\r\n\t\t\t});\r\n\t\t} else if (animate) {\r\n\t\t\tthis.$stage.animate({\r\n\t\t\t\tleft: coordinate + 'px'\r\n\t\t\t}, this.speed(), this.settings.fallbackEasing, $.proxy(this.onTransitionEnd, this));\r\n\t\t} else {\r\n\t\t\tthis.$stage.css({\r\n\t\t\t\tleft: coordinate + 'px'\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Checks whether the carousel is in a specific state or not.\r\n\t * @param {String} state - The state to check.\r\n\t * @returns {Boolean} - The flag which indicates if the carousel is busy.\r\n\t */\r\n\tOwl.prototype.is = function(state) {\r\n\t\treturn this._states.current[state] && this._states.current[state] > 0;\r\n\t};\r\n\r\n\t/**\r\n\t * Sets the absolute position of the current item.\r\n\t * @public\r\n\t * @param {Number} [position] - The new absolute position or nothing to leave it unchanged.\r\n\t * @returns {Number} - The absolute position of the current item.\r\n\t */\r\n\tOwl.prototype.current = function(position) {\r\n\t\tif (position === undefined) {\r\n\t\t\treturn this._current;\r\n\t\t}\r\n\r\n\t\tif (this._items.length === 0) {\r\n\t\t\treturn undefined;\r\n\t\t}\r\n\r\n\t\tposition = this.normalize(position);\r\n\r\n\t\tif (this._current !== position) {\r\n\t\t\tvar event = this.trigger('change', { property: { name: 'position', value: position } });\r\n\r\n\t\t\tif (event.data !== undefined) {\r\n\t\t\t\tposition = this.normalize(event.data);\r\n\t\t\t}\r\n\r\n\t\t\tthis._current = position;\r\n\r\n\t\t\tthis.invalidate('position');\r\n\r\n\t\t\tthis.trigger('changed', { property: { name: 'position', value: this._current } });\r\n\t\t}\r\n\r\n\t\treturn this._current;\r\n\t};\r\n\r\n\t/**\r\n\t * Invalidates the given part of the update routine.\r\n\t * @param {String} [part] - The part to invalidate.\r\n\t * @returns {Array.} - The invalidated parts.\r\n\t */\r\n\tOwl.prototype.invalidate = function(part) {\r\n\t\tif ($.type(part) === 'string') {\r\n\t\t\tthis._invalidated[part] = true;\r\n\t\t\tthis.is('valid') && this.leave('valid');\r\n\t\t}\r\n\t\treturn $.map(this._invalidated, function(v, i) { return i });\r\n\t};\r\n\r\n\t/**\r\n\t * Resets the absolute position of the current item.\r\n\t * @public\r\n\t * @param {Number} position - The absolute position of the new item.\r\n\t */\r\n\tOwl.prototype.reset = function(position) {\r\n\t\tposition = this.normalize(position);\r\n\r\n\t\tif (position === undefined) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._speed = 0;\r\n\t\tthis._current = position;\r\n\r\n\t\tthis.suppress([ 'translate', 'translated' ]);\r\n\r\n\t\tthis.animate(this.coordinates(position));\r\n\r\n\t\tthis.release([ 'translate', 'translated' ]);\r\n\t};\r\n\r\n\t/**\r\n\t * Normalizes an absolute or a relative position of an item.\r\n\t * @public\r\n\t * @param {Number} position - The absolute or relative position to normalize.\r\n\t * @param {Boolean} [relative=false] - Whether the given position is relative or not.\r\n\t * @returns {Number} - The normalized position.\r\n\t */\r\n\tOwl.prototype.normalize = function(position, relative) {\r\n\t\tvar n = this._items.length,\r\n\t\t\tm = relative ? 0 : this._clones.length;\r\n\r\n\t\tif (!this.isNumeric(position) || n < 1) {\r\n\t\t\tposition = undefined;\r\n\t\t} else if (position < 0 || position >= n + m) {\r\n\t\t\tposition = ((position - m / 2) % n + n) % n + m / 2;\r\n\t\t}\r\n\r\n\t\treturn position;\r\n\t};\r\n\r\n\t/**\r\n\t * Converts an absolute position of an item into a relative one.\r\n\t * @public\r\n\t * @param {Number} position - The absolute position to convert.\r\n\t * @returns {Number} - The converted position.\r\n\t */\r\n\tOwl.prototype.relative = function(position) {\r\n\t\tposition -= this._clones.length / 2;\r\n\t\treturn this.normalize(position, true);\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the maximum position for the current item.\r\n\t * @public\r\n\t * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.\r\n\t * @returns {Number}\r\n\t */\r\n\tOwl.prototype.maximum = function(relative) {\r\n\t\tvar settings = this.settings,\r\n\t\t\tmaximum = this._coordinates.length,\r\n\t\t\titerator,\r\n\t\t\treciprocalItemsWidth,\r\n\t\t\telementWidth;\r\n\r\n\t\tif (settings.loop) {\r\n\t\t\tmaximum = this._clones.length / 2 + this._items.length - 1;\r\n\t\t} else if (settings.autoWidth || settings.merge) {\r\n\t\t\titerator = this._items.length;\r\n\t\t\treciprocalItemsWidth = this._items[--iterator].width();\r\n\t\t\telementWidth = this.$element.width();\r\n\t\t\twhile (iterator--) {\r\n\t\t\t\treciprocalItemsWidth += this._items[iterator].width() + this.settings.margin;\r\n\t\t\t\tif (reciprocalItemsWidth > elementWidth) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tmaximum = iterator + 1;\r\n\t\t} else if (settings.center) {\r\n\t\t\tmaximum = this._items.length - 1;\r\n\t\t} else {\r\n\t\t\tmaximum = this._items.length - settings.items;\r\n\t\t}\r\n\r\n\t\tif (relative) {\r\n\t\t\tmaximum -= this._clones.length / 2;\r\n\t\t}\r\n\r\n\t\treturn Math.max(maximum, 0);\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the minimum position for the current item.\r\n\t * @public\r\n\t * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.\r\n\t * @returns {Number}\r\n\t */\r\n\tOwl.prototype.minimum = function(relative) {\r\n\t\treturn relative ? 0 : this._clones.length / 2;\r\n\t};\r\n\r\n\t/**\r\n\t * Gets an item at the specified relative position.\r\n\t * @public\r\n\t * @param {Number} [position] - The relative position of the item.\r\n\t * @return {jQuery|Array.} - The item at the given position or all items if no position was given.\r\n\t */\r\n\tOwl.prototype.items = function(position) {\r\n\t\tif (position === undefined) {\r\n\t\t\treturn this._items.slice();\r\n\t\t}\r\n\r\n\t\tposition = this.normalize(position, true);\r\n\t\treturn this._items[position];\r\n\t};\r\n\r\n\t/**\r\n\t * Gets an item at the specified relative position.\r\n\t * @public\r\n\t * @param {Number} [position] - The relative position of the item.\r\n\t * @return {jQuery|Array.} - The item at the given position or all items if no position was given.\r\n\t */\r\n\tOwl.prototype.mergers = function(position) {\r\n\t\tif (position === undefined) {\r\n\t\t\treturn this._mergers.slice();\r\n\t\t}\r\n\r\n\t\tposition = this.normalize(position, true);\r\n\t\treturn this._mergers[position];\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the absolute positions of clones for an item.\r\n\t * @public\r\n\t * @param {Number} [position] - The relative position of the item.\r\n\t * @returns {Array.} - The absolute positions of clones for the item or all if no position was given.\r\n\t */\r\n\tOwl.prototype.clones = function(position) {\r\n\t\tvar odd = this._clones.length / 2,\r\n\t\t\teven = odd + this._items.length,\r\n\t\t\tmap = function(index) { return index % 2 === 0 ? even + index / 2 : odd - (index + 1) / 2 };\r\n\r\n\t\tif (position === undefined) {\r\n\t\t\treturn $.map(this._clones, function(v, i) { return map(i) });\r\n\t\t}\r\n\r\n\t\treturn $.map(this._clones, function(v, i) { return v === position ? map(i) : null });\r\n\t};\r\n\r\n\t/**\r\n\t * Sets the current animation speed.\r\n\t * @public\r\n\t * @param {Number} [speed] - The animation speed in milliseconds or nothing to leave it unchanged.\r\n\t * @returns {Number} - The current animation speed in milliseconds.\r\n\t */\r\n\tOwl.prototype.speed = function(speed) {\r\n\t\tif (speed !== undefined) {\r\n\t\t\tthis._speed = speed;\r\n\t\t}\r\n\r\n\t\treturn this._speed;\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the coordinate of an item.\r\n\t * @todo The name of this method is missleanding.\r\n\t * @public\r\n\t * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`.\r\n\t * @returns {Number|Array.} - The coordinate of the item in pixel or all coordinates.\r\n\t */\r\n\tOwl.prototype.coordinates = function(position) {\r\n\t\tvar multiplier = 1,\r\n\t\t\tnewPosition = position - 1,\r\n\t\t\tcoordinate;\r\n\r\n\t\tif (position === undefined) {\r\n\t\t\treturn $.map(this._coordinates, $.proxy(function(coordinate, index) {\r\n\t\t\t\treturn this.coordinates(index);\r\n\t\t\t}, this));\r\n\t\t}\r\n\r\n\t\tif (this.settings.center) {\r\n\t\t\tif (this.settings.rtl) {\r\n\t\t\t\tmultiplier = -1;\r\n\t\t\t\tnewPosition = position + 1;\r\n\t\t\t}\r\n\r\n\t\t\tcoordinate = this._coordinates[position];\r\n\t\t\tcoordinate += (this.width() - coordinate + (this._coordinates[newPosition] || 0)) / 2 * multiplier;\r\n\t\t} else {\r\n\t\t\tcoordinate = this._coordinates[newPosition] || 0;\r\n\t\t}\r\n\r\n\t\tcoordinate = Math.ceil(coordinate);\r\n\r\n\t\treturn coordinate;\r\n\t};\r\n\r\n\t/**\r\n\t * Calculates the speed for a translation.\r\n\t * @protected\r\n\t * @param {Number} from - The absolute position of the start item.\r\n\t * @param {Number} to - The absolute position of the target item.\r\n\t * @param {Number} [factor=undefined] - The time factor in milliseconds.\r\n\t * @returns {Number} - The time in milliseconds for the translation.\r\n\t */\r\n\tOwl.prototype.duration = function(from, to, factor) {\r\n\t\tif (factor === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\treturn Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs((factor || this.settings.smartSpeed));\r\n\t};\r\n\r\n\t/**\r\n\t * Slides to the specified item.\r\n\t * @public\r\n\t * @param {Number} position - The position of the item.\r\n\t * @param {Number} [speed] - The time in milliseconds for the transition.\r\n\t */\r\n\tOwl.prototype.to = function(position, speed) {\r\n\t\tvar current = this.current(),\r\n\t\t\trevert = null,\r\n\t\t\tdistance = position - this.relative(current),\r\n\t\t\tdirection = (distance > 0) - (distance < 0),\r\n\t\t\titems = this._items.length,\r\n\t\t\tminimum = this.minimum(),\r\n\t\t\tmaximum = this.maximum();\r\n\r\n\t\tif (this.settings.loop) {\r\n\t\t\tif (!this.settings.rewind && Math.abs(distance) > items / 2) {\r\n\t\t\t\tdistance += direction * -1 * items;\r\n\t\t\t}\r\n\r\n\t\t\tposition = current + distance;\r\n\t\t\trevert = ((position - minimum) % items + items) % items + minimum;\r\n\r\n\t\t\tif (revert !== position && revert - distance <= maximum && revert - distance > 0) {\r\n\t\t\t\tcurrent = revert - distance;\r\n\t\t\t\tposition = revert;\r\n\t\t\t\tthis.reset(current);\r\n\t\t\t}\r\n\t\t} else if (this.settings.rewind) {\r\n\t\t\tmaximum += 1;\r\n\t\t\tposition = (position % maximum + maximum) % maximum;\r\n\t\t} else {\r\n\t\t\tposition = Math.max(minimum, Math.min(maximum, position));\r\n\t\t}\r\n\r\n\t\tthis.speed(this.duration(current, position, speed));\r\n\t\tthis.current(position);\r\n\r\n\t\tif (this.$element.is(':visible')) {\r\n\t\t\tthis.update();\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Slides to the next item.\r\n\t * @public\r\n\t * @param {Number} [speed] - The time in milliseconds for the transition.\r\n\t */\r\n\tOwl.prototype.next = function(speed) {\r\n\t\tspeed = speed || false;\r\n\t\tthis.to(this.relative(this.current()) + 1, speed);\r\n\t};\r\n\r\n\t/**\r\n\t * Slides to the previous item.\r\n\t * @public\r\n\t * @param {Number} [speed] - The time in milliseconds for the transition.\r\n\t */\r\n\tOwl.prototype.prev = function(speed) {\r\n\t\tspeed = speed || false;\r\n\t\tthis.to(this.relative(this.current()) - 1, speed);\r\n\t};\r\n\r\n\t/**\r\n\t * Handles the end of an animation.\r\n\t * @protected\r\n\t * @param {Event} event - The event arguments.\r\n\t */\r\n\tOwl.prototype.onTransitionEnd = function(event) {\r\n\r\n\t\t// if css2 animation then event object is undefined\r\n\t\tif (event !== undefined) {\r\n\t\t\tevent.stopPropagation();\r\n\r\n\t\t\t// Catch only owl-stage transitionEnd event\r\n\t\t\tif ((event.target || event.srcElement || event.originalTarget) !== this.$stage.get(0)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.leave('animating');\r\n\t\tthis.trigger('translated');\r\n\t};\r\n\r\n\t/**\r\n\t * Gets viewport width.\r\n\t * @protected\r\n\t * @return {Number} - The width in pixel.\r\n\t */\r\n\tOwl.prototype.viewport = function() {\r\n\t\tvar width;\r\n\t\tif (this.options.responsiveBaseElement !== window) {\r\n\t\t\twidth = $(this.options.responsiveBaseElement).width();\r\n\t\t} else if (window.innerWidth) {\r\n\t\t\twidth = window.innerWidth;\r\n\t\t} else if (document.documentElement && document.documentElement.clientWidth) {\r\n\t\t\twidth = document.documentElement.clientWidth;\r\n\t\t} else {\r\n\t\t\tconsole.warn('Can not detect viewport width.');\r\n\t\t}\r\n\t\treturn width;\r\n\t};\r\n\r\n\t/**\r\n\t * Replaces the current content.\r\n\t * @public\r\n\t * @param {HTMLElement|jQuery|String} content - The new content.\r\n\t */\r\n\tOwl.prototype.replace = function(content) {\r\n\t\tthis.$stage.empty();\r\n\t\tthis._items = [];\r\n\r\n\t\tif (content) {\r\n\t\t\tcontent = (content instanceof jQuery) ? content : $(content);\r\n\t\t}\r\n\r\n\t\tif (this.settings.nestedItemSelector) {\r\n\t\t\tcontent = content.find('.' + this.settings.nestedItemSelector);\r\n\t\t}\r\n\r\n\t\tcontent.filter(function() {\r\n\t\t\treturn this.nodeType === 1;\r\n\t\t}).each($.proxy(function(index, item) {\r\n\t\t\titem = this.prepare(item);\r\n\t\t\tthis.$stage.append(item);\r\n\t\t\tthis._items.push(item);\r\n\t\t\tthis._mergers.push(item.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\r\n\t\t}, this));\r\n\r\n\t\tthis.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0);\r\n\r\n\t\tthis.invalidate('items');\r\n\t};\r\n\r\n\t/**\r\n\t * Adds an item.\r\n\t * @todo Use `item` instead of `content` for the event arguments.\r\n\t * @public\r\n\t * @param {HTMLElement|jQuery|String} content - The item content to add.\r\n\t * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end.\r\n\t */\r\n\tOwl.prototype.add = function(content, position) {\r\n\t\tvar current = this.relative(this._current);\r\n\r\n\t\tposition = position === undefined ? this._items.length : this.normalize(position, true);\r\n\t\tcontent = content instanceof jQuery ? content : $(content);\r\n\r\n\t\tthis.trigger('add', { content: content, position: position });\r\n\r\n\t\tcontent = this.prepare(content);\r\n\r\n\t\tif (this._items.length === 0 || position === this._items.length) {\r\n\t\t\tthis._items.length === 0 && this.$stage.append(content);\r\n\t\t\tthis._items.length !== 0 && this._items[position - 1].after(content);\r\n\t\t\tthis._items.push(content);\r\n\t\t\tthis._mergers.push(content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\r\n\t\t} else {\r\n\t\t\tthis._items[position].before(content);\r\n\t\t\tthis._items.splice(position, 0, content);\r\n\t\t\tthis._mergers.splice(position, 0, content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\r\n\t\t}\r\n\r\n\t\tthis._items[current] && this.reset(this._items[current].index());\r\n\r\n\t\tthis.invalidate('items');\r\n\r\n\t\tthis.trigger('added', { content: content, position: position });\r\n\t};\r\n\r\n\t/**\r\n\t * Removes an item by its position.\r\n\t * @todo Use `item` instead of `content` for the event arguments.\r\n\t * @public\r\n\t * @param {Number} position - The relative position of the item to remove.\r\n\t */\r\n\tOwl.prototype.remove = function(position) {\r\n\t\tposition = this.normalize(position, true);\r\n\r\n\t\tif (position === undefined) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.trigger('remove', { content: this._items[position], position: position });\r\n\r\n\t\tthis._items[position].remove();\r\n\t\tthis._items.splice(position, 1);\r\n\t\tthis._mergers.splice(position, 1);\r\n\r\n\t\tthis.invalidate('items');\r\n\r\n\t\tthis.trigger('removed', { content: null, position: position });\r\n\t};\r\n\r\n\t/**\r\n\t * Preloads images with auto width.\r\n\t * @todo Replace by a more generic approach\r\n\t * @protected\r\n\t */\r\n\tOwl.prototype.preloadAutoWidthImages = function(images) {\r\n\t\timages.each($.proxy(function(i, element) {\r\n\t\t\tthis.enter('pre-loading');\r\n\t\t\telement = $(element);\r\n\t\t\t$(new Image()).one('load', $.proxy(function(e) {\r\n\t\t\t\telement.attr('src', e.target.src);\r\n\t\t\t\telement.css('opacity', 1);\r\n\t\t\t\tthis.leave('pre-loading');\r\n\t\t\t\t!this.is('pre-loading') && !this.is('initializing') && this.refresh();\r\n\t\t\t}, this)).attr('src', element.attr('src') || element.attr('data-src') || element.attr('data-src-retina'));\r\n\t\t}, this));\r\n\t};\r\n\r\n\t/**\r\n\t * Destroys the carousel.\r\n\t * @public\r\n\t */\r\n\tOwl.prototype.destroy = function() {\r\n\r\n\t\tthis.$element.off('.owl.core');\r\n\t\tthis.$stage.off('.owl.core');\r\n\t\t$(document).off('.owl.core');\r\n\r\n\t\tif (this.settings.responsive !== false) {\r\n\t\t\twindow.clearTimeout(this.resizeTimer);\r\n\t\t\tthis.off(window, 'resize', this._handlers.onThrottledResize);\r\n\t\t}\r\n\r\n\t\tfor (var i in this._plugins) {\r\n\t\t\tthis._plugins[i].destroy();\r\n\t\t}\r\n\r\n\t\tthis.$stage.children('.cloned').remove();\r\n\r\n\t\tthis.$stage.unwrap();\r\n\t\tthis.$stage.children().contents().unwrap();\r\n\t\tthis.$stage.children().unwrap();\r\n\r\n\t\tthis.$element\r\n\t\t\t.removeClass(this.options.refreshClass)\r\n\t\t\t.removeClass(this.options.loadingClass)\r\n\t\t\t.removeClass(this.options.loadedClass)\r\n\t\t\t.removeClass(this.options.rtlClass)\r\n\t\t\t.removeClass(this.options.dragClass)\r\n\t\t\t.removeClass(this.options.grabClass)\r\n\t\t\t.attr('class', this.$element.attr('class').replace(new RegExp(this.options.responsiveClass + '-\\\\S+\\\\s', 'g'), ''))\r\n\t\t\t.removeData('owl.carousel');\r\n\t};\r\n\r\n\t/**\r\n\t * Operators to calculate right-to-left and left-to-right.\r\n\t * @protected\r\n\t * @param {Number} [a] - The left side operand.\r\n\t * @param {String} [o] - The operator.\r\n\t * @param {Number} [b] - The right side operand.\r\n\t */\r\n\tOwl.prototype.op = function(a, o, b) {\r\n\t\tvar rtl = this.settings.rtl;\r\n\t\tswitch (o) {\r\n\t\t\tcase '<':\r\n\t\t\t\treturn rtl ? a > b : a < b;\r\n\t\t\tcase '>':\r\n\t\t\t\treturn rtl ? a < b : a > b;\r\n\t\t\tcase '>=':\r\n\t\t\t\treturn rtl ? a <= b : a >= b;\r\n\t\t\tcase '<=':\r\n\t\t\t\treturn rtl ? a >= b : a <= b;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Attaches to an internal event.\r\n\t * @protected\r\n\t * @param {HTMLElement} element - The event source.\r\n\t * @param {String} event - The event name.\r\n\t * @param {Function} listener - The event handler to attach.\r\n\t * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not.\r\n\t */\r\n\tOwl.prototype.on = function(element, event, listener, capture) {\r\n\t\tif (element.addEventListener) {\r\n\t\t\telement.addEventListener(event, listener, capture);\r\n\t\t} else if (element.attachEvent) {\r\n\t\t\telement.attachEvent('on' + event, listener);\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Detaches from an internal event.\r\n\t * @protected\r\n\t * @param {HTMLElement} element - The event source.\r\n\t * @param {String} event - The event name.\r\n\t * @param {Function} listener - The attached event handler to detach.\r\n\t * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not.\r\n\t */\r\n\tOwl.prototype.off = function(element, event, listener, capture) {\r\n\t\tif (element.removeEventListener) {\r\n\t\t\telement.removeEventListener(event, listener, capture);\r\n\t\t} else if (element.detachEvent) {\r\n\t\t\telement.detachEvent('on' + event, listener);\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Triggers a public event.\r\n\t * @todo Remove `status`, `relatedTarget` should be used instead.\r\n\t * @protected\r\n\t * @param {String} name - The event name.\r\n\t * @param {*} [data=null] - The event data.\r\n\t * @param {String} [namespace=carousel] - The event namespace.\r\n\t * @param {String} [state] - The state which is associated with the event.\r\n\t * @param {Boolean} [enter=false] - Indicates if the call enters the specified state or not.\r\n\t * @returns {Event} - The event arguments.\r\n\t */\r\n\tOwl.prototype.trigger = function(name, data, namespace, state, enter) {\r\n\t\tvar status = {\r\n\t\t\titem: { count: this._items.length, index: this.current() }\r\n\t\t}, handler = $.camelCase(\r\n\t\t\t$.grep([ 'on', name, namespace ], function(v) { return v })\r\n\t\t\t\t.join('-').toLowerCase()\r\n\t\t), event = $.Event(\r\n\t\t\t[ name, 'owl', namespace || 'carousel' ].join('.').toLowerCase(),\r\n\t\t\t$.extend({ relatedTarget: this }, status, data)\r\n\t\t);\r\n\r\n\t\tif (!this._supress[name]) {\r\n\t\t\t$.each(this._plugins, function(name, plugin) {\r\n\t\t\t\tif (plugin.onTrigger) {\r\n\t\t\t\t\tplugin.onTrigger(event);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tthis.register({ type: Owl.Type.Event, name: name });\r\n\t\t\tthis.$element.trigger(event);\r\n\r\n\t\t\tif (this.settings && typeof this.settings[handler] === 'function') {\r\n\t\t\t\tthis.settings[handler].call(this, event);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn event;\r\n\t};\r\n\r\n\t/**\r\n\t * Enters a state.\r\n\t * @param name - The state name.\r\n\t */\r\n\tOwl.prototype.enter = function(name) {\r\n\t\t$.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {\r\n\t\t\tif (this._states.current[name] === undefined) {\r\n\t\t\t\tthis._states.current[name] = 0;\r\n\t\t\t}\r\n\r\n\t\t\tthis._states.current[name]++;\r\n\t\t}, this));\r\n\t};\r\n\r\n\t/**\r\n\t * Leaves a state.\r\n\t * @param name - The state name.\r\n\t */\r\n\tOwl.prototype.leave = function(name) {\r\n\t\t$.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {\r\n\t\t\tthis._states.current[name]--;\r\n\t\t}, this));\r\n\t};\r\n\r\n\t/**\r\n\t * Registers an event or state.\r\n\t * @public\r\n\t * @param {Object} object - The event or state to register.\r\n\t */\r\n\tOwl.prototype.register = function(object) {\r\n\t\tif (object.type === Owl.Type.Event) {\r\n\t\t\tif (!$.event.special[object.name]) {\r\n\t\t\t\t$.event.special[object.name] = {};\r\n\t\t\t}\r\n\r\n\t\t\tif (!$.event.special[object.name].owl) {\r\n\t\t\t\tvar _default = $.event.special[object.name]._default;\r\n\t\t\t\t$.event.special[object.name]._default = function(e) {\r\n\t\t\t\t\tif (_default && _default.apply && (!e.namespace || e.namespace.indexOf('owl') === -1)) {\r\n\t\t\t\t\t\treturn _default.apply(this, arguments);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn e.namespace && e.namespace.indexOf('owl') > -1;\r\n\t\t\t\t};\r\n\t\t\t\t$.event.special[object.name].owl = true;\r\n\t\t\t}\r\n\t\t} else if (object.type === Owl.Type.State) {\r\n\t\t\tif (!this._states.tags[object.name]) {\r\n\t\t\t\tthis._states.tags[object.name] = object.tags;\r\n\t\t\t} else {\r\n\t\t\t\tthis._states.tags[object.name] = this._states.tags[object.name].concat(object.tags);\r\n\t\t\t}\r\n\r\n\t\t\tthis._states.tags[object.name] = $.grep(this._states.tags[object.name], $.proxy(function(tag, i) {\r\n\t\t\t\treturn $.inArray(tag, this._states.tags[object.name]) === i;\r\n\t\t\t}, this));\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Suppresses events.\r\n\t * @protected\r\n\t * @param {Array.} events - The events to suppress.\r\n\t */\r\n\tOwl.prototype.suppress = function(events) {\r\n\t\t$.each(events, $.proxy(function(index, event) {\r\n\t\t\tthis._supress[event] = true;\r\n\t\t}, this));\r\n\t};\r\n\r\n\t/**\r\n\t * Releases suppressed events.\r\n\t * @protected\r\n\t * @param {Array.} events - The events to release.\r\n\t */\r\n\tOwl.prototype.release = function(events) {\r\n\t\t$.each(events, $.proxy(function(index, event) {\r\n\t\t\tdelete this._supress[event];\r\n\t\t}, this));\r\n\t};\r\n\r\n\t/**\r\n\t * Gets unified pointer coordinates from event.\r\n\t * @todo #261\r\n\t * @protected\r\n\t * @param {Event} - The `mousedown` or `touchstart` event.\r\n\t * @returns {Object} - Contains `x` and `y` coordinates of current pointer position.\r\n\t */\r\n\tOwl.prototype.pointer = function(event) {\r\n\t\tvar result = { x: null, y: null };\r\n\r\n\t\tevent = event.originalEvent || event || window.event;\r\n\r\n\t\tevent = event.touches && event.touches.length ?\r\n\t\t\tevent.touches[0] : event.changedTouches && event.changedTouches.length ?\r\n\t\t\t\tevent.changedTouches[0] : event;\r\n\r\n\t\tif (event.pageX) {\r\n\t\t\tresult.x = event.pageX;\r\n\t\t\tresult.y = event.pageY;\r\n\t\t} else {\r\n\t\t\tresult.x = event.clientX;\r\n\t\t\tresult.y = event.clientY;\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t};\r\n\r\n\t/**\r\n\t * Determines if the input is a Number or something that can be coerced to a Number\r\n\t * @protected\r\n\t * @param {Number|String|Object|Array|Boolean|RegExp|Function|Symbol} - The input to be tested\r\n\t * @returns {Boolean} - An indication if the input is a Number or can be coerced to a Number\r\n\t */\r\n\tOwl.prototype.isNumeric = function(number) {\r\n\t\treturn !isNaN(parseFloat(number));\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the difference of two vectors.\r\n\t * @todo #261\r\n\t * @protected\r\n\t * @param {Object} - The first vector.\r\n\t * @param {Object} - The second vector.\r\n\t * @returns {Object} - The difference.\r\n\t */\r\n\tOwl.prototype.difference = function(first, second) {\r\n\t\treturn {\r\n\t\t\tx: first.x - second.x,\r\n\t\t\ty: first.y - second.y\r\n\t\t};\r\n\t};\r\n\r\n\t/**\r\n\t * The jQuery Plugin for the Owl Carousel\r\n\t * @todo Navigation plugin `next` and `prev`\r\n\t * @public\r\n\t */\r\n\t$.fn.owlCarousel = function(option) {\r\n\t\tvar args = Array.prototype.slice.call(arguments, 1);\r\n\r\n\t\treturn this.each(function() {\r\n\t\t\tvar $this = $(this),\r\n\t\t\t\tdata = $this.data('owl.carousel');\r\n\r\n\t\t\tif (!data) {\r\n\t\t\t\tdata = new Owl(this, typeof option == 'object' && option);\r\n\t\t\t\t$this.data('owl.carousel', data);\r\n\r\n\t\t\t\t$.each([\r\n\t\t\t\t\t'next', 'prev', 'to', 'destroy', 'refresh', 'replace', 'add', 'remove'\r\n\t\t\t\t], function(i, event) {\r\n\t\t\t\t\tdata.register({ type: Owl.Type.Event, name: event });\r\n\t\t\t\t\tdata.$element.on(event + '.owl.carousel.core', $.proxy(function(e) {\r\n\t\t\t\t\t\tif (e.namespace && e.relatedTarget !== this) {\r\n\t\t\t\t\t\t\tthis.suppress([ event ]);\r\n\t\t\t\t\t\t\tdata[event].apply(this, [].slice.call(arguments, 1));\r\n\t\t\t\t\t\t\tthis.release([ event ]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, data));\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (typeof option == 'string' && option.charAt(0) !== '_') {\r\n\t\t\t\tdata[option].apply(data, args);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\t/**\r\n\t * The constructor for the jQuery Plugin\r\n\t * @public\r\n\t */\r\n\t$.fn.owlCarousel.Constructor = Owl;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * AutoRefresh Plugin\r\n * @version 2.1.0\r\n * @author Artus Kolanowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\r\n\t/**\r\n\t * Creates the auto refresh plugin.\r\n\t * @class The Auto Refresh Plugin\r\n\t * @param {Owl} carousel - The Owl Carousel\r\n\t */\r\n\tvar AutoRefresh = function(carousel) {\r\n\t\t/**\r\n\t\t * Reference to the core.\r\n\t\t * @protected\r\n\t\t * @type {Owl}\r\n\t\t */\r\n\t\tthis._core = carousel;\r\n\r\n\t\t/**\r\n\t\t * Refresh interval.\r\n\t\t * @protected\r\n\t\t * @type {number}\r\n\t\t */\r\n\t\tthis._interval = null;\r\n\r\n\t\t/**\r\n\t\t * Whether the element is currently visible or not.\r\n\t\t * @protected\r\n\t\t * @type {Boolean}\r\n\t\t */\r\n\t\tthis._visible = null;\r\n\r\n\t\t/**\r\n\t\t * All event handlers.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._handlers = {\r\n\t\t\t'initialized.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.autoRefresh) {\r\n\t\t\t\t\tthis.watch();\r\n\t\t\t\t}\r\n\t\t\t}, this)\r\n\t\t};\r\n\r\n\t\t// set default options\r\n\t\tthis._core.options = $.extend({}, AutoRefresh.Defaults, this._core.options);\r\n\r\n\t\t// register event handlers\r\n\t\tthis._core.$element.on(this._handlers);\r\n\t};\r\n\r\n\t/**\r\n\t * Default options.\r\n\t * @public\r\n\t */\r\n\tAutoRefresh.Defaults = {\r\n\t\tautoRefresh: true,\r\n\t\tautoRefreshInterval: 500\r\n\t};\r\n\r\n\t/**\r\n\t * Watches the element.\r\n\t */\r\n\tAutoRefresh.prototype.watch = function() {\r\n\t\tif (this._interval) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._visible = this._core.$element.is(':visible');\r\n\t\tthis._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval);\r\n\t};\r\n\r\n\t/**\r\n\t * Refreshes the element.\r\n\t */\r\n\tAutoRefresh.prototype.refresh = function() {\r\n\t\tif (this._core.$element.is(':visible') === this._visible) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._visible = !this._visible;\r\n\r\n\t\tthis._core.$element.toggleClass('owl-hidden', !this._visible);\r\n\r\n\t\tthis._visible && (this._core.invalidate('width') && this._core.refresh());\r\n\t};\r\n\r\n\t/**\r\n\t * Destroys the plugin.\r\n\t */\r\n\tAutoRefresh.prototype.destroy = function() {\r\n\t\tvar handler, property;\r\n\r\n\t\twindow.clearInterval(this._interval);\r\n\r\n\t\tfor (handler in this._handlers) {\r\n\t\t\tthis._core.$element.off(handler, this._handlers[handler]);\r\n\t\t}\r\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\r\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * Lazy Plugin\r\n * @version 2.1.0\r\n * @author Bartosz Wojciechowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\r\n\t/**\r\n\t * Creates the lazy plugin.\r\n\t * @class The Lazy Plugin\r\n\t * @param {Owl} carousel - The Owl Carousel\r\n\t */\r\n\tvar Lazy = function(carousel) {\r\n\r\n\t\t/**\r\n\t\t * Reference to the core.\r\n\t\t * @protected\r\n\t\t * @type {Owl}\r\n\t\t */\r\n\t\tthis._core = carousel;\r\n\r\n\t\t/**\r\n\t\t * Already loaded items.\r\n\t\t * @protected\r\n\t\t * @type {Array.}\r\n\t\t */\r\n\t\tthis._loaded = [];\r\n\r\n\t\t/**\r\n\t\t * Event handlers.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._handlers = {\r\n\t\t\t'initialized.owl.carousel change.owl.carousel resized.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (!e.namespace) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!this._core.settings || !this._core.settings.lazyLoad) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ((e.property && e.property.name == 'position') || e.type == 'initialized') {\r\n\t\t\t\t\tvar settings = this._core.settings,\r\n\t\t\t\t\t\tn = (settings.center && Math.ceil(settings.items / 2) || settings.items),\r\n\t\t\t\t\t\ti = ((settings.center && n * -1) || 0),\r\n\t\t\t\t\t\tposition = (e.property && e.property.value !== undefined ? e.property.value : this._core.current()) + i,\r\n\t\t\t\t\t\tclones = this._core.clones().length,\r\n\t\t\t\t\t\tload = $.proxy(function(i, v) { this.load(v) }, this);\r\n\r\n\t\t\t\t\twhile (i++ < n) {\r\n\t\t\t\t\t\tthis.load(clones / 2 + this._core.relative(position));\r\n\t\t\t\t\t\tclones && $.each(this._core.clones(this._core.relative(position)), load);\r\n\t\t\t\t\t\tposition++;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, this)\r\n\t\t};\r\n\r\n\t\t// set the default options\r\n\t\tthis._core.options = $.extend({}, Lazy.Defaults, this._core.options);\r\n\r\n\t\t// register event handler\r\n\t\tthis._core.$element.on(this._handlers);\r\n\t};\r\n\r\n\t/**\r\n\t * Default options.\r\n\t * @public\r\n\t */\r\n\tLazy.Defaults = {\r\n\t\tlazyLoad: false\r\n\t};\r\n\r\n\t/**\r\n\t * Loads all resources of an item at the specified position.\r\n\t * @param {Number} position - The absolute position of the item.\r\n\t * @protected\r\n\t */\r\n\tLazy.prototype.load = function(position) {\r\n\t\tvar $item = this._core.$stage.children().eq(position),\r\n\t\t\t$elements = $item && $item.find('.owl-lazy');\r\n\r\n\t\tif (!$elements || $.inArray($item.get(0), this._loaded) > -1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t$elements.each($.proxy(function(index, element) {\r\n\t\t\tvar $element = $(element), image,\r\n\t\t\t\turl = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src');\r\n\r\n\t\t\tthis._core.trigger('load', { element: $element, url: url }, 'lazy');\r\n\r\n\t\t\tif ($element.is('img')) {\r\n\t\t\t\t$element.one('load.owl.lazy', $.proxy(function() {\r\n\t\t\t\t\t$element.css('opacity', 1);\r\n\t\t\t\t\tthis._core.trigger('loaded', { element: $element, url: url }, 'lazy');\r\n\t\t\t\t}, this)).attr('src', url);\r\n\t\t\t} else {\r\n\t\t\t\timage = new Image();\r\n\t\t\t\timage.onload = $.proxy(function() {\r\n\t\t\t\t\t$element.css({\r\n\t\t\t\t\t\t'background-image': 'url(\"' + url + '\")',\r\n\t\t\t\t\t\t'opacity': '1'\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis._core.trigger('loaded', { element: $element, url: url }, 'lazy');\r\n\t\t\t\t}, this);\r\n\t\t\t\timage.src = url;\r\n\t\t\t}\r\n\t\t}, this));\r\n\r\n\t\tthis._loaded.push($item.get(0));\r\n\t};\r\n\r\n\t/**\r\n\t * Destroys the plugin.\r\n\t * @public\r\n\t */\r\n\tLazy.prototype.destroy = function() {\r\n\t\tvar handler, property;\r\n\r\n\t\tfor (handler in this.handlers) {\r\n\t\t\tthis._core.$element.off(handler, this.handlers[handler]);\r\n\t\t}\r\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\r\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * AutoHeight Plugin\r\n * @version 2.1.0\r\n * @author Bartosz Wojciechowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\r\n\t/**\r\n\t * Creates the auto height plugin.\r\n\t * @class The Auto Height Plugin\r\n\t * @param {Owl} carousel - The Owl Carousel\r\n\t */\r\n\tvar AutoHeight = function(carousel) {\r\n\t\t/**\r\n\t\t * Reference to the core.\r\n\t\t * @protected\r\n\t\t * @type {Owl}\r\n\t\t */\r\n\t\tthis._core = carousel;\r\n\r\n\t\t/**\r\n\t\t * All event handlers.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._handlers = {\r\n\t\t\t'initialized.owl.carousel refreshed.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.autoHeight) {\r\n\t\t\t\t\tthis.update();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'changed.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.autoHeight && e.property.name == 'position'){\r\n\t\t\t\t\tthis.update();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'loaded.owl.lazy': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.autoHeight\r\n\t\t\t\t\t&& e.element.closest('.' + this._core.settings.itemClass).index() === this._core.current()) {\r\n\t\t\t\t\tthis.update();\r\n\t\t\t\t}\r\n\t\t\t}, this)\r\n\t\t};\r\n\r\n\t\t// set default options\r\n\t\tthis._core.options = $.extend({}, AutoHeight.Defaults, this._core.options);\r\n\r\n\t\t// register event handlers\r\n\t\tthis._core.$element.on(this._handlers);\r\n\t};\r\n\r\n\t/**\r\n\t * Default options.\r\n\t * @public\r\n\t */\r\n\tAutoHeight.Defaults = {\r\n\t\tautoHeight: false,\r\n\t\tautoHeightClass: 'owl-height'\r\n\t};\r\n\r\n\t/**\r\n\t * Updates the view.\r\n\t */\r\n\tAutoHeight.prototype.update = function() {\r\n\t\tvar start = this._core._current,\r\n\t\t\tend = start + this._core.settings.items,\r\n\t\t\tvisible = this._core.$stage.children().toArray().slice(start, end),\r\n\t\t\theights = [],\r\n\t\t\tmaxheight = 0;\r\n\r\n\t\t$.each(visible, function(index, item) {\r\n\t\t\theights.push($(item).height());\r\n\t\t});\r\n\r\n\t\tmaxheight = Math.max.apply(null, heights);\r\n\r\n\t\tthis._core.$stage.parent()\r\n\t\t\t.height(maxheight)\r\n\t\t\t.addClass(this._core.settings.autoHeightClass);\r\n\t};\r\n\r\n\tAutoHeight.prototype.destroy = function() {\r\n\t\tvar handler, property;\r\n\r\n\t\tfor (handler in this._handlers) {\r\n\t\t\tthis._core.$element.off(handler, this._handlers[handler]);\r\n\t\t}\r\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\r\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * Video Plugin\r\n * @version 2.1.0\r\n * @author Bartosz Wojciechowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\r\n\t/**\r\n\t * Creates the video plugin.\r\n\t * @class The Video Plugin\r\n\t * @param {Owl} carousel - The Owl Carousel\r\n\t */\r\n\tvar Video = function(carousel) {\r\n\t\t/**\r\n\t\t * Reference to the core.\r\n\t\t * @protected\r\n\t\t * @type {Owl}\r\n\t\t */\r\n\t\tthis._core = carousel;\r\n\r\n\t\t/**\r\n\t\t * Cache all video URLs.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._videos = {};\r\n\r\n\t\t/**\r\n\t\t * Current playing item.\r\n\t\t * @protected\r\n\t\t * @type {jQuery}\r\n\t\t */\r\n\t\tthis._playing = null;\r\n\r\n\t\t/**\r\n\t\t * All event handlers.\r\n\t\t * @todo The cloned content removale is too late\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._handlers = {\r\n\t\t\t'initialized.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace) {\r\n\t\t\t\t\tthis._core.register({ type: 'state', name: 'playing', tags: [ 'interacting' ] });\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'resize.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.video && this.isInFullScreen()) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'refreshed.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.is('resizing')) {\r\n\t\t\t\t\tthis._core.$stage.find('.cloned .owl-video-frame').remove();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'changed.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && e.property.name === 'position' && this._playing) {\r\n\t\t\t\t\tthis.stop();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'prepared.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (!e.namespace) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar $element = $(e.content).find('.owl-video');\r\n\r\n\t\t\t\tif ($element.length) {\r\n\t\t\t\t\t$element.css('display', 'none');\r\n\t\t\t\t\tthis.fetch($element, $(e.content));\r\n\t\t\t\t}\r\n\t\t\t}, this)\r\n\t\t};\r\n\r\n\t\t// set default options\r\n\t\tthis._core.options = $.extend({}, Video.Defaults, this._core.options);\r\n\r\n\t\t// register event handlers\r\n\t\tthis._core.$element.on(this._handlers);\r\n\r\n\t\tthis._core.$element.on('click.owl.video', '.owl-video-play-icon', $.proxy(function(e) {\r\n\t\t\tthis.play(e);\r\n\t\t}, this));\r\n\t};\r\n\r\n\t/**\r\n\t * Default options.\r\n\t * @public\r\n\t */\r\n\tVideo.Defaults = {\r\n\t\tvideo: false,\r\n\t\tvideoHeight: false,\r\n\t\tvideoWidth: false\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the video ID and the type (YouTube/Vimeo/vzaar only).\r\n\t * @protected\r\n\t * @param {jQuery} target - The target containing the video data.\r\n\t * @param {jQuery} item - The item containing the video.\r\n\t */\r\n\tVideo.prototype.fetch = function(target, item) {\r\n\t\t\tvar type = (function() {\r\n\t\t\t\t\tif (target.attr('data-vimeo-id')) {\r\n\t\t\t\t\t\treturn 'vimeo';\r\n\t\t\t\t\t} else if (target.attr('data-vzaar-id')) {\r\n\t\t\t\t\t\treturn 'vzaar'\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn 'youtube';\r\n\t\t\t\t\t}\r\n\t\t\t\t})(),\r\n\t\t\t\tid = target.attr('data-vimeo-id') || target.attr('data-youtube-id') || target.attr('data-vzaar-id'),\r\n\t\t\t\twidth = target.attr('data-width') || this._core.settings.videoWidth,\r\n\t\t\t\theight = target.attr('data-height') || this._core.settings.videoHeight,\r\n\t\t\t\turl = target.attr('href');\r\n\r\n\t\tif (url) {\r\n\r\n\t\t\t/*\r\n\t\t\t\t\tParses the id's out of the following urls (and probably more):\r\n\t\t\t\t\thttps://www.youtube.com/watch?v=:id\r\n\t\t\t\t\thttps://youtu.be/:id\r\n\t\t\t\t\thttps://vimeo.com/:id\r\n\t\t\t\t\thttps://vimeo.com/channels/:channel/:id\r\n\t\t\t\t\thttps://vimeo.com/groups/:group/videos/:id\r\n\t\t\t\t\thttps://app.vzaar.com/videos/:id\r\n\r\n\t\t\t\t\tVisual example: https://regexper.com/#(http%3A%7Chttps%3A%7C)%5C%2F%5C%2F(player.%7Cwww.%7Capp.)%3F(vimeo%5C.com%7Cyoutu(be%5C.com%7C%5C.be%7Cbe%5C.googleapis%5C.com)%7Cvzaar%5C.com)%5C%2F(video%5C%2F%7Cvideos%5C%2F%7Cembed%5C%2F%7Cchannels%5C%2F.%2B%5C%2F%7Cgroups%5C%2F.%2B%5C%2F%7Cwatch%5C%3Fv%3D%7Cv%5C%2F)%3F(%5BA-Za-z0-9._%25-%5D*)(%5C%26%5CS%2B)%3F\r\n\t\t\t*/\r\n\r\n\t\t\tid = url.match(/(http:|https:|)\\/\\/(player.|www.|app.)?(vimeo\\.com|youtu(be\\.com|\\.be|be\\.googleapis\\.com)|vzaar\\.com)\\/(video\\/|videos\\/|embed\\/|channels\\/.+\\/|groups\\/.+\\/|watch\\?v=|v\\/)?([A-Za-z0-9._%-]*)(\\&\\S+)?/);\r\n\r\n\t\t\tif (id[3].indexOf('youtu') > -1) {\r\n\t\t\t\ttype = 'youtube';\r\n\t\t\t} else if (id[3].indexOf('vimeo') > -1) {\r\n\t\t\t\ttype = 'vimeo';\r\n\t\t\t} else if (id[3].indexOf('vzaar') > -1) {\r\n\t\t\t\ttype = 'vzaar';\r\n\t\t\t} else {\r\n\t\t\t\tthrow new Error('Video URL not supported.');\r\n\t\t\t}\r\n\t\t\tid = id[6];\r\n\t\t} else {\r\n\t\t\tthrow new Error('Missing video URL.');\r\n\t\t}\r\n\r\n\t\tthis._videos[url] = {\r\n\t\t\ttype: type,\r\n\t\t\tid: id,\r\n\t\t\twidth: width,\r\n\t\t\theight: height\r\n\t\t};\r\n\r\n\t\titem.attr('data-video', url);\r\n\r\n\t\tthis.thumbnail(target, this._videos[url]);\r\n\t};\r\n\r\n\t/**\r\n\t * Creates video thumbnail.\r\n\t * @protected\r\n\t * @param {jQuery} target - The target containing the video data.\r\n\t * @param {Object} info - The video info object.\r\n\t * @see `fetch`\r\n\t */\r\n\tVideo.prototype.thumbnail = function(target, video) {\r\n\t\tvar tnLink,\r\n\t\t\ticon,\r\n\t\t\tpath,\r\n\t\t\tdimensions = video.width && video.height ? 'style=\"width:' + video.width + 'px;height:' + video.height + 'px;\"' : '',\r\n\t\t\tcustomTn = target.find('img'),\r\n\t\t\tsrcType = 'src',\r\n\t\t\tlazyClass = '',\r\n\t\t\tsettings = this._core.settings,\r\n\t\t\tcreate = function(path) {\r\n\t\t\t\ticon = '
    ';\r\n\r\n\t\t\t\tif (settings.lazyLoad) {\r\n\t\t\t\t\ttnLink = '
    ';\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttnLink = '
    ';\r\n\t\t\t\t}\r\n\t\t\t\ttarget.after(tnLink);\r\n\t\t\t\ttarget.after(icon);\r\n\t\t\t};\r\n\r\n\t\t// wrap video content into owl-video-wrapper div\r\n\t\ttarget.wrap('
    ');\r\n\r\n\t\tif (this._core.settings.lazyLoad) {\r\n\t\t\tsrcType = 'data-src';\r\n\t\t\tlazyClass = 'owl-lazy';\r\n\t\t}\r\n\r\n\t\t// custom thumbnail\r\n\t\tif (customTn.length) {\r\n\t\t\tcreate(customTn.attr(srcType));\r\n\t\t\tcustomTn.remove();\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (video.type === 'youtube') {\r\n\t\t\tpath = \"//img.youtube.com/vi/\" + video.id + \"/hqdefault.jpg\";\r\n\t\t\tcreate(path);\r\n\t\t} else if (video.type === 'vimeo') {\r\n\t\t\t$.ajax({\r\n\t\t\t\ttype: 'GET',\r\n\t\t\t\turl: '//vimeo.com/api/v2/video/' + video.id + '.json',\r\n\t\t\t\tjsonp: 'callback',\r\n\t\t\t\tdataType: 'jsonp',\r\n\t\t\t\tsuccess: function(data) {\r\n\t\t\t\t\tpath = data[0].thumbnail_large;\r\n\t\t\t\t\tcreate(path);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else if (video.type === 'vzaar') {\r\n\t\t\t$.ajax({\r\n\t\t\t\ttype: 'GET',\r\n\t\t\t\turl: '//vzaar.com/api/videos/' + video.id + '.json',\r\n\t\t\t\tjsonp: 'callback',\r\n\t\t\t\tdataType: 'jsonp',\r\n\t\t\t\tsuccess: function(data) {\r\n\t\t\t\t\tpath = data.framegrab_url;\r\n\t\t\t\t\tcreate(path);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Stops the current video.\r\n\t * @public\r\n\t */\r\n\tVideo.prototype.stop = function() {\r\n\t\tthis._core.trigger('stop', null, 'video');\r\n\t\tthis._playing.find('.owl-video-frame').remove();\r\n\t\tthis._playing.removeClass('owl-video-playing');\r\n\t\tthis._playing = null;\r\n\t\tthis._core.leave('playing');\r\n\t\tthis._core.trigger('stopped', null, 'video');\r\n\t};\r\n\r\n\t/**\r\n\t * Starts the current video.\r\n\t * @public\r\n\t * @param {Event} event - The event arguments.\r\n\t */\r\n\tVideo.prototype.play = function(event) {\r\n\t\tvar target = $(event.target),\r\n\t\t\titem = target.closest('.' + this._core.settings.itemClass),\r\n\t\t\tvideo = this._videos[item.attr('data-video')],\r\n\t\t\twidth = video.width || '100%',\r\n\t\t\theight = video.height || this._core.$stage.height(),\r\n\t\t\thtml;\r\n\r\n\t\tif (this._playing) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._core.enter('playing');\r\n\t\tthis._core.trigger('play', null, 'video');\r\n\r\n\t\titem = this._core.items(this._core.relative(item.index()));\r\n\r\n\t\tthis._core.reset(item.index());\r\n\r\n\t\tif (video.type === 'youtube') {\r\n\t\t\thtml = '';\r\n\t\t} else if (video.type === 'vimeo') {\r\n\t\t\thtml = '';\r\n\t\t} else if (video.type === 'vzaar') {\r\n\t\t\thtml = '';\r\n\t\t}\r\n\r\n\t\t$('
    ' + html + '
    ').insertAfter(item.find('.owl-video'));\r\n\r\n\t\tthis._playing = item.addClass('owl-video-playing');\r\n\t};\r\n\r\n\t/**\r\n\t * Checks whether an video is currently in full screen mode or not.\r\n\t * @todo Bad style because looks like a readonly method but changes members.\r\n\t * @protected\r\n\t * @returns {Boolean}\r\n\t */\r\n\tVideo.prototype.isInFullScreen = function() {\r\n\t\tvar element = document.fullscreenElement || document.mozFullScreenElement ||\r\n\t\t\t\tdocument.webkitFullscreenElement;\r\n\r\n\t\treturn element && $(element).parent().hasClass('owl-video-frame');\r\n\t};\r\n\r\n\t/**\r\n\t * Destroys the plugin.\r\n\t */\r\n\tVideo.prototype.destroy = function() {\r\n\t\tvar handler, property;\r\n\r\n\t\tthis._core.$element.off('click.owl.video');\r\n\r\n\t\tfor (handler in this._handlers) {\r\n\t\t\tthis._core.$element.off(handler, this._handlers[handler]);\r\n\t\t}\r\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\r\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn.owlCarousel.Constructor.Plugins.Video = Video;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * Animate Plugin\r\n * @version 2.1.0\r\n * @author Bartosz Wojciechowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\r\n\t/**\r\n\t * Creates the animate plugin.\r\n\t * @class The Navigation Plugin\r\n\t * @param {Owl} scope - The Owl Carousel\r\n\t */\r\n\tvar Animate = function(scope) {\r\n\t\tthis.core = scope;\r\n\t\tthis.core.options = $.extend({}, Animate.Defaults, this.core.options);\r\n\t\tthis.swapping = true;\r\n\t\tthis.previous = undefined;\r\n\t\tthis.next = undefined;\r\n\r\n\t\tthis.handlers = {\r\n\t\t\t'change.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && e.property.name == 'position') {\r\n\t\t\t\t\tthis.previous = this.core.current();\r\n\t\t\t\t\tthis.next = e.property.value;\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace) {\r\n\t\t\t\t\tthis.swapping = e.type == 'translated';\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'translate.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) {\r\n\t\t\t\t\tthis.swap();\r\n\t\t\t\t}\r\n\t\t\t}, this)\r\n\t\t};\r\n\r\n\t\tthis.core.$element.on(this.handlers);\r\n\t};\r\n\r\n\t/**\r\n\t * Default options.\r\n\t * @public\r\n\t */\r\n\tAnimate.Defaults = {\r\n\t\tanimateOut: false,\r\n\t\tanimateIn: false\r\n\t};\r\n\r\n\t/**\r\n\t * Toggles the animation classes whenever an translations starts.\r\n\t * @protected\r\n\t * @returns {Boolean|undefined}\r\n\t */\r\n\tAnimate.prototype.swap = function() {\r\n\r\n\t\tif (this.core.settings.items !== 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!$.support.animation || !$.support.transition) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.core.speed(0);\r\n\r\n\t\tvar left,\r\n\t\t\tclear = $.proxy(this.clear, this),\r\n\t\t\tprevious = this.core.$stage.children().eq(this.previous),\r\n\t\t\tnext = this.core.$stage.children().eq(this.next),\r\n\t\t\tincoming = this.core.settings.animateIn,\r\n\t\t\toutgoing = this.core.settings.animateOut;\r\n\r\n\t\tif (this.core.current() === this.previous) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (outgoing) {\r\n\t\t\tleft = this.core.coordinates(this.previous) - this.core.coordinates(this.next);\r\n\t\t\tprevious.one($.support.animation.end, clear)\r\n\t\t\t\t.css( { 'left': left + 'px' } )\r\n\t\t\t\t.addClass('animated owl-animated-out')\r\n\t\t\t\t.addClass(outgoing);\r\n\t\t}\r\n\r\n\t\tif (incoming) {\r\n\t\t\tnext.one($.support.animation.end, clear)\r\n\t\t\t\t.addClass('animated owl-animated-in')\r\n\t\t\t\t.addClass(incoming);\r\n\t\t}\r\n\t};\r\n\r\n\tAnimate.prototype.clear = function(e) {\r\n\t\t$(e.target).css( { 'left': '' } )\r\n\t\t\t.removeClass('animated owl-animated-out owl-animated-in')\r\n\t\t\t.removeClass(this.core.settings.animateIn)\r\n\t\t\t.removeClass(this.core.settings.animateOut);\r\n\t\tthis.core.onTransitionEnd();\r\n\t};\r\n\r\n\t/**\r\n\t * Destroys the plugin.\r\n\t * @public\r\n\t */\r\n\tAnimate.prototype.destroy = function() {\r\n\t\tvar handler, property;\r\n\r\n\t\tfor (handler in this.handlers) {\r\n\t\t\tthis.core.$element.off(handler, this.handlers[handler]);\r\n\t\t}\r\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\r\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn.owlCarousel.Constructor.Plugins.Animate = Animate;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * Autoplay Plugin\r\n * @version 2.1.0\r\n * @author Bartosz Wojciechowski\r\n * @author Artus Kolanowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\r\n\t/**\r\n\t * Creates the autoplay plugin.\r\n\t * @class The Autoplay Plugin\r\n\t * @param {Owl} scope - The Owl Carousel\r\n\t */\r\n\tvar Autoplay = function(carousel) {\r\n\t\t/**\r\n\t\t * Reference to the core.\r\n\t\t * @protected\r\n\t\t * @type {Owl}\r\n\t\t */\r\n\t\tthis._core = carousel;\r\n\r\n\t\t/**\r\n\t\t * The autoplay timeout.\r\n\t\t * @type {Timeout}\r\n\t\t */\r\n\t\tthis._timeout = null;\r\n\r\n\t\t/**\r\n\t\t * Indicates whenever the autoplay is paused.\r\n\t\t * @type {Boolean}\r\n\t\t */\r\n\t\tthis._paused = false;\r\n\r\n\t\t/**\r\n\t\t * All event handlers.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._handlers = {\r\n\t\t\t'changed.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && e.property.name === 'settings') {\r\n\t\t\t\t\tif (this._core.settings.autoplay) {\r\n\t\t\t\t\t\tthis.play();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.stop();\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (e.namespace && e.property.name === 'position') {\r\n\t\t\t\t\t//console.log('play?', e);\r\n\t\t\t\t\tif (this._core.settings.autoplay) {\r\n\t\t\t\t\t\tthis._setAutoPlayInterval();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'initialized.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.autoplay) {\r\n\t\t\t\t\tthis.play();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'play.owl.autoplay': $.proxy(function(e, t, s) {\r\n\t\t\t\tif (e.namespace) {\r\n\t\t\t\t\tthis.play(t, s);\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'stop.owl.autoplay': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace) {\r\n\t\t\t\t\tthis.stop();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'mouseover.owl.autoplay': $.proxy(function() {\r\n\t\t\t\tif (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\r\n\t\t\t\t\tthis.pause();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'mouseleave.owl.autoplay': $.proxy(function() {\r\n\t\t\t\tif (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\r\n\t\t\t\t\tthis.play();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'touchstart.owl.core': $.proxy(function() {\r\n\t\t\t\tif (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\r\n\t\t\t\t\tthis.pause();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'touchend.owl.core': $.proxy(function() {\r\n\t\t\t\tif (this._core.settings.autoplayHoverPause) {\r\n\t\t\t\t\tthis.play();\r\n\t\t\t\t}\r\n\t\t\t}, this)\r\n\t\t};\r\n\r\n\t\t// register event handlers\r\n\t\tthis._core.$element.on(this._handlers);\r\n\r\n\t\t// set default options\r\n\t\tthis._core.options = $.extend({}, Autoplay.Defaults, this._core.options);\r\n\t};\r\n\r\n\t/**\r\n\t * Default options.\r\n\t * @public\r\n\t */\r\n\tAutoplay.Defaults = {\r\n\t\tautoplay: false,\r\n\t\tautoplayTimeout: 5000,\r\n\t\tautoplayHoverPause: false,\r\n\t\tautoplaySpeed: false\r\n\t};\r\n\r\n\t/**\r\n\t * Starts the autoplay.\r\n\t * @public\r\n\t * @param {Number} [timeout] - The interval before the next animation starts.\r\n\t * @param {Number} [speed] - The animation speed for the animations.\r\n\t */\r\n\tAutoplay.prototype.play = function(timeout, speed) {\r\n\t\tthis._paused = false;\r\n\r\n\t\tif (this._core.is('rotating')) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._core.enter('rotating');\r\n\r\n\t\tthis._setAutoPlayInterval();\r\n\t};\r\n\r\n\t/**\r\n\t * Gets a new timeout\r\n\t * @private\r\n\t * @param {Number} [timeout] - The interval before the next animation starts.\r\n\t * @param {Number} [speed] - The animation speed for the animations.\r\n\t * @return {Timeout}\r\n\t */\r\n\tAutoplay.prototype._getNextTimeout = function(timeout, speed) {\r\n\t\tif ( this._timeout ) {\r\n\t\t\twindow.clearTimeout(this._timeout);\r\n\t\t}\r\n\t\treturn window.setTimeout($.proxy(function() {\r\n\t\t\tif (this._paused || this._core.is('busy') || this._core.is('interacting') || document.hidden) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tthis._core.next(speed || this._core.settings.autoplaySpeed);\r\n\t\t}, this), timeout || this._core.settings.autoplayTimeout);\r\n\t};\r\n\r\n\t/**\r\n\t * Sets autoplay in motion.\r\n\t * @private\r\n\t */\r\n\tAutoplay.prototype._setAutoPlayInterval = function() {\r\n\t\tthis._timeout = this._getNextTimeout();\r\n\t};\r\n\r\n\t/**\r\n\t * Stops the autoplay.\r\n\t * @public\r\n\t */\r\n\tAutoplay.prototype.stop = function() {\r\n\t\tif (!this._core.is('rotating')) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\twindow.clearTimeout(this._timeout);\r\n\t\tthis._core.leave('rotating');\r\n\t};\r\n\r\n\t/**\r\n\t * Stops the autoplay.\r\n\t * @public\r\n\t */\r\n\tAutoplay.prototype.pause = function() {\r\n\t\tif (!this._core.is('rotating')) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._paused = true;\r\n\t};\r\n\r\n\t/**\r\n\t * Destroys the plugin.\r\n\t */\r\n\tAutoplay.prototype.destroy = function() {\r\n\t\tvar handler, property;\r\n\r\n\t\tthis.stop();\r\n\r\n\t\tfor (handler in this._handlers) {\r\n\t\t\tthis._core.$element.off(handler, this._handlers[handler]);\r\n\t\t}\r\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\r\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * Navigation Plugin\r\n * @version 2.1.0\r\n * @author Artus Kolanowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\t'use strict';\r\n\r\n\t/**\r\n\t * Creates the navigation plugin.\r\n\t * @class The Navigation Plugin\r\n\t * @param {Owl} carousel - The Owl Carousel.\r\n\t */\r\n\tvar Navigation = function(carousel) {\r\n\t\t/**\r\n\t\t * Reference to the core.\r\n\t\t * @protected\r\n\t\t * @type {Owl}\r\n\t\t */\r\n\t\tthis._core = carousel;\r\n\r\n\t\t/**\r\n\t\t * Indicates whether the plugin is initialized or not.\r\n\t\t * @protected\r\n\t\t * @type {Boolean}\r\n\t\t */\r\n\t\tthis._initialized = false;\r\n\r\n\t\t/**\r\n\t\t * The current paging indexes.\r\n\t\t * @protected\r\n\t\t * @type {Array}\r\n\t\t */\r\n\t\tthis._pages = [];\r\n\r\n\t\t/**\r\n\t\t * All DOM elements of the user interface.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._controls = {};\r\n\r\n\t\t/**\r\n\t\t * Markup for an indicator.\r\n\t\t * @protected\r\n\t\t * @type {Array.}\r\n\t\t */\r\n\t\tthis._templates = [];\r\n\r\n\t\t/**\r\n\t\t * The carousel element.\r\n\t\t * @type {jQuery}\r\n\t\t */\r\n\t\tthis.$element = this._core.$element;\r\n\r\n\t\t/**\r\n\t\t * Overridden methods of the carousel.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._overrides = {\r\n\t\t\tnext: this._core.next,\r\n\t\t\tprev: this._core.prev,\r\n\t\t\tto: this._core.to\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * All event handlers.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._handlers = {\r\n\t\t\t'prepared.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.dotsData) {\r\n\t\t\t\t\tthis._templates.push('
    ' +\r\n\t\t\t\t\t\t$(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot') + '
    ');\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'added.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.dotsData) {\r\n\t\t\t\t\tthis._templates.splice(e.position, 0, this._templates.pop());\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'remove.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.dotsData) {\r\n\t\t\t\t\tthis._templates.splice(e.position, 1);\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'changed.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && e.property.name == 'position') {\r\n\t\t\t\t\tthis.draw();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'initialized.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && !this._initialized) {\r\n\t\t\t\t\tthis._core.trigger('initialize', null, 'navigation');\r\n\t\t\t\t\tthis.initialize();\r\n\t\t\t\t\tthis.update();\r\n\t\t\t\t\tthis.draw();\r\n\t\t\t\t\tthis._initialized = true;\r\n\t\t\t\t\tthis._core.trigger('initialized', null, 'navigation');\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'refreshed.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._initialized) {\r\n\t\t\t\t\tthis._core.trigger('refresh', null, 'navigation');\r\n\t\t\t\t\tthis.update();\r\n\t\t\t\t\tthis.draw();\r\n\t\t\t\t\tthis._core.trigger('refreshed', null, 'navigation');\r\n\t\t\t\t}\r\n\t\t\t}, this)\r\n\t\t};\r\n\r\n\t\t// set default options\r\n\t\tthis._core.options = $.extend({}, Navigation.Defaults, this._core.options);\r\n\r\n\t\t// register event handlers\r\n\t\tthis.$element.on(this._handlers);\r\n\t};\r\n\r\n\t/**\r\n\t * Default options.\r\n\t * @public\r\n\t * @todo Rename `slideBy` to `navBy`\r\n\t */\r\n\tNavigation.Defaults = {\r\n\t\tnav: false,\r\n\t\tnavText: [ 'prev', 'next' ],\r\n\t\tnavSpeed: false,\r\n\t\tnavElement: 'div',\r\n\t\tnavContainer: false,\r\n\t\tnavContainerClass: 'owl-nav',\r\n\t\tnavClass: [ 'owl-prev', 'owl-next' ],\r\n\t\tslideBy: 1,\r\n\t\tdotClass: 'owl-dot',\r\n\t\tdotsClass: 'owl-dots',\r\n\t\tdots: true,\r\n\t\tdotsEach: false,\r\n\t\tdotsData: false,\r\n\t\tdotsSpeed: false,\r\n\t\tdotsContainer: false\r\n\t};\r\n\r\n\t/**\r\n\t * Initializes the layout of the plugin and extends the carousel.\r\n\t * @protected\r\n\t */\r\n\tNavigation.prototype.initialize = function() {\r\n\t\tvar override,\r\n\t\t\tsettings = this._core.settings;\r\n\r\n\t\t// create DOM structure for relative navigation\r\n\t\tthis._controls.$relative = (settings.navContainer ? $(settings.navContainer)\r\n\t\t\t: $('
    ').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled');\r\n\r\n\t\tthis._controls.$previous = $('<' + settings.navElement + '>')\r\n\t\t\t.addClass(settings.navClass[0])\r\n\t\t\t.html(settings.navText[0])\r\n\t\t\t.prependTo(this._controls.$relative)\r\n\t\t\t.on('click', $.proxy(function(e) {\r\n\t\t\t\tthis.prev(settings.navSpeed);\r\n\t\t\t}, this));\r\n\t\tthis._controls.$next = $('<' + settings.navElement + '>')\r\n\t\t\t.addClass(settings.navClass[1])\r\n\t\t\t.html(settings.navText[1])\r\n\t\t\t.appendTo(this._controls.$relative)\r\n\t\t\t.on('click', $.proxy(function(e) {\r\n\t\t\t\tthis.next(settings.navSpeed);\r\n\t\t\t}, this));\r\n\r\n\t\t// create DOM structure for absolute navigation\r\n\t\tif (!settings.dotsData) {\r\n\t\t\tthis._templates = [ $('
    ')\r\n\t\t\t\t.addClass(settings.dotClass)\r\n\t\t\t\t.append($(''))\r\n\t\t\t\t.prop('outerHTML') ];\r\n\t\t}\r\n\r\n\t\tthis._controls.$absolute = (settings.dotsContainer ? $(settings.dotsContainer)\r\n\t\t\t: $('
    ').addClass(settings.dotsClass).appendTo(this.$element)).addClass('disabled');\r\n\r\n\t\tthis._controls.$absolute.on('click', 'div', $.proxy(function(e) {\r\n\t\t\tvar index = $(e.target).parent().is(this._controls.$absolute)\r\n\t\t\t\t? $(e.target).index() : $(e.target).parent().index();\r\n\r\n\t\t\te.preventDefault();\r\n\r\n\t\t\tthis.to(index, settings.dotsSpeed);\r\n\t\t}, this));\r\n\r\n\t\t// override public methods of the carousel\r\n\t\tfor (override in this._overrides) {\r\n\t\t\tthis._core[override] = $.proxy(this[override], this);\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Destroys the plugin.\r\n\t * @protected\r\n\t */\r\n\tNavigation.prototype.destroy = function() {\r\n\t\tvar handler, control, property, override;\r\n\r\n\t\tfor (handler in this._handlers) {\r\n\t\t\tthis.$element.off(handler, this._handlers[handler]);\r\n\t\t}\r\n\t\tfor (control in this._controls) {\r\n\t\t\tthis._controls[control].remove();\r\n\t\t}\r\n\t\tfor (override in this.overides) {\r\n\t\t\tthis._core[override] = this._overrides[override];\r\n\t\t}\r\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\r\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Updates the internal state.\r\n\t * @protected\r\n\t */\r\n\tNavigation.prototype.update = function() {\r\n\t\tvar i, j, k,\r\n\t\t\tlower = this._core.clones().length / 2,\r\n\t\t\tupper = lower + this._core.items().length,\r\n\t\t\tmaximum = this._core.maximum(true),\r\n\t\t\tsettings = this._core.settings,\r\n\t\t\tsize = settings.center || settings.autoWidth || settings.dotsData\r\n\t\t\t\t? 1 : settings.dotsEach || settings.items;\r\n\r\n\t\tif (settings.slideBy !== 'page') {\r\n\t\t\tsettings.slideBy = Math.min(settings.slideBy, settings.items);\r\n\t\t}\r\n\r\n\t\tif (settings.dots || settings.slideBy == 'page') {\r\n\t\t\tthis._pages = [];\r\n\r\n\t\t\tfor (i = lower, j = 0, k = 0; i < upper; i++) {\r\n\t\t\t\tif (j >= size || j === 0) {\r\n\t\t\t\t\tthis._pages.push({\r\n\t\t\t\t\t\tstart: Math.min(maximum, i - lower),\r\n\t\t\t\t\t\tend: i - lower + size - 1\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (Math.min(maximum, i - lower) === maximum) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tj = 0, ++k;\r\n\t\t\t\t}\r\n\t\t\t\tj += this._core.mergers(this._core.relative(i));\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Draws the user interface.\r\n\t * @todo The option `dotsData` wont work.\r\n\t * @protected\r\n\t */\r\n\tNavigation.prototype.draw = function() {\r\n\t\tvar difference,\r\n\t\t\tsettings = this._core.settings,\r\n\t\t\tdisabled = this._core.items().length <= settings.items,\r\n\t\t\tindex = this._core.relative(this._core.current()),\r\n\t\t\tloop = settings.loop || settings.rewind;\r\n\r\n\t\tthis._controls.$relative.toggleClass('disabled', !settings.nav || disabled);\r\n\r\n\t\tif (settings.nav) {\r\n\t\t\tthis._controls.$previous.toggleClass('disabled', !loop && index <= this._core.minimum(true));\r\n\t\t\tthis._controls.$next.toggleClass('disabled', !loop && index >= this._core.maximum(true));\r\n\t\t}\r\n\r\n\t\tthis._controls.$absolute.toggleClass('disabled', !settings.dots || disabled);\r\n\r\n\t\tif (settings.dots) {\r\n\t\t\tdifference = this._pages.length - this._controls.$absolute.children().length;\r\n\r\n\t\t\tif (settings.dotsData && difference !== 0) {\r\n\t\t\t\tthis._controls.$absolute.html(this._templates.join(''));\r\n\t\t\t} else if (difference > 0) {\r\n\t\t\t\tthis._controls.$absolute.append(new Array(difference + 1).join(this._templates[0]));\r\n\t\t\t} else if (difference < 0) {\r\n\t\t\t\tthis._controls.$absolute.children().slice(difference).remove();\r\n\t\t\t}\r\n\r\n\t\t\tthis._controls.$absolute.find('.active').removeClass('active');\r\n\t\t\tthis._controls.$absolute.children().eq($.inArray(this.current(), this._pages)).addClass('active');\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Extends event data.\r\n\t * @protected\r\n\t * @param {Event} event - The event object which gets thrown.\r\n\t */\r\n\tNavigation.prototype.onTrigger = function(event) {\r\n\t\tvar settings = this._core.settings;\r\n\r\n\t\tevent.page = {\r\n\t\t\tindex: $.inArray(this.current(), this._pages),\r\n\t\t\tcount: this._pages.length,\r\n\t\t\tsize: settings && (settings.center || settings.autoWidth || settings.dotsData\r\n\t\t\t\t? 1 : settings.dotsEach || settings.items)\r\n\t\t};\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the current page position of the carousel.\r\n\t * @protected\r\n\t * @returns {Number}\r\n\t */\r\n\tNavigation.prototype.current = function() {\r\n\t\tvar current = this._core.relative(this._core.current());\r\n\t\treturn $.grep(this._pages, $.proxy(function(page, index) {\r\n\t\t\treturn page.start <= current && page.end >= current;\r\n\t\t}, this)).pop();\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the current succesor/predecessor position.\r\n\t * @protected\r\n\t * @returns {Number}\r\n\t */\r\n\tNavigation.prototype.getPosition = function(successor) {\r\n\t\tvar position, length,\r\n\t\t\tsettings = this._core.settings;\r\n\r\n\t\tif (settings.slideBy == 'page') {\r\n\t\t\tposition = $.inArray(this.current(), this._pages);\r\n\t\t\tlength = this._pages.length;\r\n\t\t\tsuccessor ? ++position : --position;\r\n\t\t\tposition = this._pages[((position % length) + length) % length].start;\r\n\t\t} else {\r\n\t\t\tposition = this._core.relative(this._core.current());\r\n\t\t\tlength = this._core.items().length;\r\n\t\t\tsuccessor ? position += settings.slideBy : position -= settings.slideBy;\r\n\t\t}\r\n\r\n\t\treturn position;\r\n\t};\r\n\r\n\t/**\r\n\t * Slides to the next item or page.\r\n\t * @public\r\n\t * @param {Number} [speed=false] - The time in milliseconds for the transition.\r\n\t */\r\n\tNavigation.prototype.next = function(speed) {\r\n\t\t$.proxy(this._overrides.to, this._core)(this.getPosition(true), speed);\r\n\t};\r\n\r\n\t/**\r\n\t * Slides to the previous item or page.\r\n\t * @public\r\n\t * @param {Number} [speed=false] - The time in milliseconds for the transition.\r\n\t */\r\n\tNavigation.prototype.prev = function(speed) {\r\n\t\t$.proxy(this._overrides.to, this._core)(this.getPosition(false), speed);\r\n\t};\r\n\r\n\t/**\r\n\t * Slides to the specified item or page.\r\n\t * @public\r\n\t * @param {Number} position - The position of the item or page.\r\n\t * @param {Number} [speed] - The time in milliseconds for the transition.\r\n\t * @param {Boolean} [standard=false] - Whether to use the standard behaviour or not.\r\n\t */\r\n\tNavigation.prototype.to = function(position, speed, standard) {\r\n\t\tvar length;\r\n\r\n\t\tif (!standard && this._pages.length) {\r\n\t\t\tlength = this._pages.length;\r\n\t\t\t$.proxy(this._overrides.to, this._core)(this._pages[((position % length) + length) % length].start, speed);\r\n\t\t} else {\r\n\t\t\t$.proxy(this._overrides.to, this._core)(position, speed);\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn.owlCarousel.Constructor.Plugins.Navigation = Navigation;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * Hash Plugin\r\n * @version 2.1.0\r\n * @author Artus Kolanowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\t'use strict';\r\n\r\n\t/**\r\n\t * Creates the hash plugin.\r\n\t * @class The Hash Plugin\r\n\t * @param {Owl} carousel - The Owl Carousel\r\n\t */\r\n\tvar Hash = function(carousel) {\r\n\t\t/**\r\n\t\t * Reference to the core.\r\n\t\t * @protected\r\n\t\t * @type {Owl}\r\n\t\t */\r\n\t\tthis._core = carousel;\r\n\r\n\t\t/**\r\n\t\t * Hash index for the items.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._hashes = {};\r\n\r\n\t\t/**\r\n\t\t * The carousel element.\r\n\t\t * @type {jQuery}\r\n\t\t */\r\n\t\tthis.$element = this._core.$element;\r\n\r\n\t\t/**\r\n\t\t * All event handlers.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._handlers = {\r\n\t\t\t'initialized.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.startPosition === 'URLHash') {\r\n\t\t\t\t\t$(window).trigger('hashchange.owl.navigation');\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'prepared.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace) {\r\n\t\t\t\t\tvar hash = $(e.content).find('[data-hash]').addBack('[data-hash]').attr('data-hash');\r\n\r\n\t\t\t\t\tif (!hash) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis._hashes[hash] = e.content;\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'changed.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && e.property.name === 'position') {\r\n\t\t\t\t\tvar current = this._core.items(this._core.relative(this._core.current())),\r\n\t\t\t\t\t\thash = $.map(this._hashes, function(item, hash) {\r\n\t\t\t\t\t\t\treturn item === current ? hash : null;\r\n\t\t\t\t\t\t}).join();\r\n\r\n\t\t\t\t\tif (!hash || window.location.hash.slice(1) === hash) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.location.hash = hash;\r\n\t\t\t\t}\r\n\t\t\t}, this)\r\n\t\t};\r\n\r\n\t\t// set default options\r\n\t\tthis._core.options = $.extend({}, Hash.Defaults, this._core.options);\r\n\r\n\t\t// register the event handlers\r\n\t\tthis.$element.on(this._handlers);\r\n\r\n\t\t// register event listener for hash navigation\r\n\t\t$(window).on('hashchange.owl.navigation', $.proxy(function(e) {\r\n\t\t\tvar hash = window.location.hash.substring(1),\r\n\t\t\t\titems = this._core.$stage.children(),\r\n\t\t\t\tposition = this._hashes[hash] && items.index(this._hashes[hash]);\r\n\r\n\t\t\tif (position === undefined || position === this._core.current()) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis._core.to(this._core.relative(position), false, true);\r\n\t\t}, this));\r\n\t};\r\n\r\n\t/**\r\n\t * Default options.\r\n\t * @public\r\n\t */\r\n\tHash.Defaults = {\r\n\t\tURLhashListener: false\r\n\t};\r\n\r\n\t/**\r\n\t * Destroys the plugin.\r\n\t * @public\r\n\t */\r\n\tHash.prototype.destroy = function() {\r\n\t\tvar handler, property;\r\n\r\n\t\t$(window).off('hashchange.owl.navigation');\r\n\r\n\t\tfor (handler in this._handlers) {\r\n\t\t\tthis._core.$element.off(handler, this._handlers[handler]);\r\n\t\t}\r\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\r\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn.owlCarousel.Constructor.Plugins.Hash = Hash;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * Support Plugin\r\n *\r\n * @version 2.1.0\r\n * @author Vivid Planet Software GmbH\r\n * @author Artus Kolanowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\r\n\tvar style = $('').get(0).style,\r\n\t\tprefixes = 'Webkit Moz O ms'.split(' '),\r\n\t\tevents = {\r\n\t\t\ttransition: {\r\n\t\t\t\tend: {\r\n\t\t\t\t\tWebkitTransition: 'webkitTransitionEnd',\r\n\t\t\t\t\tMozTransition: 'transitionend',\r\n\t\t\t\t\tOTransition: 'oTransitionEnd',\r\n\t\t\t\t\ttransition: 'transitionend'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tanimation: {\r\n\t\t\t\tend: {\r\n\t\t\t\t\tWebkitAnimation: 'webkitAnimationEnd',\r\n\t\t\t\t\tMozAnimation: 'animationend',\r\n\t\t\t\t\tOAnimation: 'oAnimationEnd',\r\n\t\t\t\t\tanimation: 'animationend'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\ttests = {\r\n\t\t\tcsstransforms: function() {\r\n\t\t\t\treturn !!test('transform');\r\n\t\t\t},\r\n\t\t\tcsstransforms3d: function() {\r\n\t\t\t\treturn !!test('perspective');\r\n\t\t\t},\r\n\t\t\tcsstransitions: function() {\r\n\t\t\t\treturn !!test('transition');\r\n\t\t\t},\r\n\t\t\tcssanimations: function() {\r\n\t\t\t\treturn !!test('animation');\r\n\t\t\t}\r\n\t\t};\r\n\r\n\tfunction test(property, prefixed) {\r\n\t\tvar result = false,\r\n\t\t\tupper = property.charAt(0).toUpperCase() + property.slice(1);\r\n\r\n\t\t$.each((property + ' ' + prefixes.join(upper + ' ') + upper).split(' '), function(i, property) {\r\n\t\t\tif (style[property] !== undefined) {\r\n\t\t\t\tresult = prefixed ? property : true;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn result;\r\n\t}\r\n\r\n\tfunction prefixed(property) {\r\n\t\treturn test(property, true);\r\n\t}\r\n\r\n\tif (tests.csstransitions()) {\r\n\t\t/* jshint -W053 */\r\n\t\t$.support.transition = new String(prefixed('transition'))\r\n\t\t$.support.transition.end = events.transition.end[ $.support.transition ];\r\n\t}\r\n\r\n\tif (tests.cssanimations()) {\r\n\t\t/* jshint -W053 */\r\n\t\t$.support.animation = new String(prefixed('animation'))\r\n\t\t$.support.animation.end = events.animation.end[ $.support.animation ];\r\n\t}\r\n\r\n\tif (tests.csstransforms()) {\r\n\t\t/* jshint -W053 */\r\n\t\t$.support.transform = new String(prefixed('transform'));\r\n\t\t$.support.transform3d = tests.csstransforms3d();\r\n\t}\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n","/*! picturefill - v3.0.2 - 2016-02-12\r\n * https://scottjehl.github.io/picturefill/\r\n * Copyright (c) 2016 https://github.com/scottjehl/picturefill/blob/master/Authors.txt; Licensed MIT\r\n */\r\n!function (a) { var b = navigator.userAgent; a.HTMLPictureElement && /ecko/.test(b) && b.match(/rv\\:(\\d+)/) && RegExp.$1 < 45 && addEventListener(\"resize\", function () { var b, c = document.createElement(\"source\"), d = function (a) { var b, d, e = a.parentNode; \"PICTURE\" === e.nodeName.toUpperCase() ? (b = c.cloneNode(), e.insertBefore(b, e.firstElementChild), setTimeout(function () { e.removeChild(b) })) : (!a._pfLastSize || a.offsetWidth > a._pfLastSize) && (a._pfLastSize = a.offsetWidth, d = a.sizes, a.sizes += \",100vw\", setTimeout(function () { a.sizes = d })) }, e = function () { var a, b = document.querySelectorAll(\"picture > img, img[srcset][sizes]\"); for (a = 0; a < b.length; a++)d(b[a]) }, f = function () { clearTimeout(b), b = setTimeout(e, 99) }, g = a.matchMedia && matchMedia(\"(orientation: landscape)\"), h = function () { f(), g && g.addListener && g.addListener(f) }; return c.srcset = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\", /^[c|i]|d$/.test(document.readyState || \"\") ? h() : document.addEventListener(\"DOMContentLoaded\", h), f }()) }(window), function (a, b, c) { \"use strict\"; function d(a) { return \" \" === a || \" \" === a || \"\\n\" === a || \"\\f\" === a || \"\\r\" === a } function e(b, c) { var d = new a.Image; return d.onerror = function () { A[b] = !1, ba() }, d.onload = function () { A[b] = 1 === d.width, ba() }, d.src = c, \"pending\" } function f() { M = !1, P = a.devicePixelRatio, N = {}, O = {}, s.DPR = P || 1, Q.width = Math.max(a.innerWidth || 0, z.clientWidth), Q.height = Math.max(a.innerHeight || 0, z.clientHeight), Q.vw = Q.width / 100, Q.vh = Q.height / 100, r = [Q.height, Q.width, P].join(\"-\"), Q.em = s.getEmValue(), Q.rem = Q.em } function g(a, b, c, d) { var e, f, g, h; return \"saveData\" === B.algorithm ? a > 2.7 ? h = c + 1 : (f = b - c, e = Math.pow(a - .6, 1.5), g = f * e, d && (g += .1 * e), h = a + g) : h = c > 1 ? Math.sqrt(a * b) : a, h > c } function h(a) { var b, c = s.getSet(a), d = !1; \"pending\" !== c && (d = r, c && (b = s.setRes(c), s.applySetCandidate(b, a))), a[s.ns].evaled = d } function i(a, b) { return a.res - b.res } function j(a, b, c) { var d; return !c && b && (c = a[s.ns].sets, c = c && c[c.length - 1]), d = k(b, c), d && (b = s.makeUrl(b), a[s.ns].curSrc = b, a[s.ns].curCan = d, d.res || aa(d, d.set.sizes)), d } function k(a, b) { var c, d, e; if (a && b) for (e = s.parseSet(b), a = s.makeUrl(a), c = 0; c < e.length; c++)if (a === s.makeUrl(e[c].url)) { d = e[c]; break } return d } function l(a, b) { var c, d, e, f, g = a.getElementsByTagName(\"source\"); for (c = 0, d = g.length; d > c; c++)e = g[c], e[s.ns] = !0, f = e.getAttribute(\"srcset\"), f && b.push({ srcset: f, media: e.getAttribute(\"media\"), type: e.getAttribute(\"type\"), sizes: e.getAttribute(\"sizes\") }) } function m(a, b) { function c(b) { var c, d = b.exec(a.substring(m)); return d ? (c = d[0], m += c.length, c) : void 0 } function e() { var a, c, d, e, f, i, j, k, l, m = !1, o = {}; for (e = 0; e < h.length; e++)f = h[e], i = f[f.length - 1], j = f.substring(0, f.length - 1), k = parseInt(j, 10), l = parseFloat(j), X.test(j) && \"w\" === i ? ((a || c) && (m = !0), 0 === k ? m = !0 : a = k) : Y.test(j) && \"x\" === i ? ((a || c || d) && (m = !0), 0 > l ? m = !0 : c = l) : X.test(j) && \"h\" === i ? ((d || c) && (m = !0), 0 === k ? m = !0 : d = k) : m = !0; m || (o.url = g, a && (o.w = a), c && (o.d = c), d && (o.h = d), d || c || a || (o.d = 1), 1 === o.d && (b.has1x = !0), o.set = b, n.push(o)) } function f() { for (c(T), i = \"\", j = \"in descriptor\"; ;) { if (k = a.charAt(m), \"in descriptor\" === j) if (d(k)) i && (h.push(i), i = \"\", j = \"after descriptor\"); else { if (\",\" === k) return m += 1, i && h.push(i), void e(); if (\"(\" === k) i += k, j = \"in parens\"; else { if (\"\" === k) return i && h.push(i), void e(); i += k } } else if (\"in parens\" === j) if (\")\" === k) i += k, j = \"in descriptor\"; else { if (\"\" === k) return h.push(i), void e(); i += k } else if (\"after descriptor\" === j) if (d(k)); else { if (\"\" === k) return void e(); j = \"in descriptor\", m -= 1 } m += 1 } } for (var g, h, i, j, k, l = a.length, m = 0, n = []; ;) { if (c(U), m >= l) return n; g = c(V), h = [], \",\" === g.slice(-1) ? (g = g.replace(W, \"\"), e()) : f() } } function n(a) { function b(a) { function b() { f && (g.push(f), f = \"\") } function c() { g[0] && (h.push(g), g = []) } for (var e, f = \"\", g = [], h = [], i = 0, j = 0, k = !1; ;) { if (e = a.charAt(j), \"\" === e) return b(), c(), h; if (k) { if (\"*\" === e && \"/\" === a[j + 1]) { k = !1, j += 2, b(); continue } j += 1 } else { if (d(e)) { if (a.charAt(j - 1) && d(a.charAt(j - 1)) || !f) { j += 1; continue } if (0 === i) { b(), j += 1; continue } e = \" \" } else if (\"(\" === e) i += 1; else if (\")\" === e) i -= 1; else { if (\",\" === e) { b(), c(), j += 1; continue } if (\"/\" === e && \"*\" === a.charAt(j + 1)) { k = !0, j += 2; continue } } f += e, j += 1 } } } function c(a) { return k.test(a) && parseFloat(a) >= 0 ? !0 : l.test(a) ? !0 : \"0\" === a || \"-0\" === a || \"+0\" === a ? !0 : !1 } var e, f, g, h, i, j, k = /^(?:[+-]?[0-9]+|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?(?:ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmin|vmax|vw)$/i, l = /^calc\\((?:[0-9a-z \\.\\+\\-\\*\\/\\(\\)]+)\\)$/i; for (f = b(a), g = f.length, e = 0; g > e; e++)if (h = f[e], i = h[h.length - 1], c(i)) { if (j = i, h.pop(), 0 === h.length) return j; if (h = h.join(\" \"), s.matchesMedia(h)) return j } return \"100vw\" } b.createElement(\"picture\"); var o, p, q, r, s = {}, t = !1, u = function () { }, v = b.createElement(\"img\"), w = v.getAttribute, x = v.setAttribute, y = v.removeAttribute, z = b.documentElement, A = {}, B = { algorithm: \"\" }, C = \"data-pfsrc\", D = C + \"set\", E = navigator.userAgent, F = /rident/.test(E) || /ecko/.test(E) && E.match(/rv\\:(\\d+)/) && RegExp.$1 > 35, G = \"currentSrc\", H = /\\s+\\+?\\d+(e\\d+)?w/, I = /(\\([^)]+\\))?\\s*(.+)/, J = a.picturefillCFG, K = \"position:absolute;left:0;visibility:hidden;display:block;padding:0;border:none;font-size:1em;width:1em;overflow:hidden;clip:rect(0px, 0px, 0px, 0px)\", L = \"font-size:100%!important;\", M = !0, N = {}, O = {}, P = a.devicePixelRatio, Q = { px: 1, \"in\": 96 }, R = b.createElement(\"a\"), S = !1, T = /^[ \\t\\n\\r\\u000c]+/, U = /^[, \\t\\n\\r\\u000c]+/, V = /^[^ \\t\\n\\r\\u000c]+/, W = /[,]+$/, X = /^\\d+$/, Y = /^-?(?:[0-9]+|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/, Z = function (a, b, c, d) { a.addEventListener ? a.addEventListener(b, c, d || !1) : a.attachEvent && a.attachEvent(\"on\" + b, c) }, $ = function (a) { var b = {}; return function (c) { return c in b || (b[c] = a(c)), b[c] } }, _ = function () { var a = /^([\\d\\.]+)(em|vw|px)$/, b = function () { for (var a = arguments, b = 0, c = a[0]; ++b in a;)c = c.replace(a[b], a[++b]); return c }, c = $(function (a) { return \"return \" + b((a || \"\").toLowerCase(), /\\band\\b/g, \"&&\", /,/g, \"||\", /min-([a-z-\\s]+):/g, \"e.$1>=\", /max-([a-z-\\s]+):/g, \"e.$1<=\", /calc([^)]+)/g, \"($1)\", /(\\d+[\\.]*[\\d]*)([a-z]+)/g, \"($1 * e.$2)\", /^(?!(e.[a-z]|[0-9\\.&=|><\\+\\-\\*\\(\\)\\/])).*/gi, \"\") + \";\" }); return function (b, d) { var e; if (!(b in N)) if (N[b] = !1, d && (e = b.match(a))) N[b] = e[1] * Q[e[2]]; else try { N[b] = new Function(\"e\", c(b))(Q) } catch (f) { } return N[b] } }(), aa = function (a, b) { return a.w ? (a.cWidth = s.calcListLength(b || \"100vw\"), a.res = a.w / a.cWidth) : a.res = a.d, a }, ba = function (a) { if (t) { var c, d, e, f = a || {}; if (f.elements && 1 === f.elements.nodeType && (\"IMG\" === f.elements.nodeName.toUpperCase() ? f.elements = [f.elements] : (f.context = f.elements, f.elements = null)), c = f.elements || s.qsa(f.context || b, f.reevaluate || f.reselect ? s.sel : s.selShort), e = c.length) { for (s.setupRun(f), S = !0, d = 0; e > d; d++)s.fillImg(c[d], f); s.teardownRun(f) } } }; o = a.console && console.warn ? function (a) { console.warn(a) } : u, G in v || (G = \"src\"), A[\"image/jpeg\"] = !0, A[\"image/gif\"] = !0, A[\"image/png\"] = !0, A[\"image/svg+xml\"] = b.implementation.hasFeature(\"http://www.w3.org/TR/SVG11/feature#Image\", \"1.1\"), s.ns = (\"pf\" + (new Date).getTime()).substr(0, 9), s.supSrcset = \"srcset\" in v, s.supSizes = \"sizes\" in v, s.supPicture = !!a.HTMLPictureElement, s.supSrcset && s.supPicture && !s.supSizes && !function (a) { v.srcset = \"data:,a\", a.src = \"data:,a\", s.supSrcset = v.complete === a.complete, s.supPicture = s.supSrcset && s.supPicture }(b.createElement(\"img\")), s.supSrcset && !s.supSizes ? !function () { var a = \"data:image/gif;base64,R0lGODlhAgABAPAAAP///wAAACH5BAAAAAAALAAAAAACAAEAAAICBAoAOw==\", c = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\", d = b.createElement(\"img\"), e = function () { var a = d.width; 2 === a && (s.supSizes = !0), q = s.supSrcset && !s.supSizes, t = !0, setTimeout(ba) }; d.onload = e, d.onerror = e, d.setAttribute(\"sizes\", \"9px\"), d.srcset = c + \" 1w,\" + a + \" 9w\", d.src = c }() : t = !0, s.selShort = \"picture>img,img[srcset]\", s.sel = s.selShort, s.cfg = B, s.DPR = P || 1, s.u = Q, s.types = A, s.setSize = u, s.makeUrl = $(function (a) { return R.href = a, R.href }), s.qsa = function (a, b) { return \"querySelector\" in a ? a.querySelectorAll(b) : [] }, s.matchesMedia = function () { return a.matchMedia && (matchMedia(\"(min-width: 0.1em)\") || {}).matches ? s.matchesMedia = function (a) { return !a || matchMedia(a).matches } : s.matchesMedia = s.mMQ, s.matchesMedia.apply(this, arguments) }, s.mMQ = function (a) { return a ? _(a) : !0 }, s.calcLength = function (a) { var b = _(a, !0) || !1; return 0 > b && (b = !1), b }, s.supportsType = function (a) { return a ? A[a] : !0 }, s.parseSize = $(function (a) { var b = (a || \"\").match(I); return { media: b && b[1], length: b && b[2] } }), s.parseSet = function (a) { return a.cands || (a.cands = m(a.srcset, a)), a.cands }, s.getEmValue = function () { var a; if (!p && (a = b.body)) { var c = b.createElement(\"div\"), d = z.style.cssText, e = a.style.cssText; c.style.cssText = K, z.style.cssText = L, a.style.cssText = L, a.appendChild(c), p = c.offsetWidth, a.removeChild(c), p = parseFloat(p, 10), z.style.cssText = d, a.style.cssText = e } return p || 16 }, s.calcListLength = function (a) { if (!(a in O) || B.uT) { var b = s.calcLength(n(a)); O[a] = b ? b : Q.width } return O[a] }, s.setRes = function (a) { var b; if (a) { b = s.parseSet(a); for (var c = 0, d = b.length; d > c; c++)aa(b[c], a.sizes) } return b }, s.setRes.res = aa, s.applySetCandidate = function (a, b) { if (a.length) { var c, d, e, f, h, k, l, m, n, o = b[s.ns], p = s.DPR; if (k = o.curSrc || b[G], l = o.curCan || j(b, k, a[0].set), l && l.set === a[0].set && (n = F && !b.complete && l.res - .1 > p, n || (l.cached = !0, l.res >= p && (h = l))), !h) for (a.sort(i), f = a.length, h = a[f - 1], d = 0; f > d; d++)if (c = a[d], c.res >= p) { e = d - 1, h = a[e] && (n || k !== s.makeUrl(c.url)) && g(a[e].res, c.res, p, a[e].cached) ? a[e] : c; break } h && (m = s.makeUrl(h.url), o.curSrc = m, o.curCan = h, m !== k && s.setSrc(b, h), s.setSize(b)) } }, s.setSrc = function (a, b) { var c; a.src = b.url, \"image/svg+xml\" === b.set.type && (c = a.style.width, a.style.width = a.offsetWidth + 1 + \"px\", a.offsetWidth + 1 && (a.style.width = c)) }, s.getSet = function (a) { var b, c, d, e = !1, f = a[s.ns].sets; for (b = 0; b < f.length && !e; b++)if (c = f[b], c.srcset && s.matchesMedia(c.media) && (d = s.supportsType(c.type))) { \"pending\" === d && (c = d), e = c; break } return e }, s.parseSets = function (a, b, d) { var e, f, g, h, i = b && \"PICTURE\" === b.nodeName.toUpperCase(), j = a[s.ns]; (j.src === c || d.src) && (j.src = w.call(a, \"src\"), j.src ? x.call(a, C, j.src) : y.call(a, C)), (j.srcset === c || d.srcset || !s.supSrcset || a.srcset) && (e = w.call(a, \"srcset\"), j.srcset = e, h = !0), j.sets = [], i && (j.pic = !0, l(b, j.sets)), j.srcset ? (f = { srcset: j.srcset, sizes: w.call(a, \"sizes\") }, j.sets.push(f), g = (q || j.src) && H.test(j.srcset || \"\"), g || !j.src || k(j.src, f) || f.has1x || (f.srcset += \", \" + j.src, f.cands.push({ url: j.src, d: 1, set: f }))) : j.src && j.sets.push({ srcset: j.src, sizes: null }), j.curCan = null, j.curSrc = c, j.supported = !(i || f && !s.supSrcset || g && !s.supSizes), h && s.supSrcset && !j.supported && (e ? (x.call(a, D, e), a.srcset = \"\") : y.call(a, D)), j.supported && !j.srcset && (!j.src && a.src || a.src !== s.makeUrl(j.src)) && (null === j.src ? a.removeAttribute(\"src\") : a.src = j.src), j.parsed = !0 }, s.fillImg = function (a, b) { var c, d = b.reselect || b.reevaluate; a[s.ns] || (a[s.ns] = {}), c = a[s.ns], (d || c.evaled !== r) && ((!c.parsed || b.reevaluate) && s.parseSets(a, a.parentNode, b), c.supported ? c.evaled = r : h(a)) }, s.setupRun = function () { (!S || M || P !== a.devicePixelRatio) && f() }, s.supPicture ? (ba = u, s.fillImg = u) : !function () { var c, d = a.attachEvent ? /d$|^c/ : /d$|^c|^i/, e = function () { var a = b.readyState || \"\"; f = setTimeout(e, \"loading\" === a ? 200 : 999), b.body && (s.fillImgs(), c = c || d.test(a), c && clearTimeout(f)) }, f = setTimeout(e, b.body ? 9 : 99), g = function (a, b) { var c, d, e = function () { var f = new Date - d; b > f ? c = setTimeout(e, b - f) : (c = null, a()) }; return function () { d = new Date, c || (c = setTimeout(e, b)) } }, h = z.clientHeight, i = function () { M = Math.max(a.innerWidth || 0, z.clientWidth) !== Q.width || z.clientHeight !== h, h = z.clientHeight, M && s.fillImgs() }; Z(a, \"resize\", g(i, 99)), Z(b, \"readystatechange\", e) }(), s.picturefill = ba, s.fillImgs = ba, s.teardownRun = u, ba._ = s, a.picturefillCFG = { pf: s, push: function (a) { var b = a.shift(); \"function\" == typeof s[b] ? s[b].apply(s, a) : (B[b] = a[0], S && s.fillImgs({ reselect: !0 })) } }; for (; J && J.length;)a.picturefillCFG.push(J.shift()); a.picturefill = ba, \"object\" == typeof module && \"object\" == typeof module.exports ? module.exports = ba : \"function\" == typeof define && define.amd && define(\"picturefill\", function () { return ba }), s.supPicture || (A[\"image/webp\"] = e(\"image/webp\", \"data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA==\")) }(window, document);","(function( w ) {\r\n \"use strict\";\r\n\r\n /**\r\n * Utilities\r\n */\r\n var escapeRegExp = function( string ) {\r\n return string.replace( /[.*+?^${}()|[\\]\\\\]/g, '\\\\$&' );\r\n };\r\n\r\n /**\r\n * Default options\r\n * Redefine this value to replace some of the options\r\n * (ex: w.picturefillBackgroundOptions.selector = \"custom\";)\r\n */\r\n w.picturefillBackgroundOptions = {\r\n selector: \"picturefill-background\",\r\n //backgroundSize: \"cover\",\r\n //backgroundRepeat: \"no-repeat\",\r\n //backgroundPosition: \"50% 50%\"\r\n };\r\n\r\n /**\r\n * Apply a responsive background image\r\n */\r\n w.picturefillBackground = function() {\r\n var picturefills = w.document.getElementsByClassName( w.picturefillBackgroundOptions.selector );\r\n\r\n for ( var i = 0, il = picturefills.length; i < il; i++ ) {\r\n var sources = picturefills[ i ].getElementsByTagName( \"span\" ),\r\n matches = [];\r\n\r\n for( var j = 0, jl = sources.length; j < jl; j++ ) {\r\n var src = sources[ j ].getAttribute( \"data-src\" ),\r\n media = sources[ j ].getAttribute( \"data-media\" );\r\n\r\n if ( src && (!media || ( w.matchMedia && w.matchMedia( media ).matches )) ) {\r\n matches.push( src );\r\n }\r\n }\r\n\r\n if ( matches.length ) {\r\n src = matches.pop();\r\n var exp = new RegExp( escapeRegExp( src ) );\r\n\r\n // Update target element's background image, if necessary\r\n if ( !exp.test( picturefills[ i ].style.backgroundImage ) ) {\r\n picturefills[i].style.backgroundImage = \"url('\" + src + \"')\";\r\n picturefills[i].style.backgroundSize = w.picturefillBackgroundOptions.backgroundSize;\r\n picturefills[i].style.backgroundRepeat = w.picturefillBackgroundOptions.backgroundRepeat;\r\n picturefills[i].style.backgroundPosition = w.picturefillBackgroundOptions.backgroundPosition;\r\n }\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * Run on resize and domready (w.load as a fallback)\r\n */\r\n if ( w.addEventListener ) {\r\n w.addEventListener( \"load\", w.picturefillBackground, false );\r\n w.addEventListener( \"resize\", w.picturefillBackground, false );\r\n w.addEventListener( \"DOMContentLoaded\", function() {\r\n w.picturefillBackground();\r\n w.removeEventListener( \"load\", w.picturefillBackground, false );\r\n }, false );\r\n }\r\n else if ( w.attachEvent ) {\r\n w.attachEvent( \"onload\", w.picturefillBackground );\r\n }\r\n\r\n}( this ));\r\n","/**\r\n * what-input - A global utility for tracking the current input method (mouse, keyboard or touch).\r\n * @version v5.0.3\r\n * @link https://github.com/ten1seven/what-input\r\n * @license MIT\r\n */\r\n(function webpackUniversalModuleDefinition(root, factory) {\r\n if (typeof exports === 'object' && typeof module === 'object')\r\n module.exports = factory();\r\n else if (typeof define === 'function' && define.amd)\r\n define(\"whatInput\", [], factory);\r\n else if (typeof exports === 'object')\r\n exports[\"whatInput\"] = factory();\r\n else\r\n root[\"whatInput\"] = factory();\r\n})(this, function () {\r\n return /******/ (function (modules) { // webpackBootstrap\r\n /******/ \t// The module cache\r\n /******/ \tvar installedModules = {};\r\n\r\n /******/ \t// The require function\r\n /******/ \tfunction __webpack_require__(moduleId) {\r\n\r\n /******/ \t\t// Check if module is in cache\r\n /******/ \t\tif (installedModules[moduleId])\r\n /******/ \t\t\treturn installedModules[moduleId].exports;\r\n\r\n /******/ \t\t// Create a new module (and put it into the cache)\r\n /******/ \t\tvar module = installedModules[moduleId] = {\r\n /******/ \t\t\texports: {},\r\n /******/ \t\t\tid: moduleId,\r\n /******/ \t\t\tloaded: false\r\n /******/\r\n };\r\n\r\n /******/ \t\t// Execute the module function\r\n /******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\r\n\r\n /******/ \t\t// Flag the module as loaded\r\n /******/ \t\tmodule.loaded = true;\r\n\r\n /******/ \t\t// Return the exports of the module\r\n /******/ \t\treturn module.exports;\r\n /******/\r\n }\r\n\r\n\r\n /******/ \t// expose the modules object (__webpack_modules__)\r\n /******/ \t__webpack_require__.m = modules;\r\n\r\n /******/ \t// expose the module cache\r\n /******/ \t__webpack_require__.c = installedModules;\r\n\r\n /******/ \t// __webpack_public_path__\r\n /******/ \t__webpack_require__.p = \"\";\r\n\r\n /******/ \t// Load entry module and return exports\r\n /******/ \treturn __webpack_require__(0);\r\n /******/\r\n })\r\n /************************************************************************/\r\n /******/([\r\n /* 0 */\r\n /***/ (function (module, exports) {\r\n\r\n 'use strict';\r\n\r\n module.exports = function () {\r\n /*\r\n * variables\r\n */\r\n\r\n // cache document.documentElement\r\n var docElem = document.documentElement;\r\n\r\n // currently focused dom element\r\n var currentElement = null;\r\n\r\n // last used input type\r\n var currentInput = 'initial';\r\n\r\n // last used input intent\r\n var currentIntent = currentInput;\r\n\r\n // event buffer timer\r\n var eventTimer = null;\r\n\r\n // form input types\r\n var formInputs = ['input', 'select', 'textarea'];\r\n\r\n // empty array for holding callback functions\r\n var functionList = [];\r\n\r\n // list of modifier keys commonly used with the mouse and\r\n // can be safely ignored to prevent false keyboard detection\r\n var ignoreMap = [16, // shift\r\n 17, // control\r\n 18, // alt\r\n 91, // Windows key / left Apple cmd\r\n 93 // Windows menu / right Apple cmd\r\n ];\r\n\r\n // mapping of events to input types\r\n var inputMap = {\r\n keydown: 'keyboard',\r\n keyup: 'keyboard',\r\n mousedown: 'mouse',\r\n mousemove: 'mouse',\r\n MSPointerDown: 'pointer',\r\n MSPointerMove: 'pointer',\r\n pointerdown: 'pointer',\r\n pointermove: 'pointer',\r\n touchstart: 'touch'\r\n\r\n // boolean: true if touch buffer is active\r\n }; var isBuffering = false;\r\n\r\n // boolean: true if the page is being scrolled\r\n var isScrolling = false;\r\n\r\n // store current mouse position\r\n var mousePos = {\r\n x: null,\r\n y: null\r\n\r\n // map of IE 10 pointer events\r\n }; var pointerMap = {\r\n 2: 'touch',\r\n 3: 'touch', // treat pen like touch\r\n 4: 'mouse'\r\n\r\n // check support for passive event listeners\r\n }; var supportsPassive = false;\r\n\r\n try {\r\n var opts = Object.defineProperty({}, 'passive', {\r\n get: function get() {\r\n supportsPassive = true;\r\n }\r\n });\r\n\r\n window.addEventListener('test', null, opts);\r\n } catch (e) { }\r\n\r\n /*\r\n * set up\r\n */\r\n\r\n var setUp = function setUp() {\r\n // add correct mouse wheel event mapping to `inputMap`\r\n inputMap[detectWheel()] = 'mouse';\r\n\r\n addListeners();\r\n doUpdate('input');\r\n doUpdate('intent');\r\n };\r\n\r\n /*\r\n * events\r\n */\r\n\r\n var addListeners = function addListeners() {\r\n // `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding\r\n // can only demonstrate potential, but not actual, interaction\r\n // and are treated separately\r\n var options = supportsPassive ? { passive: true } : false;\r\n\r\n // pointer events (mouse, pen, touch)\r\n if (window.PointerEvent) {\r\n window.addEventListener('pointerdown', setInput);\r\n window.addEventListener('pointermove', setIntent);\r\n } else if (window.MSPointerEvent) {\r\n window.addEventListener('MSPointerDown', setInput);\r\n window.addEventListener('MSPointerMove', setIntent);\r\n } else {\r\n // mouse events\r\n window.addEventListener('mousedown', setInput);\r\n window.addEventListener('mousemove', setIntent);\r\n\r\n // touch events\r\n if ('ontouchstart' in window) {\r\n window.addEventListener('touchstart', eventBuffer, options);\r\n window.addEventListener('touchend', setInput);\r\n }\r\n }\r\n\r\n // mouse wheel\r\n window.addEventListener(detectWheel(), setIntent, options);\r\n\r\n // keyboard events\r\n window.addEventListener('keydown', eventBuffer);\r\n window.addEventListener('keyup', eventBuffer);\r\n\r\n // focus events\r\n window.addEventListener('focusin', setElement);\r\n window.addEventListener('focusout', clearElement);\r\n };\r\n\r\n // checks conditions before updating new input\r\n var setInput = function setInput(event) {\r\n // only execute if the event buffer timer isn't running\r\n if (!isBuffering) {\r\n var eventKey = event.which;\r\n var value = inputMap[event.type];\r\n\r\n if (value === 'pointer') {\r\n value = pointerType(event);\r\n }\r\n\r\n var shouldUpdate = value === 'keyboard' && eventKey && ignoreMap.indexOf(eventKey) === -1 || value === 'mouse' || value === 'touch';\r\n\r\n if (currentInput !== value && shouldUpdate) {\r\n currentInput = value;\r\n doUpdate('input');\r\n }\r\n\r\n if (currentIntent !== value && shouldUpdate) {\r\n // preserve intent for keyboard typing in form fields\r\n var activeElem = document.activeElement;\r\n var notFormInput = activeElem && activeElem.nodeName && formInputs.indexOf(activeElem.nodeName.toLowerCase()) === -1;\r\n\r\n if (notFormInput) {\r\n currentIntent = value;\r\n doUpdate('intent');\r\n }\r\n }\r\n }\r\n };\r\n\r\n // updates the doc and `inputTypes` array with new input\r\n var doUpdate = function doUpdate(which) {\r\n docElem.setAttribute('data-what' + which, which === 'input' ? currentInput : currentIntent);\r\n\r\n fireFunctions(which);\r\n };\r\n\r\n // updates input intent for `mousemove` and `pointermove`\r\n var setIntent = function setIntent(event) {\r\n // test to see if `mousemove` happened relative to the screen to detect scrolling versus mousemove\r\n detectScrolling(event);\r\n\r\n // only execute if the event buffer timer isn't running\r\n // or scrolling isn't happening\r\n if (!isBuffering && !isScrolling) {\r\n var value = inputMap[event.type];\r\n if (value === 'pointer') {\r\n value = pointerType(event);\r\n }\r\n\r\n if (currentIntent !== value) {\r\n currentIntent = value;\r\n doUpdate('intent');\r\n }\r\n }\r\n };\r\n\r\n var setElement = function setElement(event) {\r\n currentElement = event.target.nodeName.toLowerCase();\r\n docElem.setAttribute('data-whatelement', currentElement);\r\n\r\n if (event.target.classList && event.target.classList.length) {\r\n docElem.setAttribute('data-whatclasses', event.target.classList.toString().replace(' ', ','));\r\n }\r\n };\r\n\r\n var clearElement = function clearElement() {\r\n currentElement = null;\r\n\r\n docElem.removeAttribute('data-whatelement');\r\n docElem.removeAttribute('data-whatclasses');\r\n };\r\n\r\n // buffers events that frequently also fire mouse events\r\n var eventBuffer = function eventBuffer(event) {\r\n // set the current input\r\n setInput(event);\r\n\r\n // clear the timer if it happens to be running\r\n window.clearTimeout(eventTimer);\r\n\r\n // set the isBuffering to `true`\r\n isBuffering = true;\r\n\r\n // run the timer\r\n eventTimer = window.setTimeout(function () {\r\n // if the timer runs out, set isBuffering back to `false`\r\n isBuffering = false;\r\n }, 100);\r\n };\r\n\r\n /*\r\n * utilities\r\n */\r\n\r\n var pointerType = function pointerType(event) {\r\n if (typeof event.pointerType === 'number') {\r\n return pointerMap[event.pointerType];\r\n } else {\r\n // treat pen like touch\r\n return event.pointerType === 'pen' ? 'touch' : event.pointerType;\r\n }\r\n };\r\n\r\n // detect version of mouse wheel event to use\r\n // via https://developer.mozilla.org/en-US/docs/Web/Events/wheel\r\n var detectWheel = function detectWheel() {\r\n var wheelType = void 0;\r\n\r\n // Modern browsers support \"wheel\"\r\n if ('onwheel' in document.createElement('div')) {\r\n wheelType = 'wheel';\r\n } else {\r\n // Webkit and IE support at least \"mousewheel\"\r\n // or assume that remaining browsers are older Firefox\r\n wheelType = document.onmousewheel !== undefined ? 'mousewheel' : 'DOMMouseScroll';\r\n }\r\n\r\n return wheelType;\r\n };\r\n\r\n // runs callback functions\r\n var fireFunctions = function fireFunctions(type) {\r\n for (var i = 0, len = functionList.length; i < len; i++) {\r\n if (functionList[i].type === type) {\r\n functionList[i].fn.call(undefined, type === 'input' ? currentInput : currentIntent);\r\n }\r\n }\r\n };\r\n\r\n // finds matching element in an object\r\n var objPos = function objPos(match) {\r\n for (var i = 0, len = functionList.length; i < len; i++) {\r\n if (functionList[i].fn === match) {\r\n return i;\r\n }\r\n }\r\n };\r\n\r\n var detectScrolling = function detectScrolling(event) {\r\n if (mousePos['x'] !== event.screenX || mousePos['y'] !== event.screenY) {\r\n isScrolling = false;\r\n\r\n mousePos['x'] = event.screenX;\r\n mousePos['y'] = event.screenY;\r\n } else {\r\n isScrolling = true;\r\n }\r\n };\r\n\r\n /*\r\n * init\r\n */\r\n\r\n // don't start script unless browser cuts the mustard\r\n // (also passes if polyfills are used)\r\n if ('addEventListener' in window && Array.prototype.indexOf) {\r\n setUp();\r\n }\r\n\r\n /*\r\n * api\r\n */\r\n\r\n return {\r\n // returns string: the current input type\r\n // opt: 'intent'|'input'\r\n // 'input' (default): returns the same value as the `data-whatinput` attribute\r\n // 'intent': includes `data-whatintent` value if it's different than `data-whatinput`\r\n ask: function ask(opt) {\r\n return opt === 'intent' ? currentIntent : currentInput;\r\n },\r\n\r\n // returns string: the currently focused element or null\r\n element: function element() {\r\n return currentElement;\r\n },\r\n\r\n // overwrites ignored keys with provided array\r\n ignoreKeys: function ignoreKeys(arr) {\r\n ignoreMap = arr;\r\n },\r\n\r\n // attach functions to input and intent \"events\"\r\n // funct: function to fire on change\r\n // eventType: 'input'|'intent'\r\n registerOnChange: function registerOnChange(fn, eventType) {\r\n functionList.push({\r\n fn: fn,\r\n type: eventType || 'input'\r\n });\r\n },\r\n\r\n unRegisterOnChange: function unRegisterOnChange(fn) {\r\n var position = objPos(fn);\r\n\r\n if (position) {\r\n functionList.splice(position, 1);\r\n }\r\n }\r\n };\r\n }();\r\n\r\n /***/\r\n })\r\n /******/])\r\n});\r\n;","!function () { \"use strict\"; function o() { var o = window, t = document; if (!(\"scrollBehavior\" in t.documentElement.style && !0 !== o.__forceSmoothScrollPolyfill__)) { var l, e = o.HTMLElement || o.Element, r = 468, i = { scroll: o.scroll || o.scrollTo, scrollBy: o.scrollBy, elementScroll: e.prototype.scroll || n, scrollIntoView: e.prototype.scrollIntoView }, s = o.performance && o.performance.now ? o.performance.now.bind(o.performance) : Date.now, c = (l = o.navigator.userAgent, new RegExp([\"MSIE \", \"Trident/\", \"Edge/\"].join(\"|\")).test(l) ? 1 : 0); o.scroll = o.scrollTo = function () { void 0 !== arguments[0] && (!0 !== f(arguments[0]) ? h.call(o, t.body, void 0 !== arguments[0].left ? ~~arguments[0].left : o.scrollX || o.pageXOffset, void 0 !== arguments[0].top ? ~~arguments[0].top : o.scrollY || o.pageYOffset) : i.scroll.call(o, void 0 !== arguments[0].left ? arguments[0].left : \"object\" != typeof arguments[0] ? arguments[0] : o.scrollX || o.pageXOffset, void 0 !== arguments[0].top ? arguments[0].top : void 0 !== arguments[1] ? arguments[1] : o.scrollY || o.pageYOffset)) }, o.scrollBy = function () { void 0 !== arguments[0] && (f(arguments[0]) ? i.scrollBy.call(o, void 0 !== arguments[0].left ? arguments[0].left : \"object\" != typeof arguments[0] ? arguments[0] : 0, void 0 !== arguments[0].top ? arguments[0].top : void 0 !== arguments[1] ? arguments[1] : 0) : h.call(o, t.body, ~~arguments[0].left + (o.scrollX || o.pageXOffset), ~~arguments[0].top + (o.scrollY || o.pageYOffset))) }, e.prototype.scroll = e.prototype.scrollTo = function () { if (void 0 !== arguments[0]) if (!0 !== f(arguments[0])) { var o = arguments[0].left, t = arguments[0].top; h.call(this, this, void 0 === o ? this.scrollLeft : ~~o, void 0 === t ? this.scrollTop : ~~t) } else { if (\"number\" == typeof arguments[0] && void 0 === arguments[1]) throw new SyntaxError(\"Value could not be converted\"); i.elementScroll.call(this, void 0 !== arguments[0].left ? ~~arguments[0].left : \"object\" != typeof arguments[0] ? ~~arguments[0] : this.scrollLeft, void 0 !== arguments[0].top ? ~~arguments[0].top : void 0 !== arguments[1] ? ~~arguments[1] : this.scrollTop) } }, e.prototype.scrollBy = function () { void 0 !== arguments[0] && (!0 !== f(arguments[0]) ? this.scroll({ left: ~~arguments[0].left + this.scrollLeft, top: ~~arguments[0].top + this.scrollTop, behavior: arguments[0].behavior }) : i.elementScroll.call(this, void 0 !== arguments[0].left ? ~~arguments[0].left + this.scrollLeft : ~~arguments[0] + this.scrollLeft, void 0 !== arguments[0].top ? ~~arguments[0].top + this.scrollTop : ~~arguments[1] + this.scrollTop)) }, e.prototype.scrollIntoView = function () { if (!0 !== f(arguments[0])) { var l = function (o) { var l, e, r, i; do { l = (o = o.parentNode) === t.body } while (!1 === l && !1 === (r = p(e = o, \"Y\") && a(e, \"Y\"), i = p(e, \"X\") && a(e, \"X\"), r || i)); return l = null, o }(this), e = l.getBoundingClientRect(), r = this.getBoundingClientRect(); l !== t.body ? (h.call(this, l, l.scrollLeft + r.left - e.left, l.scrollTop + r.top - e.top), \"fixed\" !== o.getComputedStyle(l).position && o.scrollBy({ left: e.left, top: e.top, behavior: \"smooth\" })) : o.scrollBy({ left: r.left, top: r.top, behavior: \"smooth\" }) } else i.scrollIntoView.call(this, void 0 === arguments[0] || arguments[0]) } } function n(o, t) { this.scrollLeft = o, this.scrollTop = t } function f(o) { if (null === o || \"object\" != typeof o || void 0 === o.behavior || \"auto\" === o.behavior || \"instant\" === o.behavior) return !0; if (\"object\" == typeof o && \"smooth\" === o.behavior) return !1; throw new TypeError(\"behavior member of ScrollOptions \" + o.behavior + \" is not a valid value for enumeration ScrollBehavior.\") } function p(o, t) { return \"Y\" === t ? o.clientHeight + c < o.scrollHeight : \"X\" === t ? o.clientWidth + c < o.scrollWidth : void 0 } function a(t, l) { var e = o.getComputedStyle(t, null)[\"overflow\" + l]; return \"auto\" === e || \"scroll\" === e } function d(t) { var l, e, i, c, n = (s() - t.startTime) / r; c = n = n > 1 ? 1 : n, l = .5 * (1 - Math.cos(Math.PI * c)), e = t.startX + (t.x - t.startX) * l, i = t.startY + (t.y - t.startY) * l, t.method.call(t.scrollable, e, i), e === t.x && i === t.y || o.requestAnimationFrame(d.bind(o, t)) } function h(l, e, r) { var c, f, p, a, h = s(); l === t.body ? (c = o, f = o.scrollX || o.pageXOffset, p = o.scrollY || o.pageYOffset, a = i.scroll) : (c = l, f = l.scrollLeft, p = l.scrollTop, a = n), d({ scrollable: c, method: a, startTime: h, startX: f, startY: p, x: e, y: r }) } } \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = { polyfill: o } : o() }();","/*\r\n * Lightcase - jQuery Plugin\r\n * The smart and flexible Lightbox Plugin.\r\n *\r\n * @author\t\tCornel Boppart \r\n * @copyright\tAuthor\r\n *\r\n * @version\t\t2.5.0 (11/03/2018)\r\n */\r\n\r\n;(function ($) {\r\n\r\n\t'use strict';\r\n\r\n\tvar _self = {\r\n\t\tcache: {},\r\n\r\n\t\tsupport: {},\r\n\r\n\t\tobjects: {},\r\n\r\n\t\t/**\r\n\t\t * Initializes the plugin\r\n\t\t *\r\n\t\t * @param\t{object}\toptions\r\n\t\t * @return\t{object}\r\n\t\t */\r\n\t\tinit: function (options) {\r\n\t\t\treturn this.each(function () {\r\n\t\t\t\t$(this).unbind('click.lightcase').bind('click.lightcase', function (event) {\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t$(this).lightcase('start', options);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Starts the plugin\r\n\t\t *\r\n\t\t * @param\t{object}\toptions\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\tstart: function (options) {\r\n\t\t\t_self.origin = lightcase.origin = this;\r\n\r\n\t\t\t_self.settings = lightcase.settings = $.extend(true, {\r\n\t\t\t\tidPrefix: 'lightcase-',\r\n\t\t\t\tclassPrefix: 'lightcase-',\r\n\t\t\t\tattrPrefix: 'lc-',\r\n\t\t\t\ttransition: 'elastic',\r\n\t\t\t\ttransitionOpen: null,\r\n\t\t\t\ttransitionClose: null,\r\n\t\t\t\ttransitionIn: null,\r\n\t\t\t\ttransitionOut: null,\r\n\t\t\t\tcssTransitions: true,\r\n\t\t\t\tspeedIn: 250,\r\n\t\t\t\tspeedOut: 250,\r\n\t\t\t\twidth: null,\r\n\t\t\t\theight: null,\r\n\t\t\t\tmaxWidth: 1200,\r\n\t\t\t\tmaxHeight: 840,\r\n\t\t\t\tforceWidth: false,\r\n\t\t\t\tforceHeight: false,\r\n\t\t\t\tliveResize: true,\r\n\t\t\t\tfullScreenModeForMobile: true,\r\n\t\t\t\tmobileMatchExpression: /(iphone|ipod|ipad|android|blackberry|symbian)/,\r\n\t\t\t\tdisableShrink: false,\r\n\t\t\t\tfixedRatio: true,\r\n\t\t\t\tshrinkFactor: .75,\r\n\t\t\t\toverlayOpacity: .9,\r\n\t\t\t\tslideshow: false,\r\n\t\t\t\tslideshowAutoStart: true,\r\n\t\t\t\tbreakBeforeShow: false,\r\n\t\t\t\ttimeout: 5000,\r\n\t\t\t\tswipe: true,\r\n\t\t\t\tuseKeys: true,\r\n\t\t\t\tuseCategories: true,\r\n\t\t\t\tuseAsCollection: false,\r\n\t\t\t\tnavigateEndless: true,\r\n\t\t\t\tcloseOnOverlayClick: true,\r\n\t\t\t\ttitle: null,\r\n\t\t\t\tcaption: null,\r\n\t\t\t\tshowTitle: true,\r\n\t\t\t\tshowCaption: true,\r\n\t\t\t\tshowSequenceInfo: true,\r\n\t\t\t\tinline: {\r\n\t\t\t\t\twidth: 'auto',\r\n\t\t\t\t\theight: 'auto'\r\n\t\t\t\t},\r\n\t\t\t\tajax: {\r\n\t\t\t\t\twidth: 'auto',\r\n\t\t\t\t\theight: 'auto',\r\n\t\t\t\t\ttype: 'get',\r\n\t\t\t\t\tdataType: 'html',\r\n\t\t\t\t\tdata: {}\r\n\t\t\t\t},\r\n\t\t\t\tiframe: {\r\n\t\t\t\t\twidth: 800,\r\n\t\t\t\t\theight: 500,\r\n\t\t\t\t\tframeborder: 0\r\n\t\t\t\t},\r\n\t\t\t\tflash: {\r\n\t\t\t\t\twidth: 400,\r\n\t\t\t\t\theight: 205,\r\n\t\t\t\t\twmode: 'transparent'\r\n\t\t\t\t},\r\n\t\t\t\tvideo: {\r\n\t\t\t\t\twidth: 400,\r\n\t\t\t\t\theight: 225,\r\n\t\t\t\t\tposter: '',\r\n\t\t\t\t\tpreload: 'auto',\r\n\t\t\t\t\tcontrols: true,\r\n\t\t\t\t\tautobuffer: true,\r\n\t\t\t\t\tautoplay: true,\r\n\t\t\t\t\tloop: false\r\n\t\t\t\t},\r\n\t\t\t\tattr: 'data-rel',\r\n\t\t\t\thref: null,\r\n\t\t\t\ttype: null,\r\n\t\t\t\ttypeMapping: {\r\n\t\t\t\t\t'image': 'jpg,jpeg,gif,png,bmp',\r\n\t\t\t\t\t'flash': 'swf',\r\n\t\t\t\t\t'video': 'mp4,mov,ogv,ogg,webm',\r\n\t\t\t\t\t'iframe': 'html,php',\r\n\t\t\t\t\t'ajax': 'json,txt',\r\n\t\t\t\t\t'inline': '#'\r\n\t\t\t\t},\r\n\t\t\t\terrorMessage: function () {\r\n\t\t\t\t\treturn '

    ' + _self.settings.labels['errorMessage'] + '

    ';\r\n\t\t\t\t},\r\n\t\t\t\tlabels: {\r\n\t\t\t\t\t'errorMessage': 'Source could not be found...',\r\n\t\t\t\t\t'sequenceInfo.of': ' of ',\r\n\t\t\t\t\t'close': 'Close',\r\n\t\t\t\t\t'navigator.prev': 'Prev',\r\n\t\t\t\t\t'navigator.next': 'Next',\r\n \t\t\t\t\t'navigator.play': 'Play',\r\n\t\t\t\t\t'navigator.pause': 'Pause'\r\n\t\t\t\t},\r\n\t\t\t\tmarkup: function () {\r\n\t\t\t\t\t_self.objects.body.append(\r\n\t\t\t\t\t\t_self.objects.overlay = $('
    '),\r\n\t\t\t\t\t\t_self.objects.loading = $('
    '),\r\n\t\t\t\t\t\t_self.objects.case = $('
    ')\r\n\t\t\t\t\t);\r\n\t\t\t\t\t_self.objects.case.after(\r\n\t\t\t\t\t\t_self.objects.close = $('
    ' + _self.settings.labels['close'] + ''),\r\n\t\t\t\t\t\t_self.objects.nav = $('
    ')\r\n\t\t\t\t\t);\r\n\t\t\t\t\t_self.objects.nav.append(\r\n\t\t\t\t\t\t_self.objects.prev = $('' + _self.settings.labels['navigator.prev'] + '').hide(),\r\n\t\t\t\t\t\t_self.objects.next = $('' + _self.settings.labels['navigator.next'] + '').hide(),\r\n\t\t\t\t\t\t_self.objects.play = $('' + _self.settings.labels['navigator.play'] + '').hide(),\r\n\t\t\t\t\t\t_self.objects.pause = $('' + _self.settings.labels['navigator.pause'] + '').hide()\r\n\t\t\t\t\t);\r\n\t\t\t\t\t_self.objects.case.append(\r\n\t\t\t\t\t\t_self.objects.content = $('
    '),\r\n\t\t\t\t\t\t_self.objects.info = $('
    ')\r\n\t\t\t\t\t);\r\n\t\t\t\t\t_self.objects.content.append(\r\n\t\t\t\t\t\t_self.objects.contentInner = $('
    ')\r\n\t\t\t\t\t);\r\n\t\t\t\t\t_self.objects.info.append(\r\n\t\t\t\t\t\t_self.objects.sequenceInfo = $('
    '),\r\n\t\t\t\t\t\t_self.objects.title = $('

    '),\r\n\t\t\t\t\t\t_self.objects.caption = $('

    ')\r\n\t\t\t\t\t);\r\n\t\t\t\t},\r\n\t\t\t\tonInit: {},\r\n\t\t\t\tonStart: {},\r\n\t\t\t\tonBeforeCalculateDimensions: {},\r\n\t\t\t\tonAfterCalculateDimensions: {},\r\n\t\t\t\tonBeforeShow: {},\r\n\t\t\t\tonFinish: {},\r\n\t\t\t\tonResize: {},\r\n\t\t\t\tonClose: {},\r\n\t\t\t\tonCleanup: {}\r\n\t\t\t},\r\n\t\t\toptions,\r\n\t\t\t// Load options from data-lc-options attribute\r\n\t\t\t_self.origin.data ? _self.origin.data('lc-options') : {});\r\n\r\n\t\t\t_self.objects.document = $('html');\r\n\t\t\t_self.objects.body = $('body');\r\n\r\n\t\t\t// Call onInit hook functions\r\n\t\t\t_self._callHooks(_self.settings.onInit);\r\n\r\n\t\t\t_self.objectData = _self._setObjectData(this);\r\n\r\n\t\t\t_self._addElements();\r\n\t\t\t_self._open();\r\n\r\n\t\t\t_self.dimensions = _self.getViewportDimensions();\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Getter method for objects\r\n\t\t *\r\n\t\t * @param\t{string}\tname\r\n\t\t * @return\t{object}\r\n\t\t */\r\n\t\tget: function (name) {\r\n\t\t\treturn _self.objects[name];\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Getter method for objectData\r\n\t\t *\r\n\t\t * @return\t{object}\r\n\t\t */\r\n\t\tgetObjectData: function () {\r\n\t\t\treturn _self.objectData;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Sets the object data\r\n\t\t *\r\n\t\t * @param\t{object}\tobject\r\n\t\t * @return\t{object}\tobjectData\r\n\t\t */\r\n\t\t_setObjectData: function (object) {\r\n\t\t \tvar $object = $(object),\r\n\t\t\t\tobjectData = {\r\n\t\t\t\tthis: $(object),\r\n\t\t\t\ttitle: _self.settings.title || $object.attr(_self._prefixAttributeName('title')) || $object.attr('title'),\r\n\t\t\t\tcaption: _self.settings.caption || $object.attr(_self._prefixAttributeName('caption')) || $object.children('img').attr('alt'),\r\n\t\t\t\turl: _self._determineUrl(),\r\n\t\t\t\trequestType: _self.settings.ajax.type,\r\n\t\t\t\trequestData: _self.settings.ajax.data,\r\n\t\t\t\trequestDataType: _self.settings.ajax.dataType,\r\n\t\t\t\trel: $object.attr(_self._determineAttributeSelector()),\r\n\t\t\t\ttype: _self._verifyDataType(_self._determineUrl()),\r\n\t\t\t\tisPartOfSequence: _self.settings.useAsCollection || _self._isPartOfSequence($object.attr(_self.settings.attr), ':'),\r\n\t\t\t\tisPartOfSequenceWithSlideshow: _self._isPartOfSequence($object.attr(_self.settings.attr), ':slideshow'),\r\n\t\t\t\tcurrentIndex: $(_self._determineAttributeSelector()).index($object),\r\n\t\t\t\tsequenceLength: $(_self._determineAttributeSelector()).length\r\n\t\t\t};\r\n\r\n\t\t\t// Add sequence info to objectData\r\n\t\t\tobjectData.sequenceInfo = (objectData.currentIndex + 1) + _self.settings.labels['sequenceInfo.of'] + objectData.sequenceLength;\r\n\r\n\t\t\t// Add next/prev index\r\n\t\t\tobjectData.prevIndex = objectData.currentIndex - 1;\r\n\t\t\tobjectData.nextIndex = objectData.currentIndex + 1;\r\n\r\n\t\t\treturn objectData;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Prefixes a data attribute name with defined name from 'settings.attrPrefix'\r\n\t\t * to ensure more uniqueness for all lightcase related/used attributes.\r\n\t\t *\r\n\t\t * @param\t{string}\tname\r\n\t\t * @return\t{string}\r\n\t\t */\r\n\t\t_prefixAttributeName: function (name) {\r\n\t\t\treturn 'data-' + _self.settings.attrPrefix + name;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Determines the link target considering 'settings.href' and data attributes\r\n\t\t * but also with a fallback to the default 'href' value.\r\n\t\t *\r\n\t\t * @return\t{string}\r\n\t\t */\r\n\t\t_determineLinkTarget: function () {\r\n\t\t\treturn _self.settings.href || $(_self.origin).attr(_self._prefixAttributeName('href')) || $(_self.origin).attr('href');\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Determines the attribute selector to use, depending on\r\n\t\t * whether categorized collections are beeing used or not.\r\n\t\t *\r\n\t\t * @return\t{string}\tselector\r\n\t\t */\r\n\t\t_determineAttributeSelector: function () {\r\n\t\t\tvar\t$origin = $(_self.origin),\r\n\t\t\t\tselector = '';\r\n\r\n\t\t\tif (typeof _self.cache.selector !== 'undefined') {\r\n\t\t\t\tselector = _self.cache.selector;\r\n\t\t\t} else if (_self.settings.useCategories === true && $origin.attr(_self._prefixAttributeName('categories'))) {\r\n\t\t\t\tvar\tcategories = $origin.attr(_self._prefixAttributeName('categories')).split(' ');\r\n\r\n\t\t\t\t$.each(categories, function (index, category) {\r\n\t\t\t\t\tif (index > 0) {\r\n\t\t\t\t\t\tselector += ',';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tselector += '[' + _self._prefixAttributeName('categories') + '~=\"' + category + '\"]';\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tselector = '[' + _self.settings.attr + '=\"' + $origin.attr(_self.settings.attr) + '\"]';\r\n\t\t\t}\r\n\r\n\t\t\t_self.cache.selector = selector;\r\n\r\n\t\t\treturn selector;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Determines the correct resource according to the\r\n\t\t * current viewport and density.\r\n\t\t *\r\n\t\t * @return\t{string}\turl\r\n\t\t */\r\n\t\t_determineUrl: function () {\r\n\t\t\tvar\tdataUrl = _self._verifyDataUrl(_self._determineLinkTarget()),\r\n\t\t\t\twidth = 0,\r\n\t\t\t\tdensity = 0,\r\n\t\t\t\tsupportLevel = '',\r\n\t\t\t\turl;\r\n\r\n\t\t\t$.each(dataUrl, function (index, src) {\r\n\t\t\t\tswitch (_self._verifyDataType(src.url)) {\r\n\t\t\t\t\tcase 'video':\r\n\t\t\t\t\t\tvar\tvideo = document.createElement('video'),\r\n\t\t\t\t\t\t\tvideoType = _self._verifyDataType(src.url) + '/' + _self._getFileUrlSuffix(src.url);\r\n\r\n\t\t\t\t\t\t// Check if browser can play this type of video format\r\n\t\t\t\t\t\tif (supportLevel !== 'probably' && supportLevel !== video.canPlayType(videoType) && video.canPlayType(videoType) !== '') {\r\n\t\t\t\t\t\t\tsupportLevel = video.canPlayType(videoType);\r\n\t\t\t\t\t\t\turl = src.url;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t// Check density\r\n\t\t\t\t\t\t\t_self._devicePixelRatio() >= src.density &&\r\n\t\t\t\t\t\t\tsrc.density >= density &&\r\n\t\t\t\t\t\t\t// Check viewport width\r\n\t\t\t\t\t\t\t_self._matchMedia()('screen and (min-width:' + src.width + 'px)').matches &&\r\n\t\t\t\t\t\t\tsrc.width >= width\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\twidth = src.width;\r\n\t\t\t\t\t\t\tdensity = src.density;\r\n\t\t\t\t\t\t\turl = src.url;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn url;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Normalizes an url and returns information about the resource path,\r\n\t\t * the viewport width as well as density if defined.\r\n\t\t *\r\n\t\t * @param\t{string}\turl\tPath to resource in format of an url or srcset\r\n\t\t * @return\t{object}\r\n\t\t */\r\n\t\t_normalizeUrl: function (url) {\r\n\t\t\tvar srcExp = /^\\d+$/;\r\n\r\n \t\tvar urlParser = function (str) {\r\n \t\tvar src = {\r\n \t\t\twidth: 0,\r\n \t\t\tdensity: 0\r\n \t\t};\r\n\r\n \t\tstr.trim().split(/\\s+/).forEach(function (url, i) {\r\n \t\t\tif (i === 0) {\r\n \t\t\treturn src.url = url;\r\n \t\t\t}\r\n\r\n \t\t\tvar value = url.substring(0, url.length - 1),\r\n \t\tlastChar = url[url.length - 1],\r\n \t\tintVal = parseInt(value, 10),\r\n \t\tfloatVal = parseFloat(value);\r\n\t\t\t\t\tif (lastChar === 'w' && srcExp.test(value)) {\r\n\t\t\t\t\t\tsrc.width = intVal;\r\n\t\t\t\t\t} else if (lastChar === 'h' && srcExp.test(value)) {\r\n\t\t\t\t\t\tsrc.height = intVal;\r\n\t\t\t\t\t} else if (lastChar === 'x' && !isNaN(floatVal)) {\r\n\t\t\t\t\t\tsrc.density = floatVal;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n \t\treturn src;\r\n \t\t};\r\n\r\n\t\t\t// Data URL detected (no split)\r\n\t\t\tif (url.indexOf('data:') === 0) {\r\n\t\t\t\treturn [urlParser(url)];\r\n\t\t\t}\r\n\r\n\t\t\t// Regular URL, normal behavior\r\n\t\t\treturn url.split(',').map(urlParser);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Verifies if the link is part of a sequence\r\n\t\t *\r\n\t\t * @param\t{string}\trel\r\n\t\t * @param\t{string}\texpression\r\n\t\t * @return\t{boolean}\r\n\t\t */\r\n\t\t_isPartOfSequence: function (rel, expression) {\r\n\t\t\tvar getSimilarLinks = $('[' + _self.settings.attr + '=\"' + rel + '\"]'),\r\n\t\t\t\tregexp = new RegExp(expression);\r\n\r\n\t\t\treturn (regexp.test(rel) && getSimilarLinks.length > 1);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Verifies if the slideshow should be enabled\r\n\t\t *\r\n\t\t * @return\t{boolean}\r\n\t\t */\r\n\t\tisSlideshowEnabled: function () {\r\n\t\t\treturn (_self.objectData.isPartOfSequence && (_self.settings.slideshow === true || _self.objectData.isPartOfSequenceWithSlideshow === true));\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Loads the new content to show\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_loadContent: function () {\r\n\t\t\tif (_self.cache.originalObject) {\r\n\t\t\t\t_self._restoreObject();\r\n\t\t\t}\r\n\r\n\t\t\t_self._createObject();\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Creates a new object\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_createObject: function () {\r\n\t\t\tvar $object;\r\n\r\n\t\t\t// Create object\r\n\t\t\tswitch (_self.objectData.type) {\r\n\t\t\t\tcase 'image':\r\n\t\t\t\t\t$object = $(new Image());\r\n\t\t\t\t\t$object.attr({\r\n\t\t\t\t\t\t// The time expression is required to prevent the binding of an image load\r\n\t\t\t\t\t\t'src': _self.objectData.url,\r\n\t\t\t\t\t\t'alt': _self.objectData.title\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'inline':\r\n\t\t\t\t\t$object = $('
    ');\r\n\t\t\t\t\t$object.html(_self._cloneObject($(_self.objectData.url)));\r\n\r\n\t\t\t\t\t// Add custom attributes from _self.settings\r\n\t\t\t\t\t$.each(_self.settings.inline, function (name, value) {\r\n\t\t\t\t\t\t$object.attr(_self._prefixAttributeName(name), value);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'ajax':\r\n\t\t\t\t\t$object = $('
    ');\r\n\r\n\t\t\t\t\t// Add custom attributes from _self.settings\r\n\t\t\t\t\t$.each(_self.settings.ajax, function (name, value) {\r\n\t\t\t\t\t\tif (name !== 'data') {\r\n\t\t\t\t\t\t\t$object.attr(_self._prefixAttributeName(name), value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'flash':\r\n\t\t\t\t\t$object = $('');\r\n\r\n\t\t\t\t\t// Add custom attributes from _self.settings\r\n\t\t\t\t\t$.each(_self.settings.flash, function (name, value) {\r\n\t\t\t\t\t\t$object.attr(name, value);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'video':\r\n\t\t\t\t\t$object = $('');\r\n\t\t\t\t\t$object.attr('src', _self.objectData.url);\r\n\r\n\t\t\t\t\t// Add custom attributes from _self.settings\r\n\t\t\t\t\t$.each(_self.settings.video, function (name, value) {\r\n\t\t\t\t\t\t$object.attr(name, value);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\t$object = $('');\r\n\t\t\t\t\t$object.attr({\r\n\t\t\t\t\t\t'src': _self.objectData.url\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// Add custom attributes from _self.settings\r\n\t\t\t\t\t$.each(_self.settings.iframe, function (name, value) {\r\n\t\t\t\t\t\t$object.attr(name, value);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\t_self._addObject($object);\r\n\t\t\t_self._loadObject($object);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Adds the new object to the markup\r\n\t\t *\r\n\t\t * @param\t{object}\t$object\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_addObject: function ($object) {\r\n\t\t\t// Add object to content holder\r\n\t\t\t_self.objects.contentInner.html($object);\r\n\r\n\t\t\t// Start loading\r\n\t\t\t_self._loading('start');\r\n\r\n\t\t\t// Call onStart hook functions\r\n\t\t\t_self._callHooks(_self.settings.onStart);\r\n\r\n\t\t\t// Add sequenceInfo to the content holder or hide if its empty\r\n\t\t\tif (_self.settings.showSequenceInfo === true && _self.objectData.isPartOfSequence) {\r\n\t\t\t\t_self.objects.sequenceInfo.html(_self.objectData.sequenceInfo);\r\n\t\t\t\t_self.objects.sequenceInfo.show();\r\n\t\t\t} else {\r\n\t\t\t\t_self.objects.sequenceInfo.empty();\r\n\t\t\t\t_self.objects.sequenceInfo.hide();\r\n\t\t\t}\r\n\t\t\t// Add title to the content holder or hide if its empty\r\n\t\t\tif (_self.settings.showTitle === true && _self.objectData.title !== undefined && _self.objectData.title !== '') {\r\n\t\t\t\t_self.objects.title.html(_self.objectData.title);\r\n\t\t\t\t_self.objects.title.show();\r\n\t\t\t} else {\r\n\t\t\t\t_self.objects.title.empty();\r\n\t\t\t\t_self.objects.title.hide();\r\n\t\t\t}\r\n\t\t\t// Add caption to the content holder or hide if its empty\r\n\t\t\tif (_self.settings.showCaption === true && _self.objectData.caption !== undefined && _self.objectData.caption !== '') {\r\n\t\t\t\t_self.objects.caption.html(_self.objectData.caption);\r\n\t\t\t\t_self.objects.caption.show();\r\n\t\t\t} else {\r\n\t\t\t\t_self.objects.caption.empty();\r\n\t\t\t\t_self.objects.caption.hide();\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Loads the new object\r\n\t\t *\r\n\t\t * @param\t{object}\t$object\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_loadObject: function ($object) {\r\n\t\t\t// Load the object\r\n\t\t\tswitch (_self.objectData.type) {\r\n\t\t\t\tcase 'inline':\r\n\t\t\t\t\tif ($(_self.objectData.url)) {\r\n\t\t\t\t\t\t_self._showContent($object);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t_self.error();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'ajax':\r\n\t\t\t\t\t$.ajax(\r\n\t\t\t\t\t\t$.extend({}, _self.settings.ajax, {\r\n\t\t\t\t\t\t\turl: _self.objectData.url,\r\n\t\t\t\t\t\t\ttype: _self.objectData.requestType,\r\n\t\t\t\t\t\t\tdataType: _self.objectData.requestDataType,\r\n\t\t\t\t\t\t\tdata: _self.objectData.requestData,\r\n\t\t\t\t\t\t\tsuccess: function (data, textStatus, jqXHR) {\r\n\t\t\t\t\t\t\t\t// Check for X-Ajax-Location\r\n\t\t\t\t\t\t\t\tif (jqXHR.getResponseHeader('X-Ajax-Location')) {\r\n\t\t\t\t\t\t\t\t\t_self.objectData.url = jqXHR.getResponseHeader('X-Ajax-Location');\r\n\t\t\t\t\t\t\t\t\t_self._loadObject($object);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t// Unserialize if data is transferred as json\r\n\t\t\t\t\t\t\t\t\tif (_self.objectData.requestDataType === 'json') {\r\n\t\t\t\t\t\t\t\t\t\t_self.objectData.data = data;\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t$object.html(data);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t_self._showContent($object);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\terror: function (jqXHR, textStatus, errorThrown) {\r\n\t\t\t\t\t\t\t\t_self.error();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'flash':\r\n\t\t\t\t\t_self._showContent($object);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'video':\r\n\t\t\t\t\tif (typeof($object.get(0).canPlayType) === 'function' || _self.objects.case.find('video').length === 0) {\r\n\t\t\t\t\t\t_self._showContent($object);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t_self.error();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tif (_self.objectData.url) {\r\n\t\t\t\t\t\t$object.on('load', function () {\r\n\t\t\t\t\t\t\t_self._showContent($object);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t$object.on('error', function () {\r\n\t\t\t\t\t\t\t_self.error();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t_self.error();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Throws an error message if something went wrong\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\terror: function () {\r\n\t\t\t_self.objectData.type = 'error';\r\n\t\t\tvar $object = $('
    ');\r\n\r\n\t\t\t$object.html(_self.settings.errorMessage);\r\n\t\t\t_self.objects.contentInner.html($object);\r\n\r\n\t\t\t_self._showContent(_self.objects.contentInner);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Calculates the dimensions to fit content\r\n\t\t *\r\n\t\t * @param\t{object}\t$object\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_calculateDimensions: function ($object) {\r\n\t\t\t_self._cleanupDimensions();\r\n\r\n\t\t\tif (!$object) return;\r\n\r\n\t\t\t// Set default dimensions\r\n\t\t\tvar dimensions = {\r\n\t\t\t\tratio: 1,\r\n\t\t\t\tobjectWidth: $object.attr('width') ? $object.attr('width') : $object.attr(_self._prefixAttributeName('width')),\r\n\t\t\t\tobjectHeight: $object.attr('height') ? $object.attr('height') : $object.attr(_self._prefixAttributeName('height'))\r\n\t\t\t};\r\n\r\n\t\t\tif (!_self.settings.disableShrink) {\r\n\t\t\t\t// Add calculated maximum width/height to dimensions\r\n\t\t\t\tdimensions.maxWidth = parseInt(_self.dimensions.windowWidth * _self.settings.shrinkFactor);\r\n\t\t\t\tdimensions.maxHeight = parseInt(_self.dimensions.windowHeight * _self.settings.shrinkFactor);\r\n\r\n\t\t\t\t// If the auto calculated maxWidth/maxHeight greather than the user-defined one, use that.\r\n\t\t\t\tif (dimensions.maxWidth > _self.settings.maxWidth) {\r\n\t\t\t\t\tdimensions.maxWidth = _self.settings.maxWidth;\r\n\t\t\t\t}\r\n\t\t\t\tif (dimensions.maxHeight > _self.settings.maxHeight) {\r\n\t\t\t\t\tdimensions.maxHeight = _self.settings.maxHeight;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Calculate the difference between screen width/height and image width/height\r\n\t\t\t\tdimensions.differenceWidthAsPercent = parseInt(100 / dimensions.maxWidth * dimensions.objectWidth);\r\n\t\t\t\tdimensions.differenceHeightAsPercent = parseInt(100 / dimensions.maxHeight * dimensions.objectHeight);\r\n\r\n\t\t\t\tswitch (_self.objectData.type) {\r\n\t\t\t\t\tcase 'image':\r\n\t\t\t\t\tcase 'flash':\r\n\t\t\t\t\tcase 'video':\r\n\t\t\t\t\tcase 'iframe':\r\n\t\t\t\t\tcase 'ajax':\r\n\t\t\t\t\tcase 'inline':\r\n\t\t\t\t\t\tif (_self.objectData.type === 'image' || _self.settings.fixedRatio === true) {\r\n\t\t\t\t\t\t\tif (dimensions.differenceWidthAsPercent > 100 && dimensions.differenceWidthAsPercent > dimensions.differenceHeightAsPercent) {\r\n\t\t\t\t\t\t\t\tdimensions.objectWidth = dimensions.maxWidth;\r\n\t\t\t\t\t\t\t\tdimensions.objectHeight = parseInt(dimensions.objectHeight / dimensions.differenceWidthAsPercent * 100);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (dimensions.differenceHeightAsPercent > 100 && dimensions.differenceHeightAsPercent > dimensions.differenceWidthAsPercent) {\r\n\t\t\t\t\t\t\t\tdimensions.objectWidth = parseInt(dimensions.objectWidth / dimensions.differenceHeightAsPercent * 100);\r\n\t\t\t\t\t\t\t\tdimensions.objectHeight = dimensions.maxHeight;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (dimensions.differenceHeightAsPercent > 100 && dimensions.differenceWidthAsPercent < dimensions.differenceHeightAsPercent) {\r\n\t\t\t\t\t\t\t\tdimensions.objectWidth = parseInt(dimensions.maxWidth / dimensions.differenceHeightAsPercent * dimensions.differenceWidthAsPercent);\r\n\t\t\t\t\t\t\t\tdimensions.objectHeight = dimensions.maxHeight;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\tcase 'error':\r\n\t\t\t\t\t\tif (!isNaN(dimensions.objectWidth) && dimensions.objectWidth > dimensions.maxWidth) {\r\n\t\t\t\t\t\t\tdimensions.objectWidth = dimensions.maxWidth;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tif ((isNaN(dimensions.objectWidth) || dimensions.objectWidth > dimensions.maxWidth) && !_self.settings.forceWidth) {\r\n\t\t\t\t\t\t\tdimensions.objectWidth = dimensions.maxWidth;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (((isNaN(dimensions.objectHeight) && dimensions.objectHeight !== 'auto') || dimensions.objectHeight > dimensions.maxHeight) && !_self.settings.forceHeight) {\r\n\t\t\t\t\t\t\tdimensions.objectHeight = dimensions.maxHeight;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (_self.settings.forceWidth) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tdimensions.objectWidth = _self.settings[_self.objectData.type].width;\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\tdimensions.objectWidth = _self.settings.width || dimensions.objectWidth;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tdimensions.maxWidth = null;\r\n\t\t\t}\r\n\t\t\tif ($object.attr(_self._prefixAttributeName('max-width'))) {\r\n\t\t\t\tdimensions.maxWidth = $object.attr(_self._prefixAttributeName('max-width'));\r\n\t\t\t}\r\n\r\n\t\t\tif (_self.settings.forceHeight) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tdimensions.objectHeight = _self.settings[_self.objectData.type].height;\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\tdimensions.objectHeight = _self.settings.height || dimensions.objectHeight;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tdimensions.maxHeight = null;\r\n\t\t\t}\r\n\t\t\tif ($object.attr(_self._prefixAttributeName('max-height'))) {\r\n\t\t\t\tdimensions.maxHeight = $object.attr(_self._prefixAttributeName('max-height'));\r\n\t\t\t}\r\n\t\t\t_self._adjustDimensions($object, dimensions);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Adjusts the dimensions\r\n\t\t *\r\n\t\t * @param\t{object}\t$object\r\n\t\t * @param\t{object}\tdimensions\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_adjustDimensions: function ($object, dimensions) {\r\n\t\t\t// Adjust width and height\r\n\t\t\t$object.css({\r\n\t\t\t\t'width': dimensions.objectWidth,\r\n\t\t\t\t'height': dimensions.objectHeight,\r\n\t\t\t\t'max-width': dimensions.maxWidth,\r\n\t\t\t\t'max-height': dimensions.maxHeight\r\n\t\t\t});\r\n\r\n\t\t\t_self.objects.contentInner.css({\r\n\t\t\t\t'width': $object.outerWidth(),\r\n\t\t\t\t'height': $object.outerHeight(),\r\n\t\t\t\t'max-width': '100%'\r\n\t\t\t});\r\n\r\n\t\t\t_self.objects.case.css({\r\n\t\t\t\t'width': _self.objects.contentInner.outerWidth(),\r\n\t\t\t\t'max-width': '100%'\r\n\t\t\t});\r\n\r\n\t\t\t// Adjust margin\r\n\t\t\t_self.objects.case.css({\r\n\t\t\t\t'margin-top': parseInt(-(_self.objects.case.outerHeight() / 2)),\r\n\t\t\t\t'margin-left': parseInt(-(_self.objects.case.outerWidth() / 2))\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Handles the _loading\r\n\t\t *\r\n\t\t * @param\t{string}\tprocess\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_loading: function (process) {\r\n\t\t\tif (process === 'start') {\r\n\t\t\t\t_self.objects.case.addClass(_self.settings.classPrefix + 'loading');\r\n\t\t\t\t_self.objects.loading.show();\r\n\t\t\t} else if (process === 'end') {\r\n\t\t\t\t_self.objects.case.removeClass(_self.settings.classPrefix + 'loading');\r\n\t\t\t\t_self.objects.loading.hide();\r\n\t\t\t}\r\n\t\t},\r\n\r\n\r\n\t\t/**\r\n\t\t * Gets the client screen dimensions\r\n\t\t *\r\n\t\t * @return\t{object}\tdimensions\r\n\t\t */\r\n\t\tgetViewportDimensions: function () {\r\n\t\t\treturn {\r\n\t\t\t\twindowWidth: $(window).innerWidth(),\r\n\t\t\t\twindowHeight: $(window).innerHeight()\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Verifies the url\r\n\t\t *\r\n\t\t * @param\t{string}\tdataUrl\r\n\t\t * @return\t{object}\tdataUrl\tClean url for processing content\r\n\t\t */\r\n\t\t_verifyDataUrl: function (dataUrl) {\r\n\t\t\tif (!dataUrl || dataUrl === undefined || dataUrl === '') {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (dataUrl.indexOf('#') > -1) {\r\n\t\t\t\tdataUrl = dataUrl.split('#');\r\n\t\t\t\tdataUrl = '#' + dataUrl[dataUrl.length - 1];\r\n\t\t\t}\r\n\r\n\t\t\treturn _self._normalizeUrl(dataUrl.toString());\r\n\t\t},\r\n\r\n\t\t\t//\r\n\t\t/**\r\n\t\t * Tries to get the (file) suffix of an url\r\n\t\t *\r\n\t\t * @param\t{string}\turl\r\n\t\t * @return\t{string}\r\n\t\t */\r\n\t\t_getFileUrlSuffix: function (url) {\r\n\t\t\tvar re = /(?:\\.([^.]+))?$/;\r\n\t\t\treturn re.exec(url.toLowerCase())[1];\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Verifies the data type of the content to load\r\n\t\t *\r\n\t\t * @param\t{string}\t\t\turl\r\n\t\t * @return\t{string|boolean}\tArray key if expression matched, else false\r\n\t\t */\r\n\t\t_verifyDataType: function (url) {\r\n\t\t\tvar typeMapping = _self.settings.typeMapping;\r\n\r\n\t\t\t// Early abort if dataUrl couldn't be verified\r\n\t\t\tif (!url) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t//checking if user defined type is valid\r\n\t\t\tif (_self.settings.type) {\r\n\t\t\t\tfor (var key in typeMapping) {\r\n\t\t\t\t\tif (key === _self.settings.type) {\r\n\t\t\t\t\t\treturn _self.settings.type;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Verify the dataType of url according to typeMapping which\r\n\t\t\t// has been defined in settings.\r\n\t\t\tfor (var key in typeMapping) {\r\n\t\t\t\tif (typeMapping.hasOwnProperty(key)) {\r\n\t\t\t\t\tvar suffixArr = typeMapping[key].split(',');\r\n\r\n\t\t\t\t\tfor (var i = 0; i < suffixArr.length; i++) {\r\n\t\t\t\t\t\tvar suffix = suffixArr[i].toLowerCase(),\r\n\t\t\t\t\t\t\tregexp = new RegExp('\\.(' + suffix + ')$', 'i'),\r\n\t\t\t\t\t\t\tstr = url.toLowerCase().split('?')[0].substr(-5);\r\n\r\n\t\t\t\t\t\tif (regexp.test(str) === true || (key === 'inline' && (url.indexOf(suffix) > -1))) {\r\n\t\t\t\t\t\t\treturn key;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// If no expression matched, return 'iframe'.\r\n\t\t\treturn 'iframe';\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Extends html markup with the essential tags\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_addElements: function () {\r\n\t\t\tif (typeof _self.objects.case !== 'undefined' && $('#' + _self.objects.case.attr('id')).length) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t_self.settings.markup();\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Shows the loaded content\r\n\t\t *\r\n\t\t * @param\t{object}\t$object\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_showContent: function ($object) {\r\n\t\t\t// Add data attribute with the object type\r\n\t\t\t_self.objects.document.attr(_self._prefixAttributeName('type'), _self.objectData.type);\r\n\r\n\t\t\t_self.cache.object = $object;\r\n\r\n\t\t\t// Call onBeforeShow hook functions\r\n\t\t\t_self._callHooks(_self.settings.onBeforeShow);\r\n\r\n\t\t\tif (_self.settings.breakBeforeShow) return;\r\n\t\t\t_self.show();\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Starts the 'inTransition'\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_startInTransition: function () {\r\n\t\t\tswitch (_self.transition.in()) {\r\n\t\t\t\tcase 'scrollTop':\r\n\t\t\t\tcase 'scrollRight':\r\n\t\t\t\tcase 'scrollBottom':\r\n\t\t\t\tcase 'scrollLeft':\r\n\t\t\t\tcase 'scrollHorizontal':\r\n\t\t\t\tcase 'scrollVertical':\r\n\t\t\t\t\t_self.transition.scroll(_self.objects.case, 'in', _self.settings.speedIn);\r\n\t\t\t\t\t_self.transition.fade(_self.objects.contentInner, 'in', _self.settings.speedIn);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'elastic':\r\n\t\t\t\t\tif (_self.objects.case.css('opacity') < 1) {\r\n\t\t\t\t\t\t_self.transition.zoom(_self.objects.case, 'in', _self.settings.speedIn);\r\n\t\t\t\t\t\t_self.transition.fade(_self.objects.contentInner, 'in', _self.settings.speedIn);\r\n\t\t\t\t}\r\n\t\t\t\tcase 'fade':\r\n\t\t\t\tcase 'fadeInline':\r\n\t\t\t\t\t_self.transition.fade(_self.objects.case, 'in', _self.settings.speedIn);\r\n\t\t\t\t\t_self.transition.fade(_self.objects.contentInner, 'in', _self.settings.speedIn);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\t_self.transition.fade(_self.objects.case, 'in', 0);\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\t// End loading.\r\n\t\t\t_self._loading('end');\r\n\t\t\t_self.isBusy = false;\r\n\r\n\t\t\t// Set index of the first item opened\r\n\t\t\tif (!_self.cache.firstOpened) {\r\n\t\t\t\t_self.cache.firstOpened = _self.objectData.this;\r\n\t\t\t}\r\n\r\n\t\t\t// Fade in the info with delay\r\n\t\t\t_self.objects.info.hide();\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\t _self.transition.fade(_self.objects.info, 'in', _self.settings.speedIn);\r\n\t\t\t}, _self.settings.speedIn);\r\n\r\n\t\t\t// Call onFinish hook functions\r\n\t\t\t_self._callHooks(_self.settings.onFinish);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Processes the content to show\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_processContent: function () {\r\n\t\t\t_self.isBusy = true;\r\n\r\n\t\t\t// Fade out the info at first\r\n\t\t\t_self.transition.fade(_self.objects.info, 'out', 0);\r\n\r\n\t\t\tswitch (_self.settings.transitionOut) {\r\n\t\t\t\tcase 'scrollTop':\r\n\t\t\t\tcase 'scrollRight':\r\n\t\t\t\tcase 'scrollBottom':\r\n\t\t\t\tcase 'scrollLeft':\r\n\t\t\t\tcase 'scrollVertical':\r\n\t\t\t\tcase 'scrollHorizontal':\r\n\t\t\t\t\tif (_self.objects.case.is(':hidden')) {\r\n\t\t\t\t\t\t_self.transition.fade(_self.objects.contentInner, 'out', 0);\r\n\t\t\t\t\t\t_self.transition.fade(_self.objects.case, 'out', 0, 0, function () {\r\n\t\t\t\t\t\t\t_self._loadContent();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t_self.transition.scroll(_self.objects.case, 'out', _self.settings.speedOut, function () {\r\n\t\t\t\t\t\t\t_self._loadContent();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'fade':\r\n\t\t\t\t\tif (_self.objects.case.is(':hidden')) {\r\n\t\t\t\t\t\t_self.transition.fade(_self.objects.case, 'out', 0, 0, function () {\r\n\t\t\t\t\t\t\t_self._loadContent();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t_self.transition.fade(_self.objects.case, 'out', _self.settings.speedOut, 0, function () {\r\n\t\t\t\t\t\t\t_self._loadContent();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'fadeInline':\r\n\t\t\t\tcase 'elastic':\r\n\t\t\t\t\tif (_self.objects.case.is(':hidden')) {\r\n\t\t\t\t\t\t_self.transition.fade(_self.objects.case, 'out', 0, 0, function () {\r\n\t\t\t\t\t\t\t_self._loadContent();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t_self.transition.fade(_self.objects.contentInner, 'out', _self.settings.speedOut, 0, function () {\r\n\t\t\t\t\t\t\t_self._loadContent();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\t_self.transition.fade(_self.objects.case, 'out', 0, 0, function () {\r\n\t\t\t\t\t\t_self._loadContent();\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Handles events for gallery buttons\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_handleEvents: function () {\r\n\t\t\t_self._unbindEvents();\r\n\r\n\t\t\t_self.objects.nav.children().not(_self.objects.close).hide();\r\n\r\n\t\t\t// If slideshow is enabled, show play/pause and start timeout.\r\n\t\t\tif (_self.isSlideshowEnabled()) {\r\n\t\t\t\t// Only start the timeout if slideshow autostart is enabled and slideshow is not pausing\r\n\t\t\t\tif (\r\n\t\t\t\t\t(_self.settings.slideshowAutoStart === true || _self.isSlideshowStarted) &&\r\n\t\t\t\t\t!_self.objects.nav.hasClass(_self.settings.classPrefix + 'paused')\r\n\t\t\t\t) {\r\n\t\t\t\t\t_self._startTimeout();\r\n\t\t\t\t} else {\r\n\t\t\t\t\t_self._stopTimeout();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (_self.settings.liveResize) {\r\n\t\t\t\t_self._watchResizeInteraction();\r\n\t\t\t}\r\n\r\n\t\t\t_self.objects.close.click(function (event) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\t_self.close();\r\n\t\t\t});\r\n\r\n\t\t\tif (_self.settings.closeOnOverlayClick === true) {\r\n\t\t\t\t_self.objects.overlay.css('cursor', 'pointer').click(function (event) {\r\n\t\t\t\t\tevent.preventDefault();\r\n\r\n\t\t\t\t\t_self.close();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (_self.settings.useKeys === true) {\r\n\t\t\t\t_self._addKeyEvents();\r\n\t\t\t}\r\n\r\n\t\t\tif (_self.objectData.isPartOfSequence) {\r\n\t\t\t\t_self.objects.nav.attr(_self._prefixAttributeName('ispartofsequence'), true);\r\n\t\t\t\t_self.objects.nav.data('items', _self._setNavigation());\r\n\r\n\t\t\t\t_self.objects.prev.click(function (event) {\r\n\t\t\t\t\tevent.preventDefault();\r\n\r\n\t\t\t\t\tif (_self.settings.navigateEndless === true || !_self.item.isFirst()) {\r\n\t\t\t\t\t\t_self.objects.prev.unbind('click');\r\n\t\t\t\t\t\t_self.cache.action = 'prev';\r\n\t\t\t\t\t\t_self.objects.nav.data('items').prev.click();\r\n\r\n\t\t\t\t\t\tif (_self.isSlideshowEnabled()) {\r\n\t\t\t\t\t\t\t_self._stopTimeout();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t_self.objects.next.click(function (event) {\r\n\t\t\t\t\tevent.preventDefault();\r\n\r\n\t\t\t\t\tif (_self.settings.navigateEndless === true || !_self.item.isLast()) {\r\n\t\t\t\t\t\t_self.objects.next.unbind('click');\r\n\t\t\t\t\t\t_self.cache.action = 'next';\r\n\t\t\t\t\t\t_self.objects.nav.data('items').next.click();\r\n\r\n\t\t\t\t\t\tif (_self.isSlideshowEnabled()) {\r\n\t\t\t\t\t\t\t_self._stopTimeout();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (_self.isSlideshowEnabled()) {\r\n\t\t\t\t\t_self.objects.play.click(function (event) {\r\n\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t\t_self._startTimeout();\r\n\t\t\t\t\t});\r\n\t\t\t\t\t_self.objects.pause.click(function (event) {\r\n\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t\t_self._stopTimeout();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Enable swiping if activated\r\n\t\t\t\tif (_self.settings.swipe === true) {\r\n\t\t\t\t\tif ($.isPlainObject($.event.special.swipeleft)) {\r\n\t\t\t\t\t\t_self.objects.case.on('swipeleft', function (event) {\r\n\t\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t\t\t_self.objects.next.click();\r\n\t\t\t\t\t\t\tif (_self.isSlideshowEnabled()) {\r\n\t\t\t\t\t\t\t\t_self._stopTimeout();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ($.isPlainObject($.event.special.swiperight)) {\r\n\t\t\t\t\t\t_self.objects.case.on('swiperight', function (event) {\r\n\t\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t\t\t_self.objects.prev.click();\r\n\t\t\t\t\t\t\tif (_self.isSlideshowEnabled()) {\r\n\t\t\t\t\t\t\t\t_self._stopTimeout();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Adds the key events\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_addKeyEvents: function () {\r\n\t\t\t$(document).bind('keyup.lightcase', function (event) {\r\n\t\t\t\t// Do nothing if lightcase is in process\r\n\t\t\t\tif (_self.isBusy) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tswitch (event.keyCode) {\r\n\t\t\t\t\t// Escape key\r\n\t\t\t\t\tcase 27:\r\n\t\t\t\t\t\t_self.objects.close.click();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t// Backward key\r\n\t\t\t\t\tcase 37:\r\n\t\t\t\t\t\tif (_self.objectData.isPartOfSequence) {\r\n\t\t\t\t\t\t\t_self.objects.prev.click();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t// Forward key\r\n\t\t\t\t\tcase 39:\r\n\t\t\t\t\t\tif (_self.objectData.isPartOfSequence) {\r\n\t\t\t\t\t\t\t_self.objects.next.click();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Starts the slideshow timeout\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_startTimeout: function () {\r\n\t\t\t_self.isSlideshowStarted = true;\r\n\r\n\t\t\t_self.objects.play.hide();\r\n\t\t\t_self.objects.pause.show();\r\n\r\n\t\t\t_self.cache.action = 'next';\r\n\t\t\t_self.objects.nav.removeClass(_self.settings.classPrefix + 'paused');\r\n\r\n\t\t\t_self.timeout = setTimeout(function () {\r\n\t\t\t\t_self.objects.nav.data('items').next.click();\r\n\t\t\t}, _self.settings.timeout);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Stops the slideshow timeout\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_stopTimeout: function () {\r\n\t\t\t_self.objects.play.show();\r\n\t\t\t_self.objects.pause.hide();\r\n\r\n\t\t\t_self.objects.nav.addClass(_self.settings.classPrefix + 'paused');\r\n\r\n\t\t\tclearTimeout(_self.timeout);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Sets the navigator buttons (prev/next)\r\n\t\t *\r\n\t\t * @return\t{object}\titems\r\n\t\t */\r\n\t\t_setNavigation: function () {\r\n\t\t\tvar $links = $((_self.cache.selector || _self.settings.attr)),\r\n\t\t\t\tsequenceLength = _self.objectData.sequenceLength - 1,\r\n\t\t\t\titems = {\r\n\t\t\t\t\tprev: $links.eq(_self.objectData.prevIndex),\r\n\t\t\t\t\tnext: $links.eq(_self.objectData.nextIndex)\r\n\t\t\t\t};\r\n\r\n\t\t\tif (_self.objectData.currentIndex > 0) {\r\n\t\t\t\t_self.objects.prev.show();\r\n\t\t\t} else {\r\n\t\t\t\titems.prevItem = $links.eq(sequenceLength);\r\n\t\t\t}\r\n\t\t\tif (_self.objectData.nextIndex <= sequenceLength) {\r\n\t\t\t\t_self.objects.next.show();\r\n\t\t\t} else {\r\n\t\t\t\titems.next = $links.eq(0);\r\n\t\t\t}\r\n\r\n\t\t\tif (_self.settings.navigateEndless === true) {\r\n\t\t\t\t_self.objects.prev.show();\r\n\t\t\t\t_self.objects.next.show();\r\n\t\t\t}\r\n\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Item information/status\r\n\t\t *\r\n\t\t */\r\n\t\titem: {\r\n\t\t\t/**\r\n\t\t\t * Verifies if the current item is first item.\r\n\t\t\t *\r\n\t\t\t * @return\t{boolean}\r\n\t\t\t */\r\n\t\t\tisFirst: function () {\r\n\t\t\t\treturn (_self.objectData.currentIndex === 0);\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * Verifies if the current item is first item opened.\r\n\t\t\t *\r\n\t\t\t * @return\t{boolean}\r\n\t\t\t */\r\n\t\t\tisFirstOpened: function () {\r\n\t\t\t\treturn _self.objectData.this.is(_self.cache.firstOpened);\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * Verifies if the current item is last item.\r\n\t\t\t *\r\n\t\t\t * @return\t{boolean}\r\n\t\t\t */\r\n\t\t\tisLast: function () {\r\n\t\t\t\treturn (_self.objectData.currentIndex === (_self.objectData.sequenceLength - 1));\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Clones the object for inline elements\r\n\t\t *\r\n\t\t * @param\t{object}\t$object\r\n\t\t * @return\t{object}\t$clone\r\n\t\t */\r\n\t\t_cloneObject: function ($object) {\r\n\t\t\tvar $clone = $object.clone(),\r\n\t\t\t\tobjectId = $object.attr('id');\r\n\r\n\t\t\t// If element is hidden, cache the object and remove\r\n\t\t\tif ($object.is(':hidden')) {\r\n\t\t\t\t_self._cacheObjectData($object);\r\n\t\t\t\t$object.attr('id', _self.settings.idPrefix + 'temp-' + objectId).empty();\r\n\t\t\t} else {\r\n\t\t\t\t// Prevent duplicated id's\r\n\t\t\t\t$clone.removeAttr('id');\r\n\t\t\t}\r\n\r\n\t\t\treturn $clone.show();\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Verifies if it is a mobile device\r\n\t\t *\r\n\t\t * @return\t{boolean}\r\n\t\t */\r\n\t\tisMobileDevice: function () {\r\n\t\t\tvar deviceAgent = navigator.userAgent.toLowerCase(),\r\n\t\t\t\tagentId = deviceAgent.match(_self.settings.mobileMatchExpression);\r\n\r\n\t\t\treturn agentId ? true : false;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Verifies if css transitions are supported\r\n\t\t *\r\n\t\t * @return\t{string|boolean}\tThe transition prefix if supported, else false.\r\n\t\t */\r\n\t\tisTransitionSupported: function () {\r\n\t\t\tvar body = _self.objects.body.get(0),\r\n\t\t\t\tisTransitionSupported = false,\r\n\t\t\t\ttransitionMapping = {\r\n\t\t\t\t\t'transition': '',\r\n\t\t\t\t\t'WebkitTransition': '-webkit-',\r\n\t\t\t\t\t'MozTransition': '-moz-',\r\n\t\t\t\t\t'OTransition': '-o-',\r\n\t\t\t\t\t'MsTransition': '-ms-'\r\n\t\t\t\t};\r\n\r\n\t\t\tfor (var key in transitionMapping) {\r\n\t\t\t\tif (transitionMapping.hasOwnProperty(key) && key in body.style) {\r\n\t\t\t\t\t_self.support.transition = transitionMapping[key];\r\n\t\t\t\t\tisTransitionSupported = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn isTransitionSupported;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Transition types\r\n\t\t *\r\n\t\t */\r\n\t\ttransition: {\r\n\t\t\t/**\r\n\t\t\t * Returns the correct transition type according to the status of interaction.\r\n\t\t\t *\r\n\t\t\t * @return\t{string}\tTransition type\r\n\t\t\t */\r\n\t\t\tin: function () {\r\n\t\t\t\tif (_self.settings.transitionOpen && !_self.cache.firstOpened) {\r\n\t\t\t\t\treturn _self.settings.transitionOpen;\r\n\t\t\t\t}\r\n\t\t\t\treturn _self.settings.transitionIn;\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * Fades in/out the object\r\n\t\t\t *\r\n\t\t\t * @param\t{object}\t$object\r\n\t\t\t * @param\t{string}\ttype\r\n\t\t\t * @param\t{number}\tspeed\r\n\t\t\t * @param\t{number}\topacity\r\n\t\t\t * @param\t{function}\tcallback\r\n\t\t\t * @return\t{void}\t\tAnimates an object\r\n\t\t\t */\r\n\t\t\tfade: function ($object, type, speed, opacity, callback) {\r\n\t\t\t\tvar isInTransition = type === 'in',\r\n\t\t\t\t\tstartTransition = {},\r\n\t\t\t\t\tstartOpacity = $object.css('opacity'),\r\n\t\t\t\t\tendTransition = {},\r\n\t\t\t\t\tendOpacity = opacity ? opacity: isInTransition ? 1 : 0;\r\n\r\n\t\t\t\tif (!_self.isOpen && isInTransition) return;\r\n\r\n\t\t\t\tstartTransition['opacity'] = startOpacity;\r\n\t\t\t\tendTransition['opacity'] = endOpacity;\r\n\r\n\t\t\t\t$object.css(_self.support.transition + 'transition', 'none');\r\n\t\t\t\t$object.css(startTransition).show();\r\n\r\n\t\t\t\t// Css transition\r\n\t\t\t\tif (_self.support.transitions) {\r\n\t\t\t\t\tendTransition[_self.support.transition + 'transition'] = speed + 'ms ease';\r\n\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t$object.css(endTransition);\r\n\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t$object.css(_self.support.transition + 'transition', '');\r\n\r\n\t\t\t\t\t\t\tif (callback && (_self.isOpen || !isInTransition)) {\r\n\t\t\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}, speed);\r\n\t\t\t\t\t}, 15);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Fallback to js transition\r\n\t\t\t\t\t$object.stop();\r\n\t\t\t\t\t$object.animate(endTransition, speed, callback);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * Scrolls in/out the object\r\n\t\t\t *\r\n\t\t\t * @param\t{object}\t$object\r\n\t\t\t * @param\t{string}\ttype\r\n\t\t\t * @param\t{number}\tspeed\r\n\t\t\t * @param\t{function}\tcallback\r\n\t\t\t * @return\t{void}\t\tAnimates an object\r\n\t\t\t */\r\n\t\t\tscroll: function ($object, type, speed, callback) {\r\n\t\t\t\tvar isInTransition = type === 'in',\r\n\t\t\t\t\ttransition = isInTransition ? _self.settings.transitionIn : _self.settings.transitionOut,\r\n\t\t\t\t\tdirection = 'left',\r\n\t\t\t\t\tstartTransition = {},\r\n\t\t\t\t\tstartOpacity = isInTransition ? 0 : 1,\r\n\t\t\t\t\tstartOffset = isInTransition ? '-50%' : '50%',\r\n\t\t\t\t\tendTransition = {},\r\n\t\t\t\t\tendOpacity = isInTransition ? 1 : 0,\r\n\t\t\t\t\tendOffset = isInTransition ? '50%' : '-50%';\r\n\r\n\t\t\t\tif (!_self.isOpen && isInTransition) return;\r\n\r\n\t\t\t\tswitch (transition) {\r\n\t\t\t\t\tcase 'scrollTop':\r\n\t\t\t\t\t\tdirection = 'top';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'scrollRight':\r\n\t\t\t\t\t\tstartOffset = isInTransition ? '150%' : '50%';\r\n\t\t\t\t\t\tendOffset = isInTransition ? '50%' : '150%';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'scrollBottom':\r\n\t\t\t\t\t\tdirection = 'top';\r\n\t\t\t\t\t\tstartOffset = isInTransition ? '150%' : '50%';\r\n\t\t\t\t\t\tendOffset = isInTransition ? '50%' : '150%';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'scrollHorizontal':\r\n\t\t\t\t\t\tstartOffset = isInTransition ? '150%' : '50%';\r\n\t\t\t\t\t\tendOffset = isInTransition ? '50%' : '-50%';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'scrollVertical':\r\n\t\t\t\t\t\tdirection = 'top';\r\n\t\t\t\t\t\tstartOffset = isInTransition ? '-50%' : '50%';\r\n\t\t\t\t\t\tendOffset = isInTransition ? '50%' : '150%';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (_self.cache.action === 'prev') {\r\n\t\t\t\t\tswitch (transition) {\r\n\t\t\t\t\t\tcase 'scrollHorizontal':\r\n\t\t\t\t\t\t\tstartOffset = isInTransition ? '-50%' : '50%';\r\n\t\t\t\t\t\t\tendOffset = isInTransition ? '50%' : '150%';\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'scrollVertical':\r\n\t\t\t\t\t\t\tstartOffset = isInTransition ? '150%' : '50%';\r\n\t\t\t\t\t\t\tendOffset = isInTransition ? '50%' : '-50%';\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tstartTransition['opacity'] = startOpacity;\r\n\t\t\t\tstartTransition[direction] = startOffset;\r\n\r\n\t\t\t\tendTransition['opacity'] = endOpacity;\r\n\t\t\t\tendTransition[direction] = endOffset;\r\n\r\n\t\t\t\t$object.css(_self.support.transition + 'transition', 'none');\r\n\t\t\t\t$object.css(startTransition).show();\r\n\r\n\t\t\t\t// Css transition\r\n\t\t\t\tif (_self.support.transitions) {\r\n\t\t\t\t\tendTransition[_self.support.transition + 'transition'] = speed + 'ms ease';\r\n\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t$object.css(endTransition);\r\n\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t$object.css(_self.support.transition + 'transition', '');\r\n\r\n\t\t\t\t\t\t\tif (callback && (_self.isOpen || !isInTransition)) {\r\n\t\t\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}, speed);\r\n\t\t\t\t\t}, 15);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Fallback to js transition\r\n\t\t\t\t\t$object.stop();\r\n\t\t\t\t\t$object.animate(endTransition, speed, callback);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * Zooms in/out the object\r\n\t\t\t *\r\n\t\t\t * @param\t{object}\t$object\r\n\t\t\t * @param\t{string}\ttype\r\n\t\t\t * @param\t{number}\tspeed\r\n\t\t\t * @param\t{function}\tcallback\r\n\t\t\t * @return\t{void}\t\tAnimates an object\r\n\t\t\t */\r\n\t\t\tzoom: function ($object, type, speed, callback) {\r\n\t\t\t\tvar isInTransition = type === 'in',\r\n\t\t\t\t\tstartTransition = {},\r\n\t\t\t\t\tstartOpacity = $object.css('opacity'),\r\n\t\t\t\t\tstartScale = isInTransition ? 'scale(0.75)' : 'scale(1)',\r\n\t\t\t\t\tendTransition = {},\r\n\t\t\t\t\tendOpacity = isInTransition ? 1 : 0,\r\n\t\t\t\t\tendScale = isInTransition ? 'scale(1)' : 'scale(0.75)';\r\n\r\n\t\t\t\tif (!_self.isOpen && isInTransition) return;\r\n\r\n\t\t\t\tstartTransition['opacity'] = startOpacity;\r\n\t\t\t\tstartTransition[_self.support.transition + 'transform'] = startScale;\r\n\r\n\t\t\t\tendTransition['opacity'] = endOpacity;\r\n\r\n\t\t\t\t$object.css(_self.support.transition + 'transition', 'none');\r\n\t\t\t\t$object.css(startTransition).show();\r\n\r\n\t\t\t\t// Css transition\r\n\t\t\t\tif (_self.support.transitions) {\r\n\t\t\t\t\tendTransition[_self.support.transition + 'transform'] = endScale;\r\n\t\t\t\t\tendTransition[_self.support.transition + 'transition'] = speed + 'ms ease';\r\n\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t$object.css(endTransition);\r\n\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t$object.css(_self.support.transition + 'transform', '');\r\n\t\t\t\t\t\t\t$object.css(_self.support.transition + 'transition', '');\r\n\r\n\t\t\t\t\t\t\tif (callback && (_self.isOpen || !isInTransition)) {\r\n\t\t\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}, speed);\r\n\t\t\t\t\t}, 15);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Fallback to js transition\r\n\t\t\t\t\t$object.stop();\r\n\t\t\t\t\t$object.animate(endTransition, speed, callback);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Calls all the registered functions of a specific hook\r\n\t\t *\r\n\t\t * @param\t{object}\thooks\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_callHooks: function (hooks) {\r\n\t\t\tif (typeof(hooks) === 'object') {\r\n\t\t\t\t$.each(hooks, function(index, hook) {\r\n\t\t\t\t\tif (typeof(hook) === 'function') {\r\n\t\t\t\t\t\thook.call(_self.origin);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Caches the object data\r\n\t\t *\r\n\t\t * @param\t{object}\t$object\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_cacheObjectData: function ($object) {\r\n\t\t\t$.data($object, 'cache', {\r\n\t\t\t\tid: $object.attr('id'),\r\n\t\t\t\tcontent: $object.html()\r\n\t\t\t});\r\n\r\n\t\t\t_self.cache.originalObject = $object;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Restores the object from cache\r\n\t\t *\r\n\t\t * @return\tvoid\r\n\t\t */\r\n\t\t_restoreObject: function () {\r\n\t\t\tvar $object = $('[id^=\"' + _self.settings.idPrefix + 'temp-\"]');\r\n\r\n\t\t\t$object.attr('id', $.data(_self.cache.originalObject, 'cache').id);\r\n\t\t\t$object.html($.data(_self.cache.originalObject, 'cache').content);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Executes functions for a window resize.\r\n\t\t * It stops an eventual timeout and recalculates dimensions.\r\n\t\t *\r\n\t\t * @param\t{object}\tdimensions\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\tresize: function (event, dimensions) {\r\n\t\t\tif (!_self.isOpen) return;\r\n\r\n\t\t\tif (_self.isSlideshowEnabled()) {\r\n\t\t\t\t_self._stopTimeout();\r\n\t\t\t}\r\n\r\n\t\t\tif (typeof dimensions === 'object' && dimensions !== null) {\r\n\t\t\t\tif (dimensions.width) {\r\n\t\t\t\t\t_self.cache.object.attr(\r\n\t\t\t\t\t\t_self._prefixAttributeName('width'),\r\n\t\t\t\t\t\tdimensions.width\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tif (dimensions.maxWidth) {\r\n\t\t\t\t\t_self.cache.object.attr(\r\n\t\t\t\t\t\t_self._prefixAttributeName('max-width'),\r\n\t\t\t\t\t\tdimensions.maxWidth\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tif (dimensions.height) {\r\n\t\t\t\t\t_self.cache.object.attr(\r\n\t\t\t\t\t\t_self._prefixAttributeName('height'),\r\n\t\t\t\t\t\tdimensions.height\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tif (dimensions.maxHeight) {\r\n\t\t\t\t\t_self.cache.object.attr(\r\n\t\t\t\t\t\t_self._prefixAttributeName('max-height'),\r\n\t\t\t\t\t\tdimensions.maxHeight\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t_self.dimensions = _self.getViewportDimensions();\r\n\t\t\t_self._calculateDimensions(_self.cache.object);\r\n\r\n\t\t\t// Call onResize hook functions\r\n\t\t\t_self._callHooks(_self.settings.onResize);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Watches for any resize interaction and caches the new sizes.\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_watchResizeInteraction: function () {\r\n\t\t\t$(window).resize(_self.resize);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Stop watching any resize interaction related to _self.\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_unwatchResizeInteraction: function () {\r\n\t\t\t$(window).off('resize', _self.resize);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Switches to the fullscreen mode\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_switchToFullScreenMode: function () {\r\n\t\t\t_self.settings.shrinkFactor = 1;\r\n\t\t\t_self.settings.overlayOpacity = 1;\r\n\r\n\t\t\t$('html').addClass(_self.settings.classPrefix + 'fullScreenMode');\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Enters into the lightcase view\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_open: function () {\r\n\t\t\t_self.isOpen = true;\r\n\r\n\t\t\t_self.support.transitions = _self.settings.cssTransitions ? _self.isTransitionSupported() : false;\r\n\t\t\t_self.support.mobileDevice = _self.isMobileDevice();\r\n\r\n\t\t\tif (_self.support.mobileDevice) {\r\n\t\t\t\t$('html').addClass(_self.settings.classPrefix + 'isMobileDevice');\r\n\r\n\t\t\t\tif (_self.settings.fullScreenModeForMobile) {\r\n\t\t\t\t\t_self._switchToFullScreenMode();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (!_self.settings.transitionIn) {\r\n\t\t\t\t_self.settings.transitionIn = _self.settings.transition;\r\n\t\t\t}\r\n\t\t\tif (!_self.settings.transitionOut) {\r\n\t\t\t\t_self.settings.transitionOut = _self.settings.transition;\r\n\t\t\t}\r\n\r\n\t\t\tswitch (_self.transition.in()) {\r\n\t\t\t\tcase 'fade':\r\n\t\t\t\tcase 'fadeInline':\r\n\t\t\t\tcase 'elastic':\r\n\t\t\t\tcase 'scrollTop':\r\n\t\t\t\tcase 'scrollRight':\r\n\t\t\t\tcase 'scrollBottom':\r\n\t\t\t\tcase 'scrollLeft':\r\n\t\t\t\tcase 'scrollVertical':\r\n\t\t\t\tcase 'scrollHorizontal':\r\n\t\t\t\t\tif (_self.objects.case.is(':hidden')) {\r\n\t\t\t\t\t\t_self.objects.close.css('opacity', 0);\r\n\t\t\t\t\t\t_self.objects.overlay.css('opacity', 0);\r\n\t\t\t\t\t\t_self.objects.case.css('opacity', 0);\r\n\t\t\t\t\t\t_self.objects.contentInner.css('opacity', 0);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t_self.transition.fade(_self.objects.overlay, 'in', _self.settings.speedIn, _self.settings.overlayOpacity, function () {\r\n\t\t\t\t\t\t_self.transition.fade(_self.objects.close, 'in', _self.settings.speedIn);\r\n\t\t\t\t\t\t_self._handleEvents();\r\n\t\t\t\t\t\t_self._processContent();\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\t_self.transition.fade(_self.objects.overlay, 'in', 0, _self.settings.overlayOpacity, function () {\r\n\t\t\t\t\t\t_self.transition.fade(_self.objects.close, 'in', 0);\r\n\t\t\t\t\t\t_self._handleEvents();\r\n\t\t\t\t\t\t_self._processContent();\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\t_self.objects.document.addClass(_self.settings.classPrefix + 'open');\r\n\t\t\t_self.objects.case.attr('aria-hidden', 'false');\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Shows the lightcase by starting the transition\r\n\t\t */\r\n\t\tshow: function () {\r\n\t\t\t// Call onCalculateDimensions hook functions\r\n\t\t\t_self._callHooks(_self.settings.onBeforeCalculateDimensions);\r\n\r\n\t\t\t_self._calculateDimensions(_self.cache.object);\r\n\r\n\t\t\t// Call onAfterCalculateDimensions hook functions\r\n\t\t\t_self._callHooks(_self.settings.onAfterCalculateDimensions);\r\n\r\n\t\t\t_self._startInTransition();\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Escapes from the lightcase view\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\tclose: function () {\r\n\t\t\t_self.isOpen = false;\r\n\r\n\t\t\tif (_self.isSlideshowEnabled()) {\r\n\t\t\t\t_self._stopTimeout();\r\n\t\t\t\t_self.isSlideshowStarted = false;\r\n\t\t\t\t_self.objects.nav.removeClass(_self.settings.classPrefix + 'paused');\r\n\t\t\t}\r\n\r\n\t\t\t_self.objects.loading.hide();\r\n\r\n\t\t\t_self._unbindEvents();\r\n\r\n\t\t\t_self._unwatchResizeInteraction();\r\n\r\n\t\t\t$('html').removeClass(_self.settings.classPrefix + 'open');\r\n\t\t\t_self.objects.case.attr('aria-hidden', 'true');\r\n\r\n\t\t\t_self.objects.nav.children().hide();\r\n\t\t\t_self.objects.close.hide();\r\n\r\n\t\t\t// Call onClose hook functions\r\n\t\t\t_self._callHooks(_self.settings.onClose);\r\n\r\n\t\t\t// Fade out the info at first\r\n\t\t\t_self.transition.fade(_self.objects.info, 'out', 0);\r\n\r\n\t\t\tswitch (_self.settings.transitionClose || _self.settings.transitionOut) {\r\n\t\t\t\tcase 'fade':\r\n\t\t\t\tcase 'fadeInline':\r\n\t\t\t\tcase 'scrollTop':\r\n\t\t\t\tcase 'scrollRight':\r\n\t\t\t\tcase 'scrollBottom':\r\n\t\t\t\tcase 'scrollLeft':\r\n\t\t\t\tcase 'scrollHorizontal':\r\n\t\t\t\tcase 'scrollVertical':\r\n\t\t\t\t\t_self.transition.fade(_self.objects.case, 'out', _self.settings.speedOut, 0, function () {\r\n\t\t\t\t\t\t_self.transition.fade(_self.objects.overlay, 'out', _self.settings.speedOut, 0, function () {\r\n\t\t\t\t\t\t\t_self.cleanup();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'elastic':\r\n\t\t\t\t\t_self.transition.zoom(_self.objects.case, 'out', _self.settings.speedOut, function () {\r\n\t\t\t\t\t\t_self.transition.fade(_self.objects.overlay, 'out', _self.settings.speedOut, 0, function () {\r\n\t\t\t\t\t\t\t_self.cleanup();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\t_self.cleanup();\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Unbinds all given events\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_unbindEvents: function () {\r\n\t\t\t// Unbind overlay event\r\n\t\t\t_self.objects.overlay.unbind('click');\r\n\r\n\t\t\t// Unbind key events\r\n\t\t\t$(document).unbind('keyup.lightcase');\r\n\r\n\t\t\t// Unbind swipe events\r\n\t\t\t_self.objects.case.unbind('swipeleft').unbind('swiperight');\r\n\r\n\t\t\t// Unbind navigator events\r\n\t\t\t_self.objects.prev.unbind('click');\r\n\t\t\t_self.objects.next.unbind('click');\r\n\t\t\t_self.objects.play.unbind('click');\r\n\t\t\t_self.objects.pause.unbind('click');\r\n\r\n\t\t\t// Unbind close event\r\n\t\t\t_self.objects.close.unbind('click');\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Cleans up the dimensions\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_cleanupDimensions: function () {\r\n\t\t\tvar opacity = _self.objects.contentInner.css('opacity');\r\n\r\n\t\t\t_self.objects.case.css({\r\n\t\t\t\t'width': '',\r\n\t\t\t\t'height': '',\r\n\t\t\t\t'top': '',\r\n\t\t\t\t'left': '',\r\n\t\t\t\t'margin-top': '',\r\n\t\t\t\t'margin-left': ''\r\n\t\t\t});\r\n\r\n\t\t\t_self.objects.contentInner.removeAttr('style').css('opacity', opacity);\r\n\t\t\t_self.objects.contentInner.children().removeAttr('style');\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Cleanup after aborting lightcase\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\tcleanup: function () {\r\n\t\t\t_self._cleanupDimensions();\r\n\r\n\t\t\t_self.objects.loading.hide();\r\n\t\t\t_self.objects.overlay.hide();\r\n\t\t\t_self.objects.case.hide();\r\n\t\t\t_self.objects.prev.hide();\r\n\t\t\t_self.objects.next.hide();\r\n\t\t\t_self.objects.play.hide();\r\n\t\t\t_self.objects.pause.hide();\r\n\r\n\t\t\t_self.objects.document.removeAttr(_self._prefixAttributeName('type'));\r\n\t\t\t_self.objects.nav.removeAttr(_self._prefixAttributeName('ispartofsequence'));\r\n\r\n\t\t\t_self.objects.contentInner.empty().hide();\r\n\t\t\t_self.objects.info.children().empty();\r\n\r\n\t\t\tif (_self.cache.originalObject) {\r\n\t\t\t\t_self._restoreObject();\r\n\t\t\t}\r\n\r\n\t\t\t// Call onCleanup hook functions\r\n\t\t\t_self._callHooks(_self.settings.onCleanup);\r\n\r\n\t\t\t// Restore cache\r\n\t\t\t_self.cache = {};\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Returns the supported match media or undefined if the browser\r\n\t\t * doesn't support match media.\r\n\t\t *\r\n\t\t * @return\t{mixed}\r\n\t\t */\r\n\t\t_matchMedia: function () {\r\n\t\t\treturn window.matchMedia || window.msMatchMedia;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Returns the devicePixelRatio if supported. Else, it simply returns\r\n\t\t * 1 as the default.\r\n\t\t *\r\n\t\t * @return\t{number}\r\n\t\t */\r\n\t\t_devicePixelRatio: function () {\r\n\t\t\treturn window.devicePixelRatio || 1;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Checks if method is public\r\n\t\t *\r\n\t\t * @return\t{boolean}\r\n\t\t */\r\n\t\t_isPublicMethod: function (method) {\r\n\t\t\treturn (typeof _self[method] === 'function' && method.charAt(0) !== '_');\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Exports all public methods to be accessible, callable\r\n\t\t * from global scope.\r\n\t\t *\r\n\t\t * @return\t{void}\r\n\t\t */\r\n\t\t_export: function () {\r\n\t\t\twindow.lightcase = {};\r\n\r\n\t\t\t$.each(_self, function (property) {\r\n\t\t\t\tif (_self._isPublicMethod(property)) {\r\n\t\t\t\t\tlightcase[property] = _self[property];\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\t_self._export();\r\n\r\n\t$.fn.lightcase = function (method) {\r\n\t\t// Method calling logic (only public methods are applied)\r\n\t\tif (_self._isPublicMethod(method)) {\r\n\t\t\treturn _self[method].apply(this, Array.prototype.slice.call(arguments, 1));\r\n\t\t} else if (typeof method === 'object' || !method) {\r\n\t\t\treturn _self.init.apply(this, arguments);\r\n\t\t} else {\r\n\t\t\t$.error('Method ' + method + ' does not exist on jQuery.lightcase');\r\n\t\t}\r\n\t};\r\n})(jQuery);\r\n","$(document).ready(function () {\r\n\t// Main navigation\r\n\t// Opens menu\r\n\t$(\".navbar-collapse\").toggleClass(\"show\");\r\n\t$(\".navbar-collapse\").toggleClass(\"in\");\r\n\r\n\t$('[data-toggle=\"slide-collapse\"]').on('click', function () {\r\n\t\t$(\".navbar-toggler\").toggleClass(\"expanded\");\r\n\t\t$(\".navbar-collapse\").toggleClass(\"show\");\r\n\t\t$(\".navbar-nav\").toggleClass(\"active\");\r\n\t\t$(\".navbar-collapse\").toggleClass(\"active\").show();\r\n\t\t$(\".dropdown-menu\").toggleClass(\"active\").show();\r\n\t\t$(\".dropdown-menu\").toggleClass(\"show\");\r\n\t});\r\n\r\n\t// Close 2nd level dropdown on click\r\n\t$('li.nav-item').on('click', function () {\r\n\t\t$(\"dropdown-menu\").this.toggleClass(\"show\");\r\n\t});\r\n\r\n\t// Closes all menus on click\r\n\t$('.dropdown-item').on('click', function () {\r\n\t\t$(\".navbar-toggler\").toggleClass(\"expanded\");\r\n\t\t$(\".navbar-nav\").toggleClass(\"active\");\r\n\t\t$(\".navbar-collapse\").toggleClass(\"active\");\r\n\t});\r\n\t// END of Main navigation\r\n\r\n\t// Gallery lightbox invoke\r\n\t$('.showcase').lightcase();\r\n\r\n\t$('.collapse').collapse();\r\n\r\n\t// For navigation to make parent element clickable\r\n\tjQuery(function ($) {\r\n\t\t$('.navbar .dropdown').hover(function () {\r\n\t\t\t$(this).find('.dropdown-menu').first().stop(true, true).delay(250).slideDown();\r\n\r\n\t\t}, function () {\r\n\t\t\t$(this).find('.dropdown-menu').first().stop(true, true).delay(100).slideUp();\r\n\r\n\t\t});\r\n\r\n\t\t$('.navbar .dropdown > a').click(function () {\r\n\t\t\tlocation.href = this.href;\r\n\t\t});\r\n\r\n\t});\r\n\t// End of navigation fix\r\n\r\n\t// Cover Level hide/show\r\n\tvar deviceWidth = $(window).width();\r\n\r\n\t$(\"[id^='label-']\").click(function () {\r\n\r\n\t\tif (deviceWidth > 1024) {\r\n\t\t\tvar coverId = $(this).attr(\"coverId\");\r\n\r\n\t\t\tif ($(this).hasClass(\"show\")) {\r\n\t\t\t\t$(this).toggleClass(\"show\");\r\n\t\t\t\t$(this).toggleClass(\"collapsed\");\r\n\t\t\t} else {\r\n\t\t\t\t$(\".show\").toggleClass(\"collapsed\");\r\n\t\t\t\t$(\".collapsed\").removeClass(\"show\");\r\n\t\t\t\t$(this).toggleClass(\"collapsed\");\r\n\t\t\t\t$(this).addClass(\"show\");\r\n\r\n\t\t\t\t//SCWIM-1140:Anchor links - Purely Pets\r\n\t\t\t\t//$('html, body').animate({ scrollTop: ($(this).offset().top + $(this).height() / 2) - 150 }, 500);\r\n\t\t\t}\r\n\r\n\t\t\t$(\".expandible-desktop\").each(function () {\r\n\t\t\t\tif ($(this).attr(\"coverId\") == coverId) {\r\n\t\t\t\t\t$(this).toggleClass(\"collapsed\");\r\n\r\n\r\n\t\t\t\t\t//SCWIM-1140:Anchor links - Purely Pets\r\n\t\t\t\t\tvar elOffset = $(this).offset().top;\r\n\t\t\t\t\tvar elHeight = $(this).height();\r\n\t\t\t\t\tvar windowHeight = $(window).height();\r\n\t\t\t\t\tvar offset;\r\n\t\t\t\t\tif (elHeight < windowHeight) {\r\n\t\t\t\t\t\toffset = elOffset - ((windowHeight / 2) - (elHeight / 2));\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\toffset = elOffset;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t$(this).scrollTop(offset);\r\n\t\t\t\t\t}, 500);\r\n\r\n\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(this).addClass(\"collapsed\");\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (deviceWidth < 1025) {\r\n\t\t\tvar mobileId = $(this).attr(\"coverId\");\r\n\r\n\t\t\tif ($(this).hasClass(\"show\")) {\r\n\t\t\t\t$(this).toggleClass(\"show\");\r\n\t\t\t\t$(this).toggleClass(\"collapsed\");\r\n\t\t\t} else {\r\n\t\t\t\t$(\".show\").toggleClass(\"collapsed\");\r\n\t\t\t\t$(\".collapsed\").removeClass(\"show\");\r\n\t\t\t\t$(this).toggleClass(\"collapsed\");\r\n\t\t\t\t$(this).addClass(\"show\");\r\n\t\t\t\t\r\n\t\t\t}\r\n\r\n\t\t\t$(\".expandible-mobile\").each(function () {\r\n\t\t\t\tif ($(this).attr(\"mobileId\") == mobileId) {\r\n\t\t\t\t\t$(this).toggleClass(\"collapsed-mobile\");\r\n\r\n\r\n\t\t\t\t\t//SCWIM-1140:Anchor links - Purely Pets\r\n\t\t\t\t\tvar elOffset = $(this).offset().top;\r\n\t\t\t\t\tvar elHeight = $(this).height();\r\n\t\t\t\t\tvar windowHeight = $(window).height();\r\n\t\t\t\t\tvar offset;\r\n\t\t\t\t\tif (elHeight < windowHeight) {\r\n\t\t\t\t\t\toffset = elOffset - ((windowHeight / 2) - (elHeight / 2));\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\toffset = elOffset;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t$(this).scrollTop(offset);\r\n\t\t\t\t\t}, 500);\r\n\r\n\r\n\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(this).addClass(\"collapsed-mobile\");\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\r\n\t//End of Cover Level hide/show\r\n\r\n\t// Cover levels accordion\r\n\t$('.accordion-expand').click(function () {\r\n\t\tif ($(this).hasClass('active')) {\r\n\t\t\t$(this).children(\".show-hide\").text('Click to show less');\r\n\t\t} else {\r\n\t\t\t$(this).children(\".show-hide\").text('Click to show more');\r\n\t\t}\r\n\t});\r\n\t// End of Cover levels accordion\r\n});","!function(i){\"use strict\";\"function\"==typeof define&&define.amd?define([\"jquery\"],i):\"undefined\"!=typeof exports?module.exports=i(require(\"jquery\")):i(jQuery)}(function(i){\"use strict\";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'',nextArrow:'',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:\"50px\",cssEase:\"ease\",customPaging:function(e,t){return i('