{"version":3,"sources":["beregner.js","custom.js","jcarousel.js","general.js","productlist.js","productlist-filtering.js","product.js","search.js","searchDesktop.js","giftcard.js","getOrder.js","sliderList.js","vertical-slider.js","youtube.js","countdown.js","affiliateTracking.js","deliveryTime.js","smooth-anchor-scroll.js","frontpage.js","masonry.pkgd.min.js","lazyload.js","slimmage.min.js","hoverintent.minified.js","touchSwipe.js","moment.js","mustache.js","bootstrap-toolkit.js","jquery.cookies.js","jquery-ui-1.10.4.custom.min.js","jquery.isotope.min.js","jquery.jcarousel.js","basket.js","catalog.js","validate.js","megaMenu.js","megaMenuDesktop.js","minicart.js","cart-step-1.js","parcelshop.js","contact.js","combinedcart.js","ajaxForms.js","forms.js","accessories.js","chat.js","newsletter.js","footer.js","gallery.js","paging.js","zipCodes.js","product-video.js","product-description.js"],"names":["calcStift","amount","inputMonths","minimumStartupPercentage","minimumStartupFee","formatCString","n","a","length","nn","substr","unshift","join","replace","calculateAaop","inputAmount","maxMonths","parseInt","parseFloat","isNaN","repayment","irrval","irr","annirr","Math","pow","perc","aaop","toFixed","calculatePayment","payment","ceil","calculateExpenses","expenses","round_decimals","original_number","decimals","result1","round","hs","lastPayment","r","r2","sum","i","npv","bool","up","j","diff","updateFinancing","quantity","months","financingToggle","jQuery","loanAmount","val","financingFinancedValue","financingPeriod","financingAaop","financingFinancedValueToggle","financingSamlkredomk","text","show","hide","updateFinancingPaymentMethodView","financingAaop10","financingAaop20","financingSamlkredomk10","financingSamlkredomk20","initializeJCarousels","each","jcarousel","this","numberOfItems","find","jcarouselWrapper","closest","prev","next","widthfnName","attr","scrollNumberFnName","swipe","event","direction","distance","duration","fingerCount","innerWidth","window","excludedElements","allowPageScroll","on","width","scrollNumber","css","jcarouselControl","target","wrap","carousel","trigger","image","jCarouselCalculateWidthProductList","jCarouselCalculateScrollnumberProductList","jCarouselCalculateWidthBlogPostList","jCarouselCalculateScrollnumberBlogPostList","jCarouselCalculateWidthLatestReviews","jCarouselCalculateScrollnumberLatestReviews","setCookie","cname","cvalue","exdays","d","Date","setTime","getTime","expires","toUTCString","document","cookie","getCookie","name","decodedCookie","decodeURIComponent","ca","split","c","charAt","substring","indexOf","closeProductPopUp","popup","productPopup","data","html","append","children","removeClass","clearTimeout","_productCloseTimeout","openProductPopUp","_nextProductToOpen","product","showProductPopUp","offset","position","outerWidth","left","top","addClass","setCompareCheckboxState","productList","productListId","cookieData","cookies","get","prop","presetCompare","value","checkCompareCheckboxes","InitProductListContainerFilters","productlistContainer","e","filterProductList","keyCode","preventDefault","priceRangeClass","priceRange","slider","lowPrice","highPrice","keyPressedTimeout","queryMinVal","queryMaxVal","items","location","search","idx","tmp","range","min","max","values","stop","slide","ui","add","keyup","setTimeout","setPresetFilters","$","parent","clickedSort","setClassesOnShownProducts","getFilterCookieName","productlistId","result","searchQuery","getParameterByName","encodeURIComponent","productListPartial","filterCookie","filtersChanged","page","paginationLink","hasClass","specs","spec","priceRangeEle","containsAll","needles","haystack","len","inArray","containsAny","any","all","getProductsWithAllFilters","products","filters","productSpecifications","push","getProductsWithOneOfFilters","eliminateDuplicates","arr","out","obj","preselectFilteringOptionsBasedOnQueryString","hasToBeResubmitted","index","sortingElement","toggleClass","selected","inputs","url","href","regex","RegExp","results","exec","getQueryParameters","queryString","slice","params","_","key","setQueryParameters","query","y","deleteParamsByKey","filter","toString","updateQueryString","useMobileFilters","is","filterAnds","item","isMobileFilter","andFilter","eq","filterCategoryAlias","specificationsFilters","productListSortOrder","orderBy","orderAsc","pageQueryStringValue","lowRangeElementValue","highRangeElementValue","defaultLow","defaultHigh","freeSearchValue","history","replaceState","pathname","getFilters","additionalFilter","specificationsFilter","additionalFilterAnd","id","freeSearchQ","freeSearch","input","parentid","accessoryNodeId","accessorySearch","minVal","maxVAL","toPrice","fromPrice","LoadProductAccessories","sort","freeTextSearchTerm","container","productWrapper","getJSON","searchApiUrl","categoryId","sorting","specifications","from","to","term","userId","UserId","Products","productTemplate","Mustache","render","CompareUrl","ProductUrl","useCategoryUrl","Url_Category","Url","RenderPaginationForResponseData","initCountdowns","shownProducts","productEle","counter","filterAccesoryDropdownChoices","dropdownInputGroup","dropDown","dropdownItems","searchText","toLowerCase","filteredItems","trim","chosenItem","first","chooseAccesoryDropDownItem","moveAccesoryChoice","down","chosenDropdownItem","nextItem","nextAll","prevAll","last","newChosenItem","previouslyChosenItem","itemsShown","filtering","filteringBarContainer","action","include","exclude","undefined","filteringBarTemplate","FilteringGroups","PriceRange","Visible","FreeTextSearchEnabled","FilteringGroupsAvailable","MoreThanOneProduct","accessoryDiscountAvailable","DiscountDisplayPrice","paginationContainer","paginationTemplate","rangeOfPages","pageOffset","Pagination","TotalPages","start","CurrentPage","end","active","prevPage","disabled","nextPage","relativeUrl","singlePage","goToCart","goToCartButton","cartUrl","linkerParam","ga","tracker","showProductsModal","sku","productName","includes","productsModalHtml","fail","initialItemsToDisplay","accessoryContainer","hideItemCounter","accessoryContainerContent","setChosenAccessories","accessoriesPcs","accessoriesTotalPrice","productsToAdd","accessoriesOverview","form","languageNodeId","accessoriesData","basketId","productIdentifier","accessoryIdentifiers","ajax","basketApiUrl","contentType","type","JSON","stringify","success","error","jqXhr","textStatus","errorThrown","console","log","setChosenAccessoriesToAdded","changeProductVariant","select","variantId","variantInformation","variantInformationFiltered","dispatchCountdown","firstThumbnail","imageUrlEle","dispatchCountdownVariantIds","imageUrl","imageProcessorStringIndex","Highlight","startsWith","str","requestSuggestions","searchTerm","indexName","dropdown","template","remove","templateClone","clone","Type","Name","ImageUrl","Price","staticHostUrl","Variant","sendSearchToServer","languageid","websiteid","take","priceswithoutvat","moveSearchChoice","chooseDropDownItem","siblings","selectDropDownItem","prepend","headerText","after","changePhoneCountryCode","getElementsByClassName","firstChild","removeGiftcardReceiverSmsCharacters","removeRepeatSmsCharacters","validatePhonenumber","countryCode","innerText","inputField","isNumeric","match","validateRepeatPhonenumber","closeModalOnBodyClick","content","toggleMotiveModal","highlightSelectedImage","attributes","src","changeTextToDateTimeLocale","toggleQuantityErrorMessage","toggleAmountErrorMessage","filterLetters","charCode","filterNumbers","modalContainer","toggleCardType","cardType","date","dd","getDate","mm","getMonth","yyyy","getFullYear","h","getHours","m","getMinutes","today","setDate","resizeForm","outerHeight","height","initializePopularCheckoutProductsCarousel","excludedCategoryIds","ids","calculateHorisontalListWidths","horisontalList","slidingArea","totalWidth","setHorisontalListNavigation","listItems","slidingAreaWidth","totalPages","currentPosition","currentPage","canSlideNext","canSlidePrev","toggleVerticalSliderControls","controls","upControl","downControl","sliderWrapper","moveableThingy","visibility","resetVerticalSlider","onYouTubeIframeAPIReady","playerEle","youtubeid","player","YT","Player","videoId","players","countdown","endDate","countdownDays","showOnlyDays","countdownHide","countdownAncestor","countDown","intervalId","setInterval","ancestor","now","diffInMilliseconds","countdownDontstopwhenmorethanaday","dateStr","moment","fixTens","days","hours","minutes","seconds","daysleft","asDays","clearInterval","number","setAffiliateTrackingNode","nodeId","storeId","_storeId","languageId","_languageId","getAffiliateByName","doesListContainIdFromOtherList","websiteLanguageIds","_nodePath","checkPageDeliveryTimes","jQEle","productLineQuanity","productQuanity","productSku","defaultDeliveryText","outofstockappend","deliveryquantity","getProductSkuDeliveryTimeText","deliveryTime","stockText","Text","PurchaseAboveStock","NoOutofStockSale","getProductDeliveryTimeText","successCallback","errorCallback","cultureName","_cultureName","post","contentApiUrl","initSmoothAnchorScroll","click","animate","scrollTop","activatedTab","el","removeAttr","t","define","amd","module","exports","require","jQueryBridget","o","u","s","l","apply","option","_init","prototype","isPlainObject","options","extend","fn","call","arguments","bridget","Array","EvEmitter","_events","once","_onceEvents","off","splice","emitEvent","getSize","innerHeight","getComputedStyle","createElement","style","padding","borderStyle","borderWidth","boxSizing","body","documentElement","appendChild","isBoxSizeOuter","removeChild","querySelector","nodeType","display","offsetWidth","offsetHeight","isBorderBox","f","p","paddingLeft","paddingRight","g","paddingTop","paddingBottom","marginLeft","marginRight","v","marginTop","marginBottom","borderLeftWidth","borderRightWidth","E","borderTopWidth","borderBottomWidth","z","b","x","matchesSelector","Element","matches","fizzyUIUtils","modulo","makeArray","isArray","removeFrom","getParent","parentNode","getQueryElement","handleEvent","filterFindElements","forEach","HTMLElement","querySelectorAll","debounceMethod","docReady","readyState","addEventListener","toDashed","htmlInit","concat","getAttribute","parse","className","Outlayer","Item","element","layout","_create","transition","transform","WebkitTransition","transitionDuration","transitionProperty","transitionDelay","Object","create","constructor","_transn","ingProperties","clean","onEnd","size","getPosition","_getOption","layoutPosition","getXValue","getYValue","percentPosition","_transitionTo","setPosition","isTransitioning","getTranslate","onTransitionEnd","isCleaning","goTo","moveTo","_nonTransition","_removeStyles","enableTransition","staggerDelay","onwebkitTransitionEnd","ontransitionend","onotransitionend","-webkit-transform","propertyName","disableTransition","removeTransitionStyles","removeEventListener","stagger","removeElem","reveal","isHidden","getHideRevealTransitionEndProperty","onRevealTransitionEnd","hiddenStyle","visibleStyle","opacity","onHideTransitionEnd","destroy","right","bottom","namespace","$element","defaults","outlayerGUID","containerStyle","initLayout","originLeft","originTop","resize","resizeContainer","compatOptions","horizontal","layoutInstant","reloadItems","stamps","stamp","bindResize","_itemize","_filterFindItemElements","itemSelector","getItemElements","map","_resetLayout","_manageStamps","_isLayoutInited","layoutItems","_getMeasurement","_getItemsForLayout","_layoutItems","_postLayout","isIgnored","_emitCompleteOnItems","_getItemLayoutPosition","isInstant","isLayoutInstant","_processLayoutQueue","updateStagger","_positionItem","_getContainerSize","_setContainerMeasure","dispatchEvent","Event","ignore","getItem","unignore","_find","unstamp","_getBoundingRect","_manageStamp","getBoundingClientRect","_boundingRect","_getElementOffset","isResizeBound","unbindResize","onresize","needsResizeLayout","addItems","appended","prepended","revealItemElements","getItems","hideItemElements","removeData","ms","Masonry","fitWidth","measureColumns","colYs","cols","maxY","getContainerWidth","columnWidth","containerWidth","gutter","_getColGroup","floor","_getContainerFitWidth","$window","lazyload","update","elements","$this","settings","skip_invisible","parents","abovethetop","leftofbegin","belowthefold","rightoffold","failure_limit","$container","threshold","effect","data_attribute","appear","load","placeholder","failurelimit","effectspeed","effect_speed","bind","self","$self","loaded","one","elements_left","original","temp","grep","test","navigator","appVersion","originalEvent","persisted","ready","scrollLeft","inviewport","expr","below-the-fold","above-the-top","right-of-screen","left-of-screen","in-viewport","above-the-fold","right-of-fold","left-of-fold","verbose","slimmage","tryWebP","maxWidth","widthStep","jpegQuality","jpegRetinaQuality","webpTimeout","changed","Image","onload","onerror","webp","tabIndex","useMap","setAttribute","getCssValue","getPropertyValue","currentStyle","toUpperCase","getCssPixels","overflow","cssFloat","mutateUrl","getImageInfo","dpr","devicePixelRatio","quality","requestedWidth","adjustImageParameters","zoom","data-pixel-width","adjustImageSrc","enforceCss","removeAttribute","getElementsByTagName","textContent","innerHTML","k","specified","insertBefore","beforeAdjustSrc","readyCallback","checkResponsiveImages","attachEvent","hoverIntent","handlerIn","handlerOut","selector","cfg","interval","sensitivity","timeout","isFunction","over","cX","cY","pX","pY","track","ev","pageX","pageY","compare","ob","hoverIntent_t","sqrt","hoverIntent_s","delay","handleHover","mouseenter.hoverIntent","mouseleave.hoverIntent","w","swipeStatus","tap","G","F","B","C","a4","av","aN","bd","aB","aR","bc","be","bb","touches","Z","W","ag","aP","aJ","ab","a1","aZ","aq","aQ","aj","M","aa","R","fingers","aX","ai","T","at","au","pinchStatus","O","q","hold","af","proxy","longTapThreshold","ao","a3","bh","am","bf","aH","a2","ar","a7","abs","aL","al","aS","aM","aI","triggerOnTouchEnd","triggerOnTouchLeave","bg","aY","aC","L","ad","ba","an","a6","aF","A","a9","K","aK","unbind","J","aD","ay","U","S","aA","I","V","P","aG","ap","ah","aV","swipeLeft","swipeRight","swipeUp","swipeDown","a8","pinchIn","pinchOut","aW","Y","H","N","doubleTapThreshold","doubleTap","longTap","cancelThreshold","aT","ae","pinchThreshold","maxTimeThreshold","D","aO","X","aU","Q","ax","a0","a5","fingerReleaseThreshold","identifier","clientX","clientY","ac","aw","aE","atan2","PI","az","fallbackToMouseEvents","ak","enable","disable","msPointerEnabled","pointerEnabled","phases","PHASE_START","PHASE_MOVE","PHASE_END","PHASE_CANCEL","directions","LEFT","RIGHT","UP","DOWN","IN","OUT","pageScroll","NONE","HORIZONTAL","VERTICAL","AUTO","ONE","TWO","THREE","ALL","global","factory","hooks","hookCallback","isObject","isObjectEmpty","getOwnPropertyNames","hasOwnProperty","isUndefined","isNumber","isDate","res","hasOwnProp","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","getParsingFlags","_pf","isValid","_isValid","flags","parsedParts","some","isNowValid","_d","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","copyConfig","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","isMoment","absFloor","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","warn","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","arg","args","Error","stack","deprecateSimple","deprecations","Function","set","_config","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","source","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","calendar","mom","output","_calendar","longDateFormat","_longDateFormat","formatUpper","invalidDate","_invalidDate","ordinal","_ordinal","relativeTime","withoutSuffix","string","isFuture","_relativeTime","pastFuture","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","addUnitPriority","priority","priorities","getPrioritizedUnits","unitsObj","zeroFill","targetLength","forceSign","absNumber","zerosToFill","addFormatToken","token","padded","callback","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","array","formattingTokens","formatMoment","expandFormat","formatFunctions","replaceLongDateFormatTokens","localFormattingTokens","lastIndex","addRegexToken","strictRegex","regexes","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInYear","year","isLeapYear","getIsLeapYear","makeGetSet","keepTime","set$1","month","daysInMonth","stringGet","stringSet","prioritized","mod","modMonth","localeMonths","_months","isFormat","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","monthsShort","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","monthsParse","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","defaultMonthsShortRegex","monthsRegex","_monthsStrictRegex","_monthsRegex","defaultMonthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","createDate","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","localeWeekdays","_weekdays","day","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","weekdaysMin","weekdaysShort","weekdays","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","defaultWeekdaysRegex","weekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","defaultWeekdaysShortRegex","weekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","defaultWeekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","locales","globalLocale","_abbr","getSetGlobalLocale","getLocale","defineLocale","baseConfig","abbr","parentLocale","localeFamilies","updateLocale","listLocales","keys","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","currentDateArray","nowValue","_useUTC","getUTCMonth","getUTCDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","weekdayOverflow","GG","createLocal","curWeek","gg","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","defaultLocaleMonthsShort","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","defaultLocaleWeekdaysShort","calculateOffset","obsOffset","militaryOffset","numOffset","obsOffsets","hm","configFromRFC2822","parsedArray","configFromString","aspNetJsonRegex","createFromInputFallback","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","_meridiem","meridiemFixWrap","hour","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","pickBy","moments","isDurationValid","ordering","unitHasDecimal","isValid$1","createInvalid$1","createDuration","Duration","years","quarters","quarter","weeks","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","separator","utcOffset","sign","offsetFromString","matcher","chunk","parts","chunkOffset","cloneWithOffset","model","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","matchShortOffset","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","other","toArray","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","positiveMomentsDifference","base","isAfter","isBefore","createAdder","period","dur","isAdding","getCalendarFormat","myMoment","calendar$1","time","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","toISOString","toDate","inspect","zone","prefix","suffix","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","isoWeekday","unix","toObject","toJSON","isValid$2","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","isoWeek","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfYear","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","get$1","field","setter","listMonthsImpl","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","clone$1","get$2","makeGetter","substituteTimeAgo","relativeTime$1","posNegDuration","thresholds","ss","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","limit","withSuffix","toISOString$1","abs$1","total","asSeconds","totalSign","ymSign","daysSign","hmsSign","fun","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","LL","LLL","LLLL","defaultDayOfMonthOrdinalParse","defaultRelativeTime","future","past","hh","MM","yy","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","parseTwoDigitYear","getSetYear","defaultLocaleMonths","defaultLocaleWeek","defaultLocaleWeekdays","defaultLocaleWeekdaysMin","kInput","_isPm","pos","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","dayOfMonthOrdinalParse","meridiemParse","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","prototypeMin","prototypeMax","invalid","lang","isoWeekYear","getSetDayOfMonth","getSetMinute","getSetSecond","getSetMillisecond","proto","isoWeeks","isoWeeksInYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","firstDayOfYear","firstDayOfWeek","langData","asMilliseconds","asMinutes","asHours","asWeeks","asMonths","asYears","proto$2","toIsoString","version","relativeTimeRounding","relativeTimeThreshold","nodeName","mustache","object","typeStr","escapeRegExp","hasProperty","propName","testRegExp","re","regExpTest","isWhitespace","nonSpaceRe","escapeHtml","String","entityMap","parseTemplate","tags","compileTags","tagsToCompile","spaceRe","openingTagRe","closingTagRe","closingCurlyRe","sections","spaces","hasTag","nonSpace","chr","openSection","scanner","Scanner","eos","scanUntil","valueLength","pop","scan","tagRe","whiteRe","equalsRe","curlyRe","nestTokens","squashTokens","lastToken","squashedTokens","numTokens","section","nestedTokens","collector","tail","Context","view","parentContext","cache",".","Writer","objectToString","&","<",">","\"","'","/","`","=","lookup","context","lookupHit","clearCache","partials","renderTokens","originalTemplate","symbol","buffer","renderSection","renderInverted","renderPartial","unescapedValue","escapedValue","rawValue","subRender","escape","defaultWriter","TypeError","to_html","send","ResponsiveBootstrapToolkit","breakpoints","xs","appendTo","sm","md","lg","timer","current","timers","uID","_cookieEncode","sText","_cookieDecode","ex","_defaultPermanentDate","_defaults","domain","path","permanentDate","watcher","noop","_settings","setDefaults","_getDefault","overrideValue","enabled","subCookie","Cookies","subCookies","nameOrData","permanent","clearExistingSubCookies","clearExisting","Cookie","isPermanent","save","me","cookieArray","iLen","oCookie","_validateName","serialize","_getEncodedValue","sUnparsedValue","iPosEquals","sValue","aSubCookies","aSubCookie","aOut","sSub","private","visible","addBack","BACKSPACE","COMMA","DELETE","END","ENTER","ESCAPE","HOME","NUMPAD_ADD","NUMPAD_DECIMAL","NUMPAD_DIVIDE","NUMPAD_ENTER","NUMPAD_MULTIPLY","NUMPAD_SUBTRACT","PAGE_DOWN","PAGE_UP","PERIOD","SPACE","TAB","focus","scrollParent","ie","zIndex","uniqueId","removeUniqueId","createPseudo","focusable","tabbable","jquery","prevObject","camelCase","userAgent","support","selectstart","disableSelection","enableSelection","plugin","plugins","hasScroll","cleanData","triggerHandler","widget","Widget","_createWidget","_proto","_childConstructors","_super","_superApply","widgetEventPrefix","widgetName","widgetFullName","bridge","pushStack","defaultElement","uuid","eventNamespace","_getCreateOptions","bindings","hoverable","_on","ownerDocument","defaultView","parentWindow","_trigger","_getCreateEventData","_destroy","_setOptions","_setOption","guid","delegate","_off","undelegate","_delay","_hoverable","mouseenter","currentTarget","mouseleave","_focusable","focusin","focusout","isDefaultPrevented","isEmptyObject","complete","effects","easing","queue","mouseup","cancel","_mouseInit","_mouseDown","stopImmediatePropagation","started","_mouseDestroy","_mouseMoveDelegate","_mouseUpDelegate","_mouseStarted","_mouseUp","_mouseDownEvent","which","_mouseCapture","mouseDelayMet","_mouseDelayTimer","_mouseDistanceMet","_mouseDelayMet","_mouseStart","_mouseMove","documentMode","button","_mouseDrag","_mouseStop","mouse","orientation","step","change","_keySliding","_mouseSliding","_animateOff","_handleIndex","_detectOrientation","_refresh","_createRange","_createHandles","_setupEvents","_refreshValue","handles","handle","_valueMin","_handleEvents","elementSize","elementOffset","_normValueFromMouse","_valueMax","_lastChangedValue","_start","_clickOffset","_slide","_stop","_change","_trimAlignValue","_value","_values","keydown","srcElement","detachEvent","eventie","isReady","requirejs","listener","EventEmitter","getListeners","_getEvents","flattenListeners","getListenersAsObject","addListener","addOnceListener","defineEvent","defineEvents","removeListener","addListeners","manipulateListeners","removeListeners","removeEvent","removeAllListeners","_getOnceReturnValue","emit","setOnceReturnValue","_onceReturnValue","noConflict","getStyleProperty","runtimeStyle","pixelLeft","createDocumentFragment","MozTransition","OTransition","isOriginLeft","isOriginTop","_transition","-moz-transform","-o-transform","isInitLayout","isResizingContainer","_itemsOn","resizeTimeout","itemGUID","sortData","updateSortData","random","getSortData","_sorters","Isotope","isotope","needsVerticalResizeLayout","getColumnWidth","getSegmentSize","getRowHeight","getFirstItemSize","modes","LayoutMode","isFitWidth","horizontalAlignment","layoutMode","isJQueryFiltering","sortAscending","_getSorters","sortHistory","_initLayoutMode","_updateItemsSortData","arrange","_layout","_getIsInstant","_filter","_sort","_isInstant","_getFilterTest","_noTransition","sortDataParsers","sortBy","_mode","_filterRevealAdded","insert","jCarousel","parseTarget","relative","detectCarousel","_options","_element","_carousel","_reload","reload","animating","inTail","resizeTimer","lt","vertical","rtl","circular","underflow","list","animation","transitions","center","_list","_items","_target","_first","_last","_visible","_fullyvisible","onWindowResize","_prepare","_position","move","not","clipping","dimension","fullyvisible","hasNext","hasPrev","scroll","_scroll","_scrollTail","moveBy","transforms","transforms3d","transitionTimingFunction","_animate","_update","fx","speeds","reverse","scrollIntoView","method","_active","onDestroy","onReload","onEvent","perPage","_carouselItems","_pages","_currentPage","onScroll","_clear","_calculatePages","_getCarouselItems","reloadCarouselItems","autostart","_timer","onAnimateEnd","fee","goshopping","basket","init","updateMiniCart","setBasketQuantity","miniBasket","orderTotalPrice","dataType","response","orderTotal","OrderTotalFormatted","TotalQuantity","addProductToBasket","callbackEventName","callbackExtraData","async","productData","BasketId","secure","OrderLines","matching","Sku","displayAddedProductToMiniCartPopup","DisplayPriceFormatted","accessory","basketData","cartContainer","price","addedToCart","mainProduct","depict","brandName","category","addToCartFormContainer","currency","convertedPrice","priceWithoutVAT","item_name","item_id","item_brand","categories","Boolean","dataLayer","ecommerce","addToCart","productId","addToCartEntity","loop54client","createEvent","openAfterBasketModal","getElementById","orderline","productForm","refreshPageAttribute","iframe","dataSrc","returnType","hash","cookieElement","close","classList","tooltip","Stickyfill","collapse","toggleOn","stopPropagation","addthis","QueryString","infoTab","energyTab","validate","Bouncer","customValidations","valueMismatch","otherField","messages","missingValue","checkbox","radio","default","patternMismatch","email","customMessage","overlay","categoryLink","overlayDesktop","categoryLinkDesktop","productListNumberOfResults","blockedProductContainer","modal","ctrlKey","open","helperContainer","guideContainer","compareCookieValue","link","productListXhr","dropdowns","freeTextSearchEnabled","Total","Max","Min","Data","loop54Click","clickedEntity","ProductName","brand","accessoriesAvailable","accessorySku","accessoryLanguageNodeId","accessoryImageUrl","accessoryName","accessoriesSelected","callbackName","showAccessoryPopUp","label","writeReview","star","stars","customerInformation","unescape","productView","addToCartForm","readyLazyLoad","thumbnail","optionSelected","productImage","variants","quantityField","productReadMoreText","order","totalQuantity","subtotalPrice","withVatFormatted","addedToCartWrapper","accessoriesWrapper","orderMoreModal","OrderProperties","property","Key","Value","remainingFormattedProperty","freeShippingCounter","freeShippingRemainingFormatted","_languageNodeId","propertyAlias","resultHtml","productsWrapper","preloadParcelShops","methodField","methodId","relatedFoldout","parcelZipField","zipCode","getParcelShops","sender","parcelShopWrapper","parcelShopType","parcelShopTypeForApi","parcelShopsString","getCommonParcelShopsObject","alert","parcelShopsJson","parseJSON","parcelShops","parcelShop","Id","Street","street","Zip","zip","City","city","Latitude","latitude","Longitude","longitude","OpeningHours","opening_hours","MapPin","searchBox","shopName","languageCode","abort","submit","giftcardAmount","dateTime","senderName","receiverName","receiverEmail","repeatEmail","phoneCountryCode","receiverPhoneNumber","fullReceiverPhoneNumber","repeatPhoneCountryCode","repeatPhoneNumber","fullRepeatPhoneNumber","receiverAddress","receiverZipCode","receiverCity","personalMessage","selectedImage","requestData","repeatReceiverEmail","giftcardName","errorClass","errorPlacement","highlight","unhighlight","submitHandler","grecaptcha","execute","then","callbackApiUrl","accordion","toggle","panel","nextElementSibling","helpers","setOrderIdOnCrossSiteLinks","allLinks","host","allHttpsLinks","protocol","merge","orderIdQueryIndex","isGoshoppingDomain","_allDomains","readyAjaxForm","sending","validationError","ajaxForm","Ajax","beforeSubmit","valid","successClassElement","keepHeight","setStatus","sendingStart","sendingEnd","sendingTime","remainingTime","reset","errorList","newStatus","reviewCreateForm","contactForm","validator","addClassRules","depend-on-checkbox","required","dependSelect","depend-equal-to","equalTo","shipping-depend","shippingdepend","validate-parcel","validateparcel","validate-personnr","personnr","addMethod","jQElement","regexStr","optional","deliveryMethodContainer","selectedParcel","parcelshopType","firstName","lastName","address","rules","validClass","selectedInput","inputName","inputValue","currentInput","formGroup","visibleOn","lazyloadImages","horisontalLists","nextPosition","verticalSliderControls","control","isDown","scrollDistance","maxPosition","tid","dtStart","check","templ","setDisbandCookie","newsletter","newsletterDisband","newsletterDisbandByQuery","scrollHandling","allow","reallow","handleFlying","emailInput","languageIds","reg","memberIds","LanguageId","_newsletterMemberId","footerSearch","searchVal","searchWidth","footerBrands","brandLinkLazyImage","brandLinkOtherImage","threshhold","tag","firstScriptTag","stopVideo","affiliateTrackingValueList","foundAffiliateNodeAndSetCookie","nodePath","isNodeInPathOrValid","doesNodepathContainWebsiteId","keyValueFromUrl","novicell","gallery","productPage","galleryNav","flktyGallery","Flickity","cellAlign","contain","pageDots","cellSelector","prevNextButtons","lazyLoad","setGallerySize","arrowShape","x0","x1","y1","x2","y2","x3","imagesLoaded","cells","asNavFor","groupCells","pointer","cellElement","cellIndex","pswpElement","photoElements","pswpArr","showHideOpacity","closeOnScroll","shareEl","PhotoSwipe","PhotoSwipeUI_Default","byen","youtube","dataset","embed","hiddenDesc","readMore","maxHeight"],"mappings":"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A,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,aACAA,MAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,aACAA,MAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA,KAAA,MAAA,kBACAA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","file":"bok.min.js","sourcesContent":["//Låneparametre\r\nfee = 0;\r\n\r\nfunction calcStift(amount, inputMonths) {\r\n var stift = 0;\r\n var minimumStartupPercentage;\r\n var minimumStartupFee;\r\n\r\n if (inputMonths == 10) {\r\n minimumStartupFee = 500;\r\n minimumStartupPercentage = 7;\r\n } else if (inputMonths == 20) {\r\n minimumStartupFee = 900;\r\n minimumStartupPercentage = 11;\r\n }\r\n\r\n if (minimumStartupFee > amount * minimumStartupPercentage * 0.01) {\r\n stift = minimumStartupFee;\r\n } else {\r\n stift = amount * minimumStartupPercentage * 0.01;\r\n }\r\n return stift;\r\n}\r\n\r\n\r\nfunction formatCString(n) {\r\n var a = [];\r\n while (n.length > 3) {\r\n var nn = n.substr(n.length - 3);\r\n a.unshift(nn);\r\n n = n.substr(0, n.length - 3);\r\n }\r\n if (n.length > 0) { a.unshift(n); }\r\n n = a.join('.');\r\n n = n.replace(\"..\", \",\");\r\n return n;\r\n}\r\n\r\n\r\nfunction calculateAaop(inputAmount, inputMonths) {\r\n var maxMonths = parseInt(inputMonths);\r\n var amount = parseFloat(inputAmount);\r\n if (!isNaN(amount)) {\r\n var repayment = (amount + calcStift(amount, maxMonths)) / maxMonths;\r\n var irrval = irr(amount, repayment, maxMonths - 1, repayment);\r\n var annirr = Math.pow(1 + irrval, 12) - 1;\r\n //console.log(' aaop: '+annirr);\r\n var perc = annirr * 100;\r\n var aaop = perc.toFixed(1);\r\n aaop = aaop + '%';\r\n aaop = aaop.replace('.', ',');\r\n\r\n return aaop;\r\n } else {\r\n return \"error in amount input\";\r\n }\r\n}\r\n\r\n\r\nfunction calculatePayment(inputAmount, inputMonths) {\r\n\r\n var maxMonths = parseInt(inputMonths);\r\n var amount = parseInt(inputAmount);\r\n\r\n if (!isNaN(amount)) {\r\n var payment = (amount + calcStift(amount, maxMonths)) / maxMonths;\r\n return Math.ceil(payment) + 'kr/md.';\r\n } else {\r\n return \"error in amount input\";\r\n }\r\n}\r\n\r\n\r\nfunction calculateExpenses(inputAmount, inputMonths) {\r\n\r\n var maxMonths = parseInt(inputMonths)\r\n var amount = parseInt(inputAmount);\r\n\r\n if (!isNaN(amount)) {\r\n var expenses = calcStift(amount, maxMonths);\r\n return Math.ceil(expenses) + ',-';\r\n } else {\r\n return \"error in amount input\";\r\n }\r\n}\r\n\r\n\r\nfunction round_decimals(original_number, decimals) {\r\n var result1 = original_number * Math.pow(10, decimals);\r\n var result2 = Math.round(result1);\r\n var result3 = result2 / Math.pow(10, decimals);\r\n return (result3);\r\n}\r\n\r\nfunction irr(hs, repayment, n, lastPayment) {\r\n if (hs == 0) {\r\n return 0;\r\n }\r\n hs = parseFloat(hs);\r\n r = 0.005;\r\n r2 = 0;\r\n //console.log('irr('+hs+','+repayment+','+n+','+lastPayment+') - '+n+' mwr = '+mwr);\r\n //hs = mwr*(monthlyExpense-paymentExpense)+hs;\r\n sum = hs;\r\n for (i = 0; i < n; i++) {\r\n npv = repayment / Math.pow(1 + r, i + 1);\r\n sum = sum - npv;\r\n }\r\n sum = sum - lastPayment / Math.pow(1 + r, n + 1);\r\n //console.log('sum = '+sum);\r\n while (sum < 0) {\r\n //console.log('sum='+sum+' r = '+r+' r2 = '+r2);\r\n r2 = r;\r\n r = r + 0.01;\r\n sum = hs;\r\n for (i = 0; i < n; i++) {\r\n sum = sum - repayment / Math.pow(1 + r, i + 1);\r\n }\r\n sum = sum - lastPayment / Math.pow(1 + r, n + 1);\r\n }\r\n bool = true;\r\n up = true;\r\n j = 0;\r\n while (bool) {\r\n //console.log('sum='+sum+' r = '+r+' r2 = '+r2+'i = '+j);\r\n sum = hs;\r\n for (i = 0; i < n; i++) {\r\n npv = repayment / Math.pow(1 + r, i + 1);\r\n sum = sum - npv;\r\n if (i == (n - 1)) {\r\n //console.log('npv2('+i+')='+npv+' repayment = '+repayment+' : sum = '+sum+ ' lp='+lastPayment);\r\n }\r\n }\r\n sum = sum - lastPayment / Math.pow(1 + r, n + 1);\r\n //console.log('j='+sum+' r = '+r);\r\n //console.log('npv('+i+')='+npv+' : sum = '+sum+' mwr = '+mwr+ ' r = '+r);\r\n if (sum > 0 && sum < 0.0001) {\r\n return r;\r\n }\r\n if (r2 < r) {\r\n diff = (r + r2) / 2 - r2;\r\n }\r\n else {\r\n diff = (r + r2) / 2 - r;\r\n }\r\n r2 = r;\r\n if (sum < 0) {\r\n r = r + diff;\r\n }\r\n else {\r\n r = r - diff;\r\n }\r\n if (j > 30) {\r\n //console.log('j='+j);\r\n }\r\n //console.log('IRR='+r+' sum='+sum);\r\n if (j > 50) {\r\n //console.log('50 iterations done:'+sum+' '+r);\r\n return r;\r\n }\r\n j++;\r\n }\r\n}","function updateFinancing(quantity, months) {\r\n var financingToggle = jQuery('#financing-toggle');\r\n if(financingToggle[0]) {\r\n var loanAmount = parseInt(jQuery('#financing-amount').val()) * quantity,\r\n financingFinancedValue = jQuery('#financing-financedValue'),\r\n financingPeriod = jQuery('#financing-period'),\r\n financingAaop = jQuery('#financing-aaop'),\r\n financingFinancedValueToggle = jQuery('#financing-financedValue-toggle'),\r\n financingSamlkredomk = jQuery('#financing-samlkredomk'),\r\n aaop = calculateAaop(loanAmount, months),\r\n payment = calculatePayment(loanAmount, months),\r\n expenses = calculateExpenses(loanAmount, months);\r\n\r\n if(loanAmount >= 2000) {\r\n financingFinancedValue.text(payment);\r\n financingFinancedValueToggle.text(payment);\r\n financingPeriod.text(months);\r\n financingAaop.text(aaop);\r\n financingSamlkredomk.text(expenses);\r\n\r\n financingToggle.show();\r\n } else {\r\n financingToggle.hide();\r\n }\r\n }\r\n}\r\n\r\nfunction updateFinancingPaymentMethodView() {\r\n var loanAmount = parseInt(jQuery('#financing-amount').val()),\r\n financingAaop10 = jQuery('#financing-aaop-10'),\r\n financingAaop20 = jQuery('#financing-aaop-20'),\r\n financingSamlkredomk10 = jQuery('#financing-samlkredomk-10'),\r\n financingSamlkredomk20 = jQuery('#financing-samlkredomk-20');\r\n\r\n financingAaop10.text(calculateAaop(loanAmount, 10));\r\n financingAaop20.text(calculateAaop(loanAmount, 20));\r\n financingSamlkredomk10.text(calculateExpenses(loanAmount, 10));\r\n financingSamlkredomk20.text(calculateExpenses(loanAmount, 20));\r\n}","/****************************************************\r\n - Frontpage\r\n****************************************************/\r\njQuery(function () {\r\n initializeJCarousels();\r\n});\r\n\r\nfunction initializeJCarousels() {\r\n jQuery('.jcarousel:not(.lazy)').each(function () {\r\n var jcarousel = jQuery(this),\r\n numberOfItems = jcarousel.find('> ul >li').length,\r\n jcarouselWrapper = jcarousel.closest('.jcarousel-wrapper'),\r\n prev = jcarouselWrapper.find('.jcarousel-control-prev'),\r\n next = jcarouselWrapper.find('.jcarousel-control-next'),\r\n widthfnName = jcarousel.attr('data-widthfn'),\r\n scrollNumberFnName = jcarousel.attr('data-scrollnumberfn');\r\n\r\n jcarousel.swipe({\r\n swipe: function (event, direction, distance, duration, fingerCount) {\r\n if (jcarousel.innerWidth() < 708) {\r\n switch (direction) {\r\n case 'left':\r\n jcarousel.jcarousel('scroll', '+=' + window[scrollNumberFnName](jcarousel));\r\n break;\r\n case 'right':\r\n jcarousel.jcarousel('scroll', '-=' + window[scrollNumberFnName](jcarousel));\r\n break;\r\n default:\r\n }\r\n }\r\n },\r\n excludedElements: '',\r\n allowPageScroll: \"vertical\"\r\n });\r\n\r\n jcarousel.on('jcarousel:reload jcarousel:create', function () {\r\n var width = window[widthfnName](jcarousel),\r\n scrollNumber = window[scrollNumberFnName](jcarousel);\r\n if (jcarousel.innerWidth() < 768) {\r\n width = width - 30;\r\n }\r\n\r\n jcarousel.jcarousel('items').css('width', width + 'px');\r\n if (scrollNumber >= numberOfItems) {\r\n prev.hide();\r\n next.hide();\r\n } else {\r\n prev.show();\r\n next.show();\r\n }\r\n prev.jcarouselControl({\r\n target: '-=' + scrollNumber\r\n });\r\n next.jcarouselControl({\r\n target: '+=' + scrollNumber\r\n });\r\n\r\n }).jcarousel({\r\n wrap: 'circular'\r\n }).on('jcarousel:animateend', function (event, carousel) {\r\n jQuery(window).trigger('scroll');\r\n });\r\n\r\n jcarousel.on('jcarousel:visiblein', 'li', function (event, carousel) {\r\n var item = jQuery(this),\r\n imagesToLoad = item.find('img[src=\"\"].lazy');\r\n\r\n imagesToLoad.each(function () {\r\n var image = jQuery(this);\r\n image.attr('src', image.attr('data-original'));\r\n });\r\n });\r\n });\r\n}\r\n\r\n//Product list methods\r\nfunction jCarouselCalculateWidthProductList(jcarousel) {\r\n var width = jcarousel.innerWidth();\r\n\r\n if (width >= 1160) {\r\n width = width / 5;\r\n } else if (width >= 940) {\r\n width = width / 4;\r\n } else if (width >= 708) {\r\n width = width / 3;\r\n } else {\r\n width = width / 2;\r\n }\r\n return width;\r\n}\r\n\r\nfunction jCarouselCalculateScrollnumberProductList(jcarousel) {\r\n var scrollNumber = 2,\r\n width = jcarousel.innerWidth();\r\n\r\n if (width >= 1160) {\r\n scrollNumber = 5;\r\n } else if (width >= 940) {\r\n scrollNumber = 4;\r\n } else if (width >= 708) {\r\n scrollNumber = 8;\r\n }\r\n\r\n return scrollNumber;\r\n}\r\n\r\n//Blog post methods\r\nfunction jCarouselCalculateWidthBlogPostList(jcarousel) {\r\n var width = jcarousel.innerWidth();\r\n\r\n if (width >= 708) {\r\n width = width / 3;\r\n } else {\r\n width = width;\r\n }\r\n return width;\r\n}\r\n\r\nfunction jCarouselCalculateScrollnumberBlogPostList(jcarousel) {\r\n var scrollNumber = 1,\r\n width = jcarousel.innerWidth();\r\n\r\n if (width >= 708) {\r\n scrollNumber = 3;\r\n }\r\n\r\n return scrollNumber;\r\n}\r\n\r\n//Latest reviews methods\r\nfunction jCarouselCalculateWidthLatestReviews(jcarousel) {\r\n var width = jcarousel.innerWidth();\r\n\r\n if (width >= 940) {\r\n width = width / 3;\r\n } else if (width >= 708) {\r\n width = width / 2;\r\n } else {\r\n width = width;\r\n }\r\n return width;\r\n}\r\n\r\nfunction jCarouselCalculateScrollnumberLatestReviews(jcarousel) {\r\n var scrollNumber = 1,\r\n width = jcarousel.innerWidth();\r\n\r\n if (width >= 940) {\r\n scrollNumber = 3;\r\n } else if (width >= 708) {\r\n scrollNumber = 2;\r\n }\r\n return scrollNumber;\r\n}\r\n","window.slimmage = {\r\n verbose: false\r\n};\r\n\r\nvar iframe = document.querySelector('.js-easycom-iframe');\r\nif (iframe) {\r\n var dataSrc = iframe.getAttribute('data-src');\r\n var returnType = iframe.getAttribute('data-return-type');\r\n var hash = window.location.hash;\r\n if (hash) {\r\n dataSrc = dataSrc.replace('::', hash + ':')\r\n }\r\n iframe.src = dataSrc + '?returnType=' + returnType;\r\n}\r\n\r\n// Cookie Infomation\r\nvar cookieElement = document.querySelector('.js-cookie-infomation');\r\nvar close = document.querySelector('.js-cookie-infomation__button');\r\nvar body = document.querySelector('body');\r\nvar cookie = getCookie('cookieAccepted');\r\nif (cookieElement) {\r\n if (cookie === '1') {\r\n cookieElement.classList.remove('cookie-infomation--visible');\r\n } else {\r\n cookieElement.classList.add('cookie-infomation--visible');\r\n }\r\n close.addEventListener('click', function () {\r\n cookieElement.classList.remove('cookie-infomation--visible');\r\n setCookie('cookieAccepted', 1);\r\n });\r\n}\r\n\r\nfunction setCookie(cname, cvalue, exdays) {\r\n var d = new Date();\r\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\r\n var expires = \"expires=\" + d.toUTCString();\r\n document.cookie = cname + \"=\" + cvalue + \";\" + expires + \";path=/\";\r\n}\r\n\r\nfunction getCookie(cname) {\r\n var name = cname + \"=\";\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(name) == 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n return \"\";\r\n}\r\n\r\njQuery(function () {\r\n $('.hover-tooltip').tooltip();\r\n});\r\n\r\n//Menu bar shrink\r\n$(window).scroll(function () {\r\n if ($(this).scrollTop() < 100) {\r\n $('body').removeClass('shrink');\r\n $('body').removeClass('search-open');\r\n } else {\r\n $('body').addClass('shrink');\r\n }\r\n});\r\n\r\n//polyfill for pos sticky\r\nvar elements = document.querySelector('.sticky');\r\nif (elements) {\r\n Stickyfill.add(elements);\r\n}\r\n\r\n// Open search on mobile\r\n$('.js-mobile-search-trigger').on('click', function (e) {\r\n e.preventDefault();\r\n $('body').toggleClass('search-open');\r\n // $('.navbar-nav').collapse('hide');\r\n $('.navbar-collapse.in').collapse('hide');\r\n $('.navbar-toggle').addClass('collapsed');\r\n});\r\n\r\n// Basket\r\nif ($('.js-minicartContainer').hasClass('empty')) {\r\n $('body').addClass('basket-empty');\r\n} else {\r\n if(!$('body').hasClass('CartStep')) {\r\n $('body').addClass('basket-not-empty');\r\n }\r\n}\r\n\r\n// Show/hide forgot password\r\n$('.js-forgot-password-trigger').click(function (e) {\r\n e.preventDefault();\r\n $('.js-forgot-password').toggleClass('forgot-password--show');\r\n});\r\n\r\n// var lazyThreshhold = 400,\r\n// lazyFailure_limit = 30;\r\n// jQuery(window).bind('load', function () {\r\n// if (jQuery('#productlistContainer')[0]) {\r\n// lazyThreshhold = 600;\r\n// lazyFailure_limit = 500;\r\n// }\r\n// readyLazyLoad();\r\n// });\r\n\r\n// function readyLazyLoad() {\r\n// jQuery('img.lazy').lazyload({\r\n// threshhold: lazyThreshhold,\r\n// failure_limit: lazyFailure_limit\r\n// });\r\n// }\r\n\r\n/****************************************************\r\n - TOGGLE ON\r\n****************************************************/\r\njQuery(function () {\r\n jQuery('body').on('click', '.toggle-on', function (e) {\r\n var toggleOn = jQuery(this),\r\n toggleEle = toggleOn.closest(toggleOn.attr('data-toggle-on-ancestor'));\r\n toggleEle.toggleClass('on');\r\n });\r\n\r\n jQuery('input.toggle-on:checked').each(function () {\r\n var toggleOn = jQuery(this),\r\n toggleEle = toggleOn.closest(toggleOn.attr('data-toggle-on-ancestor'));\r\n toggleEle.toggleClass('on');\r\n });\r\n});\r\n\r\n/****************************************************\r\n - DROP DOWN BUTTONS\r\n****************************************************/\r\njQuery(function () {\r\n jQuery('body').on('click', '.dropdown-menu', function (e) {\r\n jQuery(this).hasClass('keep_open') && e.stopPropagation();\r\n });\r\n});\r\n\r\n/****************************************************\r\n - READ MORE FOLDOUT\r\n****************************************************/\r\njQuery(function () {\r\n jQuery('.infoDescriptionContainer .readMore, .infoDescriptionContainer .readLess').on('click', function () {\r\n jQuery(this).closest('.info').toggleClass('on');\r\n\r\n return false;\r\n });\r\n});\r\n\r\n/****************************************************\r\n - ADD THIS\r\n****************************************************/\r\njQuery(window).load(function () {\r\n //Try catch to avoid uncaught reference error\r\n try {\r\n //Lazyload add this after everything else\r\n addthis.init();\r\n } catch (e) { }\r\n});\r\n\r\n/****************************************************\r\n - QUERY STRING PARAMETERS\r\n jQuery.QueryString['param']\r\n****************************************************/\r\n(function ($) {\r\n $.QueryString = (function (a) {\r\n if (a == '') return {};\r\n var b = {};\r\n for (var i = 0; i < a.length; ++i) {\r\n var p = a[i].split('=', 2);\r\n if (p.length != 2) continue;\r\n b[p[0]] = decodeURIComponent(p[1].replace(/\\+/g, ' '));\r\n }\r\n return b;\r\n })(window.location.search.substr(1).split('&'))\r\n})(jQuery);\r\n\r\n$('.product-energy-labeling__icon-js').on('click', function(e) {\r\n var infoTab = $('#information');\r\n\r\n $('html, body').animate({\r\n scrollTop: infoTab.offset().top - 20\r\n }, 400);\r\n});\r\n\r\n$('.product-energy-labeling__datasheet-js').on('click', function(e) {\r\n var infoTab = $('#information');\r\n\r\n $('html, body').animate({\r\n scrollTop: infoTab.offset().top - 20\r\n }, 400);\r\n});\r\n\r\n$(document).ready(function() {\r\n if (window.location.href.indexOf(\"#energylabel\") > -1) {\r\n var energyTab = $('.energy-tab');\r\n\r\n $(\".nav-tabs li\").removeClass(\"active\");\r\n energyTab.addClass('active');\r\n energyTab.scrollTop();\r\n \r\n $(\".tab-content div\").removeClass(\"active\");\r\n $(\".energy-tab-content-js\").addClass('active');\r\n \r\n $('html, body').animate({\r\n scrollTop: energyTab.offset().top\r\n }, 400);\r\n }\r\n});\r\n","/****************************************************\r\n - PRODUCT HOVER\r\n****************************************************/\r\nvar _productCloseTimeout = null,\r\n _nextProductToOpen = null;\r\n\r\njQuery(function () {\r\n var productList = jQuery('.productList, .featuredProductList'),\r\n productPopup = jQuery('.productPopup, .featuredProductPopup'),\r\n productListNumberOfResults = jQuery('#productListPartial').attr(\r\n 'data-productListNumberOfResults'\r\n );\r\n\r\n if (productList[0]) {\r\n jQuery('#productListNumberOfResults').text(productListNumberOfResults);\r\n\r\n //Check that this is not at touch device\r\n if (!('ontouchstart' in document.documentElement)) {\r\n jQuery('body').on(\r\n 'mouseenter',\r\n '.productList .product, .featuredProductList .product',\r\n function () {\r\n var product = jQuery(this);\r\n if (true) {\r\n //If no popup is active, open a new popup\r\n openProductPopUp(product);\r\n } else {\r\n //A popup is alreade open. Set this one in que to be opened.\r\n _nextProductToOpen = product;\r\n }\r\n }\r\n );\r\n\r\n jQuery('body')\r\n .on(\r\n 'mouseenter',\r\n '.productPopup, .featuredProductPopup',\r\n function () {\r\n //Clear the close timeout if a new mouseover is made\r\n window.clearTimeout(_productCloseTimeout);\r\n //set timeout variable to true, so that we can see that a popup is still active\r\n _productCloseTimeout = true;\r\n }\r\n )\r\n .on(\r\n 'mouseleave',\r\n '.productPopup, .featuredProductPopup',\r\n function () {\r\n //Clear timeout before setting a new one\r\n window.clearTimeout(_productCloseTimeout);\r\n //Start a timeout, to delay the closing of the popup just a little bit\r\n //The timeout is needed to stop the popup from flickering\r\n _productCloseTimeout = window.setTimeout(\r\n closeProductPopUp(this),\r\n 50\r\n );\r\n }\r\n );\r\n }\r\n }\r\n\r\n //Checks if the current product is blocked\r\n var blockedProductContainer = $('#blocked-product-overlay');\r\n if (blockedProductContainer.length > 0) {\r\n $('#unavailable-image').attr(\r\n 'src',\r\n staticHostUrl +\r\n '/products/150/' +\r\n blockedProductContainer.data('image')\r\n );\r\n $('#unavailable-productname').text(\r\n blockedProductContainer.data('name')\r\n );\r\n $('#unavailable-brand').text(blockedProductContainer.data('brand'));\r\n $('#unavailable-category').text(\r\n blockedProductContainer.data('category')\r\n );\r\n $('#unavailable-modal a').attr(\r\n 'href',\r\n blockedProductContainer.data('url')\r\n );\r\n\r\n $('#unavailable-modal').modal('show');\r\n }\r\n});\r\n\r\n//Will close the product popup\r\nfunction closeProductPopUp(popup) {\r\n var productPopup = jQuery(popup);\r\n if (productPopup[0]) {\r\n //Move product content back to product list\r\n jQuery(productPopup.data('product'))\r\n .html('')\r\n .append(productPopup.children('.inner-product'));\r\n //set the pop up product data to null\r\n productPopup.data('product', null);\r\n //Hide the pop up\r\n productPopup.removeClass('on');\r\n //Clear timeout and set the variable to null\r\n window.clearTimeout(_productCloseTimeout);\r\n _productCloseTimeout = null;\r\n //Open ane qued products\r\n openProductPopUp(_nextProductToOpen);\r\n }\r\n}\r\n\r\n//Will open the product popup\r\nfunction openProductPopUp(product) {\r\n if (showProductPopUp()) {\r\n //Remove product from que\r\n _nextProductToOpen = null;\r\n if (product) {\r\n var productPopup = product\r\n .closest('.productWrapper')\r\n .find('.productPopup, .featuredProductPopup'),\r\n offset = product.position(),\r\n productWidth = product.outerWidth(),\r\n //Pop up width is hardcoded\r\n productPopupWidth = product.closest('.featuredProductList')[0]\r\n ? jQuery(document).width() > 1200\r\n ? 400\r\n : 323\r\n : 246;\r\n\r\n //Calculate pop up position\r\n\r\n if (productPopup.data('product')) {\r\n //If there is a product in the pop ups data, move the popups content to this product\r\n //This happens in rare cases when the user goes nuts with the mouse\r\n productPopup\r\n .data('product')\r\n .html('')\r\n .append(productPopup.children('.inner-product'));\r\n }\r\n\r\n //Position the pop up\r\n //Add product content to pop up\r\n //Show the popup\r\n productPopup\r\n .css({ left: offset.left, top: offset.top })\r\n .html('')\r\n .append(product.children('.inner-product'))\r\n .addClass('on');\r\n //Add product to pop up data\r\n productPopup.data('product', product);\r\n }\r\n }\r\n}\r\n\r\nfunction showProductPopUp() {\r\n return jQuery(document).width() > 992;\r\n}\r\n\r\n/****************************************************\r\n - PRODUCT CLICK\r\n****************************************************/\r\njQuery(function () {\r\n var productlistContainer = jQuery(\r\n '#productlistContainer, .tp-banner-container'\r\n );\r\n if (productlistContainer[0]) {\r\n //Make most of the product pop up clickable\r\n productlistContainer.on(\r\n 'click',\r\n '.productPopup .clickable-area',\r\n function (e) {\r\n e.stopPropagation();\r\n }\r\n );\r\n productlistContainer.on(\r\n 'click',\r\n '.productPopup .clickable-area',\r\n function (e) {\r\n if (e.ctrlKey) {\r\n //Ctrl+Click\r\n window.open(jQuery(this).find('a').attr('href'));\r\n } else {\r\n window.location.href = jQuery(this).find('a').attr('href');\r\n }\r\n var productSku = $('.productPopup .addCatalogProductToBasket')\r\n .data('identifier')\r\n .toString();\r\n var languageNodeId = $(\r\n '.productPopup .addCatalogProductToBasket'\r\n ).find(\"input[name='languageNodeId-\" + productSku + \"']\")[0]\r\n .value;\r\n var productName = $(\r\n '.productPopup .addCatalogProductToBasket'\r\n ).find(\"input[name='productName-\" + productSku + \"']\")[0].value;\r\n var brandName = $(\r\n '.productPopup .addCatalogProductToBasket'\r\n ).find(\"input[name='brandName-\" + productSku + \"']\")[0].value;\r\n var quantity = $(\r\n '.productPopup .addCatalogProductToBasket'\r\n ).find(\"input[name='quantity-\" + productSku + \"']\")[0].value;\r\n var price = $('.productPopup .addCatalogProductToBasket').find(\r\n \"input[name='price-\" + productSku + \"']\"\r\n )[0].value;\r\n var category = $(\r\n '.productPopup .addCatalogProductToBasket'\r\n ).find(\"input[name='category-\" + productSku + \"']\")[0].value;\r\n\r\n var currency = '';\r\n switch (languageNodeId) {\r\n case '1092' || '1100':\r\n currency = 'DKK';\r\n break;\r\n case '21618' || '22387':\r\n currency = 'SEK';\r\n break;\r\n case '21916' || '22439':\r\n currency = 'NOK';\r\n break;\r\n case '105046' || '106020':\r\n currency = 'EUR';\r\n break;\r\n default:\r\n currency = '';\r\n }\r\n\r\n var convertedPrice = parseFloat(price.replace(',', '.'));\r\n var priceWithoutVAT = parseFloat(\r\n (convertedPrice * 0.8).toFixed(2)\r\n );\r\n\r\n var item = {\r\n item_name: productName,\r\n item_id: productSku,\r\n item_brand: brandName,\r\n quantity: parseInt(quantity),\r\n price: priceWithoutVAT,\r\n };\r\n\r\n // Set categories\r\n var categories = category.split('/').filter(Boolean);\r\n\r\n for (var j = 0; j < categories.length - 1; j++) {\r\n if (j === 0) {\r\n item['item_category'] = categories[j];\r\n } else {\r\n item['item_category' + (j + 1)] = categories[j];\r\n }\r\n }\r\n\r\n window.dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.\r\n window.dataLayer.push({\r\n event: 'select_item',\r\n ecommerce: {\r\n currency: currency,\r\n items: [item],\r\n },\r\n });\r\n }\r\n );\r\n }\r\n});\r\n\r\n/****************************************************\r\n - GUIDE OPEN/CLOSE\r\n****************************************************/\r\njQuery(function () {\r\n var productlistContainer = jQuery(\r\n 'body.ProductList, body.ProductListTopCategory'\r\n );\r\n if (productlistContainer[0]) {\r\n var helperContainer = productlistContainer.find('.helperContainer'),\r\n guideContainer = productlistContainer.find('.guideWrapper');\r\n if (helperContainer[0]) {\r\n helperContainer\r\n .add(guideContainer.find('.close-btn'))\r\n .click(function () {\r\n guideContainer.toggleClass('on');\r\n return false;\r\n });\r\n }\r\n }\r\n});\r\n\r\n/****************************************************\r\n - PRODUCT COMPARE\r\n****************************************************/\r\nfunction setCompareCheckboxState() {\r\n var productList = jQuery('#productListPartial');\r\n\r\n if (productList) {\r\n var productListId = productList.data('productlistid'),\r\n cookieData = jQuery.cookies.get('compare-' + productListId);\r\n\r\n productList.find('.compareContainer .compare').prop('checked', false);\r\n\r\n if (cookieData) {\r\n var presetCompare = cookieData.split('-');\r\n\r\n for (var i = 0; i < presetCompare.length; i++) {\r\n var value = presetCompare[i];\r\n\r\n if (value) {\r\n jQuery('#compareChk' + value).prop('checked', true);\r\n }\r\n }\r\n }\r\n\r\n checkCompareCheckboxes();\r\n }\r\n}\r\n\r\nfunction checkCompareCheckboxes() {\r\n if (jQuery('#productlistContainer .compare:checked')[1]) {\r\n jQuery('#compareArea').addClass('on');\r\n } else {\r\n jQuery('#compareArea').removeClass('on');\r\n }\r\n}\r\n\r\njQuery(function () {\r\n setCompareCheckboxState();\r\n\r\n var productlistContainer = jQuery('#productlistContainer');\r\n if (productlistContainer[0]) {\r\n productlistContainer.on('click', '.compare', function () {\r\n var productList = jQuery('#productListPartial'),\r\n compareCookieValue = '';\r\n\r\n productlistContainer.find('.compare:checked').each(function (i) {\r\n compareCookieValue += jQuery(this).val() + '-';\r\n });\r\n\r\n if (productList) {\r\n jQuery.cookies.set(\r\n 'compare-' + productList.data('productlistid'),\r\n compareCookieValue\r\n );\r\n }\r\n\r\n checkCompareCheckboxes();\r\n });\r\n productlistContainer.on('click', '.compareLink', function () {\r\n var link = jQuery(this),\r\n href = link.attr('href') + '?compare=';\r\n\r\n productlistContainer.find('.compare:checked').each(function (i) {\r\n href += jQuery(this).val() + ',';\r\n });\r\n\r\n window.location.href = href;\r\n return false;\r\n });\r\n checkCompareCheckboxes();\r\n }\r\n});\r\n","/****************************************************\r\n - PRODUCTFILTERS\r\n****************************************************/\r\nvar productListXhr = null;\r\n\r\nfunction InitProductListContainerFilters(){\r\n\r\n var productlistContainer = jQuery('#productlistContainer');\r\n if (productlistContainer[0]) {\r\n\r\n //Subscribe to the change event on all filters\r\n productlistContainer.on('change', '.filter', function (e) {\r\n filterProductList(e);\r\n //removeFilters(e);\r\n });\r\n\r\n productlistContainer.on('keydown', 'input.freeSearch', function (e) {\r\n var searchTerm = jQuery(this).val();\r\n if (e.keyCode === 13) {\r\n //Call filter function\r\n filterProductList();\r\n e.preventDefault();\r\n return false;\r\n }\r\n });\r\n\r\n //ready pricerange filter\r\n var priceRangeClass = window.innerWidth <= 767 ? '.js-priceRange-mobile' : '.js-priceRange-desktop';\r\n var priceRange = productlistContainer.find(priceRangeClass);\r\n var slider = priceRange.find('.js-slider-priceRange'),\r\n lowPrice = priceRange.find('.js-lowPrice'),\r\n highPrice = priceRange.find('.js-highPrice'),\r\n keyPressedTimeout = null;\r\n var queryMinVal = lowPrice.val();\r\n var queryMaxVal = highPrice.val();\r\n\r\n var items = location.search.substr(1).split(\"&\");\r\n for (var idx = 0; idx < items.length; idx++) {\r\n var tmp = items[idx].split(\"=\");\r\n if (tmp[0] === \"min\") {\r\n queryMinVal = parseInt(tmp[1]);\r\n } else if (tmp[0] === \"max\") {\r\n queryMaxVal = parseInt(tmp[1]);\r\n } \r\n }\r\n\r\n //Start price slider\r\n slider.slider({\r\n range: true,\r\n min: priceRange.data('lowestprice'),\r\n max: priceRange.data('highestprice'),\r\n values: [queryMinVal, queryMaxVal],\r\n stop: function () { filterProductList(); },\r\n slide: function (event, ui) {\r\n if (!keyPressedTimeout) {\r\n lowPrice.val(ui.values[0]);\r\n highPrice.val(ui.values[1]);\r\n }\r\n }\r\n });\r\n\r\n //Subscribe to keyup event on the price input fields\r\n lowPrice.add(highPrice).keyup(function () {\r\n window.clearTimeout(keyPressedTimeout);\r\n keyPressedTimeout = window.setTimeout(function () {\r\n slider.slider(\"values\", 0, parseInt(lowPrice.val()));\r\n slider.slider(\"values\", 1, parseInt(highPrice.val()));\r\n filterProductList();\r\n keyPressedTimeout = null;\r\n }, 750);\r\n });\r\n\r\n setPresetFilters();\r\n\r\n $('body').on('click', '.pagination a', function (e) {\r\n var parent = $(this).closest('ul.pagination');\r\n $(parent).find('li').removeClass('active');\r\n $(parent).find('a').removeClass('selected');\r\n $(this).addClass('selected');\r\n\r\n filterProductList();\r\n e.preventDefault();\r\n return false;\r\n });\r\n\r\n jQuery('body').on('click', '#productListSortOrder a', function () {\r\n var clickedSort = jQuery(this);\r\n clickedSort.closest('ul').find('a').removeClass('selected');\r\n clickedSort.addClass('selected');\r\n //Call filter function\r\n filterProductList();\r\n return false;\r\n });\r\n\r\n var shownProducts = productlistContainer.find('.product');\r\n setClassesOnShownProducts(shownProducts);\r\n }\r\n};\r\n\r\nfunction getFilterCookieName(productlistId) {\r\n var result = 'filter-' + productlistId,\r\n searchQuery = getParameterByName('search');\r\n\r\n if (searchQuery != '') {\r\n result += '-' + encodeURIComponent(searchQuery);\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction setPresetFilters() {\r\n var productListPartial = jQuery('#productListPartial'),\r\n productlistId = productListPartial.attr('data-productlistid'),\r\n filterCookie = jQuery.cookies.get(getFilterCookieName(productlistId)),\r\n filtersChanged = false;\r\n\r\n if (filterCookie) {\r\n if (filterCookie.page) {\r\n var paginationLink = productListPartial.find('.pagination [data-page=' + filterCookie.page + ']');\r\n\r\n if (paginationLink.length > 0 && !paginationLink.hasClass('selected')) {\r\n paginationLink.addClass('selected')\r\n filtersChanged = true;\r\n }\r\n }\r\n\r\n if (filterCookie.specs) {\r\n var specs = filterCookie.specs.replace(/\\|/g, \"\").split(',');\r\n\r\n for (var i = 0; i < specs.length; i++) {\r\n var spec = specs[i];\r\n\r\n if (specs != '') {\r\n jQuery('#specificationFilter' + spec).prop('checked', true);\r\n filtersChanged = true;\r\n }\r\n }\r\n }\r\n\r\n if (filterCookie.priceRange) {\r\n var priceRange = filterCookie.priceRange.split('|');\r\n\r\n if (priceRange[0] && priceRange[1]) {\r\n var priceRangeEle = jQuery('.priceRange'),\r\n slider = priceRangeEle.find('.slider-priceRange'),\r\n lowPrice = priceRangeEle.find('.lowPrice'),\r\n highPrice = priceRangeEle.find('.highPrice');\r\n\r\n if (lowPrice.val() != priceRange[0]) {\r\n lowPrice.val(priceRange[0]);\r\n slider.slider(\"values\", 0, parseInt(lowPrice.val()));\r\n\r\n filtersChanged = true;\r\n }\r\n\r\n if (highPrice.val() != priceRange[1]) {\r\n highPrice.val(priceRange[1]);\r\n slider.slider(\"values\", 1, parseInt(highPrice.val()));\r\n\r\n filtersChanged = true;\r\n }\r\n }\r\n }\r\n\r\n if (filtersChanged) {\r\n filterProductList();\r\n }\r\n }\r\n}\r\n\r\nfunction containsAll(needles, haystack) {\r\n for (var i = 0, len = needles.length; i < len; i++) {\r\n if ($.inArray(needles[i], haystack) == -1) return false;\r\n }\r\n return true;\r\n}\r\n\r\nfunction containsAny(any, all) {\r\n for (var i = 0, len = any.length; i < len; i++) {\r\n if (jQuery.inArray(any[i], all) > -1) return true;\r\n }\r\n return false;\r\n}\r\n\r\nfunction getProductsWithAllFilters(products, filters) {\r\n var result = [];\r\n\r\n jQuery(products).each(function () {\r\n var product = jQuery(this),\r\n productSpecifications = product.attr('data-specifications').split(',');\r\n\r\n if (filters.length < 1 || containsAll(filters, productSpecifications)) {\r\n result.push(product[0]);\r\n }\r\n });\r\n\r\n return result;\r\n}\r\n\r\nfunction getProductsWithOneOfFilters(products, filters) {\r\n var result = [];\r\n\r\n jQuery(products).each(function () {\r\n var product = jQuery(this),\r\n productSpecifications = product.attr('data-specifications').split(',');\r\n\r\n if (filters.length < 1 || containsAny(filters, productSpecifications)) {\r\n result.push(product[0]);\r\n }\r\n });\r\n\r\n return result;\r\n}\r\n\r\n//function removeFilters(sender) {\r\n// var productlistContainer = jQuery('#productlistContainer'),\r\n// filterAnds = productlistContainer.find('.filterAnd'),\r\n// selectedSpecificationGroup = jQuery(sender.target).closest('.filterAnd');\r\n\r\n// filterAnds.each(function () {\r\n// var filterAnd = jQuery(this),\r\n// filterSpecifications = filterAnd.find('.specificationFilter'),\r\n// isSelectedSpecificationGroup = filterAnd[0].id == selectedSpecificationGroup[0].id;\r\n\r\n// if (!isSelectedSpecificationGroup) {\r\n// filterSpecifications.each(function () {\r\n// var filterSpecification = jQuery(this),\r\n// specificationValue = filterSpecification.val(),\r\n// filteredProductsWithCurrentFilter = getFilteredProducts(filterSpecification);\r\n\r\n// if (filteredProductsWithCurrentFilter.length > 0 && getProductsWithAllFilters(filteredProductsWithCurrentFilter, [specificationValue]).length > 0) {\r\n// filterSpecification.prop('disabled', false).closest('li').removeClass('disabled');\r\n// } else {\r\n// filterSpecification.prop('disabled', true).closest('li').addClass('disabled');\r\n// }\r\n// });\r\n// }\r\n// });\r\n//}\r\n\r\nfunction eliminateDuplicates(arr) {\r\n var i,\r\n len = arr.length,\r\n out = [],\r\n obj = {};\r\n\r\n for (i = 0; i < len; i++) {\r\n obj[arr[i]] = 0;\r\n }\r\n for (i in obj) {\r\n out.push(i);\r\n }\r\n return out;\r\n}\r\n\r\nfunction preselectFilteringOptionsBasedOnQueryString() {\r\n var hasToBeResubmitted = false;\r\n var items = location.search.substr(1).split(\"&\");\r\n for (var index = 0; index < items.length; index++) {\r\n var tmp = items[index].split(\"=\");\r\n\r\n if (tmp[0] === \"o\") {\r\n // sorting\r\n var value = tmp[1].split('_');\r\n var sortingElement = jQuery(\"#productListSortOrder a[data-orderby='\" + value[0] + \"'][data-orderasc='\" + value[1] + \"']\");\r\n jQuery(sortingElement).toggleClass(\"selected\");\r\n hasToBeResubmitted = true;\r\n }\r\n else if (tmp[0] === \"min\") {\r\n $('#productlistContainer .priceRange .lowPrice').val(tmp[1]);\r\n hasToBeResubmitted = true;\r\n \r\n }\r\n else if (tmp[0] === \"max\") {\r\n $('#productlistContainer .priceRange .highPrice').val(tmp[1]);\r\n hasToBeResubmitted = true;\r\n }\r\n else if (tmp[0] === \"q\") {\r\n $(\"#productlistContainer\").find('input.freeSearch').val(tmp[1]);\r\n hasToBeResubmitted = true;\r\n }\r\n else if (tmp[0] === \"p\") {\r\n // pagination\r\n $(\"#category-product-list-pagination-container .pagination a\").removeClass('selected');\r\n var selected = jQuery(\"#category-product-list-pagination-container .pagination a[data-page='\" + tmp[1] + \"']\");\r\n jQuery(selected).addClass(\"selected\");\r\n hasToBeResubmitted = true;\r\n } else {\r\n // filtering options\r\n var inputs = $(\".filterWrapper .filterAnd input[data-alias='\" + tmp[1] + \"'], .mobilFilterWrapper .filterAnd input[data-alias='\" + tmp[1] + \"']\");\r\n if (inputs.length > 0) {\r\n $(inputs).prop('checked', true);\r\n hasToBeResubmitted = true;\r\n }\r\n }\r\n \r\n \r\n }\r\n return hasToBeResubmitted;\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n if (!url) url = window.location.href;\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\r\n results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction getQueryParameters() {\r\n var queryString = location.search.slice(1),\r\n params = [];\r\n\r\n queryString.replace(/([^=]*)=([^&]*)&*/g, function (_, key, value) {\r\n var obj = {\r\n key : key,\r\n value: value\r\n };\r\n params.push(obj);\r\n });\r\n\r\n return params;\r\n}\r\n\r\nfunction setQueryParameters(params) {\r\n var query = [];\r\n\r\n for (var y = 0; y < params.length; y++) {\r\n var value = params[y].key + \"=\" + params[y].value;\r\n var index = query.indexOf(value);\r\n\r\n if (index < 0){\r\n query.push(value);\r\n }\r\n }\r\n return query.join(\"&\");\r\n}\r\n\r\nfunction deleteParamsByKey(params, key){\r\n \r\n if (key)\r\n {\r\n params = params.filter(function(n){ return n.key.toString() !== encodeURIComponent(key) }); \r\n }\r\n \r\n return params;\r\n}\r\n\r\nfunction updateQueryString() {\r\n var params = getQueryParameters();\r\n // var params = new URLSearchParams(window.location.search);\r\n var productlistContainer = jQuery('#productlistContainer'),\r\n useMobileFilters = productlistContainer.find('.mobilFilterWrapper').is(':visible'),\r\n filterAnds = productlistContainer.find('.filterAnd').filter(function() {\r\n var item = jQuery(this),\r\n isMobileFilter = item.closest('.mobilFilterWrapper').length > 0;\r\n\r\n if (useMobileFilters) {\r\n return isMobileFilter;\r\n } else {\r\n return !isMobileFilter;\r\n }\r\n });\r\n\r\n // filter options\r\n if (filterAnds[0]) {\r\n for (var y = 0; y < filterAnds.length; y++) {\r\n var andFilter = filterAnds.eq(y);\r\n var filterCategoryAlias = $(andFilter).attr(\"data-alias\");\r\n params = deleteParamsByKey(params, encodeURIComponent(filterCategoryAlias));\r\n params = deleteParamsByKey(params, filterCategoryAlias);\r\n //Filter on specifications\r\n var specificationsFilters = andFilter.find('.filterOr.specificationFilter:checked');\r\n\r\n if (specificationsFilters[0]) {\r\n //Build filter string\r\n for (var i = 0; i < specificationsFilters.length; i++) {\r\n if (specificationsFilters.eq(i)) {\r\n var obj = $(specificationsFilters.eq(i));\r\n params.push({\r\n key : encodeURIComponent(filterCategoryAlias.toString()),\r\n value: obj.attr(\"data-alias\").toString()\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // sorting\r\n var productListSortOrder = jQuery('#productListSortOrder a.selected'),\r\n orderBy = productListSortOrder.attr('data-orderby'),\r\n orderAsc = productListSortOrder.attr('data-orderasc');\r\n\r\n if (orderBy && orderAsc) {\r\n params = deleteParamsByKey(params, 'o');\r\n params.push({\r\n key : 'o',\r\n value: orderBy + \"_\" + orderAsc\r\n });\r\n }\r\n\r\n // pagination\r\n // reset if page is the same = it means that other filter was applied, reset pagination\r\n var pageQueryStringValue = getParameterByName(\"p\");\r\n var page = $('#category-product-list-pagination-container .pagination a.selected').attr('data-page');\r\n params = deleteParamsByKey(params, 'p');\r\n if (page && page.toString() === pageQueryStringValue) {\r\n params.push({\r\n key : 'p',\r\n value: page\r\n });\r\n } else if (page && parseInt(page) > 1) {\r\n params.push({\r\n key : 'p',\r\n value: page\r\n });\r\n }\r\n\r\n // price range\r\n var lowRangeElementValue = parseInt($('#productlistContainer .priceRange .lowPrice').val());\r\n var highRangeElementValue = parseInt($('#productlistContainer .priceRange .highPrice').val());\r\n\r\n var defaultLow = parseInt($(\"#productlistContainer .priceRange\").attr('data-lowestprice'));\r\n var defaultHigh = parseInt($(\"#productlistContainer .priceRange\").attr('data-highestprice'));\r\n\r\n params = deleteParamsByKey(params, 'min');\r\n params = deleteParamsByKey(params, 'max');\r\n\r\n if (lowRangeElementValue !== defaultLow || highRangeElementValue !== defaultHigh) {\r\n params.push({\r\n key : 'min',\r\n value: lowRangeElementValue\r\n });\r\n params.push({\r\n key : 'max',\r\n value: highRangeElementValue\r\n });\r\n }\r\n\r\n // free text search\r\n params = deleteParamsByKey(params, 'q');\r\n var freeSearchValue = $(\"#productlistContainer\").find('input.freeSearch').val();\r\n if (freeSearchValue) {\r\n params.push({\r\n key : 'q',\r\n value: encodeURIComponent(freeSearchValue)\r\n });\r\n }\r\n\r\n window.history.replaceState({}, '', location.pathname + '?' + setQueryParameters(params));//params.toString());\r\n}\r\n\r\nfunction getFilters(additionalFilter) {\r\n var productlistContainer = jQuery('#productlistContainer'),\r\n useMobileFilters = productlistContainer.find('.mobilFilterWrapper').is(':visible'),\r\n filterAnds = productlistContainer.find('.filterAnd').filter(function () {\r\n var item = jQuery(this),\r\n isMobileFilter = item.closest('.mobilFilterWrapper').length > 0;\r\n\r\n if (useMobileFilters) {\r\n return isMobileFilter;\r\n } else {\r\n return !isMobileFilter;\r\n }\r\n }),\r\n filters = {};\r\n\r\n if (filterAnds[0]) {\r\n for (var y = 0; y < filterAnds.length; y++) {\r\n var andFilter = filterAnds.eq(y);\r\n\r\n //Filter on specifications\r\n var specificationsFilters = andFilter.find('.filterOr.specificationFilter:checked'),\r\n specificationsFilter = '';\r\n\r\n if (additionalFilter) {\r\n var additionalFilterAnd = additionalFilter.closest('.filterAnd');\r\n\r\n if (andFilter[0].id == additionalFilterAnd[0].id) {\r\n specificationsFilters.push(additionalFilter[0]);\r\n }\r\n }\r\n \r\n if (specificationsFilters[0]) {\r\n //Build filter string\r\n for (var i = 0; i < specificationsFilters.length; i++) {\r\n specificationsFilter += ',' + specificationsFilters.eq(i).val();\r\n }\r\n //Clean up filter string\r\n //specificationsFilter = specificationsFilter.substr(1);\r\n if (!filters.specs) {\r\n filters.specs = '';\r\n }\r\n filters.specs += specificationsFilter + '|';\r\n }\r\n\r\n //Filter on prices\r\n var lowPrice = parseInt(andFilter.find('.lowPrice').val()),\r\n highPrice = parseInt(andFilter.find('.highPrice').val());\r\n if (!isNaN(lowPrice) && !isNaN(highPrice)) {\r\n filters.priceRange = lowPrice + '|' + highPrice;\r\n }\r\n\r\n\r\n //Filter by free text\r\n var freeSearchQ = andFilter.find('.freeSearch').val();\r\n if (freeSearchQ) {\r\n filters.freeSearch = freeSearchQ;\r\n }\r\n\r\n //Filter by model\r\n //TODO\r\n if (andFilter.is('#accessoryModelFilter')) {\r\n var input = andFilter.find('input'),\r\n id = input.attr('data-chosen-id'),\r\n parentid = input.attr('data-chosen-parentid'),\r\n languageId = andFilter.attr('data-languageid'),\r\n websiteId = andFilter.attr('data-websiteid');\r\n\r\n if (id && id != '' && parentid && parentid != '') {\r\n //jQuery.ajax({\r\n // url: '/Umbraco/Surface/Accessory/GetFilteredProductIds',\r\n // data: { Id: id, ParentId: parentid, LanguageId: languageId, WebsiteId: websiteId },\r\n // success: function (data) {\r\n // filteredProducts = filteredProducts.filter(function () {\r\n // var product = jQuery(this),\r\n // productId = product.attr('data-id');\r\n // for (var i = 0; i < data.length; i++) {\r\n // if (productId == data[i]) {\r\n // return true;\r\n // }\r\n // }\r\n // return false;\r\n // });\r\n // },\r\n // async: false,\r\n // type: 'POST',\r\n // cache: false,\r\n // dataType: 'json'\r\n //});\r\n filters.accessoryNodeId = parentid;\r\n filters.accessorySearch = id;\r\n }\r\n }\r\n }\r\n }\r\n return filters;\r\n}\r\n\r\n//Will filter the product list using the filters on the page\r\nfunction filterProductList() {\r\n var productlistContainer = jQuery('#productlistContainer');\r\n var priceRangeClass = window.innerWidth < 767 ? '.js-priceRange-mobile' : '.js-priceRange-desktop';\r\n var priceRange = productlistContainer.find(priceRangeClass);\r\n var lowPrice = priceRange.find('.js-lowPrice').val();\r\n var highPrice = priceRange.find('.js-highPrice').val();\r\n var minVal = priceRange.data('lowestprice');\r\n var maxVAL = priceRange.data('highestprice');\r\n var toPrice = '';\r\n var fromPrice = '';\r\n\r\n if(maxVAL == highPrice) {\r\n toPrice = '';\r\n } else {\r\n toPrice = highPrice;\r\n }\r\n\r\n if(minVal == lowPrice) {\r\n fromPrice = '';\r\n } else {\r\n fromPrice = lowPrice;\r\n }\r\n\r\n \r\n // if it is accessory filtering then forward it to another method:\r\n if ($(productlistContainer).hasClass('accessories')){\r\n productlistContainer.addClass('loading');\r\n LoadProductAccessories(true);\r\n return;\r\n }\r\n\r\n var productListPartial = jQuery('#productListPartial'),\r\n search = productlistContainer.attr('data-search'),\r\n contentViewId = productListPartial.attr('data-content-view-id'),\r\n filters = getFilters(),\r\n page = $('#category-product-list-pagination-container .pagination a.selected').attr('data-page'),\r\n productListSortOrder = jQuery('#productListSortOrder a.selected'),\r\n orderBy = productListSortOrder.attr('data-orderby'),\r\n orderAsc = productListSortOrder.attr('data-orderasc');\r\n\r\n filters.sort = orderBy + '|' + orderAsc;\r\n filters.page = page;\r\n\r\n var freeTextSearchTerm = $(\"#productlistContainer\").find('input.freeSearch').val();\r\n\r\n productlistContainer.addClass('loading');\r\n\r\n var container = $('#category-product-list-container');\r\n var productWrapper = container.find('.productWrapper');\r\n\r\n updateQueryString();\r\n \r\n // request for data\r\n $.getJSON(searchApiUrl + '/' + container.data('filter')+'/' + (container.data('shop') + '_' + container.data('language'))\r\n , {\r\n categoryId: container.data('categoryId'),\r\n sorting: filters.sort,\r\n specifications: filters.specs,\r\n page: filters.page,\r\n from: fromPrice,\r\n to: toPrice,\r\n term: search || freeTextSearchTerm,\r\n userId: UserId\r\n\r\n }\r\n , function (data) {\r\n var popup = $(productWrapper).find(\"#productPopup\");\r\n productWrapper.html('');\r\n // display products if possible\r\n if (data.Products.length > 0) {\r\n var productTemplate = $('#filtered-product-item-template').html();\r\n $.each(data.Products, function (index, value) {\r\n $(productWrapper).append(Mustache.render(productTemplate, {\r\n product: value,\r\n CompareUrl: container.data('compareUrl'),\r\n ProductUrl: ((useCategoryUrl && value.Url_Category != '') ? value.Url_Category : value.Url)\r\n }));\r\n });\r\n\r\n if (popup){\r\n $(productWrapper).append(popup);\r\n }\r\n }\r\n\r\n RenderPaginationForResponseData(data);\r\n initCountdowns();\r\n });\r\n \r\n}\r\n\r\nfunction setClassesOnShownProducts(shownProducts) {\r\n shownProducts.each(function (i) {\r\n var productEle = jQuery(this),\r\n counter = i + 1;\r\n if (counter % 2 === 0) {\r\n productEle.addClass('even');\r\n } else {\r\n productEle.addClass('odd');\r\n }\r\n if (counter % 3 === 0) {\r\n productEle.addClass('third');\r\n }\r\n if (counter % 4 === 0) {\r\n productEle.addClass('fourth');\r\n }\r\n if (counter % 5 === 0) {\r\n productEle.addClass('fifth');\r\n }\r\n productEle.addClass('pos' + counter);\r\n });\r\n}\r\n\r\n/****************************************************\r\n - TYPEAHEAD\r\n****************************************************/\r\njQuery(function () {\r\n var dropdownInputGroup = jQuery('.dropdown-input-group');\r\n\r\n if (dropdownInputGroup[0]) {\r\n var dropdowns = dropdownInputGroup.find('.dropdown');\r\n dropdownInputGroup.each(function () {\r\n var group = jQuery(this);\r\n\r\n group.on('keyup', 'input', function (e) {\r\n var input = jQuery(this);\r\n if (e.keyCode === 13) {\r\n //Filter products\r\n //TODO\r\n //selectAccesoryDropDownItem(input);\r\n dropdowns.hide();\r\n } else if (e.keyCode === 40) {\r\n //Down arrow\r\n moveAccesoryChoice(input, true);\r\n } else if (e.keyCode === 38) {\r\n //Up arrow\r\n moveAccesoryChoice(input, false);\r\n } else {\r\n //Filter choices\r\n filterAccesoryDropdownChoices(input);\r\n if (input.val() == '') {\r\n dropdowns.hide();\r\n }\r\n }\r\n }).on('click', '.dropdown-item', function () {\r\n var dropDownItem = jQuery(this);\r\n chooseAccesoryDropDownItem(dropDownItem);\r\n filterProductList();\r\n });\r\n });\r\n\r\n jQuery('body').on('click', function () {\r\n dropdowns.hide();\r\n });\r\n }\r\n});\r\n\r\nfunction filterAccesoryDropdownChoices(input) {\r\n var dropdownInputGroup = input.parent(),\r\n dropDown = dropdownInputGroup.children('.dropdown'),\r\n dropdownItems = dropDown.find('.dropdown-item'),\r\n searchText = input.val().toLowerCase(),\r\n filteredItems = dropdownItems.filter(function () {\r\n return jQuery(this).text().trim().toLowerCase().indexOf(searchText) > -1;\r\n });\r\n\r\n dropdownItems.removeClass('filtered');\r\n\r\n var chosenItem = filteredItems.addClass('filtered').first();\r\n if (chosenItem[0]) {\r\n dropDown.show();\r\n } else {\r\n dropDown.hide();\r\n }\r\n\r\n chooseAccesoryDropDownItem(chosenItem);\r\n}\r\n\r\nfunction moveAccesoryChoice(input, down) {\r\n var dropdownInputGroup = input.parent(),\r\n dropDown = dropdownInputGroup.children('.dropdown'),\r\n dropdownItems = dropDown.find('.dropdown-item.filtered'),\r\n chosenDropdownItem = dropdownItems.filter('.chosen'),\r\n nextItem = down ? chosenDropdownItem.nextAll('.filtered:first') : chosenDropdownItem.prevAll('.filtered:first');\r\n\r\n if (!nextItem[0]) {\r\n nextItem = down ? dropdownItems.first() : dropdownItems.last();\r\n }\r\n\r\n chooseAccesoryDropDownItem(nextItem);\r\n\r\n}\r\n\r\nfunction chooseAccesoryDropDownItem(newChosenItem) {\r\n var dropDown = newChosenItem.parent(),\r\n previouslyChosenItem = dropDown.children('.chosen'),\r\n input = dropDown.next(),\r\n searchText = input.val(),\r\n itemsShown = searchText != '' && newChosenItem[0],\r\n id = itemsShown ? newChosenItem.attr('data-id') : '',\r\n parentid = itemsShown ? newChosenItem.attr('data-parentid') : '';\r\n\r\n input.attr('data-chosen-id', id).attr('data-chosen-parentid', parentid).attr('data-chosen-text', newChosenItem.text());\r\n previouslyChosenItem.removeClass('chosen');\r\n newChosenItem.addClass('chosen');\r\n if (itemsShown) {\r\n dropDown.addClass('itemsShown');\r\n } else {\r\n dropDown.removeClass('itemsShown');\r\n }\r\n}\r\n\r\n//function selectAccesoryDropDownItem(input) {\r\n// var text = input.attr('data-chosen-text'),\r\n// dropdownInputGroup = input.parent(),\r\n// dropDown = dropdownInputGroup.children('.dropdown');\r\n// if (text && text != '') {\r\n// input.val(text.trim());\r\n// }\r\n\r\n// dropDown.removeClass('itemsShown');\r\n// filterProductList();\r\n\r\n//}\r\n\r\n// ACCESSORY LIST LISTENERS/DATA REQUEST/DISPLAY\r\nfunction LoadProductAccessories(filtering){\r\n var container = $('#productlistContainer.accessories');\r\n var productWrapper = container.find('.productWrapper');\r\n var freeTextSearchTerm = $(\"#productlistContainer.accessories\").find('input.freeSearch').val();\r\n var filteringBarContainer = $('#product-accessories-list-filter-container');\r\n var action = (( filtering === true) ? container.data('filter') : container.data('init'));\r\n var filters = getFilters();\r\n \r\n $.getJSON(searchApiUrl + '/' + action +'/' + (container.data('shop') + '_' + container.data('language'))\r\n , {\r\n include: container.data('include'),\r\n exclude: container.data('exclude'),\r\n term: freeTextSearchTerm,\r\n page: filters.page,\r\n specifications: filters.specs\r\n }\r\n , function (data) {\r\n \r\n // display filtering bar\r\n if (filteringBarContainer && (filtering === null || filtering === undefined)) {\r\n var filteringBarTemplate = $('#category-product-filtering-bar-template').html();\r\n $(filteringBarContainer).append(Mustache.render(filteringBarTemplate, {\r\n FilteringGroups: data.FilteringGroups,\r\n PriceRange: {\r\n Visible: false\r\n },\r\n FreeTextSearchEnabled: true,\r\n FilteringGroupsAvailable: data.FilteringGroups && data.FilteringGroups.length > 0,\r\n MoreThanOneProduct : data.Products.length > 1\r\n }));\r\n InitProductListContainerFilters();\r\n }\r\n\r\n productWrapper.html('');\r\n // display products if possible\r\n if (data.Products !== null && data.Products.length > 0) {\r\n var productTemplate = $('#filtered-product-accessory-template').html();\r\n $.each(data.Products, function (index, value) {\r\n $(productWrapper).append(Mustache.render(productTemplate, {\r\n product: value,\r\n accessoryDiscountAvailable: !(!value.DiscountDisplayPrice || 0 === value.DiscountDisplayPrice.length)\r\n }));\r\n });\r\n }\r\n });\r\n}\r\n\r\n$( \".accessoriesOverview.shop-area-box\" ).click(function(e) {\r\n var container = $('#productlistContainer.accessories');\r\n // $(container).toggleClass(\"on\");\r\n\r\n var attr = $(container).attr('loaded');\r\n\r\n // toggle visual data\r\n // $('.shop-area-box .showHide').toggleClass('hideAccessories');\r\n\r\n // For some browsers, `attr` is undefined; for others,\r\n // `attr` is false. Check for both.\r\n if (typeof attr !== typeof undefined && attr !== false) {\r\n // ...\r\n }\r\n else{\r\n // $(container).addClass('loading');\r\n LoadProductAccessories();\r\n $(container).attr(\"loaded\", 'true');\r\n }\r\n\r\n e.preventDefault();\r\n});\r\n\r\n\r\n// PERFORM INITIAL LOAD IF PRODUCT LIST CONTAINER PRESENT IN DOM\r\njQuery(function () {\r\n\r\n if ($('#category-product-list-container').length > 0) {\r\n\r\n var container = $('#category-product-list-container');\r\n var productWrapper = container.find('.productWrapper');\r\n var filteringBarContainer = $('#category-product-list-filter-container');\r\n var searchTerm = $('#productlistContainer').attr('data-search');\r\n var freeTextSearchEnabled = $(filteringBarContainer).attr('data-free-text-search');\r\n\r\n // request for data\r\n $.getJSON(searchApiUrl + '/' + container.data('init')+'/' + (container.data('shop') + '_' + container.data('language'))\r\n , {\r\n categoryId: container.data('categoryId'),\r\n term: searchTerm,\r\n userId: UserId\r\n }\r\n , function (data) {\r\n\r\n if (data==null)\r\n {\r\n return null;\r\n }\r\n\r\n if ($('#productListNumberOfResults').length) {\r\n $('#productListNumberOfResults').text(data.Pagination.Total);\r\n }\r\n\r\n // display filtering bar\r\n if (filteringBarContainer) {\r\n var filteringBarTemplate = $('#category-product-filtering-bar-template').html();\r\n $(filteringBarContainer).append(Mustache.render(filteringBarTemplate, {\r\n FilteringGroups: data.FilteringGroups,\r\n PriceRange: {\r\n Visible: data.PriceRange && (data.PriceRange.Max > data.PriceRange.Min),\r\n Data: data.PriceRange\r\n },\r\n FreeTextSearchEnabled: freeTextSearchEnabled === \"True\",\r\n FilteringGroupsAvailable: data.FilteringGroups && data.FilteringGroups.length > 0,\r\n MoreThanOneProduct : data.Products.length > 1,\r\n CompareUrl: container.data('compareUrl')\r\n }));\r\n }\r\n\r\n InitProductListContainerFilters();\r\n RenderPaginationForResponseData(data);\r\n \r\n var hasTobeReloaded = preselectFilteringOptionsBasedOnQueryString();\r\n if (hasTobeReloaded) {\r\n filterProductList();\r\n return null;\r\n }\r\n\r\n // display products if possible - value.Url\r\n if (data.Products.length > 0) {\r\n var productTemplate = $('#filtered-product-item-template').html();\r\n $.each(data.Products, function (index, value) {\r\n $(productWrapper).append(Mustache.render(productTemplate, {\r\n product: value,\r\n CompareUrl: container.data('compareUrl'),\r\n ProductUrl: ((useCategoryUrl && value.Url_Category != '') ? value.Url_Category : value.Url)\r\n }));\r\n });\r\n }\r\n\r\n initCountdowns();\r\n //goshopping.helpers.setOrderIdOnCrossSiteLinks();\r\n\r\n });\r\n }\r\n\r\n $(\"#newest-products-link\").on('click.init',function(){\r\n\r\n $(this).off('click.init');\r\n\r\n $(\"#new .jcarousel\").removeClass(\"lazy\");\r\n // request for data\r\n $.getJSON(searchApiUrl + '/' + $(this).data('init') + '/' + ($(this).data('shop') + '_' + $(this).data('language'))\r\n , null,\r\n function (data) {\r\n if (data == null) {\r\n return null;\r\n }\r\n\r\n var productTemplate = $('#carousel-product-item-template').html();\r\n var productWrapper = $(\"#new ul\");\r\n $.each(data, function (index, value) {\r\n $(productWrapper).append(Mustache.render(productTemplate, {\r\n product: value\r\n }));\r\n });\r\n\r\n initializeJCarousels();\r\n initializeJCarousels();\r\n }\r\n );\r\n\r\n });\r\n});\r\n\r\nfunction RenderPaginationForResponseData(data) {\r\n var paginationContainer = $('#category-product-list-pagination-container');\r\n paginationContainer.html('');\r\n\r\n // display pagination\r\n var paginationTemplate = $('#category-product-pagination-template').html();\r\n var rangeOfPages = [];\r\n\r\n var pageOffset = 4;\r\n\r\n if (pageOffset > data.Pagination.TotalPages){\r\n pageOffset = data.Pagination.TotalPages;\r\n }\r\n\r\n var start = data.Pagination.CurrentPage - pageOffset;\r\n var end = data.Pagination.CurrentPage + pageOffset;\r\n\r\n if (start<=0)\r\n {\r\n start = 1;\r\n }\r\n\r\n if (end > data.Pagination.TotalPages){\r\n end = data.Pagination.TotalPages;\r\n }\r\n\r\n if (data.Pagination.CurrentPage == 1){\r\n start = 1;\r\n }\r\n\r\n for (var i=start; i<=end; i++){\r\n\r\n if (i>0 && i<=data.Pagination.TotalPages){\r\n rangeOfPages.push({\r\n page: i,\r\n active: i === data.Pagination.CurrentPage\r\n });\r\n }\r\n }\r\n\r\n // set prev page\r\n var prevPage = {\r\n page: ((data.Pagination.CurrentPage - 1 > 0) ? data.Pagination.CurrentPage - 1 : null)\r\n };\r\n prevPage.disabled = prevPage.page == null || prevPage.page === data.Pagination.CurrentPage;\r\n\r\n // set next page\r\n var nextPage = {\r\n page: ((data.Pagination.CurrentPage + 1 <= data.Pagination.TotalPages) ? data.Pagination.CurrentPage + 1 : null)\r\n };\r\n nextPage.disabled = nextPage.page == null || nextPage.page === data.Pagination.CurrentPage;\r\n\r\n $(paginationContainer).append(Mustache.render(paginationTemplate,\r\n {\r\n data: data.Pagination,\r\n range: rangeOfPages,\r\n prevPage: prevPage,\r\n nextPage: nextPage,\r\n relativeUrl: window.location.pathname,\r\n singlePage: data.Pagination.TotalPages <= 1\r\n }));\r\n}\r\n","window.depict = window.depict || {};\r\n\r\n//Handling adding to basket\r\njQuery(function () {\r\n if ($('.addProductToBasket').length) {\r\n function loop54Click() {\r\n var productSku = $('.addProductToBasket')\r\n .data('identifier')\r\n .toString();\r\n var clickedEntity = { type: 'Product', id: productSku };\r\n loop54client.createEvent(\r\n 'click',\r\n clickedEntity,\r\n null,\r\n null,\r\n null,\r\n function (response) {}\r\n );\r\n }\r\n\r\n $('.js-product-page').ready(loop54Click);\r\n }\r\n // Productpage add to basket modal\r\n jQuery('body').on(\r\n 'addedProductToBasket',\r\n function (event, basket, orderline) {\r\n if (orderline) {\r\n showProductsModal(orderline.Sku, orderline.ProductName);\r\n }\r\n }\r\n );\r\n\r\n jQuery('body').on(\r\n 'addedProductWithoutAccessoriesSelected',\r\n function (event, basket, orderline) {\r\n if (orderline) {\r\n // show accessories popup\r\n showProductsModal(orderline.Sku);\r\n }\r\n }\r\n );\r\n\r\n // listen on adding to basket from product view page\r\n $(document).on('submit', 'form.addProductToBasket', function (event) {\r\n event.preventDefault();\r\n var productSku = $(this).data('identifier').toString();\r\n var languageNodeId = $(this).find(\r\n \"input[name='languageNodeId-\" + productSku + \"']\"\r\n )[0].value;\r\n var imageUrl = $(this).find(\r\n \"input[name='imageUrl-\" + productSku + \"']\"\r\n )[0].value;\r\n var productName = $(this).find(\r\n \"input[name='productName-\" + productSku + \"']\"\r\n )[0].value;\r\n var quantity = $(this).find(\r\n \"input[name='quantity-\" + productSku + \"']\"\r\n )[0].value;\r\n var price = $(this).find(\"input[name='price-\" + productSku + \"']\")[0]\r\n .value;\r\n var brand = $(this).find(\"input[name='brand-\" + productSku + \"']\")[0]\r\n .value;\r\n var category = $(this).find(\r\n \"input[name='category-\" + productSku + \"']\"\r\n )[0].value;\r\n\r\n var accessoriesAvailable =\r\n $(this).find(\r\n \"input[name='accessoriesAvailable-\" + productSku + \"']\"\r\n )[0].value === 'True';\r\n var accessoriesData = [];\r\n\r\n $('.product .addToCartForm.added').each(function (index) {\r\n var accessory = $(this).closest('.product');\r\n var accessorySku = $(accessory).data('identifier').toString();\r\n var accessoryLanguageNodeId = $(accessory).find(\r\n \"input[name='languageNodeId-\" + accessorySku + \"']\"\r\n )[0].value;\r\n var accessoryImageUrl = $(accessory).find(\r\n \"input[name='imageUrl-\" + accessorySku + \"']\"\r\n )[0].value;\r\n var accessoryName = $(accessory).find(\r\n \"input[name='productName-\" + accessorySku + \"']\"\r\n )[0].value;\r\n\r\n accessoriesData.push({\r\n productIdentifier: accessorySku,\r\n languageNodeId: accessoryLanguageNodeId,\r\n productName: accessoryName,\r\n imageUrl: accessoryImageUrl,\r\n quantity: 1,\r\n });\r\n });\r\n\r\n var accessoriesSelected = accessoriesData.length > 0;\r\n\r\n // set callback name\r\n var callbackName = 'addedProductToBasket';\r\n if (accessoriesAvailable && !accessoriesSelected) {\r\n callbackName = 'addedProductWithoutAccessoriesSelected';\r\n }\r\n\r\n var currency = '';\r\n switch (languageNodeId) {\r\n case '1092' || '1100':\r\n currency = 'DKK';\r\n break;\r\n case '21618' || '22387':\r\n currency = 'SEK';\r\n break;\r\n case '21916' || '22439':\r\n currency = 'NOK';\r\n break;\r\n case '105046' || '106020':\r\n currency = 'EUR';\r\n break;\r\n default:\r\n currency = '';\r\n }\r\n\r\n var convertedPrice = parseFloat(price.replace(',', '.'));\r\n var priceWithoutVAT = parseFloat((convertedPrice * 0.8).toFixed(2));\r\n\r\n var item = {\r\n item_name: brand + ' ' + productName,\r\n item_id: productSku,\r\n price: priceWithoutVAT,\r\n item_brand: brand,\r\n quantity: parseInt(quantity),\r\n };\r\n \r\n if (category === null || category === '') {\r\n category = undefined;\r\n }\r\n \r\n if (category !== undefined) {\r\n var categories = category.split('/').filter(Boolean);\r\n for (var j = 0; j < categories.length; j++) {\r\n if (j === 0) {\r\n item['item_category'] = categories[j];\r\n } else {\r\n item['item_category' + (j + 1)] = categories[j];\r\n }\r\n }\r\n }\r\n\r\n // Google Tag Manager\r\n window.dataLayer.push({ ecommerce: null });\r\n window.dataLayer.push({\r\n event: 'add_to_cart',\r\n ecommerce: {\r\n currency: currency,\r\n items: [item],\r\n },\r\n });\r\n\r\n goshopping.basket.addProductToBasket(\r\n productSku,\r\n quantity,\r\n languageNodeId,\r\n productName,\r\n imageUrl,\r\n accessoriesData,\r\n callbackName\r\n );\r\n\r\n window.depict.addToCart = function (productId, amount) {\r\n goshopping.basket.addProductToBasket(productId, amount, languageNodeId);\r\n return productId, amount;\r\n };\r\n\r\n // Loop54 addtocart event\r\n var addToCartEntity = { type: 'Product', id: productSku };\r\n loop54client.createEvent(\r\n 'addtocart',\r\n addToCartEntity,\r\n null,\r\n null,\r\n null,\r\n function (response) {\r\n }\r\n );\r\n });\r\n\r\n // adding accessory from modal to baskest\r\n $(document).on(\r\n 'submit',\r\n 'form.addAccessoryModalProductToBasket',\r\n function (event) {\r\n event.preventDefault();\r\n var productSku = $(this).data('identifier').toString();\r\n var languageNodeId = $(this).find(\r\n \"input[name='languageNodeId-\" + productSku + \"']\"\r\n )[0].value;\r\n var imageUrl = $(this).find(\r\n \"input[name='imageUrl-\" + productSku + \"']\"\r\n )[0].value;\r\n var productName = $(this).find(\r\n \"input[name='productName-\" + productSku + \"']\"\r\n )[0].value;\r\n var brand = $(this).find(\r\n \"input[name='brand-\" + productSku + \"']\"\r\n )[0].value;\r\n var category = $(this).find(\r\n \"input[name='category-\" + productSku + \"']\"\r\n )[0].value;\r\n var price = $(this).find(\r\n \"input[name='price-\" + productSku + \"']\"\r\n )[0].value;\r\n var quantity = 1;\r\n\r\n goshopping.basket.addProductToBasket(\r\n productSku,\r\n quantity,\r\n languageNodeId,\r\n productName,\r\n imageUrl\r\n );\r\n\r\n var currency = '';\r\n switch (languageNodeId) {\r\n case '1092' || '1100':\r\n currency = 'DKK';\r\n break;\r\n case '21618' || '22387':\r\n currency = 'SEK';\r\n break;\r\n case '21916' || '22439':\r\n currency = 'NOK';\r\n break;\r\n case '105046' || '106020':\r\n currency = 'EUR';\r\n break;\r\n default:\r\n currency = '';\r\n }\r\n\r\n var convertedPrice = parseFloat(price.replace(',', '.'));\r\n var priceWithoutVAT = parseFloat((convertedPrice * 0.8).toFixed(2));\r\n\r\n var item = {\r\n item_name: brand + ' ' + productName,\r\n item_id: productSku,\r\n price: priceWithoutVAT,\r\n item_brand: brand,\r\n quantity: parseInt(quantity),\r\n };\r\n\r\n if (category === null || category === '') {\r\n category = undefined;\r\n }\r\n \r\n if (category !== undefined) {\r\n var categories = category.split('/').filter(Boolean);\r\n for (var j = 0; j < categories.length; j++) {\r\n if (j === 0) {\r\n item['item_category'] = categories[j];\r\n } else {\r\n item['item_category' + (j + 1)] = categories[j];\r\n }\r\n }\r\n }\r\n\r\n // Google Tag Manager\r\n window.dataLayer.push({ ecommerce: null });\r\n window.dataLayer.push({\r\n event: 'add_to_cart',\r\n ecommerce: {\r\n currency: currency,\r\n items: [item],\r\n },\r\n });\r\n\r\n // Loop54 addtocart event\r\n var addToCartEntity = { type: 'Product', id: productSku };\r\n loop54client.createEvent(\r\n 'addtocart',\r\n addToCartEntity,\r\n null,\r\n null,\r\n null,\r\n function (response) {\r\n }\r\n );\r\n }\r\n );\r\n});\r\n\r\n/****************************************************\r\n - REDIRECT AFTER ADD TO CART\r\n****************************************************/\r\n\r\nvar showAccessoryPopUp = true;\r\n\r\njQuery('body').on(\r\n 'click',\r\n '.product-list-modal .addToCartForm button',\r\n function () {\r\n var button = jQuery(this),\r\n label = '';\r\n\r\n if (button.closest('#order-more-modal').length) {\r\n label = 'Free shipping';\r\n\r\n button.closest('.product-list-modal').addClass('refresh-page');\r\n } else if (button.closest('#accessory-modal').length) {\r\n label = 'Accessories';\r\n }\r\n\r\n ga('send', 'event', 'Modal', 'Add to cart', label);\r\n }\r\n);\r\n\r\nfunction goToCart() {\r\n var goToCartButton = jQuery('.cartTextPriceContainer .showCart'),\r\n cartUrl = goToCartButton.attr('href');\r\n var linkerParam = '';\r\n window.ga(function (tracker) {\r\n linkerParam = tracker.get('linkerParam');\r\n });\r\n\r\n window.location.href = cartUrl;\r\n}\r\n\r\n/****************************************************\r\n - ACCESSORY MODAL\r\n****************************************************/\r\njQuery(function () {\r\n //If you add an accessory from the pop-up and then closes it, it shouldn't be shown again\r\n $('#accessory-modal').on(\r\n 'click',\r\n '.accessoryModalProductSubmitButton',\r\n function () {\r\n showAccessoryPopUp = false;\r\n }\r\n );\r\n\r\n jQuery('body').on('click', '.product-list-modal .show-more', function () {\r\n var button = jQuery(this);\r\n\r\n button.closest('.hidden-products').addClass('show-hidden-products');\r\n\r\n return false;\r\n });\r\n\r\n jQuery('body').on('click', '.product-list-modal .modal-close', function () {\r\n var button = jQuery(this);\r\n\r\n if (button.closest('.product-list-modal.refresh-page').length) {\r\n location.reload();\r\n } else {\r\n jQuery('body').removeClass('show-accessory-modal');\r\n jQuery('body').removeClass('show-order-more-modal');\r\n }\r\n\r\n return false;\r\n });\r\n});\r\n\r\nfunction showProductsModal(sku, productName) {\r\n var container = $('#productlistContainer');\r\n var includes = container.data('include');\r\n var excludes = container.data('exclude');\r\n\r\n if (includes !== undefined) {\r\n var jqxhr = $.getJSON(\r\n searchApiUrl +\r\n '/filter-accessories/' +\r\n (container.data('shop') + '_' + container.data('language')),\r\n {\r\n include: container.data('include'),\r\n exclude: container.data('exclude'),\r\n },\r\n function (data) {\r\n // Success\r\n productsModalHtml(data, '/related-products-modal');\r\n }\r\n ).fail(function (data) {\r\n // Fall back to related products\r\n $.getJSON(\r\n searchApiUrl +\r\n '/GetBasketRelatedEntities/' +\r\n (container.data('shop') +\r\n '_' +\r\n container.data('language')) +\r\n '/' +\r\n sku +\r\n '/?take=4&sorting=Popularity&min=0&max=1000&category=' +\r\n container.data('category') +\r\n '&userId=' +\r\n UserId,\r\n function (data) {\r\n productsModalHtml(data, '/accessory-modal');\r\n }\r\n );\r\n });\r\n } else {\r\n //productsModalHtml(container.data, '/accessory-modal');\r\n $.getJSON(\r\n searchApiUrl +\r\n '/GetBasketRelatedEntities/' +\r\n (container.data('shop') + '_' + container.data('language')) +\r\n '/' +\r\n sku +\r\n '/?take=4&sorting=Popularity&min=0&max=1000&category=' +\r\n container.data('category') +\r\n '&userId=' +\r\n UserId,\r\n function (data) {\r\n productsModalHtml(data, '/accessory-modal');\r\n }\r\n );\r\n }\r\n if (productName) {\r\n $('.product-list-modal').attr('data-product-slug', productName);\r\n }\r\n}\r\n\r\nfunction productsModalHtml(data, page) {\r\n if (data == null) {\r\n return null;\r\n }\r\n if (data.Products.length > 0) {\r\n //Virtual pageview\r\n ga('send', 'pageview', {\r\n page: page,\r\n });\r\n\r\n var initialItemsToDisplay = 4;\r\n\r\n if (jQuery('.device-sm').is(':visible')) {\r\n initialItemsToDisplay = 3;\r\n }\r\n // else if (jQuery(\".device-xs\").is(\":visible\")) {\r\n // initialItemsToDisplay = 2;\r\n // }\r\n\r\n var accessoryContainer = $(\r\n $('.product-list-modal-overlay').find('.productWrapper')[0]\r\n );\r\n var productTemplate = $(\r\n '#accessory-product-modal-product-template'\r\n ).html();\r\n var hideItemCounter = initialItemsToDisplay;\r\n var accessoryContainerContent = $('
');\r\n\r\n if (data.Products.length > initialItemsToDisplay) {\r\n $($('.product-list-modal-overlay').find('.products')[0]).addClass(\r\n 'hidden-products'\r\n );\r\n }\r\n\r\n $.each(data.Products, function (index, value) {\r\n accessoryContainerContent.append(\r\n Mustache.render(productTemplate, {\r\n product: value,\r\n accessoryDiscountAvailable: !(\r\n !value.DiscountDisplayPrice ||\r\n 0 === value.DiscountDisplayPrice.length\r\n ),\r\n hide: hideItemCounter <= 0,\r\n ProductUrl:\r\n useCategoryUrl && value.Url_Category != ''\r\n ? value.Url_Category\r\n : value.Url,\r\n })\r\n );\r\n hideItemCounter = hideItemCounter - 1;\r\n });\r\n accessoryContainer.html(accessoryContainerContent.html());\r\n\r\n jQuery('body').addClass('show-accessory-modal');\r\n }\r\n}\r\n\r\n/****************************************************\r\n - PRODUCT REVIEWS\r\n****************************************************/\r\njQuery(function () {\r\n var writeReview = jQuery('#writeReview');\r\n\r\n if (writeReview[0]) {\r\n jQuery('body').on('click', '.stars .star', function () {\r\n var star = jQuery(this),\r\n stars = star.parent();\r\n stars.removeClass('chosen0 chosen1 chosen2 chosen3 chosen4');\r\n stars.addClass('chosen' + star.index());\r\n });\r\n\r\n jQuery('body').on(\r\n 'click',\r\n '#writeReview .writeYourReview',\r\n function (e) {\r\n var button = jQuery(this);\r\n if (button.hasClass('mobile')) {\r\n window.location.hash = '#writeReview';\r\n button.remove();\r\n } else {\r\n writeReview.attr('id', '');\r\n window.location.hash = '#writeReview';\r\n writeReview.attr('id', 'writeReview');\r\n }\r\n writeReview.toggleClass('writeReview');\r\n }\r\n );\r\n\r\n if (window.location.hash.length > 0) {\r\n if (window.location.hash.indexOf('#writeReview') >= 0) {\r\n var customerInformation = unescape(window.location.hash).split(\r\n '|'\r\n );\r\n writeReview.find('form #FirstName').val(customerInformation[1]);\r\n writeReview.find('form #lastname').val(customerInformation[2]);\r\n writeReview\r\n .find('form #emailAddress')\r\n .val(customerInformation[3]);\r\n writeReview.toggleClass('writeReview');\r\n jQuery('#writeReview .writeYourReview').remove();\r\n jQuery('html, body').scrollTop(writeReview.offset().top);\r\n }\r\n }\r\n }\r\n});\r\n\r\n/****************************************************\r\n - PRODUCT ACCESSORIES\r\n****************************************************/\r\njQuery(function () {\r\n var productView = jQuery(\r\n 'body.Product, body.ProductVariant, body.ProductDemo'\r\n );\r\n\r\n //This is responsible for turning accesories on and off in the fold out view\r\n jQuery('body').on(\r\n 'click',\r\n '.productList .addToCartForm .addToCart',\r\n function () {\r\n var button = jQuery(this),\r\n addToCartForm = button.closest('.addToCartForm');\r\n\r\n if (addToCartForm.hasClass('on')) {\r\n addToCartForm.removeClass('on');\r\n } else {\r\n addToCartForm.addClass('on');\r\n }\r\n\r\n //The popup should be shown when no accesories have been selected\r\n $('.productList .addToCartForm').each(function () {\r\n showAccessoryPopUp = true;\r\n\r\n if ($(this).hasClass('on')) {\r\n showAccessoryPopUp = false;\r\n return false;\r\n }\r\n });\r\n }\r\n );\r\n\r\n if (productView[0]) {\r\n //ACCESSORIES - Add to cart button\r\n productView.on(\r\n 'click',\r\n '.accessories .addToCartForm .addToCart',\r\n function () {\r\n var button = jQuery(this),\r\n product = button.closest('.product'),\r\n quantity = product.find('.quantity'),\r\n addToCartForm = button.closest('.addToCartForm');\r\n\r\n quantity.val(addToCartForm.hasClass('on') ? '1' : '0');\r\n\r\n setChosenAccessories();\r\n }\r\n );\r\n\r\n //ACCESSORIES - Toggle overview\r\n productView.on('click', '.accessoriesOverview', function (e) {\r\n var accessoriesOverview = jQuery(this),\r\n productlistContainer = jQuery('#productlistContainer'),\r\n productWrapper = productlistContainer.find('.productWrapper');\r\n accessoriesOverview.toggleClass('on');\r\n productlistContainer.toggleClass('on');\r\n e.preventDefault();\r\n\r\n readyLazyLoad();\r\n return false;\r\n });\r\n\r\n //ACCESSORIES - Toggle overview - Prevent double click from marking the text\r\n productView.on('mousedown', '.accessoriesOverview', function (e) {\r\n e.preventDefault();\r\n return false;\r\n });\r\n\r\n productView.on('click', '.basicData .addToCartBtn input', function (e) {\r\n setChosenAccessoriesToAdded();\r\n });\r\n }\r\n});\r\n\r\nfunction setChosenAccessories() {\r\n var accessoriesPcs = jQuery('#accessoriesPcs'),\r\n accessoriesTotalPrice = jQuery('#accessoriesTotalPrice'),\r\n productlistContainer = jQuery('#productlistContainer'),\r\n productsToAdd = productlistContainer.find('.addToCartForm.on'),\r\n accessoriesOverview = accessoriesPcs.closest('.accessoriesOverview'),\r\n form = jQuery('form.addProductToBasket');\r\n\r\n var sku = form.data('identifier').toString();\r\n var languageNodeId = $(form).find(\r\n \"input[name='languageNodeId-\" + sku + \"']\"\r\n )[0].value;\r\n\r\n if (accessoriesPcs[0]) {\r\n // precalculate price\r\n var accessoriesData = {\r\n basketId: $.cookie('basketId') ? $.cookie('basketId') : null,\r\n quantity: 1,\r\n productIdentifier: sku,\r\n languageNodeId: languageNodeId,\r\n accessoryIdentifiers: [],\r\n };\r\n\r\n if (productsToAdd[0]) {\r\n for (var i = 0; i < productsToAdd.length; i++) {\r\n var productEle = productsToAdd.eq(i).closest('.product');\r\n accessoriesData.accessoryIdentifiers.push(\r\n productEle.attr('data-identifier')\r\n );\r\n }\r\n }\r\n\r\n $.ajax({\r\n url: basketApiUrl + '/basket/precalculate-accessories',\r\n contentType: 'application/json',\r\n type: 'POST',\r\n data: JSON.stringify(accessoriesData),\r\n success: function (data) {\r\n accessoriesTotalPrice.text(data);\r\n accessoriesPcs.text(\r\n accessoriesData.accessoryIdentifiers.length\r\n );\r\n\r\n if (accessoriesData.accessoryIdentifiers.length > 0) {\r\n accessoriesOverview.addClass('productsChosen');\r\n } else {\r\n accessoriesOverview.removeClass('productsChosen');\r\n }\r\n },\r\n error: function (jqXhr, textStatus, errorThrown) {\r\n console.log(errorThrown);\r\n },\r\n });\r\n }\r\n}\r\n\r\nfunction setChosenAccessoriesToAdded() {\r\n var productlistContainer = jQuery('#productlistContainer'),\r\n productsToAdd = productlistContainer.find('.addToCartForm.on');\r\n productsToAdd.removeClass('on').addClass('added');\r\n setChosenAccessories();\r\n}\r\n\r\n/****************************************************\r\n IMAGE ZOOM\r\n****************************************************/\r\njQuery(function () {\r\n var productImage = jQuery('#productImage-image');\r\n if (productImage[0]) {\r\n jQuery('body').on(\r\n 'click',\r\n '#productImage-thumbnails .thumbnail-link',\r\n function () {\r\n var thumbnail = jQuery(this);\r\n thumbnail.siblings().removeClass('active');\r\n thumbnail.addClass('active');\r\n if (thumbnail.hasClass('youtube-information')) {\r\n window.location.hash = thumbnail\r\n .attr('href')\r\n .replace('#', '');\r\n }\r\n\r\n return false;\r\n }\r\n );\r\n }\r\n});\r\n\r\n/****************************************************\r\n VARIANTS\r\n****************************************************/\r\njQuery(function () {\r\n var variantByUrl = jQuery('#variantsByUrl');\r\n variantByUrl.on('change', function () {\r\n var optionSelected = $(this).find('option:selected');\r\n window.location = optionSelected.attr('data-url');\r\n });\r\n\r\n var productImage = jQuery('#productImage-image'),\r\n variants = jQuery('#variants');\r\n if (variants[0]) {\r\n var queryString = location.search,\r\n variantId =\r\n queryString != ''\r\n ? parseInt(new RegExp('=([^&#]*)').exec(queryString)[1])\r\n : 0;\r\n\r\n if (\r\n !isNaN(variantId) &&\r\n variantId > 0 &&\r\n variants.children('[value=' + variantId + ']')[0]\r\n ) {\r\n variants.val(variantId);\r\n\r\n var firstThumbnail = changeProductVariant(variants);\r\n\r\n productImage.attr('src', firstThumbnail.attr('rev'));\r\n\r\n productImage.on('load', function () {\r\n productImage.parent().addClass('image-loaded');\r\n });\r\n productImage.parent().attr('href', firstThumbnail.attr('href'));\r\n }\r\n } else {\r\n productImage.parent().addClass('image-loaded');\r\n }\r\n});\r\n\r\nfunction changeProductVariant(select) {\r\n var variantId = select.find('option:selected').val(),\r\n form = select.closest('.product'),\r\n variantInformation = form.find('.variant-information'),\r\n variantInformationFiltered = variantInformation.filter(\r\n '[data-variantid=' + variantId + ']'\r\n ),\r\n dispatchCountdown = jQuery('#dispatch-countdown'),\r\n firstThumbnail = variantInformationFiltered\r\n .filter('.elevatezoom-gallery')\r\n .first(),\r\n imageUrlEle = form.find('.imageUrl');\r\n\r\n if (dispatchCountdown[0]) {\r\n var dispatchCountdownVariantIds = dispatchCountdown\r\n .attr('data-variantid')\r\n .split(',');\r\n\r\n if (\r\n jQuery.inArray(variantId, dispatchCountdownVariantIds) > -1 &&\r\n !dispatchCountdown.hasClass('countdownHidden')\r\n ) {\r\n dispatchCountdown.show();\r\n } else {\r\n dispatchCountdown.hide();\r\n }\r\n }\r\n\r\n variantInformation.removeClass('showVariantInformation');\r\n variantInformationFiltered.addClass('showVariantInformation');\r\n form.addClass('show-variants');\r\n imageUrlEle.val(firstThumbnail.attr('data-cart-image'));\r\n\r\n var imageUrl = firstThumbnail.find('.thumbnail-image').attr('src'),\r\n imageProcessorStringIndex = imageUrl.indexOf('.jpg?');\r\n\r\n if (imageProcessorStringIndex > -1) {\r\n imageUrl = imageUrl.substring(0, imageProcessorStringIndex + 4);\r\n }\r\n\r\n form.find('input.mainProductImage[name*=imageUrl]').val(imageUrl);\r\n return firstThumbnail;\r\n}\r\n\r\n/****************************************************\r\n QUANTITY\r\n****************************************************/\r\njQuery(function () {\r\n updateFinancing(1, 20);\r\n\r\n jQuery('body.Product').on(\r\n 'click',\r\n '.quantityContainer button.plus',\r\n function () {\r\n var container = jQuery(this).closest('.quantityContainer'),\r\n quantityField = container.find('input[type=text]'),\r\n quantity = parseInt(quantityField.val());\r\n\r\n if (quantity) {\r\n updateFinancing(quantity + 1, 20);\r\n quantityField.val(quantity + 1);\r\n } else {\r\n updateFinancing(1, 20);\r\n quantityField.val(1);\r\n }\r\n checkPageDeliveryTimes();\r\n }\r\n );\r\n\r\n jQuery('body.Product').on(\r\n 'click',\r\n '.quantityContainer button.minus',\r\n function () {\r\n var container = jQuery(this).closest('.quantityContainer'),\r\n quantityField = container.find('input[type=text]'),\r\n quantity = parseInt(quantityField.val());\r\n\r\n if (quantity) {\r\n if (quantity > 1) {\r\n updateFinancing(quantity - 1, 20);\r\n quantityField.val(quantity - 1);\r\n }\r\n } else {\r\n updateFinancing(1, 20);\r\n quantityField.val(1);\r\n }\r\n checkPageDeliveryTimes();\r\n }\r\n );\r\n\r\n jQuery('body.Product').on(\r\n 'keyup',\r\n '.quantityContainer input.quantity',\r\n function () {\r\n var container = jQuery(this).closest('.quantityContainer'),\r\n quantityField = container.find('input[type=text]'),\r\n quantity = parseInt(quantityField.val());\r\n\r\n if (quantity) {\r\n if (quantity > 1) {\r\n updateFinancing(quantity - 1, 20);\r\n }\r\n } else {\r\n updateFinancing(1, 20);\r\n }\r\n checkPageDeliveryTimes();\r\n }\r\n );\r\n});\r\n\r\n/****************************************************\r\n - Read more text\r\n****************************************************/\r\njQuery(function () {\r\n var productReadMoreText = jQuery('.Product #information .bodyText');\r\n\r\n if (productReadMoreText) {\r\n var readMoreElements = productReadMoreText.find('p, h1, h2, h3');\r\n\r\n if (readMoreElements.length <= 1) {\r\n productReadMoreText.find('.toggle-on').remove();\r\n }\r\n }\r\n});\r\n","/****************************************************\r\n - PRODUCT SEARCH\r\n****************************************************/\r\njQuery(function () {\r\n var searchBox = jQuery('#searchBox');\r\n\r\n if (searchBox[0]) {\r\n var dropdown = searchBox.find('.dropdown'),\r\n shopName = searchBox.attr('data-shop'),\r\n languageCode = searchBox.attr('data-language'),\r\n //priceswithoutvat = searchBox.attr('data-priceswithoutvat'),\r\n searchTimeOut = null,\r\n xhr = null;\r\n\r\n searchBox\r\n .on('keyup', 'input[type=text]', function (e) {\r\n var searchTerm = jQuery(this).val();\r\n\r\n if (e.keyCode === 40) {\r\n //Down arrow\r\n moveSearchChoice(dropdown, true);\r\n } else if (e.keyCode === 38) {\r\n //Up arrow\r\n moveSearchChoice(dropdown, false);\r\n } else if (e.keyCode === 13) {\r\n //Enter - Clear timeout\r\n window.clearTimeout(searchTimeOut);\r\n } else {\r\n if (searchTerm && searchTerm.length > 0) {\r\n //A word is ready for search\r\n //window.clearTimeout(searchTimeOut);\r\n //searchTimeOut = window.setTimeout(function() {\r\n // xhr = sendSearchToServer(dropdown, searchTerm, languageid, websiteId, 8, priceswithoutvat);\r\n //}, 500);\r\n requestSuggestions(\r\n searchTerm,\r\n shopName + '_' + languageCode,\r\n dropdown\r\n );\r\n } else {\r\n window.clearTimeout(searchTimeOut);\r\n dropdown.find('.searchProduct:not(.template)').remove();\r\n dropdown.removeClass('show');\r\n }\r\n }\r\n })\r\n .on('keypress', 'input[type=text]', function (e) {\r\n if (e.keyCode === 13) {\r\n //Filter products\r\n if (!selectDropDownItem(dropdown)) {\r\n xhr.abort();\r\n e.preventDefault();\r\n return false;\r\n }\r\n }\r\n });\r\n\r\n jQuery('body').on('click', function () {\r\n dropdown.find('.searchProduct:not(.template)').remove();\r\n dropdown.removeClass('show');\r\n });\r\n }\r\n});\r\n\r\nfunction Highlight(text, search, imageUrl) {\r\n if (\r\n text.toLowerCase().indexOf(search.toLowerCase()) > -1 &&\r\n !imageUrl.startsWith('http')\r\n ) {\r\n //Case insensitive search, but keep case after replace\r\n return text.replace(new RegExp(search, 'gi'), function (str) {\r\n return '' + str + '';\r\n });\r\n } else {\r\n return text;\r\n }\r\n}\r\n\r\nfunction requestSuggestions(searchTerm, indexName, dropdown) {\r\n $.getJSON(\r\n searchApiUrl + '/suggest/' + indexName + '/',\r\n {\r\n indexName: indexName,\r\n term: searchTerm,\r\n userId: UserId,\r\n },\r\n function (data) {\r\n var template = dropdown.find('.searchProduct.template');\r\n console.log(data);\r\n dropdown.find('.searchProduct:not(.template)').remove();\r\n\r\n if (data.length > 0) {\r\n dropdown.addClass('show');\r\n for (var i = 0; i < data.length; i++) {\r\n var templateClone = template\r\n .clone()\r\n .removeClass('template');\r\n\r\n if (data[i].Type == 'Category') {\r\n //templateClone.attr('href', (useCategoryUrl && data[i].Url_Category != '') ? data[i].Url_Category : data[i].Url);\r\n //templateClone.find('.name').html(Highlight(data[i].Name, searchTerm));\r\n //dropdown.append(templateClone);\r\n continue;\r\n }\r\n\r\n templateClone.attr(\r\n 'href',\r\n useCategoryUrl && data[i].Url_Category != ''\r\n ? data[i].Url_Category\r\n : data[i].Url\r\n );\r\n templateClone\r\n .find('.name')\r\n .html(\r\n Highlight(\r\n data[i].Name,\r\n searchTerm,\r\n data[i].ImageUrl\r\n )\r\n );\r\n\r\n if (data[i].ImageUrl.startsWith('http')) {\r\n templateClone\r\n .find('.productImage')\r\n .attr('src', data[i].ImageUrl)\r\n .attr('style', 'width:45px;height:45px;');\r\n } else {\r\n templateClone.find('.price').html(data[i].Price);\r\n templateClone\r\n .find('.productImage')\r\n .attr(\r\n 'src',\r\n staticHostUrl +\r\n '/products/150/' +\r\n data[i].ImageUrl\r\n )\r\n .attr('style', 'width:45px;height:45px;');\r\n }\r\n\r\n if (data[i].Variant.length > 0) {\r\n templateClone\r\n .find('.variant')\r\n .html(' - ' + data[i].Variant);\r\n }\r\n\r\n dropdown.append(templateClone);\r\n }\r\n } else {\r\n dropdown.removeClass('show');\r\n }\r\n\r\n //goshopping.helpers.setOrderIdOnCrossSiteLinks();\r\n }\r\n );\r\n}\r\n\r\nfunction sendSearchToServer(\r\n dropdown,\r\n searchTerm,\r\n languageid,\r\n websiteid,\r\n take,\r\n priceswithoutvat\r\n) {\r\n //return jQuery.ajax({\r\n // url: '/Umbraco/Surface/Search/GetTopSearchResults',\r\n // data: { searchTerm: searchTerm, storeId: 1, languageId: languageid, websiteId: websiteid, take: take, pricesWithoutVAT: priceswithoutvat },\r\n // success: function (data) {\r\n // var template = dropdown.find('.searchProduct.template');\r\n // console.log(data);\r\n // dropdown.find('.searchProduct:not(.template)').remove();\r\n // if (data.length > 0) {\r\n // dropdown.addClass('show');\r\n // for (var i = 0; i < data.length; i++) {\r\n // var templateClone = template.clone().removeClass('template');\r\n // templateClone.attr('href', data[i].Url);\r\n // templateClone.find('.name').html(Highlight(data[i].Name, searchTerm));\r\n // if (data[i].Type == 'giftcard') {\r\n // templateClone.find('.price').html(jQuery('#giftcardFromText').val() + \" \" + data[i].Price);\r\n // } else {\r\n // templateClone.find('.price').html(data[i].Price);\r\n // }\r\n // templateClone.find('.productImage').attr('src', data[i].ImageUrl);\r\n // if (data[i].Variant.length > 0) {\r\n // templateClone.find('.variant').html(' - ' + data[i].Variant);\r\n // }\r\n // dropdown.append(templateClone);\r\n // }\r\n // } else {\r\n // dropdown.removeClass('show');\r\n // }\r\n // },\r\n // async: true,\r\n // type: 'POST',\r\n // cache: false,\r\n // dataType: 'json'\r\n //});\r\n}\r\n\r\nfunction moveSearchChoice(dropdown, down) {\r\n var dropdownItems = dropdown.find('a'),\r\n chosenDropdownItem = dropdownItems.filter('.chosen'),\r\n nextItem = chosenDropdownItem[0]\r\n ? chosenDropdownItem\r\n : dropdown.children().first();\r\n\r\n if (chosenDropdownItem[0]) {\r\n nextItem = down ? chosenDropdownItem.next() : chosenDropdownItem.prev();\r\n\r\n if (!nextItem[0]) {\r\n nextItem = down ? dropdownItems.first() : dropdownItems.last();\r\n }\r\n }\r\n\r\n chooseDropDownItem(nextItem);\r\n}\r\n\r\nfunction chooseDropDownItem(nextItem) {\r\n nextItem.addClass('chosen').siblings().removeClass('chosen');\r\n}\r\n\r\nfunction selectDropDownItem(dropdown) {\r\n var dropdownItems = dropdown.find('a'),\r\n chosenDropdownItem = dropdownItems.filter('.chosen');\r\n\r\n if (chosenDropdownItem[0]) {\r\n window.location.href = chosenDropdownItem.attr('href');\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\n/****************************************************\r\n Search scripts\r\n****************************************************/\r\njQuery('#searchBox .btn').click(function () {\r\n jQuery('#searchBox').submit();\r\n});\r\n","/****************************************************\r\n - PRODUCT SEARCH\r\n****************************************************/\r\njQuery(function () {\r\n var searchBox = jQuery('#searchBoxDesktop');\r\n\r\n if (searchBox[0]) {\r\n var dropdown = searchBox.find('.dropdown'),\r\n shopName = searchBox.attr('data-shop'),\r\n languageCode = searchBox.attr('data-language'),\r\n //priceswithoutvat = searchBox.attr('data-priceswithoutvat'),\r\n searchTimeOut = null,\r\n xhr = null;\r\n\r\n searchBox\r\n .on('keyup', 'input[type=text]', function (e) {\r\n var searchTerm = jQuery(this).val();\r\n\r\n if (e.keyCode === 40) {\r\n //Down arrow\r\n moveSearchChoice(dropdown, true);\r\n } else if (e.keyCode === 38) {\r\n //Up arrow\r\n moveSearchChoice(dropdown, false);\r\n } else if (e.keyCode === 13) {\r\n //Enter - Clear timeout\r\n window.clearTimeout(searchTimeOut);\r\n } else {\r\n if (searchTerm && searchTerm.length > 0) {\r\n //A word is ready for search\r\n //window.clearTimeout(searchTimeOut);\r\n //searchTimeOut = window.setTimeout(function() {\r\n // xhr = sendSearchToServer(dropdown, searchTerm, languageid, websiteId, 8, priceswithoutvat);\r\n //}, 500);\r\n requestSuggestions(\r\n searchTerm,\r\n shopName + '_' + languageCode,\r\n dropdown\r\n );\r\n } else {\r\n window.clearTimeout(searchTimeOut);\r\n dropdown.find('.searchProduct:not(.template)').remove();\r\n dropdown.removeClass('show');\r\n }\r\n }\r\n })\r\n .on('keypress', 'input[type=text]', function (e) {\r\n if (e.keyCode === 13) {\r\n //Filter products\r\n if (!selectDropDownItem(dropdown)) {\r\n xhr.abort();\r\n e.preventDefault();\r\n return false;\r\n }\r\n }\r\n });\r\n\r\n jQuery('body').on('click', function () {\r\n dropdown.find('.searchProduct:not(.template)').remove();\r\n dropdown.removeClass('show');\r\n });\r\n }\r\n});\r\n\r\nfunction Highlight(text, search, imageUrl) {\r\n if (\r\n text.toLowerCase().indexOf(search.toLowerCase()) > -1 &&\r\n !imageUrl.startsWith('http')\r\n ) {\r\n //Case insensitive search, but keep case after replace\r\n return text.replace(new RegExp(search, 'gi'), function (str) {\r\n return '' + str + '';\r\n });\r\n } else {\r\n return text;\r\n }\r\n}\r\n\r\nfunction requestSuggestions(searchTerm, indexName, dropdown) {\r\n $.getJSON(\r\n searchApiUrl + '/suggest/' + indexName + '/',\r\n {\r\n indexName: indexName,\r\n term: searchTerm,\r\n userId: UserId,\r\n },\r\n function (data) {\r\n var template = dropdown.find('.searchProduct.template');\r\n dropdown.find('.searchProduct:not(.template)').remove();\r\n dropdown.find('.search-header').remove();\r\n\r\n if (data.length > 0) {\r\n dropdown.addClass('show');\r\n for (var i = 0; i < data.length; i++) {\r\n var templateClone = template\r\n .clone()\r\n .removeClass('template');\r\n if (data[i].Type == 'Category') {\r\n //templateClone.attr('href', (useCategoryUrl && data[i].Url_Category != '') ? data[i].Url_Category : data[i].Url);\r\n //templateClone.find('.name').html(Highlight(data[i].Name, searchTerm));\r\n //templateClone.addClass('searchProductTop');\r\n //dropdown.append(templateClone);\r\n continue;\r\n }\r\n\r\n if (data[i].Type == 'AutoSuggest') {\r\n templateClone\r\n .find('.name')\r\n .html(Highlight(data[i].Name, searchTerm, ''));\r\n templateClone.attr('href', data[i].Url);\r\n dropdown.prepend(templateClone);\r\n continue;\r\n }\r\n\r\n templateClone.attr(\r\n 'href',\r\n useCategoryUrl && data[i].Url_Category != ''\r\n ? data[i].Url_Category\r\n : data[i].Url\r\n );\r\n templateClone\r\n .find('.name')\r\n .html(\r\n Highlight(\r\n data[i].Name,\r\n searchTerm,\r\n data[i].ImageUrl\r\n )\r\n );\r\n\r\n if (data[i].ImageUrl.startsWith('http')) {\r\n templateClone\r\n .find('.productImage')\r\n .attr('src', data[i].ImageUrl)\r\n .attr('style', 'width:45px;height:45px;');\r\n } else {\r\n templateClone.find('.price').html(data[i].Price);\r\n templateClone\r\n .find('.productImage')\r\n .attr(\r\n 'src',\r\n staticHostUrl +\r\n '/products/150/' +\r\n data[i].ImageUrl\r\n )\r\n .attr('style', 'width:45px;height:45px;');\r\n }\r\n\r\n // if (data[i].Variant.length > 0 ) {\r\n if (data[i].Type == 'variant') {\r\n templateClone\r\n .find('.variant')\r\n .html(' - ' + data[i].Variant);\r\n }\r\n\r\n dropdown.append(templateClone);\r\n }\r\n var headerText =\r\n $('#searchBoxDesktop').attr('data-header-text');\r\n $('.searchProductTop')\r\n .last()\r\n .after('

' + headerText + '

');\r\n } else {\r\n dropdown.removeClass('show');\r\n }\r\n\r\n //goshopping.helpers.setOrderIdOnCrossSiteLinks();\r\n }\r\n );\r\n}\r\n\r\nfunction sendSearchToServer(\r\n dropdown,\r\n searchTerm,\r\n languageid,\r\n websiteid,\r\n take,\r\n priceswithoutvat\r\n) {\r\n //return jQuery.ajax({\r\n // url: '/Umbraco/Surface/Search/GetTopSearchResults',\r\n // data: { searchTerm: searchTerm, storeId: 1, languageId: languageid, websiteId: websiteid, take: take, pricesWithoutVAT: priceswithoutvat },\r\n // success: function (data) {\r\n // var template = dropdown.find('.searchProduct.template');\r\n // console.log(data);\r\n // dropdown.find('.searchProduct:not(.template)').remove();\r\n // if (data.length > 0) {\r\n // dropdown.addClass('show');\r\n // for (var i = 0; i < data.length; i++) {\r\n // var templateClone = template.clone().removeClass('template');\r\n // templateClone.attr('href', data[i].Url);\r\n // templateClone.find('.name').html(Highlight(data[i].Name, searchTerm));\r\n // if (data[i].Type == 'giftcard') {\r\n // templateClone.find('.price').html(jQuery('#giftcardFromText').val() + \" \" + data[i].Price);\r\n // } else {\r\n // templateClone.find('.price').html(data[i].Price);\r\n // }\r\n // templateClone.find('.productImage').attr('src', data[i].ImageUrl);\r\n // if (data[i].Variant.length > 0) {\r\n // templateClone.find('.variant').html(' - ' + data[i].Variant);\r\n // }\r\n // dropdown.append(templateClone);\r\n // }\r\n // } else {\r\n // dropdown.removeClass('show');\r\n // }\r\n // },\r\n // async: true,\r\n // type: 'POST',\r\n // cache: false,\r\n // dataType: 'json'\r\n //});\r\n}\r\n\r\nfunction moveSearchChoice(dropdown, down) {\r\n var dropdownItems = dropdown.find('a'),\r\n chosenDropdownItem = dropdownItems.filter('.chosen'),\r\n nextItem = chosenDropdownItem[0]\r\n ? chosenDropdownItem\r\n : dropdown.children().first();\r\n\r\n if (chosenDropdownItem[0]) {\r\n nextItem = down ? chosenDropdownItem.next() : chosenDropdownItem.prev();\r\n\r\n if (!nextItem[0]) {\r\n nextItem = down ? dropdownItems.first() : dropdownItems.last();\r\n }\r\n }\r\n\r\n chooseDropDownItem(nextItem);\r\n}\r\n\r\nfunction chooseDropDownItem(nextItem) {\r\n nextItem.addClass('chosen').siblings().removeClass('chosen');\r\n}\r\n\r\nfunction selectDropDownItem(dropdown) {\r\n var dropdownItems = dropdown.find('a'),\r\n chosenDropdownItem = dropdownItems.filter('.chosen');\r\n\r\n if (chosenDropdownItem[0]) {\r\n window.location.href = chosenDropdownItem.attr('href');\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\n/****************************************************\r\n Search scripts\r\n****************************************************/\r\njQuery('#searchBoxDesktop .btn').click(function () {\r\n jQuery('#searchBoxDesktop').submit();\r\n});\r\n","///****************************************************\r\n// - GIFT CARD\r\n//****************************************************/\r\njQuery(function () {\r\n // Set current date as min date on giftcard datepicker\r\n var today = new Date();\r\n var dd = today.getDate();\r\n var mm = today.getMonth() + 1;\r\n var yyyy = today.getFullYear();\r\n\r\n if (dd < 10) {\r\n dd = '0' + dd;\r\n }\r\n\r\n if (mm < 10) {\r\n mm = '0' + mm;\r\n }\r\n\r\n today = yyyy + '-' + mm + '-' + dd + 'T00:00';\r\n $('#giftcardDate').attr('min', today);\r\n\r\n $('.giftcard-form__dropdown-one, .giftcard-form__dropdown-two')\r\n .children()\r\n .on('click', changePhoneCountryCode);\r\n $('.giftcard-modal-container').on('click', closeModalOnBodyClick);\r\n $('.giftcard-modal-image').on('click', highlightSelectedImage);\r\n $('#giftcardDate').on('focus', changeTextToDateTimeLocale);\r\n $('#giftcardQuantity').on('keyup', toggleQuantityErrorMessage);\r\n $('#giftcardAmount').on('keyup', toggleAmountErrorMessage);\r\n $('#receiverZipCode').on('keydown', filterLetters);\r\n $('#senderName, #receiverName').on('keydown', filterNumbers);\r\n $('.giftcard-image-button').on('click', toggleMotiveModal);\r\n $('.giftcard-modal-close').on('click', toggleMotiveModal);\r\n $('#giftcardReceiverSms').on('keyup', validatePhonenumber);\r\n $('#giftcardReceiverSms').on('blur', function() {\r\n removeGiftcardReceiverSmsCharacters();\r\n validatePhonenumber();\r\n });\r\n $('#repeatSms').on('blur', function() {\r\n removeRepeatSmsCharacters();\r\n validateRepeatPhonenumber();\r\n });\r\n $('#repeatSms').on('keyup', validateRepeatPhonenumber);\r\n $('.giftcard-form__dropdown-one').on('click', function() {\r\n validateRepeatPhonenumber();\r\n validatePhonenumber();\r\n });\r\n $('body').on('click', '.toggle-cardtype', toggleCardType);\r\n $(window).on('resize', resizeForm);\r\n\r\n toggleCardType();\r\n resizeForm();\r\n});\r\n\r\nfunction changePhoneCountryCode(e) {\r\n document.getElementsByClassName(\r\n 'giftcard-form__dropdown-button-one'\r\n )[0].firstChild.data = e.target.text + ' ';\r\n\r\n document.getElementsByClassName(\r\n 'giftcard-form__dropdown-button-two'\r\n )[0].firstChild.data = e.target.text + ' ';\r\n\r\n}\r\n\r\nfunction removeGiftcardReceiverSmsCharacters() {\r\n if($('#giftcardReceiverSms')[0].value !='') {\r\n $('#giftcardReceiverSms')[0].value = $('#giftcardReceiverSms')[0].value.replace(/ /g,'').replace('-','');\r\n }\r\n}\r\n\r\nfunction removeRepeatSmsCharacters() {\r\n if($('#repeatSms')[0].value !='') {\r\n $('#repeatSms')[0].value = $('#repeatSms')[0].value.replace(/ /g,'').replace('-','');\r\n }\r\n}\r\n\r\nfunction validatePhonenumber() {\r\n var countryCode = $('.giftcard-form__dropdown-button-two')[0].innerText;\r\n var inputField = $('#giftcardReceiverSms');\r\n \r\n inputField.on('keypress', function(e){\r\n if(!$.isNumeric(e.key) && e.key != 'Backspace' && e.key != 'Delete' && e.key != 'ArrowRight' && e.key != 'ArrowLeft') {\r\n e.preventDefault();\r\n }\r\n });\r\n\r\n if(countryCode == '+45 ') {\r\n if(inputField[0].value.match(/^\\d{8}$/)) {\r\n $('.addToCartBtn button').attr('disabled', false)\r\n inputField.removeClass('inputfield-error');\r\n } else {\r\n $('.addToCartBtn button').attr('disabled', true)\r\n inputField.addClass('inputfield-error');\r\n }\r\n } else if(countryCode == '+46 ') {\r\n if(inputField[0].value.match(/^\\d{8,9}$/)) {\r\n $('.addToCartBtn button').attr('disabled', false)\r\n inputField.removeClass('inputfield-error');\r\n } else {\r\n $('.addToCartBtn button').attr('disabled', true)\r\n inputField.addClass('inputfield-error');\r\n }\r\n } else if(countryCode == '+47 ') {\r\n if(inputField[0].value.match(/^\\d{8}$/)) {\r\n $('.addToCartBtn button').attr('disabled', false)\r\n inputField.removeClass('inputfield-error');\r\n } else {\r\n $('.addToCartBtn button').attr('disabled', true)\r\n inputField.addClass('inputfield-error');\r\n }\r\n } else if(countryCode == '+358 ') {\r\n if(inputField[0].value.match(/^\\d{9}$/)) {\r\n $('.addToCartBtn button').attr('disabled', false)\r\n inputField.removeClass('inputfield-error');\r\n } else {\r\n $('.addToCartBtn button').attr('disabled', true)\r\n inputField.addClass('inputfield-error');\r\n }\r\n }\r\n}\r\n\r\nfunction validateRepeatPhonenumber() {\r\n var countryCode = $('.giftcard-form__dropdown-button-two')[0].innerText;\r\n var inputField = $('#repeatSms');\r\n\r\n inputField.on('keypress', function(e){\r\n if(!$.isNumeric(e.key) && e.key != 'Backspace' && e.key != 'Delete' && e.key != 'ArrowRight' && e.key != 'ArrowLeft') {\r\n e.preventDefault();\r\n }\r\n });\r\n \r\n if(countryCode == '+45 ') {\r\n if(inputField[0].value.match(/^\\d{8}$/) && (inputField[0].value == $('#giftcardReceiverSms')[0].value)) {\r\n $('.addToCartBtn button').attr('disabled', false);\r\n inputField.removeClass('inputfield-error');\r\n } else {\r\n $('.addToCartBtn button').attr('disabled', true);\r\n inputField.addClass('inputfield-error');\r\n }\r\n } else if(countryCode == '+46 ') {\r\n if(inputField[0].value.match(/^\\d{8,9}$/) && (inputField[0].value == $('#giftcardReceiverSms')[0].value)) {\r\n $('.addToCartBtn button').attr('disabled', false);\r\n inputField.removeClass('inputfield-error');\r\n } else {\r\n $('.addToCartBtn button').attr('disabled', true);\r\n inputField.addClass('inputfield-error');\r\n }\r\n } else if(countryCode == '+47 ') {\r\n if(inputField[0].value.match(/^\\d{8}$/) && (inputField[0].value == $('#giftcardReceiverSms')[0].value)) {\r\n $('.addToCartBtn button').attr('disabled', false);\r\n inputField.removeClass('inputfield-error');\r\n } else {\r\n $('.addToCartBtn button').attr('disabled', true);\r\n inputField.addClass('inputfield-error');\r\n }\r\n } else if(countryCode == '+358 ') {\r\n if(inputField[0].value.match(/^\\d{9}$/) && (inputField[0].value == $('#giftcardReceiverSms')[0].value)) {\r\n $('.addToCartBtn button').attr('disabled', false);\r\n inputField.removeClass('inputfield-error');\r\n } else {\r\n $('.addToCartBtn button').attr('disabled', true);\r\n inputField.addClass('inputfield-error');\r\n }\r\n }\r\n}\r\n\r\nfunction closeModalOnBodyClick(e) {\r\n var container = $('.giftcard-modal-container');\r\n var content = $('.giftcard-modal-content');\r\n if (\r\n !$(e.target).closest(content).length &&\r\n container.css('display') == 'block'\r\n ) {\r\n toggleMotiveModal();\r\n }\r\n}\r\n\r\nfunction highlightSelectedImage() {\r\n $('.giftcard-modal-image').css('box-shadow', 'none');\r\n $(this).css(\r\n 'box-shadow',\r\n '0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22)'\r\n );\r\n $('.giftcard-image').attr('src', $(this)[0].attributes.src.value);\r\n toggleMotiveModal();\r\n}\r\n\r\nfunction changeTextToDateTimeLocale() {\r\n var cardType = $('.toggle-cardtype:checked').val();\r\n\r\n if (cardType === 'letter') {\r\n $(this).attr('type', 'date');\r\n } else {\r\n $(this).attr('type', 'datetime-local');\r\n }\r\n}\r\n\r\nfunction toggleQuantityErrorMessage(e) {\r\n if (e.target.value > 10) {\r\n $('.quantity .giftcard-error-message')\r\n .removeClass('inactive')\r\n .addClass('active');\r\n } else {\r\n $('.quantity .giftcard-error-message')\r\n .removeClass('active')\r\n .addClass('inactive');\r\n }\r\n}\r\n\r\nfunction toggleAmountErrorMessage(e) {\r\n var val = e.target.value;\r\n var max = parseInt(e.target.attributes.max.value);\r\n\r\n if (val > max) {\r\n $('.giftcardAmount .giftcard-error-message')\r\n .removeClass('inactive')\r\n .addClass('active');\r\n } else {\r\n $('.giftcardAmount .giftcard-error-message')\r\n .removeClass('active')\r\n .addClass('inactive');\r\n }\r\n}\r\n\r\nfunction filterLetters(e) {\r\n var charCode = e.key;\r\n if (\r\n !charCode ||\r\n charCode == 0 ||\r\n charCode == 1 ||\r\n charCode == 2 ||\r\n charCode == 3 ||\r\n charCode == 4 ||\r\n charCode == 5 ||\r\n charCode == 6 ||\r\n charCode == 7 ||\r\n charCode == 8 ||\r\n charCode == 9 ||\r\n charCode == 'Tab' ||\r\n charCode == 'Shift' ||\r\n charCode == 'Backspace' ||\r\n charCode == 'Delete' ||\r\n charCode == 'ArrowLeft' ||\r\n charCode == 'ArrowUp' ||\r\n charCode == 'ArrowRight' ||\r\n charCode == 'ArrowDown'\r\n )\r\n return true;\r\n return false;\r\n}\r\n\r\nfunction filterNumbers(e) {\r\n var charCode = e.key;\r\n if (\r\n charCode == '0' ||\r\n charCode == '1' ||\r\n charCode == '2' ||\r\n charCode == '3' ||\r\n charCode == '4' ||\r\n charCode == '5' ||\r\n charCode == '6' ||\r\n charCode == '7' ||\r\n charCode == '8' ||\r\n charCode == '9'\r\n )\r\n return false;\r\n return true;\r\n}\r\n\r\nfunction toggleMotiveModal() {\r\n var modalContainer = $('.giftcard-modal-container');\r\n if (modalContainer.css('display') == 'none') {\r\n modalContainer.css('display', 'block');\r\n $('body').css('overflow-y', 'hidden');\r\n } else {\r\n modalContainer.css('display', 'none');\r\n $('body').css('overflow-y', 'auto');\r\n }\r\n}\r\n\r\nfunction toggleCardType() {\r\n var cardType = jQuery('.toggle-cardtype:checked').val();\r\n var date = new Date();\r\n var dd = date.getDate();\r\n var mm = date.getMonth() + 1;\r\n var yyyy = date.getFullYear();\r\n var h = date.getHours();\r\n var m = date.getMinutes();\r\n if (dd < 10) {\r\n dd = '0' + dd;\r\n }\r\n if (mm < 10) {\r\n mm = '0' + mm;\r\n }\r\n if (h < 10) {\r\n h = '0' + h;\r\n }\r\n if (m < 10) {\r\n m = '0' + m;\r\n }\r\n var today = yyyy + '-' + mm + '-' + dd;\r\n\r\n if (cardType === 'letter') {\r\n dd = date.getDate(date.setDate(date.getDate() + 1));\r\n if (dd < 10) {\r\n dd = '0' + dd;\r\n }\r\n today = yyyy + '-' + mm + '-' + dd;\r\n\r\n $(\r\n '.input-group input, .giftcard-form__dropdown-button-one, .giftcard-form__dropdown-button-two, .btn-green'\r\n ).removeClass('large');\r\n $(\r\n '.cardTypeEmail, .cardTypeSms, .giftcard-image-email, .giftcard-image-sms'\r\n ).css('display', 'none');\r\n $('#giftcardReceiverEmail, #repeatEmail').attr('required', false);\r\n $('.cardTypeLetter, .giftcard-image-letter').css('display', 'block');\r\n\r\n $('#giftcardDate').attr({ min: today, type: 'date' }).val(today);\r\n } else if (cardType === 'sms') {\r\n $(\r\n '.input-group input, .giftcard-form__dropdown-button-one, .giftcard-form__dropdown-button-two, .btn-green'\r\n ).addClass('large');\r\n $(\r\n '.cardTypeEmail, .cardTypeLetter, .giftcard-image-email, .giftcard-image-letter'\r\n ).css('display', 'none');\r\n $('#giftcardReceiverEmail, #repeatEmail').attr('required', false);\r\n $('.cardTypeSms, .giftcard-image-sms').css('display', 'block');\r\n\r\n $('#giftcardDate')\r\n .attr({ min: today + 'T00:00', type: 'datetime-local' })\r\n .val(today + 'T' + h + ':' + m);\r\n } else {\r\n $(\r\n '.input-group input, .giftcard-form__dropdown-button-one, .giftcard-form__dropdown-button-two, .btn-green'\r\n ).addClass('large');\r\n $(\r\n '.cardTypeSms, .cardTypeLetter, .giftcard-image-sms, .giftcard-image-letter'\r\n ).css('display', 'none');\r\n $('#giftcardReceiverEmail, #repeatEmail').attr('required', true);\r\n $('.cardTypeEmail, .giftcard-image-email').css('display', 'block');\r\n\r\n $('#giftcardDate')\r\n .attr({ min: today + 'T00:00', type: 'datetime-local' })\r\n .val(today + 'T' + h + ':' + m);\r\n }\r\n}\r\n\r\nfunction resizeForm() {\r\n if ($(window).width() >= 992) {\r\n $('.giftcard-form-container').outerHeight(\r\n $('.giftcard-form-container').outerWidth() + 'px'\r\n );\r\n } else {\r\n $('.giftcard-form-container').height('auto');\r\n }\r\n}\r\n\r\n// listen on adding to basket from product view page\r\n$(document).on('submit', 'form.addGiftcardToBasket', function (event) {\r\n event.preventDefault();\r\n\r\n var productIdentifier = $(this).find(\"input[name='productIdentifier']\")[0]\r\n .value;\r\n var quantity = $(this).find(\"input[name='quantity']\")[0].value;\r\n var languageNodeId = $(this).find(\"input[name='productLanguageNodeId']\")[0]\r\n .value;\r\n var giftcardAmount = $(this).find(\"input[name='giftcardAmount']\")[0].value;\r\n var cardType = $(this).find(\"input:radio[name='cardType']:checked\").val();\r\n var dateTime = new Date(\r\n $(this).find(\"input[name='giftcardDate']\")[0].value\r\n ).toISOString(); // Retain24 needs datetime format\r\n\r\n var senderName = $(this).find(\"input[name='senderName']\")[0].value;\r\n var receiverName = $(this).find(\"input[name='receiverName']\")[0].value;\r\n var receiverEmail = $(this).find(\"input[name='giftcardReceiverEmail']\")[0]\r\n .value;\r\n var repeatEmail = $(this).find(\"input[name='repeatEmail']\")[0].value;\r\n var phoneCountryCode = $(this).find(\r\n '.giftcard-form__dropdown-button-two'\r\n )[0].innerText;\r\n var receiverPhoneNumber = $(this).find(\r\n \"input[name='giftcardReceiverSms']\"\r\n )[0].value;\r\n var fullReceiverPhoneNumber =\r\n phoneCountryCode.replace(' ', '') + receiverPhoneNumber;\r\n var repeatPhoneCountryCode = $(this).find(\r\n '.giftcard-form__dropdown-button-two'\r\n )[0].innerText;\r\n var repeatPhoneNumber = $(this).find(\"input[name='repeatSms']\")[0].value;\r\n var fullRepeatPhoneNumber =\r\n repeatPhoneCountryCode.replace(' ', '') + repeatPhoneNumber;\r\n var receiverAddress = $(this).find(\"input[name='receiverAddress']\")[0]\r\n .value;\r\n var receiverZipCode = $(this).find(\"input[name='receiverZipCode']\")[0]\r\n .value;\r\n var receiverCity = $(this).find(\"input[name='receiverCity']\")[0].value;\r\n var personalMessage = $(this).find(\"input[name='personalMessage']\")[0]\r\n .value;\r\n var productName = $(this).find(\"input[name='productName']\")[0].value;\r\n var selectedImage = $(this).find('.giftcard-image')[0].src;\r\n\r\n if (\r\n fullReceiverPhoneNumber.startsWith('+46') &&\r\n receiverPhoneNumber.startsWith(0)\r\n ) {\r\n receiverPhoneNumber = String(receiverPhoneNumber).slice(1);\r\n fullReceiverPhoneNumber =\r\n phoneCountryCode.replace(' ', '') + receiverPhoneNumber;\r\n fullRepeatPhoneNumber = fullReceiverPhoneNumber;\r\n }\r\n\r\n var requestData = {\r\n basketId: $.cookie('basketId') ? $.cookie('basketId') : null,\r\n productIdentifier: productIdentifier,\r\n languageNodeId: languageNodeId,\r\n type: cardType,\r\n quantity: quantity,\r\n amount: giftcardAmount,\r\n date: dateTime,\r\n senderName: senderName,\r\n receiverName: receiverName,\r\n receiverEmail: receiverEmail,\r\n repeatReceiverEmail: repeatEmail,\r\n receiverPhoneNumber: cardType === 'sms' ? fullReceiverPhoneNumber : '',\r\n repeatPhoneNumber: cardType === 'sms' ? fullRepeatPhoneNumber : '',\r\n receiverAddress: receiverAddress,\r\n receiverZipCode: receiverZipCode,\r\n receiverCity: receiverCity,\r\n personalMessage: personalMessage,\r\n giftcardName: productName,\r\n selectedImage: selectedImage,\r\n };\r\n\r\n return $.ajax({\r\n url: basketApiUrl + '/giftcard/add',\r\n contentType: 'application/json',\r\n type: 'POST',\r\n data: JSON.stringify(requestData),\r\n success: function (data) {\r\n $.cookie('basketId', data.BasketId, { expires: 30, path: '/', secure: true });\r\n \r\n if (data.OrderLines) {\r\n var matching = data.OrderLines.reverse().filter(function (\r\n value\r\n ) {\r\n return value.Sku.match('^gavekort');\r\n });\r\n\r\n if (matching.length >= 1) {\r\n goshopping.basket.displayAddedProductToMiniCartPopup(\r\n null,\r\n productName,\r\n quantity,\r\n matching[0].DisplayPriceFormatted\r\n );\r\n }\r\n }\r\n var cardType = jQuery('.toggle-cardtype:checked').val();\r\n var date = new Date();\r\n var dd = date.getDate();\r\n var mm = date.getMonth() + 1;\r\n var yyyy = date.getFullYear();\r\n var h = date.getHours();\r\n var m = date.getMinutes();\r\n if (dd < 10) {\r\n dd = '0' + dd;\r\n }\r\n if (mm < 10) {\r\n mm = '0' + mm;\r\n }\r\n if (h < 10) {\r\n h = '0' + h;\r\n }\r\n if (m < 10) {\r\n m = '0' + m;\r\n }\r\n var today = yyyy + '-' + mm + '-' + dd;\r\n\r\n $('body').trigger('basketUpdated', data);\r\n\r\n $('body').find(\"input[name='quantity']\")[0].value = 1;\r\n $('body').find(\"input[name='giftcardAmount']\")[0].value = '';\r\n if (cardType === 'letter') {\r\n dd = date.getDate(date.setDate(date.getDate() + 1));\r\n if (dd < 10) {\r\n dd = '0' + dd;\r\n }\r\n today = yyyy + '-' + mm + '-' + dd;\r\n $('body').find(\"input[name='giftcardDate']\")[0].value = today;\r\n } else {\r\n $('body').find(\"input[name='giftcardDate']\")[0].value =\r\n today + 'T' + h + ':' + m;\r\n }\r\n $('body').find(\"input[name='senderName']\")[0].value = '';\r\n $('body').find(\"input[name='receiverName']\")[0].value = '';\r\n $('body').find(\"input[name='giftcardReceiverEmail']\")[0].value = '';\r\n $('body').find(\"input[name='giftcardReceiverSms']\")[0].value = '';\r\n $('body').find(\"input[name='repeatEmail']\")[0].value = '';\r\n $('body').find(\"input[name='repeatSms']\")[0].value = '';\r\n $('body').find(\"input[name='receiverAddress']\")[0].value = '';\r\n $('body').find(\"input[name='receiverZipCode']\")[0].value = '';\r\n $('body').find(\"input[name='receiverCity']\")[0].value = '';\r\n $('body').find(\"input[name='personalMessage']\")[0].value = '';\r\n },\r\n error: function (jqXhr, textStatus, errorThrown) {\r\n console.error(errorThrown);\r\n },\r\n });\r\n});\r\n","function initializePopularCheckoutProductsCarousel(excludedCategoryIds) {\r\n if ($('.carouselAddToCart').length > 0) {\r\n var container = $($('.carouselAddToCart')[0]);\r\n\r\n var ids = [];\r\n //for (var i = 0; i < currentOrder.orderLines.length; i++) {\r\n // if (currentOrder.orderLines[i].properties.typeId != null) {\r\n // excludedCategoryIds.push(currentOrder.orderLines[i].properties.typeId.value);\r\n // }\r\n //}\r\n\r\n $.getJSON(searchApiUrl + '/popular-products/init/' + (container.data('shop') + '_' + container.data('language'))\r\n , {\r\n excludedCategoryIds: ids.join(',')\r\n }\r\n , function (data) {\r\n\r\n if (data == null) {\r\n return null;\r\n }\r\n\r\n if (data.length > 0) {\r\n var productTemplate = $('#carousel-add-product-item-template').html();\r\n $.each(data, function (index, value) {\r\n container.append(Mustache.render(productTemplate, {\r\n product: value,\r\n ProductUrl: ((useCategoryUrl && value.Url_Category != '') ? value.Url_Category : value.Url)\r\n }));\r\n });\r\n\r\n $('.jcarousel.lazy').removeClass(\"lazy\");\r\n $('.carouselAddToCartOuter').show();\r\n initializeJCarousels();\r\n initCountdowns();\r\n }\r\n });\r\n }\r\n}\r\n","/****************************************************\r\n - SLIDER LIST\r\n****************************************************/\r\njQuery(function () {\r\n\r\n var horisontalLists = jQuery('.horisontalList');\r\n if (horisontalLists[0]) {\r\n calculateHorisontalListWidths();\r\n\r\n jQuery(window).bind('resize', calculateHorisontalListWidths);\r\n\r\n function lazyloadImages(slidingArea) {\r\n var images = slidingArea.find('img.lazy[src=\"\"]');\r\n\r\n images.each(function() {\r\n var image = jQuery(this),\r\n imageUrl = image.attr('data-original');\r\n\r\n image.attr('src', imageUrl);\r\n });\r\n }\r\n\r\n horisontalLists.each(function () {\r\n var horisontalList = jQuery(this),\r\n listItems = horisontalList.find('.listItems'),\r\n slidingArea = horisontalList.find('.slidingArea');\r\n\r\n jQuery('body').on('click', '.horisontalList .next', function () {\r\n if (!horisontalList.hasClass('sliding')) {\r\n var distance = listItems.width(),\r\n currentPosition = slidingArea.position().left,\r\n nextPosition = currentPosition - distance;\r\n\r\n horisontalList.addClass('sliding');\r\n\r\n slidingArea.animate({ left: nextPosition }, 300, function () {\r\n setHorisontalListNavigation(horisontalList);\r\n });\r\n }\r\n lazyloadImages(slidingArea);\r\n return false;\r\n });\r\n\r\n jQuery('body').on('click', '.horisontalList .prev', function () {\r\n if (!horisontalList.hasClass('sliding')) {\r\n var distance = listItems.width(),\r\n currentPosition = slidingArea.position().left,\r\n nextPosition = currentPosition + distance;\r\n\r\n horisontalList.addClass('sliding');\r\n\r\n slidingArea.animate({ left: nextPosition }, 300, function () {\r\n setHorisontalListNavigation(horisontalList);\r\n });\r\n }\r\n lazyloadImages(slidingArea);\r\n return false;\r\n });\r\n });\r\n }\r\n\r\n});\r\n\r\nfunction calculateHorisontalListWidths() {\r\n jQuery('.horisontalList').each(function () {\r\n var horisontalList = jQuery(this),\r\n slidingArea = horisontalList.find('.slidingArea'),\r\n items = slidingArea.find('.item'),\r\n totalWidth = 0;\r\n\r\n slidingArea.css('left', 0);\r\n\r\n items.each(function () {\r\n totalWidth += jQuery(this).outerWidth();\r\n });\r\n\r\n slidingArea.width(totalWidth);\r\n setHorisontalListNavigation(horisontalList);\r\n });\r\n}\r\n\r\nfunction setHorisontalListNavigation(horisontalList) {\r\n var listItems = horisontalList.find('.listItems'),\r\n slidingArea = horisontalList.find('.slidingArea'),\r\n distance = listItems.width(),\r\n slidingAreaWidth = slidingArea.width(),\r\n totalPages = Math.ceil(slidingAreaWidth / distance),\r\n currentPosition = slidingArea.position().left,\r\n currentPage = ((-currentPosition) / distance) + 1,\r\n canSlideNext = totalPages > currentPage,\r\n canSlidePrev = 1 < currentPage;\r\n\r\n horisontalList.addClass('slider');\r\n if (!canSlideNext) {\r\n horisontalList.removeClass('next');\r\n } else {\r\n horisontalList.addClass('next');\r\n }\r\n\r\n if (!canSlidePrev) {\r\n horisontalList.removeClass('prev');\r\n } else {\r\n horisontalList.addClass('prev');\r\n }\r\n\r\n horisontalList.removeClass('sliding');\r\n}\r\n","/****************************************************\r\n - Frontpage\r\n****************************************************/\r\njQuery(function () {\r\n var verticalSliderControls = jQuery('.up[data-vertical-slider]');\r\n\r\n if (verticalSliderControls[0]) {\r\n jQuery('body').on('click', '[data-vertical-slider]', function(e) {\r\n var control = jQuery(this),\r\n isDown = control.hasClass('down'),\r\n slider = jQuery(control.attr('data-vertical-slider')),\r\n sliderWrapper = slider.find('.vertical-slider-wrapper'),\r\n moveableThingy = slider.find('.vertical-slider-moveablethingy'),\r\n currentPosition = moveableThingy.position().top,\r\n scrollDistance = sliderWrapper.height(),\r\n maxPosition = isDown ? scrollDistance - moveableThingy.height() : 0,\r\n nextPosition = isDown ? currentPosition - scrollDistance : currentPosition + scrollDistance;\r\n\r\n if ((isDown && maxPosition <= nextPosition) || (!isDown && maxPosition >= nextPosition)) {\r\n moveableThingy.animate({ top: nextPosition }, 500, function() {\r\n toggleVerticalSliderControls(slider);\r\n });\r\n }\r\n\r\n });\r\n\r\n verticalSliderControls.filter('.up').each(function () {\r\n var control = jQuery(this),\r\n slider = jQuery(control.attr('data-vertical-slider'));\r\n toggleVerticalSliderControls(slider);\r\n });\r\n\r\n jQuery(window).bind('resize', function() {\r\n verticalSliderControls.filter('.up').each(function () {\r\n var control = jQuery(this),\r\n slider = jQuery(control.attr('data-vertical-slider'));\r\n resetVerticalSlider(slider);\r\n });\r\n });\r\n }\r\n\r\n});\r\n\r\nfunction toggleVerticalSliderControls(slider) {\r\n var controls = slider.find('.control'),\r\n upControl = controls.filter('.up'),\r\n downControl = controls.filter('.down'),\r\n sliderWrapper = slider.find('.vertical-slider-wrapper'),\r\n moveableThingy = slider.find('.vertical-slider-moveablethingy'),\r\n currentPosition = moveableThingy.position().top,\r\n scrollDistance = sliderWrapper.height(),\r\n maxPosition = scrollDistance - moveableThingy.height();\r\n\r\n if (maxPosition == currentPosition) {\r\n downControl.css({ visibility: 'hidden' });\r\n } else {\r\n downControl.css({ visibility: 'visible' });\r\n }\r\n\r\n if (0 == currentPosition) {\r\n upControl.css({ visibility: 'hidden' });\r\n } else {\r\n upControl.css({ visibility: 'visible' });\r\n }\r\n}\r\n\r\nfunction resetVerticalSlider(slider) {\r\n var moveableThingy = slider.find('.vertical-slider-moveablethingy');\r\n moveableThingy.css({ top: 0 });\r\n toggleVerticalSliderControls(slider);\r\n}","/****************************************************\r\n - YOUTUBE MODAL\r\n****************************************************/\r\nvar tag = document.createElement('script');\r\n\r\ntag.src = \"https://www.youtube.com/iframe_api\";\r\nvar firstScriptTag = document.getElementsByTagName('script')[0];\r\nfirstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\nvar players = [];\r\n\r\nfunction onYouTubeIframeAPIReady() {\r\n var playerElements = jQuery(\".yt_player\");\r\n playerElements.each(function () {\r\n var playerEle = jQuery(this),\r\n youtubeid = playerEle.attr('data-youtubeid'),\r\n player = new YT.Player(playerEle.attr('id'), {\r\n videoId: youtubeid,\r\n width: '100%',\r\n height: '100%'\r\n });\r\n players.push(player);\r\n });\r\n}\r\n\r\n$('.modal').on('hidden.bs.modal', function () {\r\n for (var i = 0; i < players.length; i++) {\r\n //Stop video when closing modal\r\n players[i].stopVideo();\r\n }\r\n});","/****************************************************\r\n - COUNTDOWN\r\n****************************************************/\r\njQuery(function () {\r\n initCountdowns();\r\n});\r\n\r\nfunction initCountdowns() {\r\n var countdowns = jQuery('.countdown:not(.started)');\r\n\r\n countdowns.each(function () {\r\n\r\n var countdown = jQuery(this),\r\n endDate = new Date(countdown.attr('data-enddate')),\r\n countdownDays = countdown.attr('data-countdown-days') != 'false',\r\n showOnlyDays = countdown.attr('data-show-only-days') == 'true',\r\n countdownHide = countdown.closest('.countdownHide'),\r\n countdownAncestor = countdown.attr('data-countdown-ancestor');\r\n countDown(countdown, endDate, countdownDays, showOnlyDays, countdownHide, intervalId, countdownAncestor);\r\n var intervalId = window.setInterval(function () {\r\n countDown(countdown, endDate, countdownDays, showOnlyDays, countdownHide, intervalId, countdownAncestor);\r\n }, 1000);\r\n\r\n countdown.addClass('started');\r\n countdownHide.addClass('started');\r\n });\r\n}\r\n\r\nfunction countDown(countdown, endDate, countdownDays, showOnlyDays, countdownHide, intervalId, ancestor) {\r\n var now = new Date(),\r\n diffInMilliseconds = endDate.getTime() - now.getTime(),\r\n countdownDontstopwhenmorethanaday = countdown.attr('data-countdown-dontstopwhenmorethanaday');\r\n\r\n if (diffInMilliseconds > 0) {\r\n var duration = moment.duration(diffInMilliseconds),\r\n dateStr;\r\n if (countdownDays) {\r\n dateStr = fixTens(duration.days()) + ':' + fixTens(duration.hours()) + ':' + fixTens(duration.minutes()) + ':' + fixTens(duration.seconds());\r\n\r\n } else {\r\n dateStr = fixTens(duration.hours() + duration.days() * 24) + ':' + fixTens(duration.minutes()) + ':' + fixTens(duration.seconds());\r\n }\r\n var daysleft = parseInt(duration.asDays());\r\n if (showOnlyDays) {\r\n if (daysleft > 0) {\r\n dateStr = parseInt(duration.asDays());\r\n }\r\n }\r\n\r\n if (daysleft > 1) {\r\n countdown.closest('.countdownHide').addClass('moreThanTwoDays');\r\n if (countdownDontstopwhenmorethanaday && countdownDontstopwhenmorethanaday !== 'true') {\r\n window.clearInterval(intervalId);\r\n }\r\n } else if (daysleft > 0) {\r\n countdown.closest('.countdownHide').addClass('moreThanOneDay');\r\n } else {\r\n countdown.closest('.countdownHide').removeClass('moreThanOneDay');\r\n }\r\n\r\n countdown.text(dateStr);\r\n } else {\r\n window.clearInterval(intervalId);\r\n countdown.closest('.countdownHide').addClass('countdownHidden').hide();\r\n countdown.closest(ancestor).addClass('countdown-finished');\r\n }\r\n}\r\n\r\nfunction fixTens(number) {\r\n return (number < 10 ? '0' : '') + number;\r\n}\r\n","jQuery(function () {\r\n\r\n\r\n if (window.location.search.length > 0) {\r\n jQuery.inArray(window.location.search, window.affiliateTrackingValueList);\r\n if (window.affiliateTrackingValueList) {\r\n var foundAffiliateNodeAndSetCookie = false;\r\n for (var i = 0; i < window.affiliateTrackingValueList.length; i++) {\r\n if (!foundAffiliateNodeAndSetCookie) {\r\n var websiteLanguageIds = window.affiliateTrackingValueList[i].websiteLanguageIds,\r\n nodePath = window._nodePath,\r\n isNodeInPathOrValid = false;\r\n if (websiteLanguageIds.length === 0) {\r\n isNodeInPathOrValid = true;\r\n } else if (nodePath.length > 0) {\r\n var doesNodepathContainWebsiteId = doesListContainIdFromOtherList(websiteLanguageIds);\r\n if (doesNodepathContainWebsiteId) {\r\n isNodeInPathOrValid = true;\r\n }\r\n }\r\n if (isNodeInPathOrValid) {\r\n var key = window.affiliateTrackingValueList[i].key;\r\n if (window.location.search.indexOf(key + '=') > -1) {\r\n var value = window.affiliateTrackingValueList[i].value;\r\n var nodeId = window.affiliateTrackingValueList[i].nodeId;\r\n var keyValueFromUrl = getAffiliateByName(key);\r\n if (keyValueFromUrl.length > 0 || value.length == 0) {\r\n if (keyValueFromUrl == value || value.length == 0) {\r\n setAffiliateTrackingNode(nodeId);\r\n foundAffiliateNodeAndSetCookie = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n});\r\n\r\nfunction setAffiliateTrackingNode(nodeId) {\r\n jQuery.ajax({\r\n url: '/umbraco/surface/Affiliate/SetAffiliateTrackingNode/',\r\n data: { nodeId: nodeId, storeId: _storeId, languageId: _languageId }\r\n });\r\n}\r\n\r\nfunction getAffiliateByName(name) {\r\n name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\r\n var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"),\r\n results = regex.exec(location.search);\r\n return results === null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\r\n}\r\n\r\n\r\nfunction doesListContainIdFromOtherList(websiteLanguageIds) {\r\n for (var i = 0; i < websiteLanguageIds.length; i++) {\r\n if (jQuery.inArray(websiteLanguageIds[i], window._nodePath) > -1) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n","/****************************************************\r\n - TOGGLE ON\r\n****************************************************/\r\njQuery(function () {\r\n checkPageDeliveryTimes();\r\n});\r\n\r\nfunction checkPageDeliveryTimes() {\r\n var deliverytextEles = jQuery('[data-deliverytext]');\r\n deliverytextEles.each(function () {\r\n var jQEle = jQuery(this),\r\n productLineQuanity = jQEle.closest('.productLine').find('.quantity'),\r\n productQuanity = jQEle.closest('.actions, .product').find('input.quantity'),\r\n productIdentifier = jQEle.attr('data-deliverytext'),\r\n productSku = jQEle.attr('data-deliverysku'),\r\n defaultDeliveryText = jQEle.attr('data-defaultdeliverytext'),\r\n outofstockappend = jQEle.attr('data-outofstockappend'),\r\n deliveryquantity = productLineQuanity[0] ? productLineQuanity.val() : jQEle.attr('data-deliveryquantity') || 0,\r\n product = jQEle.closest('.product, .inner-product');\r\n\r\n if (productQuanity[0]) {\r\n deliveryquantity = productQuanity.val();\r\n }\r\n\r\n jQEle.removeClass('notOnStock').addClass('loading').parent().addClass('loading');\r\n jQEle.text('');\r\n product.removeClass('outOfStock');\r\n\r\n if (productSku && productSku.toString().indexOf('{{') < 0) {\r\n getProductSkuDeliveryTimeText(productSku, deliveryquantity, function (deliveryTime) {\r\n var stockText = deliveryTime.Text;\r\n\r\n jQEle.removeClass('notOnStock loading').parent().removeClass('notOnStock loading');\r\n if (deliveryTime.PurchaseAboveStock > 0) {\r\n jQEle.addClass('notOnStock');\r\n stockText += ' ' + outofstockappend;\r\n\r\n if (deliveryTime.NoOutofStockSale) {\r\n product.addClass('outOfStock');\r\n stockText = deliveryTime.Text;\r\n }\r\n }\r\n if (!stockText) {\r\n stockText = defaultDeliveryText;\r\n }\r\n jQEle.text(stockText);\r\n }, function () {\r\n });\r\n }\r\n else if (productIdentifier && productIdentifier.toString().indexOf('{{') < 0) {\r\n getProductDeliveryTimeText(productIdentifier, deliveryquantity, function (deliveryTime) {\r\n var stockText = deliveryTime.Text;\r\n\r\n jQEle.removeClass('notOnStock loading').parent().removeClass('notOnStock loading');\r\n if (deliveryTime.PurchaseAboveStock > 0) {\r\n jQEle.addClass('notOnStock');\r\n stockText += ' ' + outofstockappend;\r\n\r\n if (deliveryTime.NoOutofStockSale) {\r\n product.addClass('outOfStock');\r\n }\r\n }\r\n if (!stockText) {\r\n stockText = defaultDeliveryText;\r\n }\r\n jQEle.text(stockText);\r\n }, function () {\r\n });\r\n }\r\n });\r\n}\r\n\r\nfunction getProductDeliveryTimeText(productIdentifier, quantity, successCallback, errorCallback) {\r\n var url = '/umbraco/surface/product/GetProductDeliveryTimeText',\r\n storeId = _storeId,\r\n languageId = _languageId,\r\n cultureName = _cultureName;\r\n jQuery.post(url, {\r\n storeId: storeId,\r\n languageId: languageId,\r\n cultureName: cultureName,\r\n quantity: parseInt(quantity),\r\n productIdentifier: productIdentifier\r\n }, function (deliveryTime) {\r\n if (successCallback) {\r\n successCallback(deliveryTime);\r\n }\r\n }, 'json').fail(function () {\r\n if (errorCallback) {\r\n errorCallback();\r\n }\r\n });\r\n\r\n}\r\nfunction getProductSkuDeliveryTimeText(productIdentifier, quantity, successCallback, errorCallback) {\r\n var url = contentApiUrl + '/get_delivery_time_text',\r\n storeId = _storeId,\r\n languageId = _languageId,\r\n cultureName = _cultureName;\r\n jQuery.post(url, {\r\n storeId: storeId,\r\n languageId: languageId,\r\n cultureName: cultureName,\r\n quantity: parseInt(quantity),\r\n productIdentifier: productIdentifier\r\n }, function (deliveryTime) {\r\n if (successCallback) {\r\n successCallback(deliveryTime);\r\n }\r\n }, 'json').fail(function () {\r\n if (errorCallback) {\r\n errorCallback();\r\n }\r\n });\r\n\r\n}\r\n","/****************************************************\r\n - COUNTDOWN\r\n****************************************************/\r\njQuery(function () {\r\n initSmoothAnchorScroll();\r\n});\r\n\r\nfunction initSmoothAnchorScroll() {\r\n $('.button-cat').click(function(){\r\n $('html, body').animate({\r\n scrollTop: $( $(this).attr('href') ).offset().top\r\n }, 400);\r\n return false;\r\n });\r\n}\r\n\r\n","/****************************************************\r\n - Frontpage\r\n****************************************************/\r\njQuery(function () {\r\n //Lazyload images when switchingg bootstrap tabs\r\n jQuery('body').on('shown.bs.tab', function(e) {\r\n var activatedTab = jQuery(e.target),\r\n activatedTabContent = jQuery(activatedTab.attr('href'));\r\n\r\n activatedTabContent.trigger('scroll');\r\n });\r\n\r\n function removeLazyload() {\r\n $( \".image-banner-lazy\" ).each(function(i, el) {\r\n if(i == 0) {\r\n $(this).removeClass(\"lazyload\");\r\n $(this).removeClass(\"lazyload-measure\");\r\n } else {\r\n $(this).removeAttr(\"src\");\r\n }\r\n });\r\n }\r\n\r\n function removeLazyloadMobile() {\r\n $( \".image-banner-lazy-mobile\" ).each(function(i, el) {\r\n if(i == 0) {\r\n $(this).removeClass(\"lazyload\")\r\n $(this).removeClass(\"lazyload-measure\")\r\n } else {\r\n $(this).removeAttr(\"src\");\r\n }\r\n });\r\n }\r\n \r\n removeLazyloadMobile();\r\n removeLazyload();\r\n});\r\n","/*!\r\n * Masonry PACKAGED v4.1.1\r\n * Cascading grid layout library\r\n * http://masonry.desandro.com\r\n * MIT License\r\n * by David DeSandro\r\n */\r\n\r\n!function (t, e) { \"function\" == typeof define && define.amd ? define(\"jquery-bridget/jquery-bridget\", [\"jquery\"], function (i) { return e(t, i) }) : \"object\" == typeof module && module.exports ? module.exports = e(t, require(\"jquery\")) : t.jQueryBridget = e(t, t.jQuery) }(window, function (t, e) { \"use strict\"; function i(i, r, a) { function h(t, e, n) { var o, r = \"$().\" + i + '(\"' + e + '\")'; return t.each(function (t, h) { var u = a.data(h, i); if (!u) return void s(i + \" not initialized. Cannot call methods, i.e. \" + r); var d = u[e]; if (!d || \"_\" == e.charAt(0)) return void s(r + \" is not a valid method\"); var l = d.apply(u, n); o = void 0 === o ? l : o }), void 0 !== o ? o : t } function u(t, e) { t.each(function (t, n) { var o = a.data(n, i); o ? (o.option(e), o._init()) : (o = new r(n, e), a.data(n, i, o)) }) } a = a || e || t.jQuery, a && (r.prototype.option || (r.prototype.option = function (t) { a.isPlainObject(t) && (this.options = a.extend(!0, this.options, t)) }), a.fn[i] = function (t) { if (\"string\" == typeof t) { var e = o.call(arguments, 1); return h(this, t, e) } return u(this, t), this }, n(a)) } function n(t) { !t || t && t.bridget || (t.bridget = i) } var o = Array.prototype.slice, r = t.console, s = \"undefined\" == typeof r ? function () { } : function (t) { r.error(t) }; return n(e || t.jQuery), i }), function (t, e) { \"function\" == typeof define && define.amd ? define(\"ev-emitter/ev-emitter\", e) : \"object\" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e() }(\"undefined\" != typeof window ? window : this, function () { function t() { } var e = t.prototype; return e.on = function (t, e) { if (t && e) { var i = this._events = this._events || {}, n = i[t] = i[t] || []; return -1 == n.indexOf(e) && n.push(e), this } }, e.once = function (t, e) { if (t && e) { this.on(t, e); var i = this._onceEvents = this._onceEvents || {}, n = i[t] = i[t] || {}; return n[e] = !0, this } }, e.off = function (t, e) { var i = this._events && this._events[t]; if (i && i.length) { var n = i.indexOf(e); return -1 != n && i.splice(n, 1), this } }, e.emitEvent = function (t, e) { var i = this._events && this._events[t]; if (i && i.length) { var n = 0, o = i[n]; e = e || []; for (var r = this._onceEvents && this._onceEvents[t]; o;) { var s = r && r[o]; s && (this.off(t, o), delete r[o]), o.apply(this, e), n += s ? 0 : 1, o = i[n] } return this } }, t }), function (t, e) { \"use strict\"; \"function\" == typeof define && define.amd ? define(\"get-size/get-size\", [], function () { return e() }) : \"object\" == typeof module && module.exports ? module.exports = e() : t.getSize = e() }(window, function () { \"use strict\"; function t(t) { var e = parseFloat(t), i = -1 == t.indexOf(\"%\") && !isNaN(e); return i && e } function e() { } function i() { for (var t = { width: 0, height: 0, innerWidth: 0, innerHeight: 0, outerWidth: 0, outerHeight: 0 }, e = 0; u > e; e++) { var i = h[e]; t[i] = 0 } return t } function n(t) { var e = getComputedStyle(t); return e || a(\"Style returned \" + e + \". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1\"), e } function o() { if (!d) { d = !0; var e = document.createElement(\"div\"); e.style.width = \"200px\", e.style.padding = \"1px 2px 3px 4px\", e.style.borderStyle = \"solid\", e.style.borderWidth = \"1px 2px 3px 4px\", e.style.boxSizing = \"border-box\"; var i = document.body || document.documentElement; i.appendChild(e); var o = n(e); r.isBoxSizeOuter = s = 200 == t(o.width), i.removeChild(e) } } function r(e) { if (o(), \"string\" == typeof e && (e = document.querySelector(e)), e && \"object\" == typeof e && e.nodeType) { var r = n(e); if (\"none\" == r.display) return i(); var a = {}; a.width = e.offsetWidth, a.height = e.offsetHeight; for (var d = a.isBorderBox = \"border-box\" == r.boxSizing, l = 0; u > l; l++) { var c = h[l], f = r[c], m = parseFloat(f); a[c] = isNaN(m) ? 0 : m } var p = a.paddingLeft + a.paddingRight, g = a.paddingTop + a.paddingBottom, y = a.marginLeft + a.marginRight, v = a.marginTop + a.marginBottom, _ = a.borderLeftWidth + a.borderRightWidth, E = a.borderTopWidth + a.borderBottomWidth, z = d && s, b = t(r.width); b !== !1 && (a.width = b + (z ? 0 : p + _)); var x = t(r.height); return x !== !1 && (a.height = x + (z ? 0 : g + E)), a.innerWidth = a.width - (p + _), a.innerHeight = a.height - (g + E), a.outerWidth = a.width + y, a.outerHeight = a.height + v, a } } var s, a = \"undefined\" == typeof console ? e : function (t) { console.error(t) }, h = [\"paddingLeft\", \"paddingRight\", \"paddingTop\", \"paddingBottom\", \"marginLeft\", \"marginRight\", \"marginTop\", \"marginBottom\", \"borderLeftWidth\", \"borderRightWidth\", \"borderTopWidth\", \"borderBottomWidth\"], u = h.length, d = !1; return r }), function (t, e) { \"use strict\"; \"function\" == typeof define && define.amd ? define(\"desandro-matches-selector/matches-selector\", e) : \"object\" == typeof module && module.exports ? module.exports = e() : t.matchesSelector = e() }(window, function () { \"use strict\"; var t = function () { var t = Element.prototype; if (t.matches) return \"matches\"; if (t.matchesSelector) return \"matchesSelector\"; for (var e = [\"webkit\", \"moz\", \"ms\", \"o\"], i = 0; i < e.length; i++) { var n = e[i], o = n + \"MatchesSelector\"; if (t[o]) return o } }(); return function (e, i) { return e[t](i) } }), function (t, e) { \"function\" == typeof define && define.amd ? define(\"fizzy-ui-utils/utils\", [\"desandro-matches-selector/matches-selector\"], function (i) { return e(t, i) }) : \"object\" == typeof module && module.exports ? module.exports = e(t, require(\"desandro-matches-selector\")) : t.fizzyUIUtils = e(t, t.matchesSelector) }(window, function (t, e) { var i = {}; i.extend = function (t, e) { for (var i in e) t[i] = e[i]; return t }, i.modulo = function (t, e) { return (t % e + e) % e }, i.makeArray = function (t) { var e = []; if (Array.isArray(t)) e = t; else if (t && \"number\" == typeof t.length) for (var i = 0; i < t.length; i++) e.push(t[i]); else e.push(t); return e }, i.removeFrom = function (t, e) { var i = t.indexOf(e); -1 != i && t.splice(i, 1) }, i.getParent = function (t, i) { for (; t != document.body;) if (t = t.parentNode, e(t, i)) return t }, i.getQueryElement = function (t) { return \"string\" == typeof t ? document.querySelector(t) : t }, i.handleEvent = function (t) { var e = \"on\" + t.type; this[e] && this[e](t) }, i.filterFindElements = function (t, n) { t = i.makeArray(t); var o = []; return t.forEach(function (t) { if (t instanceof HTMLElement) { if (!n) return void o.push(t); e(t, n) && o.push(t); for (var i = t.querySelectorAll(n), r = 0; r < i.length; r++) o.push(i[r]) } }), o }, i.debounceMethod = function (t, e, i) { var n = t.prototype[e], o = e + \"Timeout\"; t.prototype[e] = function () { var t = this[o]; t && clearTimeout(t); var e = arguments, r = this; this[o] = setTimeout(function () { n.apply(r, e), delete r[o] }, i || 100) } }, i.docReady = function (t) { var e = document.readyState; \"complete\" == e || \"interactive\" == e ? t() : document.addEventListener(\"DOMContentLoaded\", t) }, i.toDashed = function (t) { return t.replace(/(.)([A-Z])/g, function (t, e, i) { return e + \"-\" + i }).toLowerCase() }; var n = t.console; return i.htmlInit = function (e, o) { i.docReady(function () { var r = i.toDashed(o), s = \"data-\" + r, a = document.querySelectorAll(\"[\" + s + \"]\"), h = document.querySelectorAll(\".js-\" + r), u = i.makeArray(a).concat(i.makeArray(h)), d = s + \"-options\", l = t.jQuery; u.forEach(function (t) { var i, r = t.getAttribute(s) || t.getAttribute(d); try { i = r && JSON.parse(r) } catch (a) { return void (n && n.error(\"Error parsing \" + s + \" on \" + t.className + \": \" + a)) } var h = new e(t, i); l && l.data(t, o, h) }) }) }, i }), function (t, e) { \"function\" == typeof define && define.amd ? define(\"outlayer/item\", [\"ev-emitter/ev-emitter\", \"get-size/get-size\"], e) : \"object\" == typeof module && module.exports ? module.exports = e(require(\"ev-emitter\"), require(\"get-size\")) : (t.Outlayer = {}, t.Outlayer.Item = e(t.EvEmitter, t.getSize)) }(window, function (t, e) { \"use strict\"; function i(t) { for (var e in t) return !1; return e = null, !0 } function n(t, e) { t && (this.element = t, this.layout = e, this.position = { x: 0, y: 0 }, this._create()) } function o(t) { return t.replace(/([A-Z])/g, function (t) { return \"-\" + t.toLowerCase() }) } var r = document.documentElement.style, s = \"string\" == typeof r.transition ? \"transition\" : \"WebkitTransition\", a = \"string\" == typeof r.transform ? \"transform\" : \"WebkitTransform\", h = { WebkitTransition: \"webkitTransitionEnd\", transition: \"transitionend\" }[s], u = { transform: a, transition: s, transitionDuration: s + \"Duration\", transitionProperty: s + \"Property\", transitionDelay: s + \"Delay\" }, d = n.prototype = Object.create(t.prototype); d.constructor = n, d._create = function () { this._transn = { ingProperties: {}, clean: {}, onEnd: {} }, this.css({ position: \"absolute\" }) }, d.handleEvent = function (t) { var e = \"on\" + t.type; this[e] && this[e](t) }, d.getSize = function () { this.size = e(this.element) }, d.css = function (t) { var e = this.element.style; for (var i in t) { var n = u[i] || i; e[n] = t[i] } }, d.getPosition = function () { var t = getComputedStyle(this.element), e = this.layout._getOption(\"originLeft\"), i = this.layout._getOption(\"originTop\"), n = t[e ? \"left\" : \"right\"], o = t[i ? \"top\" : \"bottom\"], r = this.layout.size, s = -1 != n.indexOf(\"%\") ? parseFloat(n) / 100 * r.width : parseInt(n, 10), a = -1 != o.indexOf(\"%\") ? parseFloat(o) / 100 * r.height : parseInt(o, 10); s = isNaN(s) ? 0 : s, a = isNaN(a) ? 0 : a, s -= e ? r.paddingLeft : r.paddingRight, a -= i ? r.paddingTop : r.paddingBottom, this.position.x = s, this.position.y = a }, d.layoutPosition = function () { var t = this.layout.size, e = {}, i = this.layout._getOption(\"originLeft\"), n = this.layout._getOption(\"originTop\"), o = i ? \"paddingLeft\" : \"paddingRight\", r = i ? \"left\" : \"right\", s = i ? \"right\" : \"left\", a = this.position.x + t[o]; e[r] = this.getXValue(a), e[s] = \"\"; var h = n ? \"paddingTop\" : \"paddingBottom\", u = n ? \"top\" : \"bottom\", d = n ? \"bottom\" : \"top\", l = this.position.y + t[h]; e[u] = this.getYValue(l), e[d] = \"\", this.css(e), this.emitEvent(\"layout\", [this]) }, d.getXValue = function (t) { var e = this.layout._getOption(\"horizontal\"); return this.layout.options.percentPosition && !e ? t / this.layout.size.width * 100 + \"%\" : t + \"px\" }, d.getYValue = function (t) { var e = this.layout._getOption(\"horizontal\"); return this.layout.options.percentPosition && e ? t / this.layout.size.height * 100 + \"%\" : t + \"px\" }, d._transitionTo = function (t, e) { this.getPosition(); var i = this.position.x, n = this.position.y, o = parseInt(t, 10), r = parseInt(e, 10), s = o === this.position.x && r === this.position.y; if (this.setPosition(t, e), s && !this.isTransitioning) return void this.layoutPosition(); var a = t - i, h = e - n, u = {}; u.transform = this.getTranslate(a, h), this.transition({ to: u, onTransitionEnd: { transform: this.layoutPosition }, isCleaning: !0 }) }, d.getTranslate = function (t, e) { var i = this.layout._getOption(\"originLeft\"), n = this.layout._getOption(\"originTop\"); return t = i ? t : -t, e = n ? e : -e, \"translate3d(\" + t + \"px, \" + e + \"px, 0)\" }, d.goTo = function (t, e) { this.setPosition(t, e), this.layoutPosition() }, d.moveTo = d._transitionTo, d.setPosition = function (t, e) { this.position.x = parseInt(t, 10), this.position.y = parseInt(e, 10) }, d._nonTransition = function (t) { this.css(t.to), t.isCleaning && this._removeStyles(t.to); for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this) }, d.transition = function (t) { if (!parseFloat(this.layout.options.transitionDuration)) return void this._nonTransition(t); var e = this._transn; for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i]; for (i in t.to) e.ingProperties[i] = !0, t.isCleaning && (e.clean[i] = !0); if (t.from) { this.css(t.from); var n = this.element.offsetHeight; n = null } this.enableTransition(t.to), this.css(t.to), this.isTransitioning = !0 }; var l = \"opacity,\" + o(a); d.enableTransition = function () { if (!this.isTransitioning) { var t = this.layout.options.transitionDuration; t = \"number\" == typeof t ? t + \"ms\" : t, this.css({ transitionProperty: l, transitionDuration: t, transitionDelay: this.staggerDelay || 0 }), this.element.addEventListener(h, this, !1) } }, d.onwebkitTransitionEnd = function (t) { this.ontransitionend(t) }, d.onotransitionend = function (t) { this.ontransitionend(t) }; var c = { \"-webkit-transform\": \"transform\" }; d.ontransitionend = function (t) { if (t.target === this.element) { var e = this._transn, n = c[t.propertyName] || t.propertyName; if (delete e.ingProperties[n], i(e.ingProperties) && this.disableTransition(), n in e.clean && (this.element.style[t.propertyName] = \"\", delete e.clean[n]), n in e.onEnd) { var o = e.onEnd[n]; o.call(this), delete e.onEnd[n] } this.emitEvent(\"transitionEnd\", [this]) } }, d.disableTransition = function () { this.removeTransitionStyles(), this.element.removeEventListener(h, this, !1), this.isTransitioning = !1 }, d._removeStyles = function (t) { var e = {}; for (var i in t) e[i] = \"\"; this.css(e) }; var f = { transitionProperty: \"\", transitionDuration: \"\", transitionDelay: \"\" }; return d.removeTransitionStyles = function () { this.css(f) }, d.stagger = function (t) { t = isNaN(t) ? 0 : t, this.staggerDelay = t + \"ms\" }, d.removeElem = function () { this.element.parentNode.removeChild(this.element), this.css({ display: \"\" }), this.emitEvent(\"remove\", [this]) }, d.remove = function () { return s && parseFloat(this.layout.options.transitionDuration) ? (this.once(\"transitionEnd\", function () { this.removeElem() }), void this.hide()) : void this.removeElem() }, d.reveal = function () { delete this.isHidden, this.css({ display: \"\" }); var t = this.layout.options, e = {}, i = this.getHideRevealTransitionEndProperty(\"visibleStyle\"); e[i] = this.onRevealTransitionEnd, this.transition({ from: t.hiddenStyle, to: t.visibleStyle, isCleaning: !0, onTransitionEnd: e }) }, d.onRevealTransitionEnd = function () { this.isHidden || this.emitEvent(\"reveal\") }, d.getHideRevealTransitionEndProperty = function (t) { var e = this.layout.options[t]; if (e.opacity) return \"opacity\"; for (var i in e) return i }, d.hide = function () { this.isHidden = !0, this.css({ display: \"\" }); var t = this.layout.options, e = {}, i = this.getHideRevealTransitionEndProperty(\"hiddenStyle\"); e[i] = this.onHideTransitionEnd, this.transition({ from: t.visibleStyle, to: t.hiddenStyle, isCleaning: !0, onTransitionEnd: e }) }, d.onHideTransitionEnd = function () { this.isHidden && (this.css({ display: \"none\" }), this.emitEvent(\"hide\")) }, d.destroy = function () { this.css({ position: \"\", left: \"\", right: \"\", top: \"\", bottom: \"\", transition: \"\", transform: \"\" }) }, n }), function (t, e) { \"use strict\"; \"function\" == typeof define && define.amd ? define(\"outlayer/outlayer\", [\"ev-emitter/ev-emitter\", \"get-size/get-size\", \"fizzy-ui-utils/utils\", \"./item\"], function (i, n, o, r) { return e(t, i, n, o, r) }) : \"object\" == typeof module && module.exports ? module.exports = e(t, require(\"ev-emitter\"), require(\"get-size\"), require(\"fizzy-ui-utils\"), require(\"./item\")) : t.Outlayer = e(t, t.EvEmitter, t.getSize, t.fizzyUIUtils, t.Outlayer.Item) }(window, function (t, e, i, n, o) { \"use strict\"; function r(t, e) { var i = n.getQueryElement(t); if (!i) return void (h && h.error(\"Bad element for \" + this.constructor.namespace + \": \" + (i || t))); this.element = i, u && (this.$element = u(this.element)), this.options = n.extend({}, this.constructor.defaults), this.option(e); var o = ++l; this.element.outlayerGUID = o, c[o] = this, this._create(); var r = this._getOption(\"initLayout\"); r && this.layout() } function s(t) { function e() { t.apply(this, arguments) } return e.prototype = Object.create(t.prototype), e.prototype.constructor = e, e } function a(t) { if (\"number\" == typeof t) return t; var e = t.match(/(^\\d*\\.?\\d*)(\\w*)/), i = e && e[1], n = e && e[2]; if (!i.length) return 0; i = parseFloat(i); var o = m[n] || 1; return i * o } var h = t.console, u = t.jQuery, d = function () { }, l = 0, c = {}; r.namespace = \"outlayer\", r.Item = o, r.defaults = { containerStyle: { position: \"relative\" }, initLayout: !0, originLeft: !0, originTop: !0, resize: !0, resizeContainer: !0, transitionDuration: \"0.4s\", hiddenStyle: { opacity: 0, transform: \"scale(0.001)\" }, visibleStyle: { opacity: 1, transform: \"scale(1)\" } }; var f = r.prototype; n.extend(f, e.prototype), f.option = function (t) { n.extend(this.options, t) }, f._getOption = function (t) { var e = this.constructor.compatOptions[t]; return e && void 0 !== this.options[e] ? this.options[e] : this.options[t] }, r.compatOptions = { initLayout: \"isInitLayout\", horizontal: \"isHorizontal\", layoutInstant: \"isLayoutInstant\", originLeft: \"isOriginLeft\", originTop: \"isOriginTop\", resize: \"isResizeBound\", resizeContainer: \"isResizingContainer\" }, f._create = function () { this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), n.extend(this.element.style, this.options.containerStyle); var t = this._getOption(\"resize\"); t && this.bindResize() }, f.reloadItems = function () { this.items = this._itemize(this.element.children) }, f._itemize = function (t) { for (var e = this._filterFindItemElements(t), i = this.constructor.Item, n = [], o = 0; o < e.length; o++) { var r = e[o], s = new i(r, this); n.push(s) } return n }, f._filterFindItemElements = function (t) { return n.filterFindElements(t, this.options.itemSelector) }, f.getItemElements = function () { return this.items.map(function (t) { return t.element }) }, f.layout = function () { this._resetLayout(), this._manageStamps(); var t = this._getOption(\"layoutInstant\"), e = void 0 !== t ? t : !this._isLayoutInited; this.layoutItems(this.items, e), this._isLayoutInited = !0 }, f._init = f.layout, f._resetLayout = function () { this.getSize() }, f.getSize = function () { this.size = i(this.element) }, f._getMeasurement = function (t, e) { var n, o = this.options[t]; o ? (\"string\" == typeof o ? n = this.element.querySelector(o) : o instanceof HTMLElement && (n = o), this[t] = n ? i(n)[e] : o) : this[t] = 0 }, f.layoutItems = function (t, e) { t = this._getItemsForLayout(t), this._layoutItems(t, e), this._postLayout() }, f._getItemsForLayout = function (t) { return t.filter(function (t) { return !t.isIgnored }) }, f._layoutItems = function (t, e) { if (this._emitCompleteOnItems(\"layout\", t), t && t.length) { var i = []; t.forEach(function (t) { var n = this._getItemLayoutPosition(t); n.item = t, n.isInstant = e || t.isLayoutInstant, i.push(n) }, this), this._processLayoutQueue(i) } }, f._getItemLayoutPosition = function () { return { x: 0, y: 0 } }, f._processLayoutQueue = function (t) { this.updateStagger(), t.forEach(function (t, e) { this._positionItem(t.item, t.x, t.y, t.isInstant, e) }, this) }, f.updateStagger = function () { var t = this.options.stagger; return null === t || void 0 === t ? void (this.stagger = 0) : (this.stagger = a(t), this.stagger) }, f._positionItem = function (t, e, i, n, o) { n ? t.goTo(e, i) : (t.stagger(o * this.stagger), t.moveTo(e, i)) }, f._postLayout = function () { this.resizeContainer() }, f.resizeContainer = function () { var t = this._getOption(\"resizeContainer\"); if (t) { var e = this._getContainerSize(); e && (this._setContainerMeasure(e.width, !0), this._setContainerMeasure(e.height, !1)) } }, f._getContainerSize = d, f._setContainerMeasure = function (t, e) { if (void 0 !== t) { var i = this.size; i.isBorderBox && (t += e ? i.paddingLeft + i.paddingRight + i.borderLeftWidth + i.borderRightWidth : i.paddingBottom + i.paddingTop + i.borderTopWidth + i.borderBottomWidth), t = Math.max(t, 0), this.element.style[e ? \"width\" : \"height\"] = t + \"px\" } }, f._emitCompleteOnItems = function (t, e) { function i() { o.dispatchEvent(t + \"Complete\", null, [e]) } function n() { s++, s == r && i() } var o = this, r = e.length; if (!e || !r) return void i(); var s = 0; e.forEach(function (e) { e.once(t, n) }) }, f.dispatchEvent = function (t, e, i) { var n = e ? [e].concat(i) : i; if (this.emitEvent(t, n), u) if (this.$element = this.$element || u(this.element), e) { var o = u.Event(e); o.type = t, this.$element.trigger(o, i) } else this.$element.trigger(t, i) }, f.ignore = function (t) { var e = this.getItem(t); e && (e.isIgnored = !0) }, f.unignore = function (t) { var e = this.getItem(t); e && delete e.isIgnored }, f.stamp = function (t) { t = this._find(t), t && (this.stamps = this.stamps.concat(t), t.forEach(this.ignore, this)) }, f.unstamp = function (t) { t = this._find(t), t && t.forEach(function (t) { n.removeFrom(this.stamps, t), this.unignore(t) }, this) }, f._find = function (t) { return t ? (\"string\" == typeof t && (t = this.element.querySelectorAll(t)), t = n.makeArray(t)) : void 0 }, f._manageStamps = function () { this.stamps && this.stamps.length && (this._getBoundingRect(), this.stamps.forEach(this._manageStamp, this)) }, f._getBoundingRect = function () { var t = this.element.getBoundingClientRect(), e = this.size; this._boundingRect = { left: t.left + e.paddingLeft + e.borderLeftWidth, top: t.top + e.paddingTop + e.borderTopWidth, right: t.right - (e.paddingRight + e.borderRightWidth), bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth) } }, f._manageStamp = d, f._getElementOffset = function (t) { var e = t.getBoundingClientRect(), n = this._boundingRect, o = i(t), r = { left: e.left - n.left - o.marginLeft, top: e.top - n.top - o.marginTop, right: n.right - e.right - o.marginRight, bottom: n.bottom - e.bottom - o.marginBottom }; return r }, f.handleEvent = n.handleEvent, f.bindResize = function () { t.addEventListener(\"resize\", this), this.isResizeBound = !0 }, f.unbindResize = function () { t.removeEventListener(\"resize\", this), this.isResizeBound = !1 }, f.onresize = function () { this.resize() }, n.debounceMethod(r, \"onresize\", 100), f.resize = function () { this.isResizeBound && this.needsResizeLayout() && this.layout() }, f.needsResizeLayout = function () { var t = i(this.element), e = this.size && t; return e && t.innerWidth !== this.size.innerWidth }, f.addItems = function (t) { var e = this._itemize(t); return e.length && (this.items = this.items.concat(e)), e }, f.appended = function (t) { var e = this.addItems(t); e.length && (this.layoutItems(e, !0), this.reveal(e)) }, f.prepended = function (t) { var e = this._itemize(t); if (e.length) { var i = this.items.slice(0); this.items = e.concat(i), this._resetLayout(), this._manageStamps(), this.layoutItems(e, !0), this.reveal(e), this.layoutItems(i) } }, f.reveal = function (t) { if (this._emitCompleteOnItems(\"reveal\", t), t && t.length) { var e = this.updateStagger(); t.forEach(function (t, i) { t.stagger(i * e), t.reveal() }) } }, f.hide = function (t) { if (this._emitCompleteOnItems(\"hide\", t), t && t.length) { var e = this.updateStagger(); t.forEach(function (t, i) { t.stagger(i * e), t.hide() }) } }, f.revealItemElements = function (t) { var e = this.getItems(t); this.reveal(e) }, f.hideItemElements = function (t) { var e = this.getItems(t); this.hide(e) }, f.getItem = function (t) { for (var e = 0; e < this.items.length; e++) { var i = this.items[e]; if (i.element == t) return i } }, f.getItems = function (t) { t = n.makeArray(t); var e = []; return t.forEach(function (t) { var i = this.getItem(t); i && e.push(i) }, this), e }, f.remove = function (t) { var e = this.getItems(t); this._emitCompleteOnItems(\"remove\", e), e && e.length && e.forEach(function (t) { t.remove(), n.removeFrom(this.items, t) }, this) }, f.destroy = function () { var t = this.element.style; t.height = \"\", t.position = \"\", t.width = \"\", this.items.forEach(function (t) { t.destroy() }), this.unbindResize(); var e = this.element.outlayerGUID; delete c[e], delete this.element.outlayerGUID, u && u.removeData(this.element, this.constructor.namespace) }, r.data = function (t) { t = n.getQueryElement(t); var e = t && t.outlayerGUID; return e && c[e] }, r.create = function (t, e) { var i = s(r); return i.defaults = n.extend({}, r.defaults), n.extend(i.defaults, e), i.compatOptions = n.extend({}, r.compatOptions), i.namespace = t, i.data = r.data, i.Item = s(o), n.htmlInit(i, t), u && u.bridget && u.bridget(t, i), i }; var m = { ms: 1, s: 1e3 }; return r.Item = o, r }), function (t, e) { \"function\" == typeof define && define.amd ? define([\"outlayer/outlayer\", \"get-size/get-size\"], e) : \"object\" == typeof module && module.exports ? module.exports = e(require(\"outlayer\"), require(\"get-size\")) : t.Masonry = e(t.Outlayer, t.getSize) }(window, function (t, e) { var i = t.create(\"masonry\"); return i.compatOptions.fitWidth = \"isFitWidth\", i.prototype._resetLayout = function () { this.getSize(), this._getMeasurement(\"columnWidth\", \"outerWidth\"), this._getMeasurement(\"gutter\", \"outerWidth\"), this.measureColumns(), this.colYs = []; for (var t = 0; t < this.cols; t++) this.colYs.push(0); this.maxY = 0 }, i.prototype.measureColumns = function () { if (this.getContainerWidth(), !this.columnWidth) { var t = this.items[0], i = t && t.element; this.columnWidth = i && e(i).outerWidth || this.containerWidth } var n = this.columnWidth += this.gutter, o = this.containerWidth + this.gutter, r = o / n, s = n - o % n, a = s && 1 > s ? \"round\" : \"floor\"; r = Math[a](r), this.cols = Math.max(r, 1) }, i.prototype.getContainerWidth = function () { var t = this._getOption(\"fitWidth\"), i = t ? this.element.parentNode : this.element, n = e(i); this.containerWidth = n && n.innerWidth }, i.prototype._getItemLayoutPosition = function (t) { t.getSize(); var e = t.size.outerWidth % this.columnWidth, i = e && 1 > e ? \"round\" : \"ceil\", n = Math[i](t.size.outerWidth / this.columnWidth); n = Math.min(n, this.cols); for (var o = this._getColGroup(n), r = Math.min.apply(Math, o), s = o.indexOf(r), a = { x: this.columnWidth * s, y: r }, h = r + t.size.outerHeight, u = this.cols + 1 - o.length, d = 0; u > d; d++) this.colYs[s + d] = h; return a }, i.prototype._getColGroup = function (t) { if (2 > t) return this.colYs; for (var e = [], i = this.cols + 1 - t, n = 0; i > n; n++) { var o = this.colYs.slice(n, n + t); e[n] = Math.max.apply(Math, o) } return e }, i.prototype._manageStamp = function (t) { var i = e(t), n = this._getElementOffset(t), o = this._getOption(\"originLeft\"), r = o ? n.left : n.right, s = r + i.outerWidth, a = Math.floor(r / this.columnWidth); a = Math.max(0, a); var h = Math.floor(s / this.columnWidth); h -= s % this.columnWidth ? 0 : 1, h = Math.min(this.cols - 1, h); for (var u = this._getOption(\"originTop\"), d = (u ? n.top : n.bottom) + i.outerHeight, l = a; h >= l; l++) this.colYs[l] = Math.max(d, this.colYs[l]) }, i.prototype._getContainerSize = function () { this.maxY = Math.max.apply(Math, this.colYs); var t = { height: this.maxY }; return this._getOption(\"fitWidth\") && (t.width = this._getContainerFitWidth()), t }, i.prototype._getContainerFitWidth = function () { for (var t = 0, e = this.cols; --e && 0 === this.colYs[e];) t++; return (this.cols - t) * this.columnWidth - this.gutter }, i.prototype.needsResizeLayout = function () { var t = this.containerWidth; return this.getContainerWidth(), t != this.containerWidth }, i });","/*\r\n * Lazy Load - jQuery plugin for lazy loading images\r\n *\r\n * Copyright (c) 2007-2013 Mika Tuupola\r\n *\r\n * Licensed under the MIT license:\r\n * http://www.opensource.org/licenses/mit-license.php\r\n *\r\n * Project home:\r\n * http://www.appelsiini.net/projects/lazyload\r\n *\r\n * Version: 1.9.3\r\n *\r\n */\r\n\r\n(function ($, window, document, undefined) {\r\n var $window = $(window);\r\n\r\n $.fn.lazyload = function (options) {\r\n var elements = this;\r\n var $container;\r\n var settings = {\r\n threshold: 0,\r\n failure_limit: 0,\r\n event: \"scroll\",\r\n effect: \"show\",\r\n container: window,\r\n data_attribute: \"original\",\r\n skip_invisible: true,\r\n appear: null,\r\n load: null,\r\n placeholder: \"\"\r\n };\r\n\r\n function update() {\r\n var counter = 0;\r\n\r\n elements.each(function () {\r\n var $this = $(this);\r\n if (settings.skip_invisible && $($this).parents('.isotope-item').hasClass('isotope-hidden')) { return; }\r\n if ($.abovethetop(this, settings) ||\r\n $.leftofbegin(this, settings)) {\r\n /* Nothing. */\r\n } else if (!$.belowthefold(this, settings) &&\r\n !$.rightoffold(this, settings)) {\r\n $this.trigger(\"appear\");\r\n /* if we found an image we'll load, reset the counter */\r\n counter = 0;\r\n } else {\r\n if (++counter > settings.failure_limit) {\r\n return false;\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n if (options) {\r\n /* Maintain BC for a couple of versions. */\r\n if (undefined !== options.failurelimit) {\r\n options.failure_limit = options.failurelimit;\r\n delete options.failurelimit;\r\n }\r\n if (undefined !== options.effectspeed) {\r\n options.effect_speed = options.effectspeed;\r\n delete options.effectspeed;\r\n }\r\n\r\n $.extend(settings, options);\r\n }\r\n\r\n /* Cache container as jQuery as object. */\r\n $container = (settings.container === undefined ||\r\n settings.container === window) ? $window : $(settings.container);\r\n\r\n /* Fire one scroll event per scroll. Not one scroll event per image. */\r\n if (0 === settings.event.indexOf(\"scroll\")) {\r\n $container.bind(settings.event, function () {\r\n return update();\r\n });\r\n }\r\n\r\n this.each(function () {\r\n var self = this;\r\n var $self = $(self);\r\n\r\n self.loaded = false;\r\n\r\n /* If no src attribute given use data:uri. */\r\n if ($self.attr(\"src\") === undefined || $self.attr(\"src\") === false) {\r\n if ($self.is(\"img\")) {\r\n $self.attr(\"src\", settings.placeholder);\r\n }\r\n }\r\n\r\n /* When appear is triggered load original image. */\r\n $self.one(\"appear\", function () {\r\n if (!this.loaded) {\r\n if (settings.appear) {\r\n var elements_left = elements.length;\r\n settings.appear.call(self, elements_left, settings);\r\n }\r\n $(\"\")\r\n .bind(\"load\", function () {\r\n\r\n var original = $self.attr(\"data-\" + settings.data_attribute);\r\n $self.hide();\r\n if ($self.is(\"img\")) {\r\n $self.attr(\"src\", original);\r\n } else {\r\n $self.css(\"background-image\", \"url('\" + original + \"')\");\r\n }\r\n $self[settings.effect](settings.effect_speed);\r\n\r\n self.loaded = true;\r\n\r\n /* Remove image from array so it is not looped next time. */\r\n var temp = $.grep(elements, function (element) {\r\n return !element.loaded;\r\n });\r\n elements = $(temp);\r\n\r\n if (settings.load) {\r\n var elements_left = elements.length;\r\n settings.load.call(self, elements_left, settings);\r\n }\r\n })\r\n .attr(\"src\", $self.attr(\"data-\" + settings.data_attribute));\r\n }\r\n });\r\n\r\n /* When wanted event is triggered load original image */\r\n /* by triggering appear. */\r\n if (0 !== settings.event.indexOf(\"scroll\")) {\r\n $self.bind(settings.event, function () {\r\n if (!self.loaded) {\r\n $self.trigger(\"appear\");\r\n }\r\n });\r\n }\r\n });\r\n\r\n /* Check if something appears when window is resized. */\r\n $window.bind(\"resize\", function () {\r\n update();\r\n });\r\n\r\n /* With IOS5 force loading images when navigating with back button. */\r\n /* Non optimal workaround. */\r\n if ((/(?:iphone|ipod|ipad).*os 5/gi).test(navigator.appVersion)) {\r\n $window.bind(\"pageshow\", function (event) {\r\n if (event.originalEvent && event.originalEvent.persisted) {\r\n elements.each(function () {\r\n $(this).trigger(\"appear\");\r\n });\r\n }\r\n });\r\n }\r\n\r\n /* Force initial check if images should appear. */\r\n $(document).ready(function () {\r\n update();\r\n });\r\n\r\n return this;\r\n };\r\n\r\n /* Convenience methods in jQuery namespace. */\r\n /* Use as $.belowthefold(element, {threshold : 100, container : window}) */\r\n\r\n $.belowthefold = function (element, settings) {\r\n var fold;\r\n\r\n if (settings.container === undefined || settings.container === window) {\r\n fold = (window.innerHeight ? window.innerHeight : $window.height()) + $window.scrollTop();\r\n } else {\r\n fold = $(settings.container).offset().top + $(settings.container).height();\r\n }\r\n\r\n return fold <= $(element).offset().top - settings.threshold;\r\n };\r\n\r\n $.rightoffold = function (element, settings) {\r\n var fold;\r\n\r\n if (settings.container === undefined || settings.container === window) {\r\n fold = $window.width() + $window.scrollLeft();\r\n } else {\r\n fold = $(settings.container).offset().left + $(settings.container).width();\r\n }\r\n\r\n return fold <= $(element).offset().left - settings.threshold;\r\n };\r\n\r\n $.abovethetop = function (element, settings) {\r\n var fold;\r\n\r\n if (settings.container === undefined || settings.container === window) {\r\n fold = $window.scrollTop();\r\n } else {\r\n fold = $(settings.container).offset().top;\r\n }\r\n\r\n return fold >= $(element).offset().top + settings.threshold + $(element).height();\r\n };\r\n\r\n $.leftofbegin = function (element, settings) {\r\n var fold;\r\n\r\n if (settings.container === undefined || settings.container === window) {\r\n fold = $window.scrollLeft();\r\n } else {\r\n fold = $(settings.container).offset().left;\r\n }\r\n\r\n return fold >= $(element).offset().left + settings.threshold + $(element).width();\r\n };\r\n\r\n $.inviewport = function (element, settings) {\r\n return !$.rightoffold(element, settings) && !$.leftofbegin(element, settings) &&\r\n !$.belowthefold(element, settings) && !$.abovethetop(element, settings);\r\n };\r\n\r\n /* Custom selectors for your convenience. */\r\n /* Use as $(\"img:below-the-fold\").something() or */\r\n /* $(\"img\").filter(\":below-the-fold\").something() which is faster */\r\n\r\n $.extend($.expr[\":\"], {\r\n \"below-the-fold\": function (a) { return $.belowthefold(a, { threshold: 0 }); },\r\n \"above-the-top\": function (a) { return !$.belowthefold(a, { threshold: 0 }); },\r\n \"right-of-screen\": function (a) { return $.rightoffold(a, { threshold: 0 }); },\r\n \"left-of-screen\": function (a) { return !$.rightoffold(a, { threshold: 0 }); },\r\n \"in-viewport\": function (a) { return $.inviewport(a, { threshold: 0 }); },\r\n /* Maintain BC for couple of versions. */\r\n \"above-the-fold\": function (a) { return !$.belowthefold(a, { threshold: 0 }); },\r\n \"right-of-fold\": function (a) { return $.rightoffold(a, { threshold: 0 }); },\r\n \"left-of-fold\": function (a) { return !$.rightoffold(a, { threshold: 0 }); }\r\n });\r\n\r\n})(jQuery, window, document);","/*\r\n Slimmage 0.4.2, use with ImageResizer. MIT/Apache2 dual licensed by Imazen \r\n*/\r\n'use strict';(function(f){function p(){if(a.verbose&&f.console&&f.console.log)try{f.console.log.apply(f.console,arguments)}catch(c){}}var a=window.slimmage||{};window.slimmage=a;void 0===a.verbose&&(a.verbose=!1);void 0===a.tryWebP&&(a.tryWebP=!1);void 0===a.maxWidth&&(a.maxWidth=2048);void 0===a.widthStep&&(a.widthStep=160);void 0===a.jpegQuality&&(a.jpegQuality=90);void 0===a.jpegRetinaQuality&&(a.jpegRetinaQuality=80);void 0===a.webpTimeout&&(a.webpTimeout=0);a.changed=[];a.j=function(){if(a.tryWebP&&\r\n!a.c){a.c=!0;var c=new Image;c.onload=c.onerror=function(){a.webp=2==c.height;a.c=!1;a.a&&a.a()};c.src=\"data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA\"}};a.j();a.b=function(a,e,b){e=e.toLowerCase();\"class\"==e?a.className=b:\"tabindex\"==e?a.tabIndex=b:\"usemap\"==e?a.useMap=b:a.setAttribute(e,b)};a.setAttribute=a.b;a.f=function(a){return\"none\"===a||null===a||void 0===a||\"\"===a||!1===a};a.getCssValue=function(c,e){var b=\"undefined\"!=typeof window.getComputedStyle&&\r\nwindow.getComputedStyle(c,null).getPropertyValue(e);if(!a.f(b))return b;c.currentStyle&&(b=c.currentStyle[e.replace(/([a-z])\\-([a-z])/,function(a,c,b){return c+b.toUpperCase()})]||c.currentStyle[e]);return a.f(b)?null:b};a.getCssPixels=function(c,e){var b=a.getCssValue(c,e);if(null===b||\"0\"===b||0===b)return b;if(\"px\"==b.slice(-2))return parseFloat(b.slice(0,-2));var d=document.createElement(\"div\");d.style.overflow=d.style.visibility=\"hidden\";d.style.cssFloat=\"none\";c.parentNode.appendChild(d);d.style.width=\r\nb;b=d.offsetWidth;c.parentNode.removeChild(d);return b};a.g=function(a){for(var e=[],b=a.length>>>0;b--;)e[b]=a[b];return e};a.mutateUrl=function(a,e,b,d){a=/^([^?#]*)?(\\?([^#]*))?(#.*)?/.exec(a);var l=a[3]||\"\",f=/(^&*|&+)([^&=]*)=?([^&]*)/g;l.replace(f,e);e=\"?\"+l.replace(f,b).replace(/(?:^\\?*&*)|(?:[?&]+$)/g,\"\").replace(/&&+/g,\"&\");return(a[1]||\"\")+d(e)+(a[4]||\"\")};a.getImageInfo=function(c,e,b,d){var f={webp:a.webp,width:c,dpr:window.devicePixelRatio||1,src:e,element:d};d=a.webp?65:a.jpegRetinaQuality;\r\nvar m=a.webp?78:a.jpegQuality;f.quality=1.49b){var g={},h={};return{src:a.mutateUrl(e,function(a,b,c,d){g[c.toLowerCase()]=d},function(a,b,c){void 0===h.zoom&&(h.zoom=parseFloat(g.zoom||1),isNaN(h.zoom)&&(h.zoom=1),h.i=(n/h.zoom).toFixed());if(void 0===h.h){var d=parseFloat(g.width||g.i||g.n),e=parseFloat(g.height||\r\ng.e||g.m);!isNaN(d)&&!isNaN(e)&&0=d&&(c.style.width=\"auto\",c.removeAttribute(\"data-width-enforced\")))};a.a=function(c){var e,b,d,l,m;0\").replace(/&/g,\"&\");else{l=new Image;for(var h=0;h 0) { return } var be = bd.originalEvent ? bd.originalEvent : bd; var bc, bb = a ? be.touches[0] : be; Z = g; if (a) { W = be.touches.length } else { bd.preventDefault() } ag = 0; aP = null; aJ = null; ab = 0; a1 = 0; aZ = 0; G = 1; aq = 0; aQ = aj(); M = aa(); R(); if (!a || (W === av.fingers || av.fingers === i) || aX()) { ai(0, bb); T = at(); if (W == 2) { ai(1, be.touches[1]); a1 = aZ = au(aQ[0].start, aQ[1].start) } if (av.swipeStatus || av.pinchStatus) { bc = O(be, Z) } } else { bc = false } if (bc === false) { Z = q; O(be, Z); return bc } else { if (av.hold) { af = setTimeout(f.proxy(function () { aR.trigger(\"hold\", [be.target]); if (av.hold) { bc = av.hold.call(aR, be, be.target) } }, this), av.longTapThreshold) } ao(true) } return null } function a3(be) { var bh = be.originalEvent ? be.originalEvent : be; if (Z === h || Z === q || am()) { return } var bd, bc = a ? bh.touches[0] : bh; var bf = aH(bc); a2 = at(); if (a) { W = bh.touches.length } if (av.hold) { clearTimeout(af) } Z = k; if (W == 2) { if (a1 == 0) { ai(1, bh.touches[1]); a1 = aZ = au(aQ[0].start, aQ[1].start) } else { aH(bh.touches[1]); aZ = au(aQ[0].end, aQ[1].end); aJ = ar(aQ[0].end, aQ[1].end) } G = a7(a1, aZ); aq = Math.abs(a1 - aZ) } if ((W === av.fingers || av.fingers === i) || !a || aX()) { aP = aL(bf.start, bf.end); al(be, aP); ag = aS(bf.start, bf.end); ab = aM(); aI(aP, ag); if (av.swipeStatus || av.pinchStatus) { bd = O(bh, Z) } if (!av.triggerOnTouchEnd || av.triggerOnTouchLeave) { var bb = true; if (av.triggerOnTouchLeave) { var bg = aY(this); bb = E(bf.end, bg) } if (!av.triggerOnTouchEnd && bb) { Z = aC(k) } else { if (av.triggerOnTouchLeave && !bb) { Z = aC(h) } } if (Z == q || Z == h) { O(bh, Z) } } } else { Z = q; O(bh, Z) } if (bd === false) { Z = q; O(bh, Z) } } function L(bb) { var bc = bb.originalEvent; if (a) { if (bc.touches.length > 0) { F(); return true } } if (am()) { W = ad } a2 = at(); ab = aM(); if (ba() || !an()) { Z = q; O(bc, Z) } else { if (av.triggerOnTouchEnd || (av.triggerOnTouchEnd == false && Z === k)) { bb.preventDefault(); Z = h; O(bc, Z) } else { if (!av.triggerOnTouchEnd && a6()) { Z = h; aF(bc, Z, A) } else { if (Z === k) { Z = q; O(bc, Z) } } } } ao(false); return null } function a9() { W = 0; a2 = 0; T = 0; a1 = 0; aZ = 0; G = 1; R(); ao(false) } function K(bb) { var bc = bb.originalEvent; if (av.triggerOnTouchLeave) { Z = aC(h); O(bc, Z) } } function aK() { aR.unbind(J, aN); aR.unbind(aD, a9); aR.unbind(ay, a3); aR.unbind(U, L); if (S) { aR.unbind(S, K) } ao(false) } function aC(bf) { var be = bf; var bd = aA(); var bc = an(); var bb = ba(); if (!bd || bb) { be = q } else { if (bc && bf == k && (!av.triggerOnTouchEnd || av.triggerOnTouchLeave)) { be = h } else { if (!bc && bf == h && av.triggerOnTouchLeave) { be = q } } } return be } function O(bd, bb) { var bc = undefined; if (I() || V()) { bc = aF(bd, bb, l) } else { if ((P() || aX()) && bc !== false) { bc = aF(bd, bb, t) } } if (aG() && bc !== false) { bc = aF(bd, bb, j) } else { if (ap() && bc !== false) { bc = aF(bd, bb, b) } else { if (ah() && bc !== false) { bc = aF(bd, bb, A) } } } if (bb === q) { a9(bd) } if (bb === h) { if (a) { if (bd.touches.length == 0) { a9(bd) } } else { a9(bd) } } return bc } function aF(be, bb, bd) { var bc = undefined; if (bd == l) { aR.trigger(\"swipeStatus\", [bb, aP || null, ag || 0, ab || 0, W, aQ]); if (av.swipeStatus) { bc = av.swipeStatus.call(aR, be, bb, aP || null, ag || 0, ab || 0, W, aQ); if (bc === false) { return false } } if (bb == h && aV()) { aR.trigger(\"swipe\", [aP, ag, ab, W, aQ]); if (av.swipe) { bc = av.swipe.call(aR, be, aP, ag, ab, W, aQ); if (bc === false) { return false } } switch (aP) { case p: aR.trigger(\"swipeLeft\", [aP, ag, ab, W, aQ]); if (av.swipeLeft) { bc = av.swipeLeft.call(aR, be, aP, ag, ab, W, aQ) } break; case o: aR.trigger(\"swipeRight\", [aP, ag, ab, W, aQ]); if (av.swipeRight) { bc = av.swipeRight.call(aR, be, aP, ag, ab, W, aQ) } break; case e: aR.trigger(\"swipeUp\", [aP, ag, ab, W, aQ]); if (av.swipeUp) { bc = av.swipeUp.call(aR, be, aP, ag, ab, W, aQ) } break; case x: aR.trigger(\"swipeDown\", [aP, ag, ab, W, aQ]); if (av.swipeDown) { bc = av.swipeDown.call(aR, be, aP, ag, ab, W, aQ) } break } } } if (bd == t) { aR.trigger(\"pinchStatus\", [bb, aJ || null, aq || 0, ab || 0, W, G, aQ]); if (av.pinchStatus) { bc = av.pinchStatus.call(aR, be, bb, aJ || null, aq || 0, ab || 0, W, G, aQ); if (bc === false) { return false } } if (bb == h && a8()) { switch (aJ) { case c: aR.trigger(\"pinchIn\", [aJ || null, aq || 0, ab || 0, W, G, aQ]); if (av.pinchIn) { bc = av.pinchIn.call(aR, be, aJ || null, aq || 0, ab || 0, W, G, aQ) } break; case z: aR.trigger(\"pinchOut\", [aJ || null, aq || 0, ab || 0, W, G, aQ]); if (av.pinchOut) { bc = av.pinchOut.call(aR, be, aJ || null, aq || 0, ab || 0, W, G, aQ) } break } } } if (bd == A) { if (bb === q || bb === h) { clearTimeout(aW); clearTimeout(af); if (Y() && !H()) { N = at(); aW = setTimeout(f.proxy(function () { N = null; aR.trigger(\"tap\", [be.target]); if (av.tap) { bc = av.tap.call(aR, be, be.target) } }, this), av.doubleTapThreshold) } else { N = null; aR.trigger(\"tap\", [be.target]); if (av.tap) { bc = av.tap.call(aR, be, be.target) } } } } else { if (bd == j) { if (bb === q || bb === h) { clearTimeout(aW); N = null; aR.trigger(\"doubletap\", [be.target]); if (av.doubleTap) { bc = av.doubleTap.call(aR, be, be.target) } } } else { if (bd == b) { if (bb === q || bb === h) { clearTimeout(aW); N = null; aR.trigger(\"longtap\", [be.target]); if (av.longTap) { bc = av.longTap.call(aR, be, be.target) } } } } } return bc } function an() { var bb = true; if (av.threshold !== null) { bb = ag >= av.threshold } return bb } function ba() { var bb = false; if (av.cancelThreshold !== null && aP !== null) { bb = (aT(aP) - ag) >= av.cancelThreshold } return bb } function ae() { if (av.pinchThreshold !== null) { return aq >= av.pinchThreshold } return true } function aA() { var bb; if (av.maxTimeThreshold) { if (ab >= av.maxTimeThreshold) { bb = false } else { bb = true } } else { bb = true } return bb } function al(bb, bc) { if (av.allowPageScroll === m || aX()) { bb.preventDefault() } else { var bd = av.allowPageScroll === s; switch (bc) { case p: if ((av.swipeLeft && bd) || (!bd && av.allowPageScroll != D)) { bb.preventDefault() } break; case o: if ((av.swipeRight && bd) || (!bd && av.allowPageScroll != D)) { bb.preventDefault() } break; case e: if ((av.swipeUp && bd) || (!bd && av.allowPageScroll != u)) { bb.preventDefault() } break; case x: if ((av.swipeDown && bd) || (!bd && av.allowPageScroll != u)) { bb.preventDefault() } break } } } function a8() { var bc = aO(); var bb = X(); var bd = ae(); return bc && bb && bd } function aX() { return !!(av.pinchStatus || av.pinchIn || av.pinchOut) } function P() { return !!(a8() && aX()) } function aV() { var be = aA(); var bg = an(); var bd = aO(); var bb = X(); var bc = ba(); var bf = !bc && bb && bd && bg && be; return bf } function V() { return !!(av.swipe || av.swipeStatus || av.swipeLeft || av.swipeRight || av.swipeUp || av.swipeDown) } function I() { return !!(aV() && V()) } function aO() { return ((W === av.fingers || av.fingers === i) || !a) } function X() { return aQ[0].end.x !== 0 } function a6() { return !!(av.tap) } function Y() { return !!(av.doubleTap) } function aU() { return !!(av.longTap) } function Q() { if (N == null) { return false } var bb = at(); return (Y() && ((bb - N) <= av.doubleTapThreshold)) } function H() { return Q() } function ax() { return ((W === 1 || !a) && (isNaN(ag) || ag < av.threshold)) } function a0() { return ((ab > av.longTapThreshold) && (ag < r)) } function ah() { return !!(ax() && a6()) } function aG() { return !!(Q() && Y()) } function ap() { return !!(a0() && aU()) } function F() { a5 = at(); ad = event.touches.length + 1 } function R() { a5 = 0; ad = 0 } function am() { var bb = false; if (a5) { var bc = at() - a5; if (bc <= av.fingerReleaseThreshold) { bb = true } } return bb } function aB() { return !!(aR.data(B + \"_intouch\") === true) } function ao(bb) { if (bb === true) { aR.bind(ay, a3); aR.bind(U, L); if (S) { aR.bind(S, K) } } else { aR.unbind(ay, a3, false); aR.unbind(U, L, false); if (S) { aR.unbind(S, K, false) } } aR.data(B + \"_intouch\", bb === true) } function ai(bc, bb) { var bd = bb.identifier !== undefined ? bb.identifier : 0; aQ[bc].identifier = bd; aQ[bc].start.x = aQ[bc].end.x = bb.pageX || bb.clientX; aQ[bc].start.y = aQ[bc].end.y = bb.pageY || bb.clientY; return aQ[bc] } function aH(bb) { var bd = bb.identifier !== undefined ? bb.identifier : 0; var bc = ac(bd); bc.end.x = bb.pageX || bb.clientX; bc.end.y = bb.pageY || bb.clientY; return bc } function ac(bc) { for (var bb = 0; bb < aQ.length; bb++) { if (aQ[bb].identifier == bc) { return aQ[bb] } } } function aj() { var bb = []; for (var bc = 0; bc <= 5; bc++) { bb.push({ start: { x: 0, y: 0 }, end: { x: 0, y: 0 }, identifier: 0 }) } return bb } function aI(bb, bc) { bc = Math.max(bc, aT(bb)); M[bb].distance = bc } function aT(bb) { if (M[bb]) { return M[bb].distance } return undefined } function aa() { var bb = {}; bb[p] = aw(p); bb[o] = aw(o); bb[e] = aw(e); bb[x] = aw(x); return bb } function aw(bb) { return { direction: bb, distance: 0 } } function aM() { return a2 - T } function au(be, bd) { var bc = Math.abs(be.x - bd.x); var bb = Math.abs(be.y - bd.y); return Math.round(Math.sqrt(bc * bc + bb * bb)) } function a7(bb, bc) { var bd = (bc / bb) * 1; return bd.toFixed(2) } function ar() { if (G < 1) { return z } else { return c } } function aS(bc, bb) { return Math.round(Math.sqrt(Math.pow(bb.x - bc.x, 2) + Math.pow(bb.y - bc.y, 2))) } function aE(be, bc) { var bb = be.x - bc.x; var bg = bc.y - be.y; var bd = Math.atan2(bg, bb); var bf = Math.round(bd * 180 / Math.PI); if (bf < 0) { bf = 360 - Math.abs(bf) } return bf } function aL(bc, bb) { var bd = aE(bc, bb); if ((bd <= 45) && (bd >= 0)) { return p } else { if ((bd <= 360) && (bd >= 315)) { return p } else { if ((bd >= 135) && (bd <= 225)) { return o } else { if ((bd > 45) && (bd < 135)) { return x } else { return e } } } } } function at() { var bb = new Date(); return bb.getTime() } function aY(bb) { bb = f(bb); var bd = bb.offset(); var bc = { left: bd.left, right: bd.left + bb.outerWidth(), top: bd.top, bottom: bd.top + bb.outerHeight() }; return bc } function E(bb, bc) { return (bb.x > bc.left && bb.x < bc.right && bb.y > bc.top && bb.y < bc.bottom) } } }));","//! moment.js\r\n//! version : 2.19.1\r\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\r\n//! license : MIT\r\n//! momentjs.com\r\n\r\n; (function (global, factory) {\r\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\r\n typeof define === 'function' && define.amd ? define(factory) :\r\n global.moment = factory()\r\n}(this, (function () {\r\n 'use strict';\r\n\r\n var hookCallback;\r\n\r\n function hooks() {\r\n return hookCallback.apply(null, arguments);\r\n }\r\n\r\n // This is done to register the method called with moment()\r\n // without creating circular dependencies.\r\n function setHookCallback(callback) {\r\n hookCallback = callback;\r\n }\r\n\r\n function isArray(input) {\r\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\r\n }\r\n\r\n function isObject(input) {\r\n // IE8 will treat undefined and null as object if it wasn't for\r\n // input != null\r\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\r\n }\r\n\r\n function isObjectEmpty(obj) {\r\n if (Object.getOwnPropertyNames) {\r\n return (Object.getOwnPropertyNames(obj).length === 0);\r\n } else {\r\n var k;\r\n for (k in obj) {\r\n if (obj.hasOwnProperty(k)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n }\r\n\r\n function isUndefined(input) {\r\n return input === void 0;\r\n }\r\n\r\n function isNumber(input) {\r\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\r\n }\r\n\r\n function isDate(input) {\r\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\r\n }\r\n\r\n function map(arr, fn) {\r\n var res = [], i;\r\n for (i = 0; i < arr.length; ++i) {\r\n res.push(fn(arr[i], i));\r\n }\r\n return res;\r\n }\r\n\r\n function hasOwnProp(a, b) {\r\n return Object.prototype.hasOwnProperty.call(a, b);\r\n }\r\n\r\n function extend(a, b) {\r\n for (var i in b) {\r\n if (hasOwnProp(b, i)) {\r\n a[i] = b[i];\r\n }\r\n }\r\n\r\n if (hasOwnProp(b, 'toString')) {\r\n a.toString = b.toString;\r\n }\r\n\r\n if (hasOwnProp(b, 'valueOf')) {\r\n a.valueOf = b.valueOf;\r\n }\r\n\r\n return a;\r\n }\r\n\r\n function createUTC(input, format, locale, strict) {\r\n return createLocalOrUTC(input, format, locale, strict, true).utc();\r\n }\r\n\r\n function defaultParsingFlags() {\r\n // We need to deep clone this object.\r\n return {\r\n empty: false,\r\n unusedTokens: [],\r\n unusedInput: [],\r\n overflow: -2,\r\n charsLeftOver: 0,\r\n nullInput: false,\r\n invalidMonth: null,\r\n invalidFormat: false,\r\n userInvalidated: false,\r\n iso: false,\r\n parsedDateParts: [],\r\n meridiem: null,\r\n rfc2822: false,\r\n weekdayMismatch: false\r\n };\r\n }\r\n\r\n function getParsingFlags(m) {\r\n if (m._pf == null) {\r\n m._pf = defaultParsingFlags();\r\n }\r\n return m._pf;\r\n }\r\n\r\n var some;\r\n if (Array.prototype.some) {\r\n some = Array.prototype.some;\r\n } else {\r\n some = function (fun) {\r\n var t = Object(this);\r\n var len = t.length >>> 0;\r\n\r\n for (var i = 0; i < len; i++) {\r\n if (i in t && fun.call(this, t[i], i, t)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n }\r\n\r\n function isValid(m) {\r\n if (m._isValid == null) {\r\n var flags = getParsingFlags(m);\r\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\r\n return i != null;\r\n });\r\n var isNowValid = !isNaN(m._d.getTime()) &&\r\n flags.overflow < 0 &&\r\n !flags.empty &&\r\n !flags.invalidMonth &&\r\n !flags.invalidWeekday &&\r\n !flags.weekdayMismatch &&\r\n !flags.nullInput &&\r\n !flags.invalidFormat &&\r\n !flags.userInvalidated &&\r\n (!flags.meridiem || (flags.meridiem && parsedParts));\r\n\r\n if (m._strict) {\r\n isNowValid = isNowValid &&\r\n flags.charsLeftOver === 0 &&\r\n flags.unusedTokens.length === 0 &&\r\n flags.bigHour === undefined;\r\n }\r\n\r\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\r\n m._isValid = isNowValid;\r\n }\r\n else {\r\n return isNowValid;\r\n }\r\n }\r\n return m._isValid;\r\n }\r\n\r\n function createInvalid(flags) {\r\n var m = createUTC(NaN);\r\n if (flags != null) {\r\n extend(getParsingFlags(m), flags);\r\n }\r\n else {\r\n getParsingFlags(m).userInvalidated = true;\r\n }\r\n\r\n return m;\r\n }\r\n\r\n // Plugins that add properties should also add the key here (null value),\r\n // so we can properly clone ourselves.\r\n var momentProperties = hooks.momentProperties = [];\r\n\r\n function copyConfig(to, from) {\r\n var i, prop, val;\r\n\r\n if (!isUndefined(from._isAMomentObject)) {\r\n to._isAMomentObject = from._isAMomentObject;\r\n }\r\n if (!isUndefined(from._i)) {\r\n to._i = from._i;\r\n }\r\n if (!isUndefined(from._f)) {\r\n to._f = from._f;\r\n }\r\n if (!isUndefined(from._l)) {\r\n to._l = from._l;\r\n }\r\n if (!isUndefined(from._strict)) {\r\n to._strict = from._strict;\r\n }\r\n if (!isUndefined(from._tzm)) {\r\n to._tzm = from._tzm;\r\n }\r\n if (!isUndefined(from._isUTC)) {\r\n to._isUTC = from._isUTC;\r\n }\r\n if (!isUndefined(from._offset)) {\r\n to._offset = from._offset;\r\n }\r\n if (!isUndefined(from._pf)) {\r\n to._pf = getParsingFlags(from);\r\n }\r\n if (!isUndefined(from._locale)) {\r\n to._locale = from._locale;\r\n }\r\n\r\n if (momentProperties.length > 0) {\r\n for (i = 0; i < momentProperties.length; i++) {\r\n prop = momentProperties[i];\r\n val = from[prop];\r\n if (!isUndefined(val)) {\r\n to[prop] = val;\r\n }\r\n }\r\n }\r\n\r\n return to;\r\n }\r\n\r\n var updateInProgress = false;\r\n\r\n // Moment prototype object\r\n function Moment(config) {\r\n copyConfig(this, config);\r\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\r\n if (!this.isValid()) {\r\n this._d = new Date(NaN);\r\n }\r\n // Prevent infinite loop in case updateOffset creates new moment\r\n // objects.\r\n if (updateInProgress === false) {\r\n updateInProgress = true;\r\n hooks.updateOffset(this);\r\n updateInProgress = false;\r\n }\r\n }\r\n\r\n function isMoment(obj) {\r\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\r\n }\r\n\r\n function absFloor(number) {\r\n if (number < 0) {\r\n // -0 -> 0\r\n return Math.ceil(number) || 0;\r\n } else {\r\n return Math.floor(number);\r\n }\r\n }\r\n\r\n function toInt(argumentForCoercion) {\r\n var coercedNumber = +argumentForCoercion,\r\n value = 0;\r\n\r\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\r\n value = absFloor(coercedNumber);\r\n }\r\n\r\n return value;\r\n }\r\n\r\n // compare two arrays, return the number of differences\r\n function compareArrays(array1, array2, dontConvert) {\r\n var len = Math.min(array1.length, array2.length),\r\n lengthDiff = Math.abs(array1.length - array2.length),\r\n diffs = 0,\r\n i;\r\n for (i = 0; i < len; i++) {\r\n if ((dontConvert && array1[i] !== array2[i]) ||\r\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\r\n diffs++;\r\n }\r\n }\r\n return diffs + lengthDiff;\r\n }\r\n\r\n function warn(msg) {\r\n if (hooks.suppressDeprecationWarnings === false &&\r\n (typeof console !== 'undefined') && console.warn) {\r\n console.warn('Deprecation warning: ' + msg);\r\n }\r\n }\r\n\r\n function deprecate(msg, fn) {\r\n var firstTime = true;\r\n\r\n return extend(function () {\r\n if (hooks.deprecationHandler != null) {\r\n hooks.deprecationHandler(null, msg);\r\n }\r\n if (firstTime) {\r\n var args = [];\r\n var arg;\r\n for (var i = 0; i < arguments.length; i++) {\r\n arg = '';\r\n if (typeof arguments[i] === 'object') {\r\n arg += '\\n[' + i + '] ';\r\n for (var key in arguments[0]) {\r\n arg += key + ': ' + arguments[0][key] + ', ';\r\n }\r\n arg = arg.slice(0, -2); // Remove trailing comma and space\r\n } else {\r\n arg = arguments[i];\r\n }\r\n args.push(arg);\r\n }\r\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\r\n firstTime = false;\r\n }\r\n return fn.apply(this, arguments);\r\n }, fn);\r\n }\r\n\r\n var deprecations = {};\r\n\r\n function deprecateSimple(name, msg) {\r\n if (hooks.deprecationHandler != null) {\r\n hooks.deprecationHandler(name, msg);\r\n }\r\n if (!deprecations[name]) {\r\n warn(msg);\r\n deprecations[name] = true;\r\n }\r\n }\r\n\r\n hooks.suppressDeprecationWarnings = false;\r\n hooks.deprecationHandler = null;\r\n\r\n function isFunction(input) {\r\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\r\n }\r\n\r\n function set(config) {\r\n var prop, i;\r\n for (i in config) {\r\n prop = config[i];\r\n if (isFunction(prop)) {\r\n this[i] = prop;\r\n } else {\r\n this['_' + i] = prop;\r\n }\r\n }\r\n this._config = config;\r\n // Lenient ordinal parsing accepts just a number in addition to\r\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\r\n // TODO: Remove \"ordinalParse\" fallback in next major release.\r\n this._dayOfMonthOrdinalParseLenient = new RegExp(\r\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\r\n '|' + (/\\d{1,2}/).source);\r\n }\r\n\r\n function mergeConfigs(parentConfig, childConfig) {\r\n var res = extend({}, parentConfig), prop;\r\n for (prop in childConfig) {\r\n if (hasOwnProp(childConfig, prop)) {\r\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\r\n res[prop] = {};\r\n extend(res[prop], parentConfig[prop]);\r\n extend(res[prop], childConfig[prop]);\r\n } else if (childConfig[prop] != null) {\r\n res[prop] = childConfig[prop];\r\n } else {\r\n delete res[prop];\r\n }\r\n }\r\n }\r\n for (prop in parentConfig) {\r\n if (hasOwnProp(parentConfig, prop) &&\r\n !hasOwnProp(childConfig, prop) &&\r\n isObject(parentConfig[prop])) {\r\n // make sure changes to properties don't modify parent config\r\n res[prop] = extend({}, res[prop]);\r\n }\r\n }\r\n return res;\r\n }\r\n\r\n function Locale(config) {\r\n if (config != null) {\r\n this.set(config);\r\n }\r\n }\r\n\r\n var keys;\r\n\r\n if (Object.keys) {\r\n keys = Object.keys;\r\n } else {\r\n keys = function (obj) {\r\n var i, res = [];\r\n for (i in obj) {\r\n if (hasOwnProp(obj, i)) {\r\n res.push(i);\r\n }\r\n }\r\n return res;\r\n };\r\n }\r\n\r\n var defaultCalendar = {\r\n sameDay: '[Today at] LT',\r\n nextDay: '[Tomorrow at] LT',\r\n nextWeek: 'dddd [at] LT',\r\n lastDay: '[Yesterday at] LT',\r\n lastWeek: '[Last] dddd [at] LT',\r\n sameElse: 'L'\r\n };\r\n\r\n function calendar(key, mom, now) {\r\n var output = this._calendar[key] || this._calendar['sameElse'];\r\n return isFunction(output) ? output.call(mom, now) : output;\r\n }\r\n\r\n var defaultLongDateFormat = {\r\n LTS: 'h:mm:ss A',\r\n LT: 'h:mm A',\r\n L: 'MM/DD/YYYY',\r\n LL: 'MMMM D, YYYY',\r\n LLL: 'MMMM D, YYYY h:mm A',\r\n LLLL: 'dddd, MMMM D, YYYY h:mm A'\r\n };\r\n\r\n function longDateFormat(key) {\r\n var format = this._longDateFormat[key],\r\n formatUpper = this._longDateFormat[key.toUpperCase()];\r\n\r\n if (format || !formatUpper) {\r\n return format;\r\n }\r\n\r\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\r\n return val.slice(1);\r\n });\r\n\r\n return this._longDateFormat[key];\r\n }\r\n\r\n var defaultInvalidDate = 'Invalid date';\r\n\r\n function invalidDate() {\r\n return this._invalidDate;\r\n }\r\n\r\n var defaultOrdinal = '%d';\r\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\r\n\r\n function ordinal(number) {\r\n return this._ordinal.replace('%d', number);\r\n }\r\n\r\n var defaultRelativeTime = {\r\n future: 'in %s',\r\n past: '%s ago',\r\n s: 'a few seconds',\r\n ss: '%d seconds',\r\n m: 'a minute',\r\n mm: '%d minutes',\r\n h: 'an hour',\r\n hh: '%d hours',\r\n d: 'a day',\r\n dd: '%d days',\r\n M: 'a month',\r\n MM: '%d months',\r\n y: 'a year',\r\n yy: '%d years'\r\n };\r\n\r\n function relativeTime(number, withoutSuffix, string, isFuture) {\r\n var output = this._relativeTime[string];\r\n return (isFunction(output)) ?\r\n output(number, withoutSuffix, string, isFuture) :\r\n output.replace(/%d/i, number);\r\n }\r\n\r\n function pastFuture(diff, output) {\r\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\r\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\r\n }\r\n\r\n var aliases = {};\r\n\r\n function addUnitAlias(unit, shorthand) {\r\n var lowerCase = unit.toLowerCase();\r\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\r\n }\r\n\r\n function normalizeUnits(units) {\r\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\r\n }\r\n\r\n function normalizeObjectUnits(inputObject) {\r\n var normalizedInput = {},\r\n normalizedProp,\r\n prop;\r\n\r\n for (prop in inputObject) {\r\n if (hasOwnProp(inputObject, prop)) {\r\n normalizedProp = normalizeUnits(prop);\r\n if (normalizedProp) {\r\n normalizedInput[normalizedProp] = inputObject[prop];\r\n }\r\n }\r\n }\r\n\r\n return normalizedInput;\r\n }\r\n\r\n var priorities = {};\r\n\r\n function addUnitPriority(unit, priority) {\r\n priorities[unit] = priority;\r\n }\r\n\r\n function getPrioritizedUnits(unitsObj) {\r\n var units = [];\r\n for (var u in unitsObj) {\r\n units.push({ unit: u, priority: priorities[u] });\r\n }\r\n units.sort(function (a, b) {\r\n return a.priority - b.priority;\r\n });\r\n return units;\r\n }\r\n\r\n function zeroFill(number, targetLength, forceSign) {\r\n var absNumber = '' + Math.abs(number),\r\n zerosToFill = targetLength - absNumber.length,\r\n sign = number >= 0;\r\n return (sign ? (forceSign ? '+' : '') : '-') +\r\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\r\n }\r\n\r\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\r\n\r\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\r\n\r\n var formatFunctions = {};\r\n\r\n var formatTokenFunctions = {};\r\n\r\n // token: 'M'\r\n // padded: ['MM', 2]\r\n // ordinal: 'Mo'\r\n // callback: function () { this.month() + 1 }\r\n function addFormatToken(token, padded, ordinal, callback) {\r\n var func = callback;\r\n if (typeof callback === 'string') {\r\n func = function () {\r\n return this[callback]();\r\n };\r\n }\r\n if (token) {\r\n formatTokenFunctions[token] = func;\r\n }\r\n if (padded) {\r\n formatTokenFunctions[padded[0]] = function () {\r\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\r\n };\r\n }\r\n if (ordinal) {\r\n formatTokenFunctions[ordinal] = function () {\r\n return this.localeData().ordinal(func.apply(this, arguments), token);\r\n };\r\n }\r\n }\r\n\r\n function removeFormattingTokens(input) {\r\n if (input.match(/\\[[\\s\\S]/)) {\r\n return input.replace(/^\\[|\\]$/g, '');\r\n }\r\n return input.replace(/\\\\/g, '');\r\n }\r\n\r\n function makeFormatFunction(format) {\r\n var array = format.match(formattingTokens), i, length;\r\n\r\n for (i = 0, length = array.length; i < length; i++) {\r\n if (formatTokenFunctions[array[i]]) {\r\n array[i] = formatTokenFunctions[array[i]];\r\n } else {\r\n array[i] = removeFormattingTokens(array[i]);\r\n }\r\n }\r\n\r\n return function (mom) {\r\n var output = '', i;\r\n for (i = 0; i < length; i++) {\r\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\r\n }\r\n return output;\r\n };\r\n }\r\n\r\n // format date using native date object\r\n function formatMoment(m, format) {\r\n if (!m.isValid()) {\r\n return m.localeData().invalidDate();\r\n }\r\n\r\n format = expandFormat(format, m.localeData());\r\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\r\n\r\n return formatFunctions[format](m);\r\n }\r\n\r\n function expandFormat(format, locale) {\r\n var i = 5;\r\n\r\n function replaceLongDateFormatTokens(input) {\r\n return locale.longDateFormat(input) || input;\r\n }\r\n\r\n localFormattingTokens.lastIndex = 0;\r\n while (i >= 0 && localFormattingTokens.test(format)) {\r\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\r\n localFormattingTokens.lastIndex = 0;\r\n i -= 1;\r\n }\r\n\r\n return format;\r\n }\r\n\r\n var match1 = /\\d/; // 0 - 9\r\n var match2 = /\\d\\d/; // 00 - 99\r\n var match3 = /\\d{3}/; // 000 - 999\r\n var match4 = /\\d{4}/; // 0000 - 9999\r\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\r\n var match1to2 = /\\d\\d?/; // 0 - 99\r\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\r\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\r\n var match1to3 = /\\d{1,3}/; // 0 - 999\r\n var match1to4 = /\\d{1,4}/; // 0 - 9999\r\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\r\n\r\n var matchUnsigned = /\\d+/; // 0 - inf\r\n var matchSigned = /[+-]?\\d+/; // -inf - inf\r\n\r\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\r\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\r\n\r\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\r\n\r\n // any word (or two) characters or numbers including two/three word month in arabic.\r\n // includes scottish gaelic two word and hyphenated months\r\n var matchWord = /[0-9]*['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+|[\\u0600-\\u06FF\\/]+(\\s*?[\\u0600-\\u06FF]+){1,2}/i;\r\n\r\n\r\n var regexes = {};\r\n\r\n function addRegexToken(token, regex, strictRegex) {\r\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\r\n return (isStrict && strictRegex) ? strictRegex : regex;\r\n };\r\n }\r\n\r\n function getParseRegexForToken(token, config) {\r\n if (!hasOwnProp(regexes, token)) {\r\n return new RegExp(unescapeFormat(token));\r\n }\r\n\r\n return regexes[token](config._strict, config._locale);\r\n }\r\n\r\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\r\n function unescapeFormat(s) {\r\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\r\n return p1 || p2 || p3 || p4;\r\n }));\r\n }\r\n\r\n function regexEscape(s) {\r\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\r\n }\r\n\r\n var tokens = {};\r\n\r\n function addParseToken(token, callback) {\r\n var i, func = callback;\r\n if (typeof token === 'string') {\r\n token = [token];\r\n }\r\n if (isNumber(callback)) {\r\n func = function (input, array) {\r\n array[callback] = toInt(input);\r\n };\r\n }\r\n for (i = 0; i < token.length; i++) {\r\n tokens[token[i]] = func;\r\n }\r\n }\r\n\r\n function addWeekParseToken(token, callback) {\r\n addParseToken(token, function (input, array, config, token) {\r\n config._w = config._w || {};\r\n callback(input, config._w, config, token);\r\n });\r\n }\r\n\r\n function addTimeToArrayFromToken(token, input, config) {\r\n if (input != null && hasOwnProp(tokens, token)) {\r\n tokens[token](input, config._a, config, token);\r\n }\r\n }\r\n\r\n var YEAR = 0;\r\n var MONTH = 1;\r\n var DATE = 2;\r\n var HOUR = 3;\r\n var MINUTE = 4;\r\n var SECOND = 5;\r\n var MILLISECOND = 6;\r\n var WEEK = 7;\r\n var WEEKDAY = 8;\r\n\r\n // FORMATTING\r\n\r\n addFormatToken('Y', 0, 0, function () {\r\n var y = this.year();\r\n return y <= 9999 ? '' + y : '+' + y;\r\n });\r\n\r\n addFormatToken(0, ['YY', 2], 0, function () {\r\n return this.year() % 100;\r\n });\r\n\r\n addFormatToken(0, ['YYYY', 4], 0, 'year');\r\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\r\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\r\n\r\n // ALIASES\r\n\r\n addUnitAlias('year', 'y');\r\n\r\n // PRIORITIES\r\n\r\n addUnitPriority('year', 1);\r\n\r\n // PARSING\r\n\r\n addRegexToken('Y', matchSigned);\r\n addRegexToken('YY', match1to2, match2);\r\n addRegexToken('YYYY', match1to4, match4);\r\n addRegexToken('YYYYY', match1to6, match6);\r\n addRegexToken('YYYYYY', match1to6, match6);\r\n\r\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\r\n addParseToken('YYYY', function (input, array) {\r\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\r\n });\r\n addParseToken('YY', function (input, array) {\r\n array[YEAR] = hooks.parseTwoDigitYear(input);\r\n });\r\n addParseToken('Y', function (input, array) {\r\n array[YEAR] = parseInt(input, 10);\r\n });\r\n\r\n // HELPERS\r\n\r\n function daysInYear(year) {\r\n return isLeapYear(year) ? 366 : 365;\r\n }\r\n\r\n function isLeapYear(year) {\r\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\r\n }\r\n\r\n // HOOKS\r\n\r\n hooks.parseTwoDigitYear = function (input) {\r\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\r\n };\r\n\r\n // MOMENTS\r\n\r\n var getSetYear = makeGetSet('FullYear', true);\r\n\r\n function getIsLeapYear() {\r\n return isLeapYear(this.year());\r\n }\r\n\r\n function makeGetSet(unit, keepTime) {\r\n return function (value) {\r\n if (value != null) {\r\n set$1(this, unit, value);\r\n hooks.updateOffset(this, keepTime);\r\n return this;\r\n } else {\r\n return get(this, unit);\r\n }\r\n };\r\n }\r\n\r\n function get(mom, unit) {\r\n return mom.isValid() ?\r\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\r\n }\r\n\r\n function set$1(mom, unit, value) {\r\n if (mom.isValid() && !isNaN(value)) {\r\n if (unit === 'FullYear' && isLeapYear(mom.year())) {\r\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\r\n }\r\n else {\r\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\r\n }\r\n }\r\n }\r\n\r\n // MOMENTS\r\n\r\n function stringGet(units) {\r\n units = normalizeUnits(units);\r\n if (isFunction(this[units])) {\r\n return this[units]();\r\n }\r\n return this;\r\n }\r\n\r\n\r\n function stringSet(units, value) {\r\n if (typeof units === 'object') {\r\n units = normalizeObjectUnits(units);\r\n var prioritized = getPrioritizedUnits(units);\r\n for (var i = 0; i < prioritized.length; i++) {\r\n this[prioritized[i].unit](units[prioritized[i].unit]);\r\n }\r\n } else {\r\n units = normalizeUnits(units);\r\n if (isFunction(this[units])) {\r\n return this[units](value);\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function mod(n, x) {\r\n return ((n % x) + x) % x;\r\n }\r\n\r\n var indexOf;\r\n\r\n if (Array.prototype.indexOf) {\r\n indexOf = Array.prototype.indexOf;\r\n } else {\r\n indexOf = function (o) {\r\n // I know\r\n var i;\r\n for (i = 0; i < this.length; ++i) {\r\n if (this[i] === o) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n };\r\n }\r\n\r\n function daysInMonth(year, month) {\r\n if (isNaN(year) || isNaN(month)) {\r\n return NaN;\r\n }\r\n var modMonth = mod(month, 12);\r\n year += (month - modMonth) / 12;\r\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\r\n }\r\n\r\n // FORMATTING\r\n\r\n addFormatToken('M', ['MM', 2], 'Mo', function () {\r\n return this.month() + 1;\r\n });\r\n\r\n addFormatToken('MMM', 0, 0, function (format) {\r\n return this.localeData().monthsShort(this, format);\r\n });\r\n\r\n addFormatToken('MMMM', 0, 0, function (format) {\r\n return this.localeData().months(this, format);\r\n });\r\n\r\n // ALIASES\r\n\r\n addUnitAlias('month', 'M');\r\n\r\n // PRIORITY\r\n\r\n addUnitPriority('month', 8);\r\n\r\n // PARSING\r\n\r\n addRegexToken('M', match1to2);\r\n addRegexToken('MM', match1to2, match2);\r\n addRegexToken('MMM', function (isStrict, locale) {\r\n return locale.monthsShortRegex(isStrict);\r\n });\r\n addRegexToken('MMMM', function (isStrict, locale) {\r\n return locale.monthsRegex(isStrict);\r\n });\r\n\r\n addParseToken(['M', 'MM'], function (input, array) {\r\n array[MONTH] = toInt(input) - 1;\r\n });\r\n\r\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\r\n var month = config._locale.monthsParse(input, token, config._strict);\r\n // if we didn't find a month name, mark the date as invalid.\r\n if (month != null) {\r\n array[MONTH] = month;\r\n } else {\r\n getParsingFlags(config).invalidMonth = input;\r\n }\r\n });\r\n\r\n // LOCALES\r\n\r\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\r\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\r\n function localeMonths(m, format) {\r\n if (!m) {\r\n return isArray(this._months) ? this._months :\r\n this._months['standalone'];\r\n }\r\n return isArray(this._months) ? this._months[m.month()] :\r\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\r\n }\r\n\r\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\r\n function localeMonthsShort(m, format) {\r\n if (!m) {\r\n return isArray(this._monthsShort) ? this._monthsShort :\r\n this._monthsShort['standalone'];\r\n }\r\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\r\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\r\n }\r\n\r\n function handleStrictParse(monthName, format, strict) {\r\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\r\n if (!this._monthsParse) {\r\n // this is not used\r\n this._monthsParse = [];\r\n this._longMonthsParse = [];\r\n this._shortMonthsParse = [];\r\n for (i = 0; i < 12; ++i) {\r\n mom = createUTC([2000, i]);\r\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\r\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\r\n }\r\n }\r\n\r\n if (strict) {\r\n if (format === 'MMM') {\r\n ii = indexOf.call(this._shortMonthsParse, llc);\r\n return ii !== -1 ? ii : null;\r\n } else {\r\n ii = indexOf.call(this._longMonthsParse, llc);\r\n return ii !== -1 ? ii : null;\r\n }\r\n } else {\r\n if (format === 'MMM') {\r\n ii = indexOf.call(this._shortMonthsParse, llc);\r\n if (ii !== -1) {\r\n return ii;\r\n }\r\n ii = indexOf.call(this._longMonthsParse, llc);\r\n return ii !== -1 ? ii : null;\r\n } else {\r\n ii = indexOf.call(this._longMonthsParse, llc);\r\n if (ii !== -1) {\r\n return ii;\r\n }\r\n ii = indexOf.call(this._shortMonthsParse, llc);\r\n return ii !== -1 ? ii : null;\r\n }\r\n }\r\n }\r\n\r\n function localeMonthsParse(monthName, format, strict) {\r\n var i, mom, regex;\r\n\r\n if (this._monthsParseExact) {\r\n return handleStrictParse.call(this, monthName, format, strict);\r\n }\r\n\r\n if (!this._monthsParse) {\r\n this._monthsParse = [];\r\n this._longMonthsParse = [];\r\n this._shortMonthsParse = [];\r\n }\r\n\r\n // TODO: add sorting\r\n // Sorting makes sure if one month (or abbr) is a prefix of another\r\n // see sorting in computeMonthsParse\r\n for (i = 0; i < 12; i++) {\r\n // make the regex if we don't have it already\r\n mom = createUTC([2000, i]);\r\n if (strict && !this._longMonthsParse[i]) {\r\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\r\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\r\n }\r\n if (!strict && !this._monthsParse[i]) {\r\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\r\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\r\n }\r\n // test the regex\r\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\r\n return i;\r\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\r\n return i;\r\n } else if (!strict && this._monthsParse[i].test(monthName)) {\r\n return i;\r\n }\r\n }\r\n }\r\n\r\n // MOMENTS\r\n\r\n function setMonth(mom, value) {\r\n var dayOfMonth;\r\n\r\n if (!mom.isValid()) {\r\n // No op\r\n return mom;\r\n }\r\n\r\n if (typeof value === 'string') {\r\n if (/^\\d+$/.test(value)) {\r\n value = toInt(value);\r\n } else {\r\n value = mom.localeData().monthsParse(value);\r\n // TODO: Another silent failure?\r\n if (!isNumber(value)) {\r\n return mom;\r\n }\r\n }\r\n }\r\n\r\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\r\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\r\n return mom;\r\n }\r\n\r\n function getSetMonth(value) {\r\n if (value != null) {\r\n setMonth(this, value);\r\n hooks.updateOffset(this, true);\r\n return this;\r\n } else {\r\n return get(this, 'Month');\r\n }\r\n }\r\n\r\n function getDaysInMonth() {\r\n return daysInMonth(this.year(), this.month());\r\n }\r\n\r\n var defaultMonthsShortRegex = matchWord;\r\n function monthsShortRegex(isStrict) {\r\n if (this._monthsParseExact) {\r\n if (!hasOwnProp(this, '_monthsRegex')) {\r\n computeMonthsParse.call(this);\r\n }\r\n if (isStrict) {\r\n return this._monthsShortStrictRegex;\r\n } else {\r\n return this._monthsShortRegex;\r\n }\r\n } else {\r\n if (!hasOwnProp(this, '_monthsShortRegex')) {\r\n this._monthsShortRegex = defaultMonthsShortRegex;\r\n }\r\n return this._monthsShortStrictRegex && isStrict ?\r\n this._monthsShortStrictRegex : this._monthsShortRegex;\r\n }\r\n }\r\n\r\n var defaultMonthsRegex = matchWord;\r\n function monthsRegex(isStrict) {\r\n if (this._monthsParseExact) {\r\n if (!hasOwnProp(this, '_monthsRegex')) {\r\n computeMonthsParse.call(this);\r\n }\r\n if (isStrict) {\r\n return this._monthsStrictRegex;\r\n } else {\r\n return this._monthsRegex;\r\n }\r\n } else {\r\n if (!hasOwnProp(this, '_monthsRegex')) {\r\n this._monthsRegex = defaultMonthsRegex;\r\n }\r\n return this._monthsStrictRegex && isStrict ?\r\n this._monthsStrictRegex : this._monthsRegex;\r\n }\r\n }\r\n\r\n function computeMonthsParse() {\r\n function cmpLenRev(a, b) {\r\n return b.length - a.length;\r\n }\r\n\r\n var shortPieces = [], longPieces = [], mixedPieces = [],\r\n i, mom;\r\n for (i = 0; i < 12; i++) {\r\n // make the regex if we don't have it already\r\n mom = createUTC([2000, i]);\r\n shortPieces.push(this.monthsShort(mom, ''));\r\n longPieces.push(this.months(mom, ''));\r\n mixedPieces.push(this.months(mom, ''));\r\n mixedPieces.push(this.monthsShort(mom, ''));\r\n }\r\n // Sorting makes sure if one month (or abbr) is a prefix of another it\r\n // will match the longer piece.\r\n shortPieces.sort(cmpLenRev);\r\n longPieces.sort(cmpLenRev);\r\n mixedPieces.sort(cmpLenRev);\r\n for (i = 0; i < 12; i++) {\r\n shortPieces[i] = regexEscape(shortPieces[i]);\r\n longPieces[i] = regexEscape(longPieces[i]);\r\n }\r\n for (i = 0; i < 24; i++) {\r\n mixedPieces[i] = regexEscape(mixedPieces[i]);\r\n }\r\n\r\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\r\n this._monthsShortRegex = this._monthsRegex;\r\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\r\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\r\n }\r\n\r\n function createDate(y, m, d, h, M, s, ms) {\r\n // can't just apply() to create a date:\r\n // https://stackoverflow.com/q/181348\r\n var date = new Date(y, m, d, h, M, s, ms);\r\n\r\n // the date constructor remaps years 0-99 to 1900-1999\r\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\r\n date.setFullYear(y);\r\n }\r\n return date;\r\n }\r\n\r\n function createUTCDate(y) {\r\n var date = new Date(Date.UTC.apply(null, arguments));\r\n\r\n // the Date.UTC function remaps years 0-99 to 1900-1999\r\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\r\n date.setUTCFullYear(y);\r\n }\r\n return date;\r\n }\r\n\r\n // start-of-first-week - start-of-year\r\n function firstWeekOffset(year, dow, doy) {\r\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\r\n fwd = 7 + dow - doy,\r\n // first-week day local weekday -- which local weekday is fwd\r\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\r\n\r\n return -fwdlw + fwd - 1;\r\n }\r\n\r\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\r\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\r\n var localWeekday = (7 + weekday - dow) % 7,\r\n weekOffset = firstWeekOffset(year, dow, doy),\r\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\r\n resYear, resDayOfYear;\r\n\r\n if (dayOfYear <= 0) {\r\n resYear = year - 1;\r\n resDayOfYear = daysInYear(resYear) + dayOfYear;\r\n } else if (dayOfYear > daysInYear(year)) {\r\n resYear = year + 1;\r\n resDayOfYear = dayOfYear - daysInYear(year);\r\n } else {\r\n resYear = year;\r\n resDayOfYear = dayOfYear;\r\n }\r\n\r\n return {\r\n year: resYear,\r\n dayOfYear: resDayOfYear\r\n };\r\n }\r\n\r\n function weekOfYear(mom, dow, doy) {\r\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\r\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\r\n resWeek, resYear;\r\n\r\n if (week < 1) {\r\n resYear = mom.year() - 1;\r\n resWeek = week + weeksInYear(resYear, dow, doy);\r\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\r\n resWeek = week - weeksInYear(mom.year(), dow, doy);\r\n resYear = mom.year() + 1;\r\n } else {\r\n resYear = mom.year();\r\n resWeek = week;\r\n }\r\n\r\n return {\r\n week: resWeek,\r\n year: resYear\r\n };\r\n }\r\n\r\n function weeksInYear(year, dow, doy) {\r\n var weekOffset = firstWeekOffset(year, dow, doy),\r\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\r\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\r\n }\r\n\r\n // FORMATTING\r\n\r\n addFormatToken('w', ['ww', 2], 'wo', 'week');\r\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\r\n\r\n // ALIASES\r\n\r\n addUnitAlias('week', 'w');\r\n addUnitAlias('isoWeek', 'W');\r\n\r\n // PRIORITIES\r\n\r\n addUnitPriority('week', 5);\r\n addUnitPriority('isoWeek', 5);\r\n\r\n // PARSING\r\n\r\n addRegexToken('w', match1to2);\r\n addRegexToken('ww', match1to2, match2);\r\n addRegexToken('W', match1to2);\r\n addRegexToken('WW', match1to2, match2);\r\n\r\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\r\n week[token.substr(0, 1)] = toInt(input);\r\n });\r\n\r\n // HELPERS\r\n\r\n // LOCALES\r\n\r\n function localeWeek(mom) {\r\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\r\n }\r\n\r\n var defaultLocaleWeek = {\r\n dow: 0, // Sunday is the first day of the week.\r\n doy: 6 // The week that contains Jan 1st is the first week of the year.\r\n };\r\n\r\n function localeFirstDayOfWeek() {\r\n return this._week.dow;\r\n }\r\n\r\n function localeFirstDayOfYear() {\r\n return this._week.doy;\r\n }\r\n\r\n // MOMENTS\r\n\r\n function getSetWeek(input) {\r\n var week = this.localeData().week(this);\r\n return input == null ? week : this.add((input - week) * 7, 'd');\r\n }\r\n\r\n function getSetISOWeek(input) {\r\n var week = weekOfYear(this, 1, 4).week;\r\n return input == null ? week : this.add((input - week) * 7, 'd');\r\n }\r\n\r\n // FORMATTING\r\n\r\n addFormatToken('d', 0, 'do', 'day');\r\n\r\n addFormatToken('dd', 0, 0, function (format) {\r\n return this.localeData().weekdaysMin(this, format);\r\n });\r\n\r\n addFormatToken('ddd', 0, 0, function (format) {\r\n return this.localeData().weekdaysShort(this, format);\r\n });\r\n\r\n addFormatToken('dddd', 0, 0, function (format) {\r\n return this.localeData().weekdays(this, format);\r\n });\r\n\r\n addFormatToken('e', 0, 0, 'weekday');\r\n addFormatToken('E', 0, 0, 'isoWeekday');\r\n\r\n // ALIASES\r\n\r\n addUnitAlias('day', 'd');\r\n addUnitAlias('weekday', 'e');\r\n addUnitAlias('isoWeekday', 'E');\r\n\r\n // PRIORITY\r\n addUnitPriority('day', 11);\r\n addUnitPriority('weekday', 11);\r\n addUnitPriority('isoWeekday', 11);\r\n\r\n // PARSING\r\n\r\n addRegexToken('d', match1to2);\r\n addRegexToken('e', match1to2);\r\n addRegexToken('E', match1to2);\r\n addRegexToken('dd', function (isStrict, locale) {\r\n return locale.weekdaysMinRegex(isStrict);\r\n });\r\n addRegexToken('ddd', function (isStrict, locale) {\r\n return locale.weekdaysShortRegex(isStrict);\r\n });\r\n addRegexToken('dddd', function (isStrict, locale) {\r\n return locale.weekdaysRegex(isStrict);\r\n });\r\n\r\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\r\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\r\n // if we didn't get a weekday name, mark the date as invalid\r\n if (weekday != null) {\r\n week.d = weekday;\r\n } else {\r\n getParsingFlags(config).invalidWeekday = input;\r\n }\r\n });\r\n\r\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\r\n week[token] = toInt(input);\r\n });\r\n\r\n // HELPERS\r\n\r\n function parseWeekday(input, locale) {\r\n if (typeof input !== 'string') {\r\n return input;\r\n }\r\n\r\n if (!isNaN(input)) {\r\n return parseInt(input, 10);\r\n }\r\n\r\n input = locale.weekdaysParse(input);\r\n if (typeof input === 'number') {\r\n return input;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n function parseIsoWeekday(input, locale) {\r\n if (typeof input === 'string') {\r\n return locale.weekdaysParse(input) % 7 || 7;\r\n }\r\n return isNaN(input) ? null : input;\r\n }\r\n\r\n // LOCALES\r\n\r\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\r\n function localeWeekdays(m, format) {\r\n if (!m) {\r\n return isArray(this._weekdays) ? this._weekdays :\r\n this._weekdays['standalone'];\r\n }\r\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\r\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\r\n }\r\n\r\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\r\n function localeWeekdaysShort(m) {\r\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\r\n }\r\n\r\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\r\n function localeWeekdaysMin(m) {\r\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\r\n }\r\n\r\n function handleStrictParse$1(weekdayName, format, strict) {\r\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\r\n if (!this._weekdaysParse) {\r\n this._weekdaysParse = [];\r\n this._shortWeekdaysParse = [];\r\n this._minWeekdaysParse = [];\r\n\r\n for (i = 0; i < 7; ++i) {\r\n mom = createUTC([2000, 1]).day(i);\r\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\r\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\r\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\r\n }\r\n }\r\n\r\n if (strict) {\r\n if (format === 'dddd') {\r\n ii = indexOf.call(this._weekdaysParse, llc);\r\n return ii !== -1 ? ii : null;\r\n } else if (format === 'ddd') {\r\n ii = indexOf.call(this._shortWeekdaysParse, llc);\r\n return ii !== -1 ? ii : null;\r\n } else {\r\n ii = indexOf.call(this._minWeekdaysParse, llc);\r\n return ii !== -1 ? ii : null;\r\n }\r\n } else {\r\n if (format === 'dddd') {\r\n ii = indexOf.call(this._weekdaysParse, llc);\r\n if (ii !== -1) {\r\n return ii;\r\n }\r\n ii = indexOf.call(this._shortWeekdaysParse, llc);\r\n if (ii !== -1) {\r\n return ii;\r\n }\r\n ii = indexOf.call(this._minWeekdaysParse, llc);\r\n return ii !== -1 ? ii : null;\r\n } else if (format === 'ddd') {\r\n ii = indexOf.call(this._shortWeekdaysParse, llc);\r\n if (ii !== -1) {\r\n return ii;\r\n }\r\n ii = indexOf.call(this._weekdaysParse, llc);\r\n if (ii !== -1) {\r\n return ii;\r\n }\r\n ii = indexOf.call(this._minWeekdaysParse, llc);\r\n return ii !== -1 ? ii : null;\r\n } else {\r\n ii = indexOf.call(this._minWeekdaysParse, llc);\r\n if (ii !== -1) {\r\n return ii;\r\n }\r\n ii = indexOf.call(this._weekdaysParse, llc);\r\n if (ii !== -1) {\r\n return ii;\r\n }\r\n ii = indexOf.call(this._shortWeekdaysParse, llc);\r\n return ii !== -1 ? ii : null;\r\n }\r\n }\r\n }\r\n\r\n function localeWeekdaysParse(weekdayName, format, strict) {\r\n var i, mom, regex;\r\n\r\n if (this._weekdaysParseExact) {\r\n return handleStrictParse$1.call(this, weekdayName, format, strict);\r\n }\r\n\r\n if (!this._weekdaysParse) {\r\n this._weekdaysParse = [];\r\n this._minWeekdaysParse = [];\r\n this._shortWeekdaysParse = [];\r\n this._fullWeekdaysParse = [];\r\n }\r\n\r\n for (i = 0; i < 7; i++) {\r\n // make the regex if we don't have it already\r\n\r\n mom = createUTC([2000, 1]).day(i);\r\n if (strict && !this._fullWeekdaysParse[i]) {\r\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i');\r\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i');\r\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i');\r\n }\r\n if (!this._weekdaysParse[i]) {\r\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\r\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\r\n }\r\n // test the regex\r\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\r\n return i;\r\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\r\n return i;\r\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\r\n return i;\r\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\r\n return i;\r\n }\r\n }\r\n }\r\n\r\n // MOMENTS\r\n\r\n function getSetDayOfWeek(input) {\r\n if (!this.isValid()) {\r\n return input != null ? this : NaN;\r\n }\r\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\r\n if (input != null) {\r\n input = parseWeekday(input, this.localeData());\r\n return this.add(input - day, 'd');\r\n } else {\r\n return day;\r\n }\r\n }\r\n\r\n function getSetLocaleDayOfWeek(input) {\r\n if (!this.isValid()) {\r\n return input != null ? this : NaN;\r\n }\r\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\r\n return input == null ? weekday : this.add(input - weekday, 'd');\r\n }\r\n\r\n function getSetISODayOfWeek(input) {\r\n if (!this.isValid()) {\r\n return input != null ? this : NaN;\r\n }\r\n\r\n // behaves the same as moment#day except\r\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\r\n // as a setter, sunday should belong to the previous week.\r\n\r\n if (input != null) {\r\n var weekday = parseIsoWeekday(input, this.localeData());\r\n return this.day(this.day() % 7 ? weekday : weekday - 7);\r\n } else {\r\n return this.day() || 7;\r\n }\r\n }\r\n\r\n var defaultWeekdaysRegex = matchWord;\r\n function weekdaysRegex(isStrict) {\r\n if (this._weekdaysParseExact) {\r\n if (!hasOwnProp(this, '_weekdaysRegex')) {\r\n computeWeekdaysParse.call(this);\r\n }\r\n if (isStrict) {\r\n return this._weekdaysStrictRegex;\r\n } else {\r\n return this._weekdaysRegex;\r\n }\r\n } else {\r\n if (!hasOwnProp(this, '_weekdaysRegex')) {\r\n this._weekdaysRegex = defaultWeekdaysRegex;\r\n }\r\n return this._weekdaysStrictRegex && isStrict ?\r\n this._weekdaysStrictRegex : this._weekdaysRegex;\r\n }\r\n }\r\n\r\n var defaultWeekdaysShortRegex = matchWord;\r\n function weekdaysShortRegex(isStrict) {\r\n if (this._weekdaysParseExact) {\r\n if (!hasOwnProp(this, '_weekdaysRegex')) {\r\n computeWeekdaysParse.call(this);\r\n }\r\n if (isStrict) {\r\n return this._weekdaysShortStrictRegex;\r\n } else {\r\n return this._weekdaysShortRegex;\r\n }\r\n } else {\r\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\r\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\r\n }\r\n return this._weekdaysShortStrictRegex && isStrict ?\r\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\r\n }\r\n }\r\n\r\n var defaultWeekdaysMinRegex = matchWord;\r\n function weekdaysMinRegex(isStrict) {\r\n if (this._weekdaysParseExact) {\r\n if (!hasOwnProp(this, '_weekdaysRegex')) {\r\n computeWeekdaysParse.call(this);\r\n }\r\n if (isStrict) {\r\n return this._weekdaysMinStrictRegex;\r\n } else {\r\n return this._weekdaysMinRegex;\r\n }\r\n } else {\r\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\r\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\r\n }\r\n return this._weekdaysMinStrictRegex && isStrict ?\r\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\r\n }\r\n }\r\n\r\n\r\n function computeWeekdaysParse() {\r\n function cmpLenRev(a, b) {\r\n return b.length - a.length;\r\n }\r\n\r\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\r\n i, mom, minp, shortp, longp;\r\n for (i = 0; i < 7; i++) {\r\n // make the regex if we don't have it already\r\n mom = createUTC([2000, 1]).day(i);\r\n minp = this.weekdaysMin(mom, '');\r\n shortp = this.weekdaysShort(mom, '');\r\n longp = this.weekdays(mom, '');\r\n minPieces.push(minp);\r\n shortPieces.push(shortp);\r\n longPieces.push(longp);\r\n mixedPieces.push(minp);\r\n mixedPieces.push(shortp);\r\n mixedPieces.push(longp);\r\n }\r\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\r\n // will match the longer piece.\r\n minPieces.sort(cmpLenRev);\r\n shortPieces.sort(cmpLenRev);\r\n longPieces.sort(cmpLenRev);\r\n mixedPieces.sort(cmpLenRev);\r\n for (i = 0; i < 7; i++) {\r\n shortPieces[i] = regexEscape(shortPieces[i]);\r\n longPieces[i] = regexEscape(longPieces[i]);\r\n mixedPieces[i] = regexEscape(mixedPieces[i]);\r\n }\r\n\r\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\r\n this._weekdaysShortRegex = this._weekdaysRegex;\r\n this._weekdaysMinRegex = this._weekdaysRegex;\r\n\r\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\r\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\r\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\r\n }\r\n\r\n // FORMATTING\r\n\r\n function hFormat() {\r\n return this.hours() % 12 || 12;\r\n }\r\n\r\n function kFormat() {\r\n return this.hours() || 24;\r\n }\r\n\r\n addFormatToken('H', ['HH', 2], 0, 'hour');\r\n addFormatToken('h', ['hh', 2], 0, hFormat);\r\n addFormatToken('k', ['kk', 2], 0, kFormat);\r\n\r\n addFormatToken('hmm', 0, 0, function () {\r\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\r\n });\r\n\r\n addFormatToken('hmmss', 0, 0, function () {\r\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\r\n zeroFill(this.seconds(), 2);\r\n });\r\n\r\n addFormatToken('Hmm', 0, 0, function () {\r\n return '' + this.hours() + zeroFill(this.minutes(), 2);\r\n });\r\n\r\n addFormatToken('Hmmss', 0, 0, function () {\r\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\r\n zeroFill(this.seconds(), 2);\r\n });\r\n\r\n function meridiem(token, lowercase) {\r\n addFormatToken(token, 0, 0, function () {\r\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\r\n });\r\n }\r\n\r\n meridiem('a', true);\r\n meridiem('A', false);\r\n\r\n // ALIASES\r\n\r\n addUnitAlias('hour', 'h');\r\n\r\n // PRIORITY\r\n addUnitPriority('hour', 13);\r\n\r\n // PARSING\r\n\r\n function matchMeridiem(isStrict, locale) {\r\n return locale._meridiemParse;\r\n }\r\n\r\n addRegexToken('a', matchMeridiem);\r\n addRegexToken('A', matchMeridiem);\r\n addRegexToken('H', match1to2);\r\n addRegexToken('h', match1to2);\r\n addRegexToken('k', match1to2);\r\n addRegexToken('HH', match1to2, match2);\r\n addRegexToken('hh', match1to2, match2);\r\n addRegexToken('kk', match1to2, match2);\r\n\r\n addRegexToken('hmm', match3to4);\r\n addRegexToken('hmmss', match5to6);\r\n addRegexToken('Hmm', match3to4);\r\n addRegexToken('Hmmss', match5to6);\r\n\r\n addParseToken(['H', 'HH'], HOUR);\r\n addParseToken(['k', 'kk'], function (input, array, config) {\r\n var kInput = toInt(input);\r\n array[HOUR] = kInput === 24 ? 0 : kInput;\r\n });\r\n addParseToken(['a', 'A'], function (input, array, config) {\r\n config._isPm = config._locale.isPM(input);\r\n config._meridiem = input;\r\n });\r\n addParseToken(['h', 'hh'], function (input, array, config) {\r\n array[HOUR] = toInt(input);\r\n getParsingFlags(config).bigHour = true;\r\n });\r\n addParseToken('hmm', function (input, array, config) {\r\n var pos = input.length - 2;\r\n array[HOUR] = toInt(input.substr(0, pos));\r\n array[MINUTE] = toInt(input.substr(pos));\r\n getParsingFlags(config).bigHour = true;\r\n });\r\n addParseToken('hmmss', function (input, array, config) {\r\n var pos1 = input.length - 4;\r\n var pos2 = input.length - 2;\r\n array[HOUR] = toInt(input.substr(0, pos1));\r\n array[MINUTE] = toInt(input.substr(pos1, 2));\r\n array[SECOND] = toInt(input.substr(pos2));\r\n getParsingFlags(config).bigHour = true;\r\n });\r\n addParseToken('Hmm', function (input, array, config) {\r\n var pos = input.length - 2;\r\n array[HOUR] = toInt(input.substr(0, pos));\r\n array[MINUTE] = toInt(input.substr(pos));\r\n });\r\n addParseToken('Hmmss', function (input, array, config) {\r\n var pos1 = input.length - 4;\r\n var pos2 = input.length - 2;\r\n array[HOUR] = toInt(input.substr(0, pos1));\r\n array[MINUTE] = toInt(input.substr(pos1, 2));\r\n array[SECOND] = toInt(input.substr(pos2));\r\n });\r\n\r\n // LOCALES\r\n\r\n function localeIsPM(input) {\r\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\r\n // Using charAt should be more compatible.\r\n return ((input + '').toLowerCase().charAt(0) === 'p');\r\n }\r\n\r\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\r\n function localeMeridiem(hours, minutes, isLower) {\r\n if (hours > 11) {\r\n return isLower ? 'pm' : 'PM';\r\n } else {\r\n return isLower ? 'am' : 'AM';\r\n }\r\n }\r\n\r\n\r\n // MOMENTS\r\n\r\n // Setting the hour should keep the time, because the user explicitly\r\n // specified which hour he wants. So trying to maintain the same hour (in\r\n // a new timezone) makes sense. Adding/subtracting hours does not follow\r\n // this rule.\r\n var getSetHour = makeGetSet('Hours', true);\r\n\r\n // months\r\n // week\r\n // weekdays\r\n // meridiem\r\n var baseConfig = {\r\n calendar: defaultCalendar,\r\n longDateFormat: defaultLongDateFormat,\r\n invalidDate: defaultInvalidDate,\r\n ordinal: defaultOrdinal,\r\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\r\n relativeTime: defaultRelativeTime,\r\n\r\n months: defaultLocaleMonths,\r\n monthsShort: defaultLocaleMonthsShort,\r\n\r\n week: defaultLocaleWeek,\r\n\r\n weekdays: defaultLocaleWeekdays,\r\n weekdaysMin: defaultLocaleWeekdaysMin,\r\n weekdaysShort: defaultLocaleWeekdaysShort,\r\n\r\n meridiemParse: defaultLocaleMeridiemParse\r\n };\r\n\r\n // internal storage for locale config files\r\n var locales = {};\r\n var localeFamilies = {};\r\n var globalLocale;\r\n\r\n function normalizeLocale(key) {\r\n return key ? key.toLowerCase().replace('_', '-') : key;\r\n }\r\n\r\n // pick the locale from the array\r\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\r\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\r\n function chooseLocale(names) {\r\n var i = 0, j, next, locale, split;\r\n\r\n while (i < names.length) {\r\n split = normalizeLocale(names[i]).split('-');\r\n j = split.length;\r\n next = normalizeLocale(names[i + 1]);\r\n next = next ? next.split('-') : null;\r\n while (j > 0) {\r\n locale = loadLocale(split.slice(0, j).join('-'));\r\n if (locale) {\r\n return locale;\r\n }\r\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\r\n //the next array item is better than a shallower substring of this one\r\n break;\r\n }\r\n j--;\r\n }\r\n i++;\r\n }\r\n return null;\r\n }\r\n\r\n function loadLocale(name) {\r\n var oldLocale = null;\r\n // TODO: Find a better way to register and load all the locales in Node\r\n if (!locales[name] && (typeof module !== 'undefined') &&\r\n module && module.exports) {\r\n try {\r\n oldLocale = globalLocale._abbr;\r\n var aliasedRequire = require;\r\n aliasedRequire('./locale/' + name);\r\n getSetGlobalLocale(oldLocale);\r\n } catch (e) { }\r\n }\r\n return locales[name];\r\n }\r\n\r\n // This function will load locale and then set the global locale. If\r\n // no arguments are passed in, it will simply return the current global\r\n // locale key.\r\n function getSetGlobalLocale(key, values) {\r\n var data;\r\n if (key) {\r\n if (isUndefined(values)) {\r\n data = getLocale(key);\r\n }\r\n else {\r\n data = defineLocale(key, values);\r\n }\r\n\r\n if (data) {\r\n // moment.duration._locale = moment._locale = data;\r\n globalLocale = data;\r\n }\r\n }\r\n\r\n return globalLocale._abbr;\r\n }\r\n\r\n function defineLocale(name, config) {\r\n if (config !== null) {\r\n var parentConfig = baseConfig;\r\n config.abbr = name;\r\n if (locales[name] != null) {\r\n deprecateSimple('defineLocaleOverride',\r\n 'use moment.updateLocale(localeName, config) to change ' +\r\n 'an existing locale. moment.defineLocale(localeName, ' +\r\n 'config) should only be used for creating a new locale ' +\r\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\r\n parentConfig = locales[name]._config;\r\n } else if (config.parentLocale != null) {\r\n if (locales[config.parentLocale] != null) {\r\n parentConfig = locales[config.parentLocale]._config;\r\n } else {\r\n if (!localeFamilies[config.parentLocale]) {\r\n localeFamilies[config.parentLocale] = [];\r\n }\r\n localeFamilies[config.parentLocale].push({\r\n name: name,\r\n config: config\r\n });\r\n return null;\r\n }\r\n }\r\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\r\n\r\n if (localeFamilies[name]) {\r\n localeFamilies[name].forEach(function (x) {\r\n defineLocale(x.name, x.config);\r\n });\r\n }\r\n\r\n // backwards compat for now: also set the locale\r\n // make sure we set the locale AFTER all child locales have been\r\n // created, so we won't end up with the child locale set.\r\n getSetGlobalLocale(name);\r\n\r\n\r\n return locales[name];\r\n } else {\r\n // useful for testing\r\n delete locales[name];\r\n return null;\r\n }\r\n }\r\n\r\n function updateLocale(name, config) {\r\n if (config != null) {\r\n var locale, parentConfig = baseConfig;\r\n // MERGE\r\n if (locales[name] != null) {\r\n parentConfig = locales[name]._config;\r\n }\r\n config = mergeConfigs(parentConfig, config);\r\n locale = new Locale(config);\r\n locale.parentLocale = locales[name];\r\n locales[name] = locale;\r\n\r\n // backwards compat for now: also set the locale\r\n getSetGlobalLocale(name);\r\n } else {\r\n // pass null for config to unupdate, useful for tests\r\n if (locales[name] != null) {\r\n if (locales[name].parentLocale != null) {\r\n locales[name] = locales[name].parentLocale;\r\n } else if (locales[name] != null) {\r\n delete locales[name];\r\n }\r\n }\r\n }\r\n return locales[name];\r\n }\r\n\r\n // returns locale data\r\n function getLocale(key) {\r\n var locale;\r\n\r\n if (key && key._locale && key._locale._abbr) {\r\n key = key._locale._abbr;\r\n }\r\n\r\n if (!key) {\r\n return globalLocale;\r\n }\r\n\r\n if (!isArray(key)) {\r\n //short-circuit everything else\r\n locale = loadLocale(key);\r\n if (locale) {\r\n return locale;\r\n }\r\n key = [key];\r\n }\r\n\r\n return chooseLocale(key);\r\n }\r\n\r\n function listLocales() {\r\n return keys(locales);\r\n }\r\n\r\n function checkOverflow(m) {\r\n var overflow;\r\n var a = m._a;\r\n\r\n if (a && getParsingFlags(m).overflow === -2) {\r\n overflow =\r\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\r\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\r\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\r\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\r\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\r\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\r\n -1;\r\n\r\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\r\n overflow = DATE;\r\n }\r\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\r\n overflow = WEEK;\r\n }\r\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\r\n overflow = WEEKDAY;\r\n }\r\n\r\n getParsingFlags(m).overflow = overflow;\r\n }\r\n\r\n return m;\r\n }\r\n\r\n // Pick the first defined of two or three arguments.\r\n function defaults(a, b, c) {\r\n if (a != null) {\r\n return a;\r\n }\r\n if (b != null) {\r\n return b;\r\n }\r\n return c;\r\n }\r\n\r\n function currentDateArray(config) {\r\n // hooks is actually the exported moment object\r\n var nowValue = new Date(hooks.now());\r\n if (config._useUTC) {\r\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\r\n }\r\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\r\n }\r\n\r\n // convert an array to a date.\r\n // the array should mirror the parameters below\r\n // note: all values past the year are optional and will default to the lowest possible value.\r\n // [year, month, day , hour, minute, second, millisecond]\r\n function configFromArray(config) {\r\n var i, date, input = [], currentDate, yearToUse;\r\n\r\n if (config._d) {\r\n return;\r\n }\r\n\r\n currentDate = currentDateArray(config);\r\n\r\n //compute day of the year from weeks and weekdays\r\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\r\n dayOfYearFromWeekInfo(config);\r\n }\r\n\r\n //if the day of the year is set, figure out what it is\r\n if (config._dayOfYear != null) {\r\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\r\n\r\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\r\n getParsingFlags(config)._overflowDayOfYear = true;\r\n }\r\n\r\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\r\n config._a[MONTH] = date.getUTCMonth();\r\n config._a[DATE] = date.getUTCDate();\r\n }\r\n\r\n // Default to current date.\r\n // * if no year, month, day of month are given, default to today\r\n // * if day of month is given, default month and year\r\n // * if month is given, default only year\r\n // * if year is given, don't default anything\r\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\r\n config._a[i] = input[i] = currentDate[i];\r\n }\r\n\r\n // Zero out whatever was not defaulted, including time\r\n for (; i < 7; i++) {\r\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\r\n }\r\n\r\n // Check for 24:00:00.000\r\n if (config._a[HOUR] === 24 &&\r\n config._a[MINUTE] === 0 &&\r\n config._a[SECOND] === 0 &&\r\n config._a[MILLISECOND] === 0) {\r\n config._nextDay = true;\r\n config._a[HOUR] = 0;\r\n }\r\n\r\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\r\n // Apply timezone offset from input. The actual utcOffset can be changed\r\n // with parseZone.\r\n if (config._tzm != null) {\r\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\r\n }\r\n\r\n if (config._nextDay) {\r\n config._a[HOUR] = 24;\r\n }\r\n\r\n // check for mismatching day of week\r\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== config._d.getDay()) {\r\n getParsingFlags(config).weekdayMismatch = true;\r\n }\r\n }\r\n\r\n function dayOfYearFromWeekInfo(config) {\r\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\r\n\r\n w = config._w;\r\n if (w.GG != null || w.W != null || w.E != null) {\r\n dow = 1;\r\n doy = 4;\r\n\r\n // TODO: We need to take the current isoWeekYear, but that depends on\r\n // how we interpret now (local, utc, fixed offset). So create\r\n // a now version of current config (take local/utc/offset flags, and\r\n // create now).\r\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\r\n week = defaults(w.W, 1);\r\n weekday = defaults(w.E, 1);\r\n if (weekday < 1 || weekday > 7) {\r\n weekdayOverflow = true;\r\n }\r\n } else {\r\n dow = config._locale._week.dow;\r\n doy = config._locale._week.doy;\r\n\r\n var curWeek = weekOfYear(createLocal(), dow, doy);\r\n\r\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\r\n\r\n // Default to current week.\r\n week = defaults(w.w, curWeek.week);\r\n\r\n if (w.d != null) {\r\n // weekday -- low day numbers are considered next week\r\n weekday = w.d;\r\n if (weekday < 0 || weekday > 6) {\r\n weekdayOverflow = true;\r\n }\r\n } else if (w.e != null) {\r\n // local weekday -- counting starts from begining of week\r\n weekday = w.e + dow;\r\n if (w.e < 0 || w.e > 6) {\r\n weekdayOverflow = true;\r\n }\r\n } else {\r\n // default to begining of week\r\n weekday = dow;\r\n }\r\n }\r\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\r\n getParsingFlags(config)._overflowWeeks = true;\r\n } else if (weekdayOverflow != null) {\r\n getParsingFlags(config)._overflowWeekday = true;\r\n } else {\r\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\r\n config._a[YEAR] = temp.year;\r\n config._dayOfYear = temp.dayOfYear;\r\n }\r\n }\r\n\r\n // iso 8601 regex\r\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\r\n var extendedIsoRegex = /^\\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)?)?$/;\r\n var basicIsoRegex = /^\\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)?)?$/;\r\n\r\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\r\n\r\n var isoDates = [\r\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\r\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\r\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\r\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\r\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\r\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\r\n ['YYYYYYMMDD', /[+-]\\d{10}/],\r\n ['YYYYMMDD', /\\d{8}/],\r\n // YYYYMM is NOT allowed by the standard\r\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\r\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\r\n ['YYYYDDD', /\\d{7}/]\r\n ];\r\n\r\n // iso time formats and regexes\r\n var isoTimes = [\r\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\r\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\r\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\r\n ['HH:mm', /\\d\\d:\\d\\d/],\r\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\r\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\r\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\r\n ['HHmm', /\\d\\d\\d\\d/],\r\n ['HH', /\\d\\d/]\r\n ];\r\n\r\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\r\n\r\n // date from iso format\r\n function configFromISO(config) {\r\n var i, l,\r\n string = config._i,\r\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\r\n allowTime, dateFormat, timeFormat, tzFormat;\r\n\r\n if (match) {\r\n getParsingFlags(config).iso = true;\r\n\r\n for (i = 0, l = isoDates.length; i < l; i++) {\r\n if (isoDates[i][1].exec(match[1])) {\r\n dateFormat = isoDates[i][0];\r\n allowTime = isoDates[i][2] !== false;\r\n break;\r\n }\r\n }\r\n if (dateFormat == null) {\r\n config._isValid = false;\r\n return;\r\n }\r\n if (match[3]) {\r\n for (i = 0, l = isoTimes.length; i < l; i++) {\r\n if (isoTimes[i][1].exec(match[3])) {\r\n // match[2] should be 'T' or space\r\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\r\n break;\r\n }\r\n }\r\n if (timeFormat == null) {\r\n config._isValid = false;\r\n return;\r\n }\r\n }\r\n if (!allowTime && timeFormat != null) {\r\n config._isValid = false;\r\n return;\r\n }\r\n if (match[4]) {\r\n if (tzRegex.exec(match[4])) {\r\n tzFormat = 'Z';\r\n } else {\r\n config._isValid = false;\r\n return;\r\n }\r\n }\r\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\r\n configFromStringAndFormat(config);\r\n } else {\r\n config._isValid = false;\r\n }\r\n }\r\n\r\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\r\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\r\n\r\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\r\n var result = [\r\n untruncateYear(yearStr),\r\n defaultLocaleMonthsShort.indexOf(monthStr),\r\n parseInt(dayStr, 10),\r\n parseInt(hourStr, 10),\r\n parseInt(minuteStr, 10)\r\n ];\r\n\r\n if (secondStr) {\r\n result.push(parseInt(secondStr, 10));\r\n }\r\n\r\n return result;\r\n }\r\n\r\n function untruncateYear(yearStr) {\r\n var year = parseInt(yearStr, 10);\r\n if (year <= 49) {\r\n return 2000 + year;\r\n } else if (year <= 999) {\r\n return 1900 + year;\r\n }\r\n return year;\r\n }\r\n\r\n function preprocessRFC2822(s) {\r\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\r\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').trim();\r\n }\r\n\r\n function checkWeekday(weekdayStr, parsedInput, config) {\r\n if (weekdayStr) {\r\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\r\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\r\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\r\n if (weekdayProvided !== weekdayActual) {\r\n getParsingFlags(config).weekdayMismatch = true;\r\n config._isValid = false;\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n var obsOffsets = {\r\n UT: 0,\r\n GMT: 0,\r\n EDT: -4 * 60,\r\n EST: -5 * 60,\r\n CDT: -5 * 60,\r\n CST: -6 * 60,\r\n MDT: -6 * 60,\r\n MST: -7 * 60,\r\n PDT: -7 * 60,\r\n PST: -8 * 60\r\n };\r\n\r\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\r\n if (obsOffset) {\r\n return obsOffsets[obsOffset];\r\n } else if (militaryOffset) {\r\n // the only allowed military tz is Z\r\n return 0;\r\n } else {\r\n var hm = parseInt(numOffset, 10);\r\n var m = hm % 100, h = (hm - m) / 100;\r\n return h * 60 + m;\r\n }\r\n }\r\n\r\n // date and time from ref 2822 format\r\n function configFromRFC2822(config) {\r\n var match = rfc2822.exec(preprocessRFC2822(config._i));\r\n if (match) {\r\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\r\n if (!checkWeekday(match[1], parsedArray, config)) {\r\n return;\r\n }\r\n\r\n config._a = parsedArray;\r\n config._tzm = calculateOffset(match[8], match[9], match[10]);\r\n\r\n config._d = createUTCDate.apply(null, config._a);\r\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\r\n\r\n getParsingFlags(config).rfc2822 = true;\r\n } else {\r\n config._isValid = false;\r\n }\r\n }\r\n\r\n // date from iso format or fallback\r\n function configFromString(config) {\r\n var matched = aspNetJsonRegex.exec(config._i);\r\n\r\n if (matched !== null) {\r\n config._d = new Date(+matched[1]);\r\n return;\r\n }\r\n\r\n configFromISO(config);\r\n if (config._isValid === false) {\r\n delete config._isValid;\r\n } else {\r\n return;\r\n }\r\n\r\n configFromRFC2822(config);\r\n if (config._isValid === false) {\r\n delete config._isValid;\r\n } else {\r\n return;\r\n }\r\n\r\n // Final attempt, use Input Fallback\r\n hooks.createFromInputFallback(config);\r\n }\r\n\r\n hooks.createFromInputFallback = deprecate(\r\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\r\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\r\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\r\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\r\n function (config) {\r\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\r\n }\r\n );\r\n\r\n // constant that refers to the ISO standard\r\n hooks.ISO_8601 = function () { };\r\n\r\n // constant that refers to the RFC 2822 form\r\n hooks.RFC_2822 = function () { };\r\n\r\n // date from string and format string\r\n function configFromStringAndFormat(config) {\r\n // TODO: Move this to another part of the creation flow to prevent circular deps\r\n if (config._f === hooks.ISO_8601) {\r\n configFromISO(config);\r\n return;\r\n }\r\n if (config._f === hooks.RFC_2822) {\r\n configFromRFC2822(config);\r\n return;\r\n }\r\n config._a = [];\r\n getParsingFlags(config).empty = true;\r\n\r\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\r\n var string = '' + config._i,\r\n i, parsedInput, tokens, token, skipped,\r\n stringLength = string.length,\r\n totalParsedInputLength = 0;\r\n\r\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\r\n\r\n for (i = 0; i < tokens.length; i++) {\r\n token = tokens[i];\r\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\r\n // console.log('token', token, 'parsedInput', parsedInput,\r\n // 'regex', getParseRegexForToken(token, config));\r\n if (parsedInput) {\r\n skipped = string.substr(0, string.indexOf(parsedInput));\r\n if (skipped.length > 0) {\r\n getParsingFlags(config).unusedInput.push(skipped);\r\n }\r\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\r\n totalParsedInputLength += parsedInput.length;\r\n }\r\n // don't parse if it's not a known token\r\n if (formatTokenFunctions[token]) {\r\n if (parsedInput) {\r\n getParsingFlags(config).empty = false;\r\n }\r\n else {\r\n getParsingFlags(config).unusedTokens.push(token);\r\n }\r\n addTimeToArrayFromToken(token, parsedInput, config);\r\n }\r\n else if (config._strict && !parsedInput) {\r\n getParsingFlags(config).unusedTokens.push(token);\r\n }\r\n }\r\n\r\n // add remaining unparsed input length to the string\r\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\r\n if (string.length > 0) {\r\n getParsingFlags(config).unusedInput.push(string);\r\n }\r\n\r\n // clear _12h flag if hour is <= 12\r\n if (config._a[HOUR] <= 12 &&\r\n getParsingFlags(config).bigHour === true &&\r\n config._a[HOUR] > 0) {\r\n getParsingFlags(config).bigHour = undefined;\r\n }\r\n\r\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\r\n getParsingFlags(config).meridiem = config._meridiem;\r\n // handle meridiem\r\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\r\n\r\n configFromArray(config);\r\n checkOverflow(config);\r\n }\r\n\r\n\r\n function meridiemFixWrap(locale, hour, meridiem) {\r\n var isPm;\r\n\r\n if (meridiem == null) {\r\n // nothing to do\r\n return hour;\r\n }\r\n if (locale.meridiemHour != null) {\r\n return locale.meridiemHour(hour, meridiem);\r\n } else if (locale.isPM != null) {\r\n // Fallback\r\n isPm = locale.isPM(meridiem);\r\n if (isPm && hour < 12) {\r\n hour += 12;\r\n }\r\n if (!isPm && hour === 12) {\r\n hour = 0;\r\n }\r\n return hour;\r\n } else {\r\n // this is not supposed to happen\r\n return hour;\r\n }\r\n }\r\n\r\n // date from string and array of format strings\r\n function configFromStringAndArray(config) {\r\n var tempConfig,\r\n bestMoment,\r\n\r\n scoreToBeat,\r\n i,\r\n currentScore;\r\n\r\n if (config._f.length === 0) {\r\n getParsingFlags(config).invalidFormat = true;\r\n config._d = new Date(NaN);\r\n return;\r\n }\r\n\r\n for (i = 0; i < config._f.length; i++) {\r\n currentScore = 0;\r\n tempConfig = copyConfig({}, config);\r\n if (config._useUTC != null) {\r\n tempConfig._useUTC = config._useUTC;\r\n }\r\n tempConfig._f = config._f[i];\r\n configFromStringAndFormat(tempConfig);\r\n\r\n if (!isValid(tempConfig)) {\r\n continue;\r\n }\r\n\r\n // if there is any input that was not parsed add a penalty for that format\r\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\r\n\r\n //or tokens\r\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\r\n\r\n getParsingFlags(tempConfig).score = currentScore;\r\n\r\n if (scoreToBeat == null || currentScore < scoreToBeat) {\r\n scoreToBeat = currentScore;\r\n bestMoment = tempConfig;\r\n }\r\n }\r\n\r\n extend(config, bestMoment || tempConfig);\r\n }\r\n\r\n function configFromObject(config) {\r\n if (config._d) {\r\n return;\r\n }\r\n\r\n var i = normalizeObjectUnits(config._i);\r\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\r\n return obj && parseInt(obj, 10);\r\n });\r\n\r\n configFromArray(config);\r\n }\r\n\r\n function createFromConfig(config) {\r\n var res = new Moment(checkOverflow(prepareConfig(config)));\r\n if (res._nextDay) {\r\n // Adding is smart enough around DST\r\n res.add(1, 'd');\r\n res._nextDay = undefined;\r\n }\r\n\r\n return res;\r\n }\r\n\r\n function prepareConfig(config) {\r\n var input = config._i,\r\n format = config._f;\r\n\r\n config._locale = config._locale || getLocale(config._l);\r\n\r\n if (input === null || (format === undefined && input === '')) {\r\n return createInvalid({ nullInput: true });\r\n }\r\n\r\n if (typeof input === 'string') {\r\n config._i = input = config._locale.preparse(input);\r\n }\r\n\r\n if (isMoment(input)) {\r\n return new Moment(checkOverflow(input));\r\n } else if (isDate(input)) {\r\n config._d = input;\r\n } else if (isArray(format)) {\r\n configFromStringAndArray(config);\r\n } else if (format) {\r\n configFromStringAndFormat(config);\r\n } else {\r\n configFromInput(config);\r\n }\r\n\r\n if (!isValid(config)) {\r\n config._d = null;\r\n }\r\n\r\n return config;\r\n }\r\n\r\n function configFromInput(config) {\r\n var input = config._i;\r\n if (isUndefined(input)) {\r\n config._d = new Date(hooks.now());\r\n } else if (isDate(input)) {\r\n config._d = new Date(input.valueOf());\r\n } else if (typeof input === 'string') {\r\n configFromString(config);\r\n } else if (isArray(input)) {\r\n config._a = map(input.slice(0), function (obj) {\r\n return parseInt(obj, 10);\r\n });\r\n configFromArray(config);\r\n } else if (isObject(input)) {\r\n configFromObject(config);\r\n } else if (isNumber(input)) {\r\n // from milliseconds\r\n config._d = new Date(input);\r\n } else {\r\n hooks.createFromInputFallback(config);\r\n }\r\n }\r\n\r\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\r\n var c = {};\r\n\r\n if (locale === true || locale === false) {\r\n strict = locale;\r\n locale = undefined;\r\n }\r\n\r\n if ((isObject(input) && isObjectEmpty(input)) ||\r\n (isArray(input) && input.length === 0)) {\r\n input = undefined;\r\n }\r\n // object construction must be done this way.\r\n // https://github.com/moment/moment/issues/1423\r\n c._isAMomentObject = true;\r\n c._useUTC = c._isUTC = isUTC;\r\n c._l = locale;\r\n c._i = input;\r\n c._f = format;\r\n c._strict = strict;\r\n\r\n return createFromConfig(c);\r\n }\r\n\r\n function createLocal(input, format, locale, strict) {\r\n return createLocalOrUTC(input, format, locale, strict, false);\r\n }\r\n\r\n var prototypeMin = deprecate(\r\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\r\n function () {\r\n var other = createLocal.apply(null, arguments);\r\n if (this.isValid() && other.isValid()) {\r\n return other < this ? this : other;\r\n } else {\r\n return createInvalid();\r\n }\r\n }\r\n );\r\n\r\n var prototypeMax = deprecate(\r\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\r\n function () {\r\n var other = createLocal.apply(null, arguments);\r\n if (this.isValid() && other.isValid()) {\r\n return other > this ? this : other;\r\n } else {\r\n return createInvalid();\r\n }\r\n }\r\n );\r\n\r\n // Pick a moment m from moments so that m[fn](other) is true for all\r\n // other. This relies on the function fn to be transitive.\r\n //\r\n // moments should either be an array of moment objects or an array, whose\r\n // first element is an array of moment objects.\r\n function pickBy(fn, moments) {\r\n var res, i;\r\n if (moments.length === 1 && isArray(moments[0])) {\r\n moments = moments[0];\r\n }\r\n if (!moments.length) {\r\n return createLocal();\r\n }\r\n res = moments[0];\r\n for (i = 1; i < moments.length; ++i) {\r\n if (!moments[i].isValid() || moments[i][fn](res)) {\r\n res = moments[i];\r\n }\r\n }\r\n return res;\r\n }\r\n\r\n // TODO: Use [].sort instead?\r\n function min() {\r\n var args = [].slice.call(arguments, 0);\r\n\r\n return pickBy('isBefore', args);\r\n }\r\n\r\n function max() {\r\n var args = [].slice.call(arguments, 0);\r\n\r\n return pickBy('isAfter', args);\r\n }\r\n\r\n var now = function () {\r\n return Date.now ? Date.now() : +(new Date());\r\n };\r\n\r\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\r\n\r\n function isDurationValid(m) {\r\n for (var key in m) {\r\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\r\n return false;\r\n }\r\n }\r\n\r\n var unitHasDecimal = false;\r\n for (var i = 0; i < ordering.length; ++i) {\r\n if (m[ordering[i]]) {\r\n if (unitHasDecimal) {\r\n return false; // only allow non-integers for smallest unit\r\n }\r\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\r\n unitHasDecimal = true;\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n function isValid$1() {\r\n return this._isValid;\r\n }\r\n\r\n function createInvalid$1() {\r\n return createDuration(NaN);\r\n }\r\n\r\n function Duration(duration) {\r\n var normalizedInput = normalizeObjectUnits(duration),\r\n years = normalizedInput.year || 0,\r\n quarters = normalizedInput.quarter || 0,\r\n months = normalizedInput.month || 0,\r\n weeks = normalizedInput.week || 0,\r\n days = normalizedInput.day || 0,\r\n hours = normalizedInput.hour || 0,\r\n minutes = normalizedInput.minute || 0,\r\n seconds = normalizedInput.second || 0,\r\n milliseconds = normalizedInput.millisecond || 0;\r\n\r\n this._isValid = isDurationValid(normalizedInput);\r\n\r\n // representation for dateAddRemove\r\n this._milliseconds = +milliseconds +\r\n seconds * 1e3 + // 1000\r\n minutes * 6e4 + // 1000 * 60\r\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\r\n // Because of dateAddRemove treats 24 hours as different from a\r\n // day when working around DST, we need to store them separately\r\n this._days = +days +\r\n weeks * 7;\r\n // It is impossible to translate months into days without knowing\r\n // which months you are are talking about, so we have to store\r\n // it separately.\r\n this._months = +months +\r\n quarters * 3 +\r\n years * 12;\r\n\r\n this._data = {};\r\n\r\n this._locale = getLocale();\r\n\r\n this._bubble();\r\n }\r\n\r\n function isDuration(obj) {\r\n return obj instanceof Duration;\r\n }\r\n\r\n function absRound(number) {\r\n if (number < 0) {\r\n return Math.round(-1 * number) * -1;\r\n } else {\r\n return Math.round(number);\r\n }\r\n }\r\n\r\n // FORMATTING\r\n\r\n function offset(token, separator) {\r\n addFormatToken(token, 0, 0, function () {\r\n var offset = this.utcOffset();\r\n var sign = '+';\r\n if (offset < 0) {\r\n offset = -offset;\r\n sign = '-';\r\n }\r\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\r\n });\r\n }\r\n\r\n offset('Z', ':');\r\n offset('ZZ', '');\r\n\r\n // PARSING\r\n\r\n addRegexToken('Z', matchShortOffset);\r\n addRegexToken('ZZ', matchShortOffset);\r\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\r\n config._useUTC = true;\r\n config._tzm = offsetFromString(matchShortOffset, input);\r\n });\r\n\r\n // HELPERS\r\n\r\n // timezone chunker\r\n // '+10:00' > ['10', '00']\r\n // '-1530' > ['-15', '30']\r\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\r\n\r\n function offsetFromString(matcher, string) {\r\n var matches = (string || '').match(matcher);\r\n\r\n if (matches === null) {\r\n return null;\r\n }\r\n\r\n var chunk = matches[matches.length - 1] || [];\r\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\r\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\r\n\r\n return minutes === 0 ?\r\n 0 :\r\n parts[0] === '+' ? minutes : -minutes;\r\n }\r\n\r\n // Return a moment from input, that is local/utc/zone equivalent to model.\r\n function cloneWithOffset(input, model) {\r\n var res, diff;\r\n if (model._isUTC) {\r\n res = model.clone();\r\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\r\n // Use low-level api, because this fn is low-level api.\r\n res._d.setTime(res._d.valueOf() + diff);\r\n hooks.updateOffset(res, false);\r\n return res;\r\n } else {\r\n return createLocal(input).local();\r\n }\r\n }\r\n\r\n function getDateOffset(m) {\r\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\r\n // https://github.com/moment/moment/pull/1871\r\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\r\n }\r\n\r\n // HOOKS\r\n\r\n // This function will be called whenever a moment is mutated.\r\n // It is intended to keep the offset in sync with the timezone.\r\n hooks.updateOffset = function () { };\r\n\r\n // MOMENTS\r\n\r\n // keepLocalTime = true means only change the timezone, without\r\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\r\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\r\n // +0200, so we adjust the time as needed, to be valid.\r\n //\r\n // Keeping the time actually adds/subtracts (one hour)\r\n // from the actual represented time. That is why we call updateOffset\r\n // a second time. In case it wants us to change the offset again\r\n // _changeInProgress == true case, then we have to adjust, because\r\n // there is no such time in the given timezone.\r\n function getSetOffset(input, keepLocalTime, keepMinutes) {\r\n var offset = this._offset || 0,\r\n localAdjust;\r\n if (!this.isValid()) {\r\n return input != null ? this : NaN;\r\n }\r\n if (input != null) {\r\n if (typeof input === 'string') {\r\n input = offsetFromString(matchShortOffset, input);\r\n if (input === null) {\r\n return this;\r\n }\r\n } else if (Math.abs(input) < 16 && !keepMinutes) {\r\n input = input * 60;\r\n }\r\n if (!this._isUTC && keepLocalTime) {\r\n localAdjust = getDateOffset(this);\r\n }\r\n this._offset = input;\r\n this._isUTC = true;\r\n if (localAdjust != null) {\r\n this.add(localAdjust, 'm');\r\n }\r\n if (offset !== input) {\r\n if (!keepLocalTime || this._changeInProgress) {\r\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\r\n } else if (!this._changeInProgress) {\r\n this._changeInProgress = true;\r\n hooks.updateOffset(this, true);\r\n this._changeInProgress = null;\r\n }\r\n }\r\n return this;\r\n } else {\r\n return this._isUTC ? offset : getDateOffset(this);\r\n }\r\n }\r\n\r\n function getSetZone(input, keepLocalTime) {\r\n if (input != null) {\r\n if (typeof input !== 'string') {\r\n input = -input;\r\n }\r\n\r\n this.utcOffset(input, keepLocalTime);\r\n\r\n return this;\r\n } else {\r\n return -this.utcOffset();\r\n }\r\n }\r\n\r\n function setOffsetToUTC(keepLocalTime) {\r\n return this.utcOffset(0, keepLocalTime);\r\n }\r\n\r\n function setOffsetToLocal(keepLocalTime) {\r\n if (this._isUTC) {\r\n this.utcOffset(0, keepLocalTime);\r\n this._isUTC = false;\r\n\r\n if (keepLocalTime) {\r\n this.subtract(getDateOffset(this), 'm');\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function setOffsetToParsedOffset() {\r\n if (this._tzm != null) {\r\n this.utcOffset(this._tzm, false, true);\r\n } else if (typeof this._i === 'string') {\r\n var tZone = offsetFromString(matchOffset, this._i);\r\n if (tZone != null) {\r\n this.utcOffset(tZone);\r\n }\r\n else {\r\n this.utcOffset(0, true);\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function hasAlignedHourOffset(input) {\r\n if (!this.isValid()) {\r\n return false;\r\n }\r\n input = input ? createLocal(input).utcOffset() : 0;\r\n\r\n return (this.utcOffset() - input) % 60 === 0;\r\n }\r\n\r\n function isDaylightSavingTime() {\r\n return (\r\n this.utcOffset() > this.clone().month(0).utcOffset() ||\r\n this.utcOffset() > this.clone().month(5).utcOffset()\r\n );\r\n }\r\n\r\n function isDaylightSavingTimeShifted() {\r\n if (!isUndefined(this._isDSTShifted)) {\r\n return this._isDSTShifted;\r\n }\r\n\r\n var c = {};\r\n\r\n copyConfig(c, this);\r\n c = prepareConfig(c);\r\n\r\n if (c._a) {\r\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\r\n this._isDSTShifted = this.isValid() &&\r\n compareArrays(c._a, other.toArray()) > 0;\r\n } else {\r\n this._isDSTShifted = false;\r\n }\r\n\r\n return this._isDSTShifted;\r\n }\r\n\r\n function isLocal() {\r\n return this.isValid() ? !this._isUTC : false;\r\n }\r\n\r\n function isUtcOffset() {\r\n return this.isValid() ? this._isUTC : false;\r\n }\r\n\r\n function isUtc() {\r\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\r\n }\r\n\r\n // ASP.NET json date format regex\r\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\r\n\r\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\r\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\r\n // and further modified to allow for strings containing both week and day\r\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\r\n\r\n function createDuration(input, key) {\r\n var duration = input,\r\n // matching against regexp is expensive, do it on demand\r\n match = null,\r\n sign,\r\n ret,\r\n diffRes;\r\n\r\n if (isDuration(input)) {\r\n duration = {\r\n ms: input._milliseconds,\r\n d: input._days,\r\n M: input._months\r\n };\r\n } else if (isNumber(input)) {\r\n duration = {};\r\n if (key) {\r\n duration[key] = input;\r\n } else {\r\n duration.milliseconds = input;\r\n }\r\n } else if (!!(match = aspNetRegex.exec(input))) {\r\n sign = (match[1] === '-') ? -1 : 1;\r\n duration = {\r\n y: 0,\r\n d: toInt(match[DATE]) * sign,\r\n h: toInt(match[HOUR]) * sign,\r\n m: toInt(match[MINUTE]) * sign,\r\n s: toInt(match[SECOND]) * sign,\r\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\r\n };\r\n } else if (!!(match = isoRegex.exec(input))) {\r\n sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\r\n duration = {\r\n y: parseIso(match[2], sign),\r\n M: parseIso(match[3], sign),\r\n w: parseIso(match[4], sign),\r\n d: parseIso(match[5], sign),\r\n h: parseIso(match[6], sign),\r\n m: parseIso(match[7], sign),\r\n s: parseIso(match[8], sign)\r\n };\r\n } else if (duration == null) {// checks for null or undefined\r\n duration = {};\r\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\r\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\r\n\r\n duration = {};\r\n duration.ms = diffRes.milliseconds;\r\n duration.M = diffRes.months;\r\n }\r\n\r\n ret = new Duration(duration);\r\n\r\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\r\n ret._locale = input._locale;\r\n }\r\n\r\n return ret;\r\n }\r\n\r\n createDuration.fn = Duration.prototype;\r\n createDuration.invalid = createInvalid$1;\r\n\r\n function parseIso(inp, sign) {\r\n // We'd normally use ~~inp for this, but unfortunately it also\r\n // converts floats to ints.\r\n // inp may be undefined, so careful calling replace on it.\r\n var res = inp && parseFloat(inp.replace(',', '.'));\r\n // apply sign while we're at it\r\n return (isNaN(res) ? 0 : res) * sign;\r\n }\r\n\r\n function positiveMomentsDifference(base, other) {\r\n var res = { milliseconds: 0, months: 0 };\r\n\r\n res.months = other.month() - base.month() +\r\n (other.year() - base.year()) * 12;\r\n if (base.clone().add(res.months, 'M').isAfter(other)) {\r\n --res.months;\r\n }\r\n\r\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\r\n\r\n return res;\r\n }\r\n\r\n function momentsDifference(base, other) {\r\n var res;\r\n if (!(base.isValid() && other.isValid())) {\r\n return { milliseconds: 0, months: 0 };\r\n }\r\n\r\n other = cloneWithOffset(other, base);\r\n if (base.isBefore(other)) {\r\n res = positiveMomentsDifference(base, other);\r\n } else {\r\n res = positiveMomentsDifference(other, base);\r\n res.milliseconds = -res.milliseconds;\r\n res.months = -res.months;\r\n }\r\n\r\n return res;\r\n }\r\n\r\n // TODO: remove 'name' arg after deprecation is removed\r\n function createAdder(direction, name) {\r\n return function (val, period) {\r\n var dur, tmp;\r\n //invert the arguments, but complain about it\r\n if (period !== null && !isNaN(+period)) {\r\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\r\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\r\n tmp = val; val = period; period = tmp;\r\n }\r\n\r\n val = typeof val === 'string' ? +val : val;\r\n dur = createDuration(val, period);\r\n addSubtract(this, dur, direction);\r\n return this;\r\n };\r\n }\r\n\r\n function addSubtract(mom, duration, isAdding, updateOffset) {\r\n var milliseconds = duration._milliseconds,\r\n days = absRound(duration._days),\r\n months = absRound(duration._months);\r\n\r\n if (!mom.isValid()) {\r\n // No op\r\n return;\r\n }\r\n\r\n updateOffset = updateOffset == null ? true : updateOffset;\r\n\r\n if (months) {\r\n setMonth(mom, get(mom, 'Month') + months * isAdding);\r\n }\r\n if (days) {\r\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\r\n }\r\n if (milliseconds) {\r\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\r\n }\r\n if (updateOffset) {\r\n hooks.updateOffset(mom, days || months);\r\n }\r\n }\r\n\r\n var add = createAdder(1, 'add');\r\n var subtract = createAdder(-1, 'subtract');\r\n\r\n function getCalendarFormat(myMoment, now) {\r\n var diff = myMoment.diff(now, 'days', true);\r\n return diff < -6 ? 'sameElse' :\r\n diff < -1 ? 'lastWeek' :\r\n diff < 0 ? 'lastDay' :\r\n diff < 1 ? 'sameDay' :\r\n diff < 2 ? 'nextDay' :\r\n diff < 7 ? 'nextWeek' : 'sameElse';\r\n }\r\n\r\n function calendar$1(time, formats) {\r\n // We want to compare the start of today, vs this.\r\n // Getting start-of-today depends on whether we're local/utc/offset or not.\r\n var now = time || createLocal(),\r\n sod = cloneWithOffset(now, this).startOf('day'),\r\n format = hooks.calendarFormat(this, sod) || 'sameElse';\r\n\r\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\r\n\r\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\r\n }\r\n\r\n function clone() {\r\n return new Moment(this);\r\n }\r\n\r\n function isAfter(input, units) {\r\n var localInput = isMoment(input) ? input : createLocal(input);\r\n if (!(this.isValid() && localInput.isValid())) {\r\n return false;\r\n }\r\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\r\n if (units === 'millisecond') {\r\n return this.valueOf() > localInput.valueOf();\r\n } else {\r\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\r\n }\r\n }\r\n\r\n function isBefore(input, units) {\r\n var localInput = isMoment(input) ? input : createLocal(input);\r\n if (!(this.isValid() && localInput.isValid())) {\r\n return false;\r\n }\r\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\r\n if (units === 'millisecond') {\r\n return this.valueOf() < localInput.valueOf();\r\n } else {\r\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\r\n }\r\n }\r\n\r\n function isBetween(from, to, units, inclusivity) {\r\n inclusivity = inclusivity || '()';\r\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\r\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\r\n }\r\n\r\n function isSame(input, units) {\r\n var localInput = isMoment(input) ? input : createLocal(input),\r\n inputMs;\r\n if (!(this.isValid() && localInput.isValid())) {\r\n return false;\r\n }\r\n units = normalizeUnits(units || 'millisecond');\r\n if (units === 'millisecond') {\r\n return this.valueOf() === localInput.valueOf();\r\n } else {\r\n inputMs = localInput.valueOf();\r\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\r\n }\r\n }\r\n\r\n function isSameOrAfter(input, units) {\r\n return this.isSame(input, units) || this.isAfter(input, units);\r\n }\r\n\r\n function isSameOrBefore(input, units) {\r\n return this.isSame(input, units) || this.isBefore(input, units);\r\n }\r\n\r\n function diff(input, units, asFloat) {\r\n var that,\r\n zoneDelta,\r\n delta, output;\r\n\r\n if (!this.isValid()) {\r\n return NaN;\r\n }\r\n\r\n that = cloneWithOffset(input, this);\r\n\r\n if (!that.isValid()) {\r\n return NaN;\r\n }\r\n\r\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\r\n\r\n units = normalizeUnits(units);\r\n\r\n switch (units) {\r\n case 'year': output = monthDiff(this, that) / 12; break;\r\n case 'month': output = monthDiff(this, that); break;\r\n case 'quarter': output = monthDiff(this, that) / 3; break;\r\n case 'second': output = (this - that) / 1e3; break; // 1000\r\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\r\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\r\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\r\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\r\n default: output = this - that;\r\n }\r\n\r\n return asFloat ? output : absFloor(output);\r\n }\r\n\r\n function monthDiff(a, b) {\r\n // difference in months\r\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\r\n // b is in (anchor - 1 month, anchor + 1 month)\r\n anchor = a.clone().add(wholeMonthDiff, 'months'),\r\n anchor2, adjust;\r\n\r\n if (b - anchor < 0) {\r\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\r\n // linear across the month\r\n adjust = (b - anchor) / (anchor - anchor2);\r\n } else {\r\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\r\n // linear across the month\r\n adjust = (b - anchor) / (anchor2 - anchor);\r\n }\r\n\r\n //check for negative zero, return zero if negative zero\r\n return -(wholeMonthDiff + adjust) || 0;\r\n }\r\n\r\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\r\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\r\n\r\n function toString() {\r\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\r\n }\r\n\r\n function toISOString() {\r\n if (!this.isValid()) {\r\n return null;\r\n }\r\n var m = this.clone().utc();\r\n if (m.year() < 0 || m.year() > 9999) {\r\n return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');\r\n }\r\n if (isFunction(Date.prototype.toISOString)) {\r\n // native implementation is ~50x faster, use it when we can\r\n return this.toDate().toISOString();\r\n }\r\n return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');\r\n }\r\n\r\n /**\r\n * Return a human readable representation of a moment that can\r\n * also be evaluated to get a new moment which is the same\r\n *\r\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\r\n */\r\n function inspect() {\r\n if (!this.isValid()) {\r\n return 'moment.invalid(/* ' + this._i + ' */)';\r\n }\r\n var func = 'moment';\r\n var zone = '';\r\n if (!this.isLocal()) {\r\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\r\n zone = 'Z';\r\n }\r\n var prefix = '[' + func + '(\"]';\r\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\r\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\r\n var suffix = zone + '[\")]';\r\n\r\n return this.format(prefix + year + datetime + suffix);\r\n }\r\n\r\n function format(inputString) {\r\n if (!inputString) {\r\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\r\n }\r\n var output = formatMoment(this, inputString);\r\n return this.localeData().postformat(output);\r\n }\r\n\r\n function from(time, withoutSuffix) {\r\n if (this.isValid() &&\r\n ((isMoment(time) && time.isValid()) ||\r\n createLocal(time).isValid())) {\r\n return createDuration({ to: this, from: time }).locale(this.locale()).humanize(!withoutSuffix);\r\n } else {\r\n return this.localeData().invalidDate();\r\n }\r\n }\r\n\r\n function fromNow(withoutSuffix) {\r\n return this.from(createLocal(), withoutSuffix);\r\n }\r\n\r\n function to(time, withoutSuffix) {\r\n if (this.isValid() &&\r\n ((isMoment(time) && time.isValid()) ||\r\n createLocal(time).isValid())) {\r\n return createDuration({ from: this, to: time }).locale(this.locale()).humanize(!withoutSuffix);\r\n } else {\r\n return this.localeData().invalidDate();\r\n }\r\n }\r\n\r\n function toNow(withoutSuffix) {\r\n return this.to(createLocal(), withoutSuffix);\r\n }\r\n\r\n // If passed a locale key, it will set the locale for this\r\n // instance. Otherwise, it will return the locale configuration\r\n // variables for this instance.\r\n function locale(key) {\r\n var newLocaleData;\r\n\r\n if (key === undefined) {\r\n return this._locale._abbr;\r\n } else {\r\n newLocaleData = getLocale(key);\r\n if (newLocaleData != null) {\r\n this._locale = newLocaleData;\r\n }\r\n return this;\r\n }\r\n }\r\n\r\n var lang = deprecate(\r\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\r\n function (key) {\r\n if (key === undefined) {\r\n return this.localeData();\r\n } else {\r\n return this.locale(key);\r\n }\r\n }\r\n );\r\n\r\n function localeData() {\r\n return this._locale;\r\n }\r\n\r\n function startOf(units) {\r\n units = normalizeUnits(units);\r\n // the following switch intentionally omits break keywords\r\n // to utilize falling through the cases.\r\n switch (units) {\r\n case 'year':\r\n this.month(0);\r\n /* falls through */\r\n case 'quarter':\r\n case 'month':\r\n this.date(1);\r\n /* falls through */\r\n case 'week':\r\n case 'isoWeek':\r\n case 'day':\r\n case 'date':\r\n this.hours(0);\r\n /* falls through */\r\n case 'hour':\r\n this.minutes(0);\r\n /* falls through */\r\n case 'minute':\r\n this.seconds(0);\r\n /* falls through */\r\n case 'second':\r\n this.milliseconds(0);\r\n }\r\n\r\n // weeks are a special case\r\n if (units === 'week') {\r\n this.weekday(0);\r\n }\r\n if (units === 'isoWeek') {\r\n this.isoWeekday(1);\r\n }\r\n\r\n // quarters are also special\r\n if (units === 'quarter') {\r\n this.month(Math.floor(this.month() / 3) * 3);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n function endOf(units) {\r\n units = normalizeUnits(units);\r\n if (units === undefined || units === 'millisecond') {\r\n return this;\r\n }\r\n\r\n // 'date' is an alias for 'day', so it should be considered as such.\r\n if (units === 'date') {\r\n units = 'day';\r\n }\r\n\r\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\r\n }\r\n\r\n function valueOf() {\r\n return this._d.valueOf() - ((this._offset || 0) * 60000);\r\n }\r\n\r\n function unix() {\r\n return Math.floor(this.valueOf() / 1000);\r\n }\r\n\r\n function toDate() {\r\n return new Date(this.valueOf());\r\n }\r\n\r\n function toArray() {\r\n var m = this;\r\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\r\n }\r\n\r\n function toObject() {\r\n var m = this;\r\n return {\r\n years: m.year(),\r\n months: m.month(),\r\n date: m.date(),\r\n hours: m.hours(),\r\n minutes: m.minutes(),\r\n seconds: m.seconds(),\r\n milliseconds: m.milliseconds()\r\n };\r\n }\r\n\r\n function toJSON() {\r\n // new Date(NaN).toJSON() === null\r\n return this.isValid() ? this.toISOString() : null;\r\n }\r\n\r\n function isValid$2() {\r\n return isValid(this);\r\n }\r\n\r\n function parsingFlags() {\r\n return extend({}, getParsingFlags(this));\r\n }\r\n\r\n function invalidAt() {\r\n return getParsingFlags(this).overflow;\r\n }\r\n\r\n function creationData() {\r\n return {\r\n input: this._i,\r\n format: this._f,\r\n locale: this._locale,\r\n isUTC: this._isUTC,\r\n strict: this._strict\r\n };\r\n }\r\n\r\n // FORMATTING\r\n\r\n addFormatToken(0, ['gg', 2], 0, function () {\r\n return this.weekYear() % 100;\r\n });\r\n\r\n addFormatToken(0, ['GG', 2], 0, function () {\r\n return this.isoWeekYear() % 100;\r\n });\r\n\r\n function addWeekYearFormatToken(token, getter) {\r\n addFormatToken(0, [token, token.length], 0, getter);\r\n }\r\n\r\n addWeekYearFormatToken('gggg', 'weekYear');\r\n addWeekYearFormatToken('ggggg', 'weekYear');\r\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\r\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\r\n\r\n // ALIASES\r\n\r\n addUnitAlias('weekYear', 'gg');\r\n addUnitAlias('isoWeekYear', 'GG');\r\n\r\n // PRIORITY\r\n\r\n addUnitPriority('weekYear', 1);\r\n addUnitPriority('isoWeekYear', 1);\r\n\r\n\r\n // PARSING\r\n\r\n addRegexToken('G', matchSigned);\r\n addRegexToken('g', matchSigned);\r\n addRegexToken('GG', match1to2, match2);\r\n addRegexToken('gg', match1to2, match2);\r\n addRegexToken('GGGG', match1to4, match4);\r\n addRegexToken('gggg', match1to4, match4);\r\n addRegexToken('GGGGG', match1to6, match6);\r\n addRegexToken('ggggg', match1to6, match6);\r\n\r\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\r\n week[token.substr(0, 2)] = toInt(input);\r\n });\r\n\r\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\r\n week[token] = hooks.parseTwoDigitYear(input);\r\n });\r\n\r\n // MOMENTS\r\n\r\n function getSetWeekYear(input) {\r\n return getSetWeekYearHelper.call(this,\r\n input,\r\n this.week(),\r\n this.weekday(),\r\n this.localeData()._week.dow,\r\n this.localeData()._week.doy);\r\n }\r\n\r\n function getSetISOWeekYear(input) {\r\n return getSetWeekYearHelper.call(this,\r\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\r\n }\r\n\r\n function getISOWeeksInYear() {\r\n return weeksInYear(this.year(), 1, 4);\r\n }\r\n\r\n function getWeeksInYear() {\r\n var weekInfo = this.localeData()._week;\r\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\r\n }\r\n\r\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\r\n var weeksTarget;\r\n if (input == null) {\r\n return weekOfYear(this, dow, doy).year;\r\n } else {\r\n weeksTarget = weeksInYear(input, dow, doy);\r\n if (week > weeksTarget) {\r\n week = weeksTarget;\r\n }\r\n return setWeekAll.call(this, input, week, weekday, dow, doy);\r\n }\r\n }\r\n\r\n function setWeekAll(weekYear, week, weekday, dow, doy) {\r\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\r\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\r\n\r\n this.year(date.getUTCFullYear());\r\n this.month(date.getUTCMonth());\r\n this.date(date.getUTCDate());\r\n return this;\r\n }\r\n\r\n // FORMATTING\r\n\r\n addFormatToken('Q', 0, 'Qo', 'quarter');\r\n\r\n // ALIASES\r\n\r\n addUnitAlias('quarter', 'Q');\r\n\r\n // PRIORITY\r\n\r\n addUnitPriority('quarter', 7);\r\n\r\n // PARSING\r\n\r\n addRegexToken('Q', match1);\r\n addParseToken('Q', function (input, array) {\r\n array[MONTH] = (toInt(input) - 1) * 3;\r\n });\r\n\r\n // MOMENTS\r\n\r\n function getSetQuarter(input) {\r\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\r\n }\r\n\r\n // FORMATTING\r\n\r\n addFormatToken('D', ['DD', 2], 'Do', 'date');\r\n\r\n // ALIASES\r\n\r\n addUnitAlias('date', 'D');\r\n\r\n // PRIOROITY\r\n addUnitPriority('date', 9);\r\n\r\n // PARSING\r\n\r\n addRegexToken('D', match1to2);\r\n addRegexToken('DD', match1to2, match2);\r\n addRegexToken('Do', function (isStrict, locale) {\r\n // TODO: Remove \"ordinalParse\" fallback in next major release.\r\n return isStrict ?\r\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\r\n locale._dayOfMonthOrdinalParseLenient;\r\n });\r\n\r\n addParseToken(['D', 'DD'], DATE);\r\n addParseToken('Do', function (input, array) {\r\n array[DATE] = toInt(input.match(match1to2)[0], 10);\r\n });\r\n\r\n // MOMENTS\r\n\r\n var getSetDayOfMonth = makeGetSet('Date', true);\r\n\r\n // FORMATTING\r\n\r\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\r\n\r\n // ALIASES\r\n\r\n addUnitAlias('dayOfYear', 'DDD');\r\n\r\n // PRIORITY\r\n addUnitPriority('dayOfYear', 4);\r\n\r\n // PARSING\r\n\r\n addRegexToken('DDD', match1to3);\r\n addRegexToken('DDDD', match3);\r\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\r\n config._dayOfYear = toInt(input);\r\n });\r\n\r\n // HELPERS\r\n\r\n // MOMENTS\r\n\r\n function getSetDayOfYear(input) {\r\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\r\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\r\n }\r\n\r\n // FORMATTING\r\n\r\n addFormatToken('m', ['mm', 2], 0, 'minute');\r\n\r\n // ALIASES\r\n\r\n addUnitAlias('minute', 'm');\r\n\r\n // PRIORITY\r\n\r\n addUnitPriority('minute', 14);\r\n\r\n // PARSING\r\n\r\n addRegexToken('m', match1to2);\r\n addRegexToken('mm', match1to2, match2);\r\n addParseToken(['m', 'mm'], MINUTE);\r\n\r\n // MOMENTS\r\n\r\n var getSetMinute = makeGetSet('Minutes', false);\r\n\r\n // FORMATTING\r\n\r\n addFormatToken('s', ['ss', 2], 0, 'second');\r\n\r\n // ALIASES\r\n\r\n addUnitAlias('second', 's');\r\n\r\n // PRIORITY\r\n\r\n addUnitPriority('second', 15);\r\n\r\n // PARSING\r\n\r\n addRegexToken('s', match1to2);\r\n addRegexToken('ss', match1to2, match2);\r\n addParseToken(['s', 'ss'], SECOND);\r\n\r\n // MOMENTS\r\n\r\n var getSetSecond = makeGetSet('Seconds', false);\r\n\r\n // FORMATTING\r\n\r\n addFormatToken('S', 0, 0, function () {\r\n return ~~(this.millisecond() / 100);\r\n });\r\n\r\n addFormatToken(0, ['SS', 2], 0, function () {\r\n return ~~(this.millisecond() / 10);\r\n });\r\n\r\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\r\n addFormatToken(0, ['SSSS', 4], 0, function () {\r\n return this.millisecond() * 10;\r\n });\r\n addFormatToken(0, ['SSSSS', 5], 0, function () {\r\n return this.millisecond() * 100;\r\n });\r\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\r\n return this.millisecond() * 1000;\r\n });\r\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\r\n return this.millisecond() * 10000;\r\n });\r\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\r\n return this.millisecond() * 100000;\r\n });\r\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\r\n return this.millisecond() * 1000000;\r\n });\r\n\r\n\r\n // ALIASES\r\n\r\n addUnitAlias('millisecond', 'ms');\r\n\r\n // PRIORITY\r\n\r\n addUnitPriority('millisecond', 16);\r\n\r\n // PARSING\r\n\r\n addRegexToken('S', match1to3, match1);\r\n addRegexToken('SS', match1to3, match2);\r\n addRegexToken('SSS', match1to3, match3);\r\n\r\n var token;\r\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\r\n addRegexToken(token, matchUnsigned);\r\n }\r\n\r\n function parseMs(input, array) {\r\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\r\n }\r\n\r\n for (token = 'S'; token.length <= 9; token += 'S') {\r\n addParseToken(token, parseMs);\r\n }\r\n // MOMENTS\r\n\r\n var getSetMillisecond = makeGetSet('Milliseconds', false);\r\n\r\n // FORMATTING\r\n\r\n addFormatToken('z', 0, 0, 'zoneAbbr');\r\n addFormatToken('zz', 0, 0, 'zoneName');\r\n\r\n // MOMENTS\r\n\r\n function getZoneAbbr() {\r\n return this._isUTC ? 'UTC' : '';\r\n }\r\n\r\n function getZoneName() {\r\n return this._isUTC ? 'Coordinated Universal Time' : '';\r\n }\r\n\r\n var proto = Moment.prototype;\r\n\r\n proto.add = add;\r\n proto.calendar = calendar$1;\r\n proto.clone = clone;\r\n proto.diff = diff;\r\n proto.endOf = endOf;\r\n proto.format = format;\r\n proto.from = from;\r\n proto.fromNow = fromNow;\r\n proto.to = to;\r\n proto.toNow = toNow;\r\n proto.get = stringGet;\r\n proto.invalidAt = invalidAt;\r\n proto.isAfter = isAfter;\r\n proto.isBefore = isBefore;\r\n proto.isBetween = isBetween;\r\n proto.isSame = isSame;\r\n proto.isSameOrAfter = isSameOrAfter;\r\n proto.isSameOrBefore = isSameOrBefore;\r\n proto.isValid = isValid$2;\r\n proto.lang = lang;\r\n proto.locale = locale;\r\n proto.localeData = localeData;\r\n proto.max = prototypeMax;\r\n proto.min = prototypeMin;\r\n proto.parsingFlags = parsingFlags;\r\n proto.set = stringSet;\r\n proto.startOf = startOf;\r\n proto.subtract = subtract;\r\n proto.toArray = toArray;\r\n proto.toObject = toObject;\r\n proto.toDate = toDate;\r\n proto.toISOString = toISOString;\r\n proto.inspect = inspect;\r\n proto.toJSON = toJSON;\r\n proto.toString = toString;\r\n proto.unix = unix;\r\n proto.valueOf = valueOf;\r\n proto.creationData = creationData;\r\n\r\n // Year\r\n proto.year = getSetYear;\r\n proto.isLeapYear = getIsLeapYear;\r\n\r\n // Week Year\r\n proto.weekYear = getSetWeekYear;\r\n proto.isoWeekYear = getSetISOWeekYear;\r\n\r\n // Quarter\r\n proto.quarter = proto.quarters = getSetQuarter;\r\n\r\n // Month\r\n proto.month = getSetMonth;\r\n proto.daysInMonth = getDaysInMonth;\r\n\r\n // Week\r\n proto.week = proto.weeks = getSetWeek;\r\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\r\n proto.weeksInYear = getWeeksInYear;\r\n proto.isoWeeksInYear = getISOWeeksInYear;\r\n\r\n // Day\r\n proto.date = getSetDayOfMonth;\r\n proto.day = proto.days = getSetDayOfWeek;\r\n proto.weekday = getSetLocaleDayOfWeek;\r\n proto.isoWeekday = getSetISODayOfWeek;\r\n proto.dayOfYear = getSetDayOfYear;\r\n\r\n // Hour\r\n proto.hour = proto.hours = getSetHour;\r\n\r\n // Minute\r\n proto.minute = proto.minutes = getSetMinute;\r\n\r\n // Second\r\n proto.second = proto.seconds = getSetSecond;\r\n\r\n // Millisecond\r\n proto.millisecond = proto.milliseconds = getSetMillisecond;\r\n\r\n // Offset\r\n proto.utcOffset = getSetOffset;\r\n proto.utc = setOffsetToUTC;\r\n proto.local = setOffsetToLocal;\r\n proto.parseZone = setOffsetToParsedOffset;\r\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\r\n proto.isDST = isDaylightSavingTime;\r\n proto.isLocal = isLocal;\r\n proto.isUtcOffset = isUtcOffset;\r\n proto.isUtc = isUtc;\r\n proto.isUTC = isUtc;\r\n\r\n // Timezone\r\n proto.zoneAbbr = getZoneAbbr;\r\n proto.zoneName = getZoneName;\r\n\r\n // Deprecations\r\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\r\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\r\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\r\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\r\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\r\n\r\n function createUnix(input) {\r\n return createLocal(input * 1000);\r\n }\r\n\r\n function createInZone() {\r\n return createLocal.apply(null, arguments).parseZone();\r\n }\r\n\r\n function preParsePostFormat(string) {\r\n return string;\r\n }\r\n\r\n var proto$1 = Locale.prototype;\r\n\r\n proto$1.calendar = calendar;\r\n proto$1.longDateFormat = longDateFormat;\r\n proto$1.invalidDate = invalidDate;\r\n proto$1.ordinal = ordinal;\r\n proto$1.preparse = preParsePostFormat;\r\n proto$1.postformat = preParsePostFormat;\r\n proto$1.relativeTime = relativeTime;\r\n proto$1.pastFuture = pastFuture;\r\n proto$1.set = set;\r\n\r\n // Month\r\n proto$1.months = localeMonths;\r\n proto$1.monthsShort = localeMonthsShort;\r\n proto$1.monthsParse = localeMonthsParse;\r\n proto$1.monthsRegex = monthsRegex;\r\n proto$1.monthsShortRegex = monthsShortRegex;\r\n\r\n // Week\r\n proto$1.week = localeWeek;\r\n proto$1.firstDayOfYear = localeFirstDayOfYear;\r\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\r\n\r\n // Day of Week\r\n proto$1.weekdays = localeWeekdays;\r\n proto$1.weekdaysMin = localeWeekdaysMin;\r\n proto$1.weekdaysShort = localeWeekdaysShort;\r\n proto$1.weekdaysParse = localeWeekdaysParse;\r\n\r\n proto$1.weekdaysRegex = weekdaysRegex;\r\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\r\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\r\n\r\n // Hours\r\n proto$1.isPM = localeIsPM;\r\n proto$1.meridiem = localeMeridiem;\r\n\r\n function get$1(format, index, field, setter) {\r\n var locale = getLocale();\r\n var utc = createUTC().set(setter, index);\r\n return locale[field](utc, format);\r\n }\r\n\r\n function listMonthsImpl(format, index, field) {\r\n if (isNumber(format)) {\r\n index = format;\r\n format = undefined;\r\n }\r\n\r\n format = format || '';\r\n\r\n if (index != null) {\r\n return get$1(format, index, field, 'month');\r\n }\r\n\r\n var i;\r\n var out = [];\r\n for (i = 0; i < 12; i++) {\r\n out[i] = get$1(format, i, field, 'month');\r\n }\r\n return out;\r\n }\r\n\r\n // ()\r\n // (5)\r\n // (fmt, 5)\r\n // (fmt)\r\n // (true)\r\n // (true, 5)\r\n // (true, fmt, 5)\r\n // (true, fmt)\r\n function listWeekdaysImpl(localeSorted, format, index, field) {\r\n if (typeof localeSorted === 'boolean') {\r\n if (isNumber(format)) {\r\n index = format;\r\n format = undefined;\r\n }\r\n\r\n format = format || '';\r\n } else {\r\n format = localeSorted;\r\n index = format;\r\n localeSorted = false;\r\n\r\n if (isNumber(format)) {\r\n index = format;\r\n format = undefined;\r\n }\r\n\r\n format = format || '';\r\n }\r\n\r\n var locale = getLocale(),\r\n shift = localeSorted ? locale._week.dow : 0;\r\n\r\n if (index != null) {\r\n return get$1(format, (index + shift) % 7, field, 'day');\r\n }\r\n\r\n var i;\r\n var out = [];\r\n for (i = 0; i < 7; i++) {\r\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\r\n }\r\n return out;\r\n }\r\n\r\n function listMonths(format, index) {\r\n return listMonthsImpl(format, index, 'months');\r\n }\r\n\r\n function listMonthsShort(format, index) {\r\n return listMonthsImpl(format, index, 'monthsShort');\r\n }\r\n\r\n function listWeekdays(localeSorted, format, index) {\r\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\r\n }\r\n\r\n function listWeekdaysShort(localeSorted, format, index) {\r\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\r\n }\r\n\r\n function listWeekdaysMin(localeSorted, format, index) {\r\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\r\n }\r\n\r\n getSetGlobalLocale('en', {\r\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\r\n ordinal: function (number) {\r\n var b = number % 10,\r\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\r\n (b === 1) ? 'st' :\r\n (b === 2) ? 'nd' :\r\n (b === 3) ? 'rd' : 'th';\r\n return number + output;\r\n }\r\n });\r\n\r\n // Side effect imports\r\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\r\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\r\n\r\n var mathAbs = Math.abs;\r\n\r\n function abs() {\r\n var data = this._data;\r\n\r\n this._milliseconds = mathAbs(this._milliseconds);\r\n this._days = mathAbs(this._days);\r\n this._months = mathAbs(this._months);\r\n\r\n data.milliseconds = mathAbs(data.milliseconds);\r\n data.seconds = mathAbs(data.seconds);\r\n data.minutes = mathAbs(data.minutes);\r\n data.hours = mathAbs(data.hours);\r\n data.months = mathAbs(data.months);\r\n data.years = mathAbs(data.years);\r\n\r\n return this;\r\n }\r\n\r\n function addSubtract$1(duration, input, value, direction) {\r\n var other = createDuration(input, value);\r\n\r\n duration._milliseconds += direction * other._milliseconds;\r\n duration._days += direction * other._days;\r\n duration._months += direction * other._months;\r\n\r\n return duration._bubble();\r\n }\r\n\r\n // supports only 2.0-style add(1, 's') or add(duration)\r\n function add$1(input, value) {\r\n return addSubtract$1(this, input, value, 1);\r\n }\r\n\r\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\r\n function subtract$1(input, value) {\r\n return addSubtract$1(this, input, value, -1);\r\n }\r\n\r\n function absCeil(number) {\r\n if (number < 0) {\r\n return Math.floor(number);\r\n } else {\r\n return Math.ceil(number);\r\n }\r\n }\r\n\r\n function bubble() {\r\n var milliseconds = this._milliseconds;\r\n var days = this._days;\r\n var months = this._months;\r\n var data = this._data;\r\n var seconds, minutes, hours, years, monthsFromDays;\r\n\r\n // if we have a mix of positive and negative values, bubble down first\r\n // check: https://github.com/moment/moment/issues/2166\r\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\r\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\r\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\r\n days = 0;\r\n months = 0;\r\n }\r\n\r\n // The following code bubbles up values, see the tests for\r\n // examples of what that means.\r\n data.milliseconds = milliseconds % 1000;\r\n\r\n seconds = absFloor(milliseconds / 1000);\r\n data.seconds = seconds % 60;\r\n\r\n minutes = absFloor(seconds / 60);\r\n data.minutes = minutes % 60;\r\n\r\n hours = absFloor(minutes / 60);\r\n data.hours = hours % 24;\r\n\r\n days += absFloor(hours / 24);\r\n\r\n // convert days to months\r\n monthsFromDays = absFloor(daysToMonths(days));\r\n months += monthsFromDays;\r\n days -= absCeil(monthsToDays(monthsFromDays));\r\n\r\n // 12 months -> 1 year\r\n years = absFloor(months / 12);\r\n months %= 12;\r\n\r\n data.days = days;\r\n data.months = months;\r\n data.years = years;\r\n\r\n return this;\r\n }\r\n\r\n function daysToMonths(days) {\r\n // 400 years have 146097 days (taking into account leap year rules)\r\n // 400 years have 12 months === 4800\r\n return days * 4800 / 146097;\r\n }\r\n\r\n function monthsToDays(months) {\r\n // the reverse of daysToMonths\r\n return months * 146097 / 4800;\r\n }\r\n\r\n function as(units) {\r\n if (!this.isValid()) {\r\n return NaN;\r\n }\r\n var days;\r\n var months;\r\n var milliseconds = this._milliseconds;\r\n\r\n units = normalizeUnits(units);\r\n\r\n if (units === 'month' || units === 'year') {\r\n days = this._days + milliseconds / 864e5;\r\n months = this._months + daysToMonths(days);\r\n return units === 'month' ? months : months / 12;\r\n } else {\r\n // handle milliseconds separately because of floating point math errors (issue #1867)\r\n days = this._days + Math.round(monthsToDays(this._months));\r\n switch (units) {\r\n case 'week': return days / 7 + milliseconds / 6048e5;\r\n case 'day': return days + milliseconds / 864e5;\r\n case 'hour': return days * 24 + milliseconds / 36e5;\r\n case 'minute': return days * 1440 + milliseconds / 6e4;\r\n case 'second': return days * 86400 + milliseconds / 1000;\r\n // Math.floor prevents floating point math errors here\r\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\r\n default: throw new Error('Unknown unit ' + units);\r\n }\r\n }\r\n }\r\n\r\n // TODO: Use this.as('ms')?\r\n function valueOf$1() {\r\n if (!this.isValid()) {\r\n return NaN;\r\n }\r\n return (\r\n this._milliseconds +\r\n this._days * 864e5 +\r\n (this._months % 12) * 2592e6 +\r\n toInt(this._months / 12) * 31536e6\r\n );\r\n }\r\n\r\n function makeAs(alias) {\r\n return function () {\r\n return this.as(alias);\r\n };\r\n }\r\n\r\n var asMilliseconds = makeAs('ms');\r\n var asSeconds = makeAs('s');\r\n var asMinutes = makeAs('m');\r\n var asHours = makeAs('h');\r\n var asDays = makeAs('d');\r\n var asWeeks = makeAs('w');\r\n var asMonths = makeAs('M');\r\n var asYears = makeAs('y');\r\n\r\n function clone$1() {\r\n return createDuration(this);\r\n }\r\n\r\n function get$2(units) {\r\n units = normalizeUnits(units);\r\n return this.isValid() ? this[units + 's']() : NaN;\r\n }\r\n\r\n function makeGetter(name) {\r\n return function () {\r\n return this.isValid() ? this._data[name] : NaN;\r\n };\r\n }\r\n\r\n var milliseconds = makeGetter('milliseconds');\r\n var seconds = makeGetter('seconds');\r\n var minutes = makeGetter('minutes');\r\n var hours = makeGetter('hours');\r\n var days = makeGetter('days');\r\n var months = makeGetter('months');\r\n var years = makeGetter('years');\r\n\r\n function weeks() {\r\n return absFloor(this.days() / 7);\r\n }\r\n\r\n var round = Math.round;\r\n var thresholds = {\r\n ss: 44, // a few seconds to seconds\r\n s: 45, // seconds to minute\r\n m: 45, // minutes to hour\r\n h: 22, // hours to day\r\n d: 26, // days to month\r\n M: 11 // months to year\r\n };\r\n\r\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\r\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\r\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\r\n }\r\n\r\n function relativeTime$1(posNegDuration, withoutSuffix, locale) {\r\n var duration = createDuration(posNegDuration).abs();\r\n var seconds = round(duration.as('s'));\r\n var minutes = round(duration.as('m'));\r\n var hours = round(duration.as('h'));\r\n var days = round(duration.as('d'));\r\n var months = round(duration.as('M'));\r\n var years = round(duration.as('y'));\r\n\r\n var a = seconds <= thresholds.ss && ['s', seconds] ||\r\n seconds < thresholds.s && ['ss', seconds] ||\r\n minutes <= 1 && ['m'] ||\r\n minutes < thresholds.m && ['mm', minutes] ||\r\n hours <= 1 && ['h'] ||\r\n hours < thresholds.h && ['hh', hours] ||\r\n days <= 1 && ['d'] ||\r\n days < thresholds.d && ['dd', days] ||\r\n months <= 1 && ['M'] ||\r\n months < thresholds.M && ['MM', months] ||\r\n years <= 1 && ['y'] || ['yy', years];\r\n\r\n a[2] = withoutSuffix;\r\n a[3] = +posNegDuration > 0;\r\n a[4] = locale;\r\n return substituteTimeAgo.apply(null, a);\r\n }\r\n\r\n // This function allows you to set the rounding function for relative time strings\r\n function getSetRelativeTimeRounding(roundingFunction) {\r\n if (roundingFunction === undefined) {\r\n return round;\r\n }\r\n if (typeof (roundingFunction) === 'function') {\r\n round = roundingFunction;\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n // This function allows you to set a threshold for relative time strings\r\n function getSetRelativeTimeThreshold(threshold, limit) {\r\n if (thresholds[threshold] === undefined) {\r\n return false;\r\n }\r\n if (limit === undefined) {\r\n return thresholds[threshold];\r\n }\r\n thresholds[threshold] = limit;\r\n if (threshold === 's') {\r\n thresholds.ss = limit - 1;\r\n }\r\n return true;\r\n }\r\n\r\n function humanize(withSuffix) {\r\n if (!this.isValid()) {\r\n return this.localeData().invalidDate();\r\n }\r\n\r\n var locale = this.localeData();\r\n var output = relativeTime$1(this, !withSuffix, locale);\r\n\r\n if (withSuffix) {\r\n output = locale.pastFuture(+this, output);\r\n }\r\n\r\n return locale.postformat(output);\r\n }\r\n\r\n var abs$1 = Math.abs;\r\n\r\n function sign(x) {\r\n return ((x > 0) - (x < 0)) || +x;\r\n }\r\n\r\n function toISOString$1() {\r\n // for ISO strings we do not use the normal bubbling rules:\r\n // * milliseconds bubble up until they become hours\r\n // * days do not bubble at all\r\n // * months bubble up until they become years\r\n // This is because there is no context-free conversion between hours and days\r\n // (think of clock changes)\r\n // and also not between days and months (28-31 days per month)\r\n if (!this.isValid()) {\r\n return this.localeData().invalidDate();\r\n }\r\n\r\n var seconds = abs$1(this._milliseconds) / 1000;\r\n var days = abs$1(this._days);\r\n var months = abs$1(this._months);\r\n var minutes, hours, years;\r\n\r\n // 3600 seconds -> 60 minutes -> 1 hour\r\n minutes = absFloor(seconds / 60);\r\n hours = absFloor(minutes / 60);\r\n seconds %= 60;\r\n minutes %= 60;\r\n\r\n // 12 months -> 1 year\r\n years = absFloor(months / 12);\r\n months %= 12;\r\n\r\n\r\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\r\n var Y = years;\r\n var M = months;\r\n var D = days;\r\n var h = hours;\r\n var m = minutes;\r\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\r\n var total = this.asSeconds();\r\n\r\n if (!total) {\r\n // this is the same as C#'s (Noda) and python (isodate)...\r\n // but not other JS (goog.date)\r\n return 'P0D';\r\n }\r\n\r\n var totalSign = total < 0 ? '-' : '';\r\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\r\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\r\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\r\n\r\n return totalSign + 'P' +\r\n (Y ? ymSign + Y + 'Y' : '') +\r\n (M ? ymSign + M + 'M' : '') +\r\n (D ? daysSign + D + 'D' : '') +\r\n ((h || m || s) ? 'T' : '') +\r\n (h ? hmsSign + h + 'H' : '') +\r\n (m ? hmsSign + m + 'M' : '') +\r\n (s ? hmsSign + s + 'S' : '');\r\n }\r\n\r\n var proto$2 = Duration.prototype;\r\n\r\n proto$2.isValid = isValid$1;\r\n proto$2.abs = abs;\r\n proto$2.add = add$1;\r\n proto$2.subtract = subtract$1;\r\n proto$2.as = as;\r\n proto$2.asMilliseconds = asMilliseconds;\r\n proto$2.asSeconds = asSeconds;\r\n proto$2.asMinutes = asMinutes;\r\n proto$2.asHours = asHours;\r\n proto$2.asDays = asDays;\r\n proto$2.asWeeks = asWeeks;\r\n proto$2.asMonths = asMonths;\r\n proto$2.asYears = asYears;\r\n proto$2.valueOf = valueOf$1;\r\n proto$2._bubble = bubble;\r\n proto$2.clone = clone$1;\r\n proto$2.get = get$2;\r\n proto$2.milliseconds = milliseconds;\r\n proto$2.seconds = seconds;\r\n proto$2.minutes = minutes;\r\n proto$2.hours = hours;\r\n proto$2.days = days;\r\n proto$2.weeks = weeks;\r\n proto$2.months = months;\r\n proto$2.years = years;\r\n proto$2.humanize = humanize;\r\n proto$2.toISOString = toISOString$1;\r\n proto$2.toString = toISOString$1;\r\n proto$2.toJSON = toISOString$1;\r\n proto$2.locale = locale;\r\n proto$2.localeData = localeData;\r\n\r\n // Deprecations\r\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\r\n proto$2.lang = lang;\r\n\r\n // Side effect imports\r\n\r\n // FORMATTING\r\n\r\n addFormatToken('X', 0, 0, 'unix');\r\n addFormatToken('x', 0, 0, 'valueOf');\r\n\r\n // PARSING\r\n\r\n addRegexToken('x', matchSigned);\r\n addRegexToken('X', matchTimestamp);\r\n addParseToken('X', function (input, array, config) {\r\n config._d = new Date(parseFloat(input, 10) * 1000);\r\n });\r\n addParseToken('x', function (input, array, config) {\r\n config._d = new Date(toInt(input));\r\n });\r\n\r\n // Side effect imports\r\n\r\n\r\n hooks.version = '2.19.1';\r\n\r\n setHookCallback(createLocal);\r\n\r\n hooks.fn = proto;\r\n hooks.min = min;\r\n hooks.max = max;\r\n hooks.now = now;\r\n hooks.utc = createUTC;\r\n hooks.unix = createUnix;\r\n hooks.months = listMonths;\r\n hooks.isDate = isDate;\r\n hooks.locale = getSetGlobalLocale;\r\n hooks.invalid = createInvalid;\r\n hooks.duration = createDuration;\r\n hooks.isMoment = isMoment;\r\n hooks.weekdays = listWeekdays;\r\n hooks.parseZone = createInZone;\r\n hooks.localeData = getLocale;\r\n hooks.isDuration = isDuration;\r\n hooks.monthsShort = listMonthsShort;\r\n hooks.weekdaysMin = listWeekdaysMin;\r\n hooks.defineLocale = defineLocale;\r\n hooks.updateLocale = updateLocale;\r\n hooks.locales = listLocales;\r\n hooks.weekdaysShort = listWeekdaysShort;\r\n hooks.normalizeUnits = normalizeUnits;\r\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\r\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\r\n hooks.calendarFormat = getCalendarFormat;\r\n hooks.prototype = proto;\r\n\r\n return hooks;\r\n\r\n})));\r\n","/*!\r\n * mustache.js - Logic-less {{mustache}} templates with JavaScript\r\n * http://github.com/janl/mustache.js\r\n */\r\n\r\n/*global define: false Mustache: true*/\r\n\r\n(function defineMustache (global, factory) {\r\n if (typeof exports === 'object' && exports && typeof exports.nodeName !== 'string') {\r\n factory(exports); // CommonJS\r\n } else if (typeof define === 'function' && define.amd) {\r\n define(['exports'], factory); // AMD\r\n } else {\r\n global.Mustache = {};\r\n factory(global.Mustache); // script, wsh, asp\r\n }\r\n}(this, function mustacheFactory (mustache) {\r\n\r\n var objectToString = Object.prototype.toString;\r\n var isArray = Array.isArray || function isArrayPolyfill (object) {\r\n return objectToString.call(object) === '[object Array]';\r\n };\r\n\r\n function isFunction (object) {\r\n return typeof object === 'function';\r\n }\r\n\r\n /**\r\n * More correct typeof string handling array\r\n * which normally returns typeof 'object'\r\n */\r\n function typeStr (obj) {\r\n return isArray(obj) ? 'array' : typeof obj;\r\n }\r\n\r\n function escapeRegExp (string) {\r\n return string.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, '\\\\$&');\r\n }\r\n\r\n /**\r\n * Null safe way of checking whether or not an object,\r\n * including its prototype, has a given property\r\n */\r\n function hasProperty (obj, propName) {\r\n return obj != null && typeof obj === 'object' && (propName in obj);\r\n }\r\n\r\n // Workaround for https://issues.apache.org/jira/browse/COUCHDB-577\r\n // See https://github.com/janl/mustache.js/issues/189\r\n var regExpTest = RegExp.prototype.test;\r\n function testRegExp (re, string) {\r\n return regExpTest.call(re, string);\r\n }\r\n\r\n var nonSpaceRe = /\\S/;\r\n function isWhitespace (string) {\r\n return !testRegExp(nonSpaceRe, string);\r\n }\r\n\r\n var entityMap = {\r\n '&': '&',\r\n '<': '<',\r\n '>': '>',\r\n '\"': '"',\r\n \"'\": ''',\r\n '/': '/',\r\n '`': '`',\r\n '=': '='\r\n };\r\n\r\n function escapeHtml (string) {\r\n return String(string).replace(/[&<>\"'`=\\/]/g, function fromEntityMap (s) {\r\n return entityMap[s];\r\n });\r\n }\r\n\r\n var whiteRe = /\\s*/;\r\n var spaceRe = /\\s+/;\r\n var equalsRe = /\\s*=/;\r\n var curlyRe = /\\s*\\}/;\r\n var tagRe = /#|\\^|\\/|>|\\{|&|=|!/;\r\n\r\n /**\r\n * Breaks up the given `template` string into a tree of tokens. If the `tags`\r\n * argument is given here it must be an array with two string values: the\r\n * opening and closing tags used in the template (e.g. [ \"<%\", \"%>\" ]). Of\r\n * course, the default is to use mustaches (i.e. mustache.tags).\r\n *\r\n * A token is an array with at least 4 elements. The first element is the\r\n * mustache symbol that was used inside the tag, e.g. \"#\" or \"&\". If the tag\r\n * did not contain a symbol (i.e. {{myValue}}) this element is \"name\". For\r\n * all text that appears outside a symbol this element is \"text\".\r\n *\r\n * The second element of a token is its \"value\". For mustache tags this is\r\n * whatever else was inside the tag besides the opening symbol. For text tokens\r\n * this is the text itself.\r\n *\r\n * The third and fourth elements of the token are the start and end indices,\r\n * respectively, of the token in the original template.\r\n *\r\n * Tokens that are the root node of a subtree contain two more elements: 1) an\r\n * array of tokens in the subtree and 2) the index in the original template at\r\n * which the closing tag for that section begins.\r\n */\r\n function parseTemplate (template, tags) {\r\n if (!template)\r\n return [];\r\n\r\n var sections = []; // Stack to hold section tokens\r\n var tokens = []; // Buffer to hold the tokens\r\n var spaces = []; // Indices of whitespace tokens on the current line\r\n var hasTag = false; // Is there a {{tag}} on the current line?\r\n var nonSpace = false; // Is there a non-space char on the current line?\r\n\r\n // Strips all whitespace tokens array for the current line\r\n // if there was a {{#tag}} on it and otherwise only space.\r\n function stripSpace () {\r\n if (hasTag && !nonSpace) {\r\n while (spaces.length)\r\n delete tokens[spaces.pop()];\r\n } else {\r\n spaces = [];\r\n }\r\n\r\n hasTag = false;\r\n nonSpace = false;\r\n }\r\n\r\n var openingTagRe, closingTagRe, closingCurlyRe;\r\n function compileTags (tagsToCompile) {\r\n if (typeof tagsToCompile === 'string')\r\n tagsToCompile = tagsToCompile.split(spaceRe, 2);\r\n\r\n if (!isArray(tagsToCompile) || tagsToCompile.length !== 2)\r\n throw new Error('Invalid tags: ' + tagsToCompile);\r\n\r\n openingTagRe = new RegExp(escapeRegExp(tagsToCompile[0]) + '\\\\s*');\r\n closingTagRe = new RegExp('\\\\s*' + escapeRegExp(tagsToCompile[1]));\r\n closingCurlyRe = new RegExp('\\\\s*' + escapeRegExp('}' + tagsToCompile[1]));\r\n }\r\n\r\n compileTags(tags || mustache.tags);\r\n\r\n var scanner = new Scanner(template);\r\n\r\n var start, type, value, chr, token, openSection;\r\n while (!scanner.eos()) {\r\n start = scanner.pos;\r\n\r\n // Match any text between tags.\r\n value = scanner.scanUntil(openingTagRe);\r\n\r\n if (value) {\r\n for (var i = 0, valueLength = value.length; i < valueLength; ++i) {\r\n chr = value.charAt(i);\r\n\r\n if (isWhitespace(chr)) {\r\n spaces.push(tokens.length);\r\n } else {\r\n nonSpace = true;\r\n }\r\n\r\n tokens.push([ 'text', chr, start, start + 1 ]);\r\n start += 1;\r\n\r\n // Check for whitespace on the current line.\r\n if (chr === '\\n')\r\n stripSpace();\r\n }\r\n }\r\n\r\n // Match the opening tag.\r\n if (!scanner.scan(openingTagRe))\r\n break;\r\n\r\n hasTag = true;\r\n\r\n // Get the tag type.\r\n type = scanner.scan(tagRe) || 'name';\r\n scanner.scan(whiteRe);\r\n\r\n // Get the tag value.\r\n if (type === '=') {\r\n value = scanner.scanUntil(equalsRe);\r\n scanner.scan(equalsRe);\r\n scanner.scanUntil(closingTagRe);\r\n } else if (type === '{') {\r\n value = scanner.scanUntil(closingCurlyRe);\r\n scanner.scan(curlyRe);\r\n scanner.scanUntil(closingTagRe);\r\n type = '&';\r\n } else {\r\n value = scanner.scanUntil(closingTagRe);\r\n }\r\n\r\n // Match the closing tag.\r\n if (!scanner.scan(closingTagRe))\r\n throw new Error('Unclosed tag at ' + scanner.pos);\r\n\r\n token = [ type, value, start, scanner.pos ];\r\n tokens.push(token);\r\n\r\n if (type === '#' || type === '^') {\r\n sections.push(token);\r\n } else if (type === '/') {\r\n // Check section nesting.\r\n openSection = sections.pop();\r\n\r\n if (!openSection)\r\n throw new Error('Unopened section \"' + value + '\" at ' + start);\r\n\r\n if (openSection[1] !== value)\r\n throw new Error('Unclosed section \"' + openSection[1] + '\" at ' + start);\r\n } else if (type === 'name' || type === '{' || type === '&') {\r\n nonSpace = true;\r\n } else if (type === '=') {\r\n // Set the tags for the next time around.\r\n compileTags(value);\r\n }\r\n }\r\n\r\n // Make sure there are no open sections when we're done.\r\n openSection = sections.pop();\r\n\r\n if (openSection)\r\n throw new Error('Unclosed section \"' + openSection[1] + '\" at ' + scanner.pos);\r\n\r\n return nestTokens(squashTokens(tokens));\r\n }\r\n\r\n /**\r\n * Combines the values of consecutive text tokens in the given `tokens` array\r\n * to a single token.\r\n */\r\n function squashTokens (tokens) {\r\n var squashedTokens = [];\r\n\r\n var token, lastToken;\r\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\r\n token = tokens[i];\r\n\r\n if (token) {\r\n if (token[0] === 'text' && lastToken && lastToken[0] === 'text') {\r\n lastToken[1] += token[1];\r\n lastToken[3] = token[3];\r\n } else {\r\n squashedTokens.push(token);\r\n lastToken = token;\r\n }\r\n }\r\n }\r\n\r\n return squashedTokens;\r\n }\r\n\r\n /**\r\n * Forms the given array of `tokens` into a nested tree structure where\r\n * tokens that represent a section have two additional items: 1) an array of\r\n * all tokens that appear in that section and 2) the index in the original\r\n * template that represents the end of that section.\r\n */\r\n function nestTokens (tokens) {\r\n var nestedTokens = [];\r\n var collector = nestedTokens;\r\n var sections = [];\r\n\r\n var token, section;\r\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\r\n token = tokens[i];\r\n\r\n switch (token[0]) {\r\n case '#':\r\n case '^':\r\n collector.push(token);\r\n sections.push(token);\r\n collector = token[4] = [];\r\n break;\r\n case '/':\r\n section = sections.pop();\r\n section[5] = token[2];\r\n collector = sections.length > 0 ? sections[sections.length - 1][4] : nestedTokens;\r\n break;\r\n default:\r\n collector.push(token);\r\n }\r\n }\r\n\r\n return nestedTokens;\r\n }\r\n\r\n /**\r\n * A simple string scanner that is used by the template parser to find\r\n * tokens in template strings.\r\n */\r\n function Scanner (string) {\r\n this.string = string;\r\n this.tail = string;\r\n this.pos = 0;\r\n }\r\n\r\n /**\r\n * Returns `true` if the tail is empty (end of string).\r\n */\r\n Scanner.prototype.eos = function eos () {\r\n return this.tail === '';\r\n };\r\n\r\n /**\r\n * Tries to match the given regular expression at the current position.\r\n * Returns the matched text if it can match, the empty string otherwise.\r\n */\r\n Scanner.prototype.scan = function scan (re) {\r\n var match = this.tail.match(re);\r\n\r\n if (!match || match.index !== 0)\r\n return '';\r\n\r\n var string = match[0];\r\n\r\n this.tail = this.tail.substring(string.length);\r\n this.pos += string.length;\r\n\r\n return string;\r\n };\r\n\r\n /**\r\n * Skips all text until the given regular expression can be matched. Returns\r\n * the skipped string, which is the entire tail if no match can be made.\r\n */\r\n Scanner.prototype.scanUntil = function scanUntil (re) {\r\n var index = this.tail.search(re), match;\r\n\r\n switch (index) {\r\n case -1:\r\n match = this.tail;\r\n this.tail = '';\r\n break;\r\n case 0:\r\n match = '';\r\n break;\r\n default:\r\n match = this.tail.substring(0, index);\r\n this.tail = this.tail.substring(index);\r\n }\r\n\r\n this.pos += match.length;\r\n\r\n return match;\r\n };\r\n\r\n /**\r\n * Represents a rendering context by wrapping a view object and\r\n * maintaining a reference to the parent context.\r\n */\r\n function Context (view, parentContext) {\r\n this.view = view;\r\n this.cache = { '.': this.view };\r\n this.parent = parentContext;\r\n }\r\n\r\n /**\r\n * Creates a new context using the given view with this context\r\n * as the parent.\r\n */\r\n Context.prototype.push = function push (view) {\r\n return new Context(view, this);\r\n };\r\n\r\n /**\r\n * Returns the value of the given name in this context, traversing\r\n * up the context hierarchy if the value is absent in this context's view.\r\n */\r\n Context.prototype.lookup = function lookup (name) {\r\n var cache = this.cache;\r\n\r\n var value;\r\n if (cache.hasOwnProperty(name)) {\r\n value = cache[name];\r\n } else {\r\n var context = this, names, index, lookupHit = false;\r\n\r\n while (context) {\r\n if (name.indexOf('.') > 0) {\r\n value = context.view;\r\n names = name.split('.');\r\n index = 0;\r\n\r\n /**\r\n * Using the dot notion path in `name`, we descend through the\r\n * nested objects.\r\n *\r\n * To be certain that the lookup has been successful, we have to\r\n * check if the last object in the path actually has the property\r\n * we are looking for. We store the result in `lookupHit`.\r\n *\r\n * This is specially necessary for when the value has been set to\r\n * `undefined` and we want to avoid looking up parent contexts.\r\n **/\r\n while (value != null && index < names.length) {\r\n if (index === names.length - 1)\r\n lookupHit = hasProperty(value, names[index]);\r\n\r\n value = value[names[index++]];\r\n }\r\n } else {\r\n value = context.view[name];\r\n lookupHit = hasProperty(context.view, name);\r\n }\r\n\r\n if (lookupHit)\r\n break;\r\n\r\n context = context.parent;\r\n }\r\n\r\n cache[name] = value;\r\n }\r\n\r\n if (isFunction(value))\r\n value = value.call(this.view);\r\n\r\n return value;\r\n };\r\n\r\n /**\r\n * A Writer knows how to take a stream of tokens and render them to a\r\n * string, given a context. It also maintains a cache of templates to\r\n * avoid the need to parse the same template twice.\r\n */\r\n function Writer () {\r\n this.cache = {};\r\n }\r\n\r\n /**\r\n * Clears all cached templates in this writer.\r\n */\r\n Writer.prototype.clearCache = function clearCache () {\r\n this.cache = {};\r\n };\r\n\r\n /**\r\n * Parses and caches the given `template` and returns the array of tokens\r\n * that is generated from the parse.\r\n */\r\n Writer.prototype.parse = function parse (template, tags) {\r\n var cache = this.cache;\r\n var tokens = cache[template];\r\n\r\n if (tokens == null)\r\n tokens = cache[template + ':' + (tags || mustache.tags).join(':')] = parseTemplate(template, tags);\r\n\r\n return tokens;\r\n };\r\n\r\n /**\r\n * High-level method that is used to render the given `template` with\r\n * the given `view`.\r\n *\r\n * The optional `partials` argument may be an object that contains the\r\n * names and templates of partials that are used in the template. It may\r\n * also be a function that is used to load partial templates on the fly\r\n * that takes a single argument: the name of the partial.\r\n */\r\n Writer.prototype.render = function render (template, view, partials) {\r\n var tokens = this.parse(template);\r\n var context = (view instanceof Context) ? view : new Context(view);\r\n return this.renderTokens(tokens, context, partials, template);\r\n };\r\n\r\n /**\r\n * Low-level method that renders the given array of `tokens` using\r\n * the given `context` and `partials`.\r\n *\r\n * Note: The `originalTemplate` is only ever used to extract the portion\r\n * of the original template that was contained in a higher-order section.\r\n * If the template doesn't use higher-order sections, this argument may\r\n * be omitted.\r\n */\r\n Writer.prototype.renderTokens = function renderTokens (tokens, context, partials, originalTemplate) {\r\n var buffer = '';\r\n\r\n var token, symbol, value;\r\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\r\n value = undefined;\r\n token = tokens[i];\r\n symbol = token[0];\r\n\r\n if (symbol === '#') value = this.renderSection(token, context, partials, originalTemplate);\r\n else if (symbol === '^') value = this.renderInverted(token, context, partials, originalTemplate);\r\n else if (symbol === '>') value = this.renderPartial(token, context, partials, originalTemplate);\r\n else if (symbol === '&') value = this.unescapedValue(token, context);\r\n else if (symbol === 'name') value = this.escapedValue(token, context);\r\n else if (symbol === 'text') value = this.rawValue(token);\r\n\r\n if (value !== undefined)\r\n buffer += value;\r\n }\r\n\r\n return buffer;\r\n };\r\n\r\n Writer.prototype.renderSection = function renderSection (token, context, partials, originalTemplate) {\r\n var self = this;\r\n var buffer = '';\r\n var value = context.lookup(token[1]);\r\n\r\n // This function is used to render an arbitrary template\r\n // in the current context by higher-order sections.\r\n function subRender (template) {\r\n return self.render(template, context, partials);\r\n }\r\n\r\n if (!value) return;\r\n\r\n if (isArray(value)) {\r\n for (var j = 0, valueLength = value.length; j < valueLength; ++j) {\r\n buffer += this.renderTokens(token[4], context.push(value[j]), partials, originalTemplate);\r\n }\r\n } else if (typeof value === 'object' || typeof value === 'string' || typeof value === 'number') {\r\n buffer += this.renderTokens(token[4], context.push(value), partials, originalTemplate);\r\n } else if (isFunction(value)) {\r\n if (typeof originalTemplate !== 'string')\r\n throw new Error('Cannot use higher-order sections without the original template');\r\n\r\n // Extract the portion of the original template that the section contains.\r\n value = value.call(context.view, originalTemplate.slice(token[3], token[5]), subRender);\r\n\r\n if (value != null)\r\n buffer += value;\r\n } else {\r\n buffer += this.renderTokens(token[4], context, partials, originalTemplate);\r\n }\r\n return buffer;\r\n };\r\n\r\n Writer.prototype.renderInverted = function renderInverted (token, context, partials, originalTemplate) {\r\n var value = context.lookup(token[1]);\r\n\r\n // Use JavaScript's definition of falsy. Include empty arrays.\r\n // See https://github.com/janl/mustache.js/issues/186\r\n if (!value || (isArray(value) && value.length === 0))\r\n return this.renderTokens(token[4], context, partials, originalTemplate);\r\n };\r\n\r\n Writer.prototype.renderPartial = function renderPartial (token, context, partials) {\r\n if (!partials) return;\r\n\r\n var value = isFunction(partials) ? partials(token[1]) : partials[token[1]];\r\n if (value != null)\r\n return this.renderTokens(this.parse(value), context, partials, value);\r\n };\r\n\r\n Writer.prototype.unescapedValue = function unescapedValue (token, context) {\r\n var value = context.lookup(token[1]);\r\n if (value != null)\r\n return value;\r\n };\r\n\r\n Writer.prototype.escapedValue = function escapedValue (token, context) {\r\n var value = context.lookup(token[1]);\r\n if (value != null)\r\n return mustache.escape(value);\r\n };\r\n\r\n Writer.prototype.rawValue = function rawValue (token) {\r\n return token[1];\r\n };\r\n\r\n mustache.name = 'mustache.js';\r\n mustache.version = '2.3.0';\r\n mustache.tags = [ '{{', '}}' ];\r\n\r\n // All high-level mustache.* functions use this writer.\r\n var defaultWriter = new Writer();\r\n\r\n /**\r\n * Clears all cached templates in the default writer.\r\n */\r\n mustache.clearCache = function clearCache () {\r\n return defaultWriter.clearCache();\r\n };\r\n\r\n /**\r\n * Parses and caches the given template in the default writer and returns the\r\n * array of tokens it contains. Doing this ahead of time avoids the need to\r\n * parse templates on the fly as they are rendered.\r\n */\r\n mustache.parse = function parse (template, tags) {\r\n return defaultWriter.parse(template, tags);\r\n };\r\n\r\n /**\r\n * Renders the `template` with the given `view` and `partials` using the\r\n * default writer.\r\n */\r\n mustache.render = function render (template, view, partials) {\r\n if (typeof template !== 'string') {\r\n throw new TypeError('Invalid template! Template should be a \"string\" ' +\r\n 'but \"' + typeStr(template) + '\" was given as the first ' +\r\n 'argument for mustache#render(template, view, partials)');\r\n }\r\n\r\n return defaultWriter.render(template, view, partials);\r\n };\r\n\r\n // This is here for backwards compatibility with 0.4.x.,\r\n /*eslint-disable */ // eslint wants camel cased function name\r\n mustache.to_html = function to_html (template, view, partials, send) {\r\n /*eslint-enable*/\r\n\r\n var result = mustache.render(template, view, partials);\r\n\r\n if (isFunction(send)) {\r\n send(result);\r\n } else {\r\n return result;\r\n }\r\n };\r\n\r\n // Export the escaping function so that the user may override it.\r\n // See https://github.com/janl/mustache.js/issues/244\r\n mustache.escape = escapeHtml;\r\n\r\n // Export these mainly for testing, but also for advanced usage.\r\n mustache.Scanner = Scanner;\r\n mustache.Context = Context;\r\n mustache.Writer = Writer;\r\n\r\n return mustache;\r\n}));\r\n","/*!\r\n * Responsive Bootstrap Toolkit\r\n * Author: Maciej Gurban\r\n * License: MIT\r\n * Version: 2.3.0 (2015-02-15)\r\n * Origin: https://github.com/maciej-gurban/responsive-bootstrap-toolkit\r\n */\r\n;var ResponsiveBootstrapToolkit = (function($){\r\n\r\n // Methods and properties\r\n var self = {\r\n\r\n /**\r\n * Determines default interval between firing 'changed' method\r\n */\r\n interval: 300,\r\n\r\n /**\r\n * Breakpoint aliases\r\n */\r\n breakpoints: {\r\n 'xs': $('
').appendTo('body'),\r\n 'sm': $('
').appendTo('body'),\r\n 'md': $('
').appendTo('body'),\r\n 'lg': $('
').appendTo('body')\r\n },\r\n\r\n /**\r\n * Used to calculate intervals between consecutive function executions\r\n */\r\n timer: new Date(),\r\n\r\n /**\r\n * Returns true if current breakpoint matches passed alias\r\n */\r\n is: function( alias ) {\r\n return self.breakpoints[alias].is(':visible');\r\n },\r\n\r\n /**\r\n * Returns current breakpoint alias\r\n */\r\n current: function(){\r\n var name = 'unrecognized';\r\n $.each(self.breakpoints, function(alias){\r\n if (self.is(alias)) {\r\n name = alias;\r\n }\r\n });\r\n return name;\r\n },\r\n\r\n /*\r\n * Waits specified number of miliseconds before executing a function\r\n * Source: http://stackoverflow.com/a/4541963/2066118\r\n */\r\n changed: function() {\r\n var timers = {};\r\n return function(callback, ms, uID) {\r\n // Get unique timer ID\r\n if (timers[uID]) {\r\n clearTimeout(timers[uID]);\r\n }\r\n // Use default interval if none specified\r\n if (typeof ms === \"undefined\") {\r\n ms = self.interval;\r\n }\r\n timers[uID] = setTimeout(callback, ms);\r\n };\r\n }()\r\n\r\n }\r\n\r\n return self;\r\n\r\n})(jQuery);\r\n","(function ($) {\r\n\r\n $.cookies = {};\r\n\r\n // Encodes a cookie text value, making sure to replace %20 with +\r\n // and + with %2b. This is done because %20 gets lost going to the\r\n // server.\r\n // @param {string} sText The text to encode.\r\n // @return {string} The encoded text.\r\n var _cookieEncode = function (sText) {\r\n if (!sText) {\r\n return \"\";\r\n } else {\r\n sText = sText.toString();\r\n }\r\n\r\n // first urlencode\r\n sText = encodeURIComponent(sText);\r\n\r\n // then replace + and space\r\n sText = sText.replace(/\\+/gi, \"%2B\").replace(/\\%20/gi, \"+\");\r\n\r\n // return the text\r\n return sText;\r\n };\r\n\r\n // Decodes a cookie text value, making sure to replace + with %20\r\n // and %2b with +. This undoes _cookieEncode().\r\n // @param {string} sText The text to decode.\r\n // @return {string} The decoded text.\r\n var _cookieDecode = function (sText) {\r\n if (!sText) {\r\n return \"\";\r\n } else {\r\n sText = sText.toString();\r\n }\r\n\r\n // first replace + and space\r\n sText = sText.replace(/\\+/gi, \"%20\").replace(/\\%2B/gi, \"+\");\r\n\r\n // now urldecode\r\n try {\r\n return decodeURIComponent(sText);\r\n } catch (ex) {\r\n // If URI decoding fails, it is probably because another library wrote to a cookie value\r\n // without URI encoding. Certain types of values can fail (i.e. \"%u\", which is a malformed unicode escape sequence)\r\n return sText;\r\n }\r\n\r\n };\r\n\r\n var _defaultPermanentDate = function () {\r\n var d = new Date();\r\n d.setFullYear(d.getFullYear() + 1);\r\n return d.toUTCString();\r\n };\r\n\r\n var _defaults = {\r\n domain: null,\r\n path: \"/\",\r\n permanentDate: _defaultPermanentDate(),\r\n watcher: $.noop\r\n };\r\n\r\n var _settings = _defaults;\r\n\r\n $.cookies.setDefaults = function (settings) {\r\n _settings = $.extend({}, _defaults, settings);\r\n };\r\n\r\n var _getDefault = function (key, overrideValue) {\r\n if (overrideValue) {\r\n return overrideValue;\r\n }\r\n\r\n return _settings[key];\r\n };\r\n\r\n // Runs a test to determine if cookies are enabled on the browser.\r\n // @return {boolean} True if cookies are enabled, false if not.\r\n $.cookies.enabled = function () {\r\n $.cookies.set(\"cookietest\", \"value\");\r\n if ($.cookies.get(\"cookietest\") == \"value\") {\r\n $.cookies.remove(\"cookietest\");\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n // Gets a cookie or sub-cookie value.\r\n // @param {string} name The name of the cookie\r\n // @param {string} subCookie Optional. The sub-cookie value to get\r\n // @return {string} or {object} (if the cookie contains subvalues)\r\n $.cookies.get = function (name, /* optional */ subCookie) {\r\n var cookies = new Cookies();\r\n var cookie = cookies[name];\r\n if (cookie) {\r\n if (subCookie) {\r\n if (cookie.subCookies) {\r\n return cookie.subCookies[subCookie] || null;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n if (cookie.subCookies) {\r\n return cookie.subCookies;\r\n } else {\r\n return cookie.value || \"\";\r\n }\r\n }\r\n\r\n return null;\r\n };\r\n\r\n // Sets a cookie value.\r\n // @param {string} or {object} nameOrData The name of the cookie or an object containing the arguments.\r\n // @param {string} or {object} value The value to set. Either a single value or an object of key value pairs.\r\n // @param {string} domain (Optional) The domain in which to store the cookie. Uses the default domain if not specified.\r\n // @param {Boolean} permanent (Optional) Indicates the cookie should be permanent. False by default.\r\n // @param {Boolean} clearExistingSubCookies (Optional) If true, all sub-cookoies will be erased before writing new ones. False by default.\r\n $.cookies.set = function (nameOrData, value, domain, permanent, clearExistingSubCookies) {\r\n var name = nameOrData;\r\n var path;\r\n\r\n if (typeof (nameOrData) == \"object\") {\r\n name = nameOrData.name;\r\n value = nameOrData.value;\r\n domain = nameOrData.domain;\r\n permanent = nameOrData.permanent;\r\n path = nameOrData.path;\r\n clearExistingSubCookies = nameOrData.clearExistingSubCookies || nameOrData.clearExisting;\r\n }\r\n\r\n // value may be a map of subvalues.\r\n var subCookies;\r\n if (typeof (value) == \"object\" && value !== null) {\r\n subCookies = value;\r\n value = null;\r\n }\r\n\r\n // Check for an existing cookie. If not, create it.\r\n var cookie = (new Cookies())[name];\r\n if (!cookie) {\r\n cookie = new Cookie();\r\n cookie.name = name;\r\n }\r\n\r\n cookie.value = value;\r\n\r\n if (subCookies) {\r\n if (clearExistingSubCookies || !cookie.subCookies) {\r\n cookie.subCookies = subCookies;\r\n } else {\r\n // Subcookies should be merged into the existing ones.\r\n for (var subCookie in subCookies) {\r\n if (subCookies.hasOwnProperty(subCookie)) {\r\n cookie.subCookies[subCookie] = subCookies[subCookie];\r\n }\r\n }\r\n }\r\n }\r\n\r\n cookie.domain = _getDefault(\"domain\", domain);\r\n cookie.path = _getDefault(\"path\", path);\r\n cookie.isPermanent = !!permanent;\r\n\r\n cookie.save();\r\n };\r\n\r\n // Deletes the cookie with the specified name.\r\n // @param {string} sName The name of the cookie to delete.\r\n $.cookies.remove = function (name, domain, path) {\r\n var cookie = _cookieEncode(name) + \"=a; path=\" + _getDefault(\"path\", path) + \"; expires=Wed, 17 Jan 1979 07:01:00 GMT\";\r\n\r\n domain = _getDefault(\"domain\", domain);\r\n if (domain) {\r\n cookie += \"; domain=\" + domain;\r\n }\r\n\r\n _settings.watcher(cookie);\r\n\r\n document.cookie = cookie;\r\n };\r\n\r\n // @class Represents a collection of cookies stored in the browser.\r\n // Exposes the cookies as a dictionary of cookie names and cookie objects.\r\n var Cookies = function () {\r\n var me = this;\r\n var cookie = document.cookie.toString();\r\n var cookieArray = cookie.split(\";\");\r\n\r\n var iLen = cookieArray.length;\r\n for (var i = 0; i < iLen; i++) {\r\n var oCookie = new Cookie();\r\n oCookie.parse(cookieArray[i]);\r\n if (oCookie.name) {\r\n me[oCookie.name] = oCookie;\r\n }\r\n }\r\n };\r\n\r\n // @class Represents a cookie. Contains a value or a subvalues collection.\r\n // @constructor\r\n var Cookie = function () {\r\n var me = this;\r\n\r\n // The name of the cookie\r\n this.name = null;\r\n\r\n // A collection of sub-values for the cookie. Null if there is a single value\r\n this.subCookies = null;\r\n\r\n\r\n // The value of the cookie. Null if there is a collection of sub-values\r\n this.value = null;\r\n\r\n\r\n // The domain of the cookie. If null, the default domain is used.\r\n this.domain = null;\r\n\r\n // The path of the cookie. If null, the default path / is used.\r\n this.path = null;\r\n\r\n // Indicates the cookie persists on users machines\r\n this.isPermanent = false;\r\n\r\n var _validateName = function () {\r\n if (!me.name) {\r\n throw new Error(\"Cookie: Cookie name is null.\");\r\n }\r\n };\r\n\r\n\r\n // Gets the cookie as a serialized string\r\n // @return {String}\r\n this.serialize = function () {\r\n _validateName();\r\n\r\n var cookie = _cookieEncode(me.name) + \"=\" + _getEncodedValue();\r\n\r\n cookie += \"; path=\" + _getDefault(\"path\", this.path);\r\n\r\n var domain = _getDefault(\"domain\", me.domain);\r\n if (domain) {\r\n cookie += \"; domain=\" + domain;\r\n }\r\n\r\n if (me.isPermanent) {\r\n cookie += \"; expires=\" + _getDefault(\"permanentDate\");\r\n }\r\n\r\n return cookie;\r\n };\r\n\r\n\r\n // Saves the value of the cookie- commits it to the browser's cookies.\r\n this.save = function () {\r\n _validateName();\r\n\r\n var cookie = me.serialize();\r\n _settings.watcher(cookie);\r\n\r\n document.cookie = cookie;\r\n };\r\n\r\n\r\n // Takes the encoded value of the cookie as it is stored on disk, and populates the object with it.\r\n // @param {string} sUnparsedValue The encoded cookie data\r\n this.parse = function (sUnparsedValue) {\r\n if (!sUnparsedValue) {\r\n return;\r\n }\r\n\r\n //trim the raw string off the leading and trailing spaces\r\n sUnparsedValue = sUnparsedValue.replace(/^\\s*(.*?)\\s*$/, \"$1\");\r\n\r\n //The name of the cookie is the value before the first \"=\"\r\n var iPosEquals = sUnparsedValue.indexOf(\"=\");\r\n if (iPosEquals <= 0) {\r\n return;\r\n }\r\n\r\n me.name = _cookieDecode(sUnparsedValue.substr(0, iPosEquals));\r\n\r\n var sValue = sUnparsedValue.substr(iPosEquals + 1);\r\n if (sValue.indexOf(\"=\") == -1) {\r\n me.value = _cookieDecode(sValue);\r\n return;\r\n }\r\n\r\n me.subCookies = {};\r\n\r\n var aSubCookies = sValue.split(\"&\");\r\n var iLen = aSubCookies.length;\r\n for (var i = 0; i < iLen; i++) {\r\n var aSubCookie = aSubCookies[i].split(\"=\");\r\n if (aSubCookie.length != 2) {\r\n me.subCookies = null;\r\n return;\r\n } else {\r\n me.subCookies[_cookieDecode(aSubCookie[0])] = _cookieDecode(aSubCookie[1]);\r\n }\r\n }\r\n };\r\n\r\n\r\n // Gets the encoded value of the cookie (handles subcookies too).\r\n var _getEncodedValue = function () {\r\n if (me.subCookies) {\r\n var aOut = [];\r\n for (var sSub in me.subCookies) {\r\n aOut.push(_cookieEncode(sSub) + \"=\" + _cookieEncode(me.subCookies[sSub]));\r\n }\r\n return aOut.join(\"&\");\r\n } else {\r\n return _cookieEncode(me.value);\r\n }\r\n };\r\n\r\n /* test-code */\r\n\r\n $.cookies.private = {\r\n _getEncodedValue: _getEncodedValue,\r\n _cookieEncode: _cookieEncode,\r\n _cookieDecode: _cookieDecode,\r\n _validateName: _validateName,\r\n _defaultPermanentDate: _defaultPermanentDate,\r\n _getDefault: _getDefault,\r\n Cookies: Cookies,\r\n Cookie: Cookie\r\n };\r\n\r\n /* end-test-code */\r\n };\r\n\r\n})(jQuery);","/*! jQuery UI - v1.10.4 - 2014-05-07\r\n* http://jqueryui.com\r\n* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.slider.js\r\n* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */\r\n\r\n(function(e,t){function i(t,i){var s,a,o,r=t.nodeName.toLowerCase();return\"area\"===r?(s=t.parentNode,a=s.name,t.href&&a&&\"map\"===s.nodeName.toLowerCase()?(o=e(\"img[usemap=#\"+a+\"]\")[0],!!o&&n(o)):!1):(/input|select|textarea|button|object/.test(r)?!t.disabled:\"a\"===r?t.href||i:i)&&n(t)}function n(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return\"hidden\"===e.css(this,\"visibility\")}).length}var s=0,a=/^ui-id-\\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:\"1.10.4\",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,n){return\"number\"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),n&&n.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css(\"position\"))||/absolute/.test(this.css(\"position\"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,\"position\"))&&/(auto|scroll)/.test(e.css(this,\"overflow\")+e.css(this,\"overflow-y\")+e.css(this,\"overflow-x\"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,\"overflow\")+e.css(this,\"overflow-y\")+e.css(this,\"overflow-x\"))}).eq(0),/fixed/.test(this.css(\"position\"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css(\"zIndex\",i);if(this.length)for(var n,s,a=e(this[0]);a.length&&a[0]!==document;){if(n=a.css(\"position\"),(\"absolute\"===n||\"relative\"===n||\"fixed\"===n)&&(s=parseInt(a.css(\"zIndex\"),10),!isNaN(s)&&0!==s))return s;a=a.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id=\"ui-id-\"+ ++s)})},removeUniqueId:function(){return this.each(function(){a.test(this.id)&&e(this).removeAttr(\"id\")})}}),e.extend(e.expr[\":\"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,n){return!!e.data(t,n[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,\"tabindex\")))},tabbable:function(t){var n=e.attr(t,\"tabindex\"),s=isNaN(n);return(s||n>=0)&&i(t,!s)}}),e(\"\").outerWidth(1).jquery||e.each([\"Width\",\"Height\"],function(i,n){function s(t,i,n,s){return e.each(a,function(){i-=parseFloat(e.css(t,\"padding\"+this))||0,n&&(i-=parseFloat(e.css(t,\"border\"+this+\"Width\"))||0),s&&(i-=parseFloat(e.css(t,\"margin\"+this))||0)}),i}var a=\"Width\"===n?[\"Left\",\"Right\"]:[\"Top\",\"Bottom\"],o=n.toLowerCase(),r={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn[\"inner\"+n]=function(i){return i===t?r[\"inner\"+n].call(this):this.each(function(){e(this).css(o,s(this,i)+\"px\")})},e.fn[\"outer\"+n]=function(t,i){return\"number\"!=typeof t?r[\"outer\"+n].call(this,t):this.each(function(){e(this).css(o,s(this,t,!0,i)+\"px\")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e(\"\").data(\"a-b\",\"a\").removeData(\"a-b\").data(\"a-b\")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart=\"onselectstart\"in document.createElement(\"div\"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?\"selectstart\":\"mousedown\")+\".ui-disableSelection\",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(\".ui-disableSelection\")}}),e.extend(e.ui,{plugin:{add:function(t,i,n){var s,a=e.ui[t].prototype;for(s in n)a.plugins[s]=a.plugins[s]||[],a.plugins[s].push([i,n[s]])},call:function(e,t,i){var n,s=e.plugins[t];if(s&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(n=0;s.length>n;n++)e.options[s[n][0]]&&s[n][1].apply(e.element,i)}},hasScroll:function(t,i){if(\"hidden\"===e(t).css(\"overflow\"))return!1;var n=i&&\"left\"===i?\"scrollLeft\":\"scrollTop\",s=!1;return t[n]>0?!0:(t[n]=1,s=t[n]>0,t[n]=0,s)}})})(jQuery);(function(t,e){var i=0,s=Array.prototype.slice,n=t.cleanData;t.cleanData=function(e){for(var i,s=0;null!=(i=e[s]);s++)try{t(i).triggerHandler(\"remove\")}catch(o){}n(e)},t.widget=function(i,s,n){var o,a,r,h,l={},c=i.split(\".\")[0];i=i.split(\".\")[1],o=c+\"-\"+i,n||(n=s,s=t.Widget),t.expr[\":\"][o.toLowerCase()]=function(e){return!!t.data(e,o)},t[c]=t[c]||{},a=t[c][i],r=t[c][i]=function(t,i){return this._createWidget?(arguments.length&&this._createWidget(t,i),e):new r(t,i)},t.extend(r,a,{version:n.version,_proto:t.extend({},n),_childConstructors:[]}),h=new s,h.options=t.widget.extend({},h.options),t.each(n,function(i,n){return t.isFunction(n)?(l[i]=function(){var t=function(){return s.prototype[i].apply(this,arguments)},e=function(t){return s.prototype[i].apply(this,t)};return function(){var i,s=this._super,o=this._superApply;return this._super=t,this._superApply=e,i=n.apply(this,arguments),this._super=s,this._superApply=o,i}}(),e):(l[i]=n,e)}),r.prototype=t.widget.extend(h,{widgetEventPrefix:a?h.widgetEventPrefix||i:i},l,{constructor:r,namespace:c,widgetName:i,widgetFullName:o}),a?(t.each(a._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+\".\"+s.widgetName,r,i._proto)}),delete a._childConstructors):s._childConstructors.push(r),t.widget.bridge(i,r)},t.widget.extend=function(i){for(var n,o,a=s.call(arguments,1),r=0,h=a.length;h>r;r++)for(n in a[r])o=a[r][n],a[r].hasOwnProperty(n)&&o!==e&&(i[n]=t.isPlainObject(o)?t.isPlainObject(i[n])?t.widget.extend({},i[n],o):t.widget.extend({},o):o);return i},t.widget.bridge=function(i,n){var o=n.prototype.widgetFullName||i;t.fn[i]=function(a){var r=\"string\"==typeof a,h=s.call(arguments,1),l=this;return a=!r&&h.length?t.widget.extend.apply(null,[a].concat(h)):a,r?this.each(function(){var s,n=t.data(this,o);return n?t.isFunction(n[a])&&\"_\"!==a.charAt(0)?(s=n[a].apply(n,h),s!==n&&s!==e?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):e):t.error(\"no such method '\"+a+\"' for \"+i+\" widget instance\"):t.error(\"cannot call methods on \"+i+\" prior to initialization; \"+\"attempted to call method '\"+a+\"'\")}):this.each(function(){var e=t.data(this,o);e?e.option(a||{})._init():t.data(this,o,new n(a,this))}),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:\"widget\",widgetEventPrefix:\"\",defaultElement:\"
\",options:{disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace=\".\"+this.widgetName+this.uuid,this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this.bindings=t(),this.hoverable=t(),this.focusable=t(),s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger(\"create\",null,this._getCreateEventData()),this._init()},_getCreateOptions:t.noop,_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr(\"aria-disabled\").removeClass(this.widgetFullName+\"-disabled \"+\"ui-state-disabled\"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass(\"ui-state-hover\"),this.focusable.removeClass(\"ui-state-focus\")},_destroy:t.noop,widget:function(){return this.element},option:function(i,s){var n,o,a,r=i;if(0===arguments.length)return t.widget.extend({},this.options);if(\"string\"==typeof i)if(r={},n=i.split(\".\"),i=n.shift(),n.length){for(o=r[i]=t.widget.extend({},this.options[i]),a=0;n.length-1>a;a++)o[n[a]]=o[n[a]]||{},o=o[n[a]];if(i=n.pop(),1===arguments.length)return o[i]===e?null:o[i];o[i]=s}else{if(1===arguments.length)return this.options[i]===e?null:this.options[i];r[i]=s}return this._setOptions(r),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return this.options[t]=e,\"disabled\"===t&&(this.widget().toggleClass(this.widgetFullName+\"-disabled ui-state-disabled\",!!e).attr(\"aria-disabled\",e),this.hoverable.removeClass(\"ui-state-hover\"),this.focusable.removeClass(\"ui-state-focus\")),this},enable:function(){return this._setOption(\"disabled\",!1)},disable:function(){return this._setOption(\"disabled\",!0)},_on:function(i,s,n){var o,a=this;\"boolean\"!=typeof i&&(n=s,s=i,i=!1),n?(s=o=t(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,o=this.widget()),t.each(n,function(n,r){function h(){return i||a.options.disabled!==!0&&!t(this).hasClass(\"ui-state-disabled\")?(\"string\"==typeof r?a[r]:r).apply(a,arguments):e}\"string\"!=typeof r&&(h.guid=r.guid=r.guid||h.guid||t.guid++);var l=n.match(/^(\\w+)\\s*(.*)$/),c=l[1]+a.eventNamespace,u=l[2];u?o.delegate(u,c,h):s.bind(c,h)})},_off:function(t,e){e=(e||\"\").split(\" \").join(this.eventNamespace+\" \")+this.eventNamespace,t.unbind(e).undelegate(e)},_delay:function(t,e){function i(){return(\"string\"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){t(e.currentTarget).addClass(\"ui-state-hover\")},mouseleave:function(e){t(e.currentTarget).removeClass(\"ui-state-hover\")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){t(e.currentTarget).addClass(\"ui-state-focus\")},focusout:function(e){t(e.currentTarget).removeClass(\"ui-state-focus\")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:\"fadeIn\",hide:\"fadeOut\"},function(e,i){t.Widget.prototype[\"_\"+e]=function(s,n,o){\"string\"==typeof n&&(n={effect:n});var a,r=n?n===!0||\"number\"==typeof n?i:n.effect||i:e;n=n||{},\"number\"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}})})(jQuery);(function(t){var e=!1;t(document).mouseup(function(){e=!1}),t.widget(\"ui.mouse\",{version:\"1.10.4\",options:{cancel:\"input,textarea,button,select,option\",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.bind(\"mousedown.\"+this.widgetName,function(t){return e._mouseDown(t)}).bind(\"click.\"+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+\".preventClickEvent\")?(t.removeData(i.target,e.widgetName+\".preventClickEvent\"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind(\".\"+this.widgetName),this._mouseMoveDelegate&&t(document).unbind(\"mousemove.\"+this.widgetName,this._mouseMoveDelegate).unbind(\"mouseup.\"+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!e){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,a=\"string\"==typeof this.options.cancel&&i.target.nodeName?t(i.target).closest(this.options.cancel).length:!1;return n&&!a&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===t.data(i.target,this.widgetName+\".preventClickEvent\")&&t.removeData(i.target,this.widgetName+\".preventClickEvent\"),this._mouseMoveDelegate=function(t){return s._mouseMove(t)},this._mouseUpDelegate=function(t){return s._mouseUp(t)},t(document).bind(\"mousemove.\"+this.widgetName,this._mouseMoveDelegate).bind(\"mouseup.\"+this.widgetName,this._mouseUpDelegate),i.preventDefault(),e=!0,!0)):!0}},_mouseMove:function(e){return t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button?this._mouseUp(e):this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){return t(document).unbind(\"mousemove.\"+this.widgetName,this._mouseMoveDelegate).unbind(\"mouseup.\"+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+\".preventClickEvent\",!0),this._mouseStop(e)),!1},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(t){var e=5;t.widget(\"ui.slider\",t.ui.mouse,{version:\"1.10.4\",widgetEventPrefix:\"slide\",options:{animate:!1,distance:0,max:100,min:0,orientation:\"horizontal\",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass(\"ui-slider ui-slider-\"+this.orientation+\" ui-widget\"+\" ui-widget-content\"+\" ui-corner-all\"),this._refresh(),this._setOption(\"disabled\",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(\".ui-slider-handle\").addClass(\"ui-state-default ui-corner-all\"),a=\"\",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)o.push(a);this.handles=n.add(t(o.join(\"\")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data(\"ui-slider-handle-index\",e)})},_createRange:function(){var e=this.options,i=\"\";e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass(\"ui-slider-range-min ui-slider-range-max\").css({left:\"\",bottom:\"\"}):(this.range=t(\"
\").appendTo(this.element),i=\"ui-slider-range ui-widget-header ui-corner-all\"),this.range.addClass(i+(\"min\"===e.range||\"max\"===e.range?\" ui-slider-range-\"+e.range:\"\"))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){var t=this.handles.add(this.range).filter(\"a\");this._off(t),this._on(t,this._handleEvents),this._hoverable(t),this._focusable(t)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass(\"ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all\"),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,a,o,r,l,h,u=this,c=this.options;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-u.values(e));(n>i||n===i&&(e===u._lastChangedValue||u.values(e)===c.min))&&(n=i,a=t(this),o=e)}),r=this._start(e,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass(\"ui-state-active\").focus(),l=a.offset(),h=!t(e.target).parents().addBack().is(\".ui-slider-handle\"),this._clickOffset=h?{left:0,top:0}:{left:e.pageX-l.left-a.width()/2,top:e.pageY-l.top-a.height()/2-(parseInt(a.css(\"borderTopWidth\"),10)||0)-(parseInt(a.css(\"borderBottomWidth\"),10)||0)+(parseInt(a.css(\"marginTop\"),10)||0)},this.handles.hasClass(\"ui-state-hover\")||this._slide(e,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this.handles.removeClass(\"ui-state-active\"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation=\"vertical\"===this.options.orientation?\"vertical\":\"horizontal\"},_normValueFromMouse:function(t){var e,i,s,n,a;return\"horizontal\"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),\"vertical\"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(t,e){var i={handle:this.handles[e],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger(\"start\",t,i)},_slide:function(t,e,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(e?0:1),2===this.options.values.length&&this.options.range===!0&&(0===e&&i>s||1===e&&s>i)&&(i=s),i!==this.values(e)&&(n=this.values(),n[e]=i,a=this._trigger(\"slide\",t,{handle:this.handles[e],value:i,values:n}),s=this.values(e?0:1),a!==!1&&this.values(e,i))):i!==this.value()&&(a=this._trigger(\"slide\",t,{handle:this.handles[e],value:i}),a!==!1&&this.value(i))},_stop:function(t,e){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger(\"stop\",t,i)},_change:function(t,e){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._lastChangedValue=e,this._trigger(\"change\",t,i)}},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),undefined):this._value()},values:function(e,i){var s,n,a;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),undefined;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(e):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch(\"range\"===e&&this.options.range===!0&&(\"min\"===i?(this.options.value=this._values(0),this.options.values=null):\"max\"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),t.Widget.prototype._setOption.apply(this,arguments),e){case\"orientation\":this._detectOrientation(),this.element.removeClass(\"ui-slider-horizontal ui-slider-vertical\").addClass(\"ui-slider-\"+this.orientation),this._refreshValue();break;case\"value\":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case\"values\":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case\"min\":case\"max\":this._animateOff=!0,this._refreshValue(),this._animateOff=!1;break;case\"range\":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var e,i,s,n,a,o=this.options.range,r=this.options,l=this,h=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((l.values(s)-l._valueMin())/(l._valueMax()-l._valueMin())),u[\"horizontal\"===l.orientation?\"left\":\"bottom\"]=i+\"%\",t(this).stop(1,1)[h?\"animate\":\"css\"](u,r.animate),l.options.range===!0&&(\"horizontal\"===l.orientation?(0===s&&l.range.stop(1,1)[h?\"animate\":\"css\"]({left:i+\"%\"},r.animate),1===s&&l.range[h?\"animate\":\"css\"]({width:i-e+\"%\"},{queue:!1,duration:r.animate})):(0===s&&l.range.stop(1,1)[h?\"animate\":\"css\"]({bottom:i+\"%\"},r.animate),1===s&&l.range[h?\"animate\":\"css\"]({height:i-e+\"%\"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u[\"horizontal\"===this.orientation?\"left\":\"bottom\"]=i+\"%\",this.handle.stop(1,1)[h?\"animate\":\"css\"](u,r.animate),\"min\"===o&&\"horizontal\"===this.orientation&&this.range.stop(1,1)[h?\"animate\":\"css\"]({width:i+\"%\"},r.animate),\"max\"===o&&\"horizontal\"===this.orientation&&this.range[h?\"animate\":\"css\"]({width:100-i+\"%\"},{queue:!1,duration:r.animate}),\"min\"===o&&\"vertical\"===this.orientation&&this.range.stop(1,1)[h?\"animate\":\"css\"]({height:i+\"%\"},r.animate),\"max\"===o&&\"vertical\"===this.orientation&&this.range[h?\"animate\":\"css\"]({height:100-i+\"%\"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(i){var s,n,a,o,r=t(i.target).data(\"ui-slider-handle-index\");switch(i.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i.preventDefault(),!this._keySliding&&(this._keySliding=!0,t(i.target).addClass(\"ui-state-active\"),s=this._start(i,r),s===!1))return}switch(o=this.options.step,n=a=this.options.values&&this.options.values.length?this.values(r):this.value(),i.keyCode){case t.ui.keyCode.HOME:a=this._valueMin();break;case t.ui.keyCode.END:a=this._valueMax();break;case t.ui.keyCode.PAGE_UP:a=this._trimAlignValue(n+(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.PAGE_DOWN:a=this._trimAlignValue(n-(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(n===this._valueMax())return;a=this._trimAlignValue(n+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(n===this._valueMin())return;a=this._trimAlignValue(n-o)}this._slide(i,r,a)},click:function(t){t.preventDefault()},keyup:function(e){var i=t(e.target).data(\"ui-slider-handle-index\");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),t(e.target).removeClass(\"ui-state-active\"))}}})})(jQuery);","/*!\r\n * Isotope PACKAGED v2.0.0\r\n * Filter & sort magical layouts\r\n * http://isotope.metafizzy.co\r\n */\r\n\r\n(function (t) { function e() { } function i(t) { function i(e) { e.prototype.option || (e.prototype.option = function (e) { t.isPlainObject(e) && (this.options = t.extend(!0, this.options, e)) }) } function n(e, i) { t.fn[e] = function (n) { if (\"string\" == typeof n) { for (var s = o.call(arguments, 1), a = 0, u = this.length; u > a; a++) { var p = this[a], h = t.data(p, e); if (h) if (t.isFunction(h[n]) && \"_\" !== n.charAt(0)) { var f = h[n].apply(h, s); if (void 0 !== f) return f } else r(\"no such method '\" + n + \"' for \" + e + \" instance\"); else r(\"cannot call methods on \" + e + \" prior to initialization; \" + \"attempted to call '\" + n + \"'\") } return this } return this.each(function () { var o = t.data(this, e); o ? (o.option(n), o._init()) : (o = new i(this, n), t.data(this, e, o)) }) } } if (t) { var r = \"undefined\" == typeof console ? e : function (t) { console.error(t) }; return t.bridget = function (t, e) { i(e), n(t, e) }, t.bridget } } var o = Array.prototype.slice; \"function\" == typeof define && define.amd ? define(\"jquery-bridget/jquery.bridget\", [\"jquery\"], i) : i(t.jQuery) })(window), function (t) { function e(e) { var i = t.event; return i.target = i.target || i.srcElement || e, i } var i = document.documentElement, o = function () { }; i.addEventListener ? o = function (t, e, i) { t.addEventListener(e, i, !1) } : i.attachEvent && (o = function (t, i, o) { t[i + o] = o.handleEvent ? function () { var i = e(t); o.handleEvent.call(o, i) } : function () { var i = e(t); o.call(t, i) }, t.attachEvent(\"on\" + i, t[i + o]) }); var n = function () { }; i.removeEventListener ? n = function (t, e, i) { t.removeEventListener(e, i, !1) } : i.detachEvent && (n = function (t, e, i) { t.detachEvent(\"on\" + e, t[e + i]); try { delete t[e + i] } catch (o) { t[e + i] = void 0 } }); var r = { bind: o, unbind: n }; \"function\" == typeof define && define.amd ? define(\"eventie/eventie\", r) : \"object\" == typeof exports ? module.exports = r : t.eventie = r }(this), function (t) { function e(t) { \"function\" == typeof t && (e.isReady ? t() : r.push(t)) } function i(t) { var i = \"readystatechange\" === t.type && \"complete\" !== n.readyState; if (!e.isReady && !i) { e.isReady = !0; for (var o = 0, s = r.length; s > o; o++) { var a = r[o]; a() } } } function o(o) { return o.bind(n, \"DOMContentLoaded\", i), o.bind(n, \"readystatechange\", i), o.bind(t, \"load\", i), e } var n = t.document, r = []; e.isReady = !1, \"function\" == typeof define && define.amd ? (e.isReady = \"function\" == typeof requirejs, define(\"doc-ready/doc-ready\", [\"eventie/eventie\"], o)) : t.docReady = o(t.eventie) }(this), function () { function t() { } function e(t, e) { for (var i = t.length; i--;) if (t[i].listener === e) return i; return -1 } function i(t) { return function () { return this[t].apply(this, arguments) } } var o = t.prototype, n = this, r = n.EventEmitter; o.getListeners = function (t) { var e, i, o = this._getEvents(); if (t instanceof RegExp) { e = {}; for (i in o) o.hasOwnProperty(i) && t.test(i) && (e[i] = o[i]) } else e = o[t] || (o[t] = []); return e }, o.flattenListeners = function (t) { var e, i = []; for (e = 0; t.length > e; e += 1) i.push(t[e].listener); return i }, o.getListenersAsObject = function (t) { var e, i = this.getListeners(t); return i instanceof Array && (e = {}, e[t] = i), e || i }, o.addListener = function (t, i) { var o, n = this.getListenersAsObject(t), r = \"object\" == typeof i; for (o in n) n.hasOwnProperty(o) && -1 === e(n[o], i) && n[o].push(r ? i : { listener: i, once: !1 }); return this }, o.on = i(\"addListener\"), o.addOnceListener = function (t, e) { return this.addListener(t, { listener: e, once: !0 }) }, o.once = i(\"addOnceListener\"), o.defineEvent = function (t) { return this.getListeners(t), this }, o.defineEvents = function (t) { for (var e = 0; t.length > e; e += 1) this.defineEvent(t[e]); return this }, o.removeListener = function (t, i) { var o, n, r = this.getListenersAsObject(t); for (n in r) r.hasOwnProperty(n) && (o = e(r[n], i), -1 !== o && r[n].splice(o, 1)); return this }, o.off = i(\"removeListener\"), o.addListeners = function (t, e) { return this.manipulateListeners(!1, t, e) }, o.removeListeners = function (t, e) { return this.manipulateListeners(!0, t, e) }, o.manipulateListeners = function (t, e, i) { var o, n, r = t ? this.removeListener : this.addListener, s = t ? this.removeListeners : this.addListeners; if (\"object\" != typeof e || e instanceof RegExp) for (o = i.length; o--;) r.call(this, e, i[o]); else for (o in e) e.hasOwnProperty(o) && (n = e[o]) && (\"function\" == typeof n ? r.call(this, o, n) : s.call(this, o, n)); return this }, o.removeEvent = function (t) { var e, i = typeof t, o = this._getEvents(); if (\"string\" === i) delete o[t]; else if (t instanceof RegExp) for (e in o) o.hasOwnProperty(e) && t.test(e) && delete o[e]; else delete this._events; return this }, o.removeAllListeners = i(\"removeEvent\"), o.emitEvent = function (t, e) { var i, o, n, r, s = this.getListenersAsObject(t); for (n in s) if (s.hasOwnProperty(n)) for (o = s[n].length; o--;) i = s[n][o], i.once === !0 && this.removeListener(t, i.listener), r = i.listener.apply(this, e || []), r === this._getOnceReturnValue() && this.removeListener(t, i.listener); return this }, o.trigger = i(\"emitEvent\"), o.emit = function (t) { var e = Array.prototype.slice.call(arguments, 1); return this.emitEvent(t, e) }, o.setOnceReturnValue = function (t) { return this._onceReturnValue = t, this }, o._getOnceReturnValue = function () { return this.hasOwnProperty(\"_onceReturnValue\") ? this._onceReturnValue : !0 }, o._getEvents = function () { return this._events || (this._events = {}) }, t.noConflict = function () { return n.EventEmitter = r, t }, \"function\" == typeof define && define.amd ? define(\"eventEmitter/EventEmitter\", [], function () { return t }) : \"object\" == typeof module && module.exports ? module.exports = t : this.EventEmitter = t }.call(this), function (t) { function e(t) { if (t) { if (\"string\" == typeof o[t]) return t; t = t.charAt(0).toUpperCase() + t.slice(1); for (var e, n = 0, r = i.length; r > n; n++) if (e = i[n] + t, \"string\" == typeof o[e]) return e } } var i = \"Webkit Moz ms Ms O\".split(\" \"), o = document.documentElement.style; \"function\" == typeof define && define.amd ? define(\"get-style-property/get-style-property\", [], function () { return e }) : \"object\" == typeof exports ? module.exports = e : t.getStyleProperty = e }(window), function (t) { function e(t) { var e = parseFloat(t), i = -1 === t.indexOf(\"%\") && !isNaN(e); return i && e } function i() { for (var t = { width: 0, height: 0, innerWidth: 0, innerHeight: 0, outerWidth: 0, outerHeight: 0 }, e = 0, i = s.length; i > e; e++) { var o = s[e]; t[o] = 0 } return t } function o(t) { function o(t) { if (\"string\" == typeof t && (t = document.querySelector(t)), t && \"object\" == typeof t && t.nodeType) { var o = r(t); if (\"none\" === o.display) return i(); var n = {}; n.width = t.offsetWidth, n.height = t.offsetHeight; for (var h = n.isBorderBox = !(!p || !o[p] || \"border-box\" !== o[p]), f = 0, c = s.length; c > f; f++) { var d = s[f], l = o[d]; l = a(t, l); var y = parseFloat(l); n[d] = isNaN(y) ? 0 : y } var m = n.paddingLeft + n.paddingRight, g = n.paddingTop + n.paddingBottom, v = n.marginLeft + n.marginRight, _ = n.marginTop + n.marginBottom, I = n.borderLeftWidth + n.borderRightWidth, L = n.borderTopWidth + n.borderBottomWidth, z = h && u, S = e(o.width); S !== !1 && (n.width = S + (z ? 0 : m + I)); var b = e(o.height); return b !== !1 && (n.height = b + (z ? 0 : g + L)), n.innerWidth = n.width - (m + I), n.innerHeight = n.height - (g + L), n.outerWidth = n.width + v, n.outerHeight = n.height + _, n } } function a(t, e) { if (n || -1 === e.indexOf(\"%\")) return e; var i = t.style, o = i.left, r = t.runtimeStyle, s = r && r.left; return s && (r.left = t.currentStyle.left), i.left = e, e = i.pixelLeft, i.left = o, s && (r.left = s), e } var u, p = t(\"boxSizing\"); return function () { if (p) { var t = document.createElement(\"div\"); t.style.width = \"200px\", t.style.padding = \"1px 2px 3px 4px\", t.style.borderStyle = \"solid\", t.style.borderWidth = \"1px 2px 3px 4px\", t.style[p] = \"border-box\"; var i = document.body || document.documentElement; i.appendChild(t); var o = r(t); u = 200 === e(o.width), i.removeChild(t) } }(), o } var n = t.getComputedStyle, r = n ? function (t) { return n(t, null) } : function (t) { return t.currentStyle }, s = [\"paddingLeft\", \"paddingRight\", \"paddingTop\", \"paddingBottom\", \"marginLeft\", \"marginRight\", \"marginTop\", \"marginBottom\", \"borderLeftWidth\", \"borderRightWidth\", \"borderTopWidth\", \"borderBottomWidth\"]; \"function\" == typeof define && define.amd ? define(\"get-size/get-size\", [\"get-style-property/get-style-property\"], o) : \"object\" == typeof exports ? module.exports = o(require(\"get-style-property\")) : t.getSize = o(t.getStyleProperty) }(window), function (t, e) { function i(t, e) { return t[a](e) } function o(t) { if (!t.parentNode) { var e = document.createDocumentFragment(); e.appendChild(t) } } function n(t, e) { o(t); for (var i = t.parentNode.querySelectorAll(e), n = 0, r = i.length; r > n; n++) if (i[n] === t) return !0; return !1 } function r(t, e) { return o(t), i(t, e) } var s, a = function () { if (e.matchesSelector) return \"matchesSelector\"; for (var t = [\"webkit\", \"moz\", \"ms\", \"o\"], i = 0, o = t.length; o > i; i++) { var n = t[i], r = n + \"MatchesSelector\"; if (e[r]) return r } }(); if (a) { var u = document.createElement(\"div\"), p = i(u, \"div\"); s = p ? i : r } else s = n; \"function\" == typeof define && define.amd ? define(\"matches-selector/matches-selector\", [], function () { return s }) : window.matchesSelector = s }(this, Element.prototype), function (t) { function e(t, e) { for (var i in e) t[i] = e[i]; return t } function i(t) { for (var e in t) return !1; return e = null, !0 } function o(t) { return t.replace(/([A-Z])/g, function (t) { return \"-\" + t.toLowerCase() }) } function n(t, n, r) { function a(t, e) { t && (this.element = t, this.layout = e, this.position = { x: 0, y: 0 }, this._create()) } var u = r(\"transition\"), p = r(\"transform\"), h = u && p, f = !!r(\"perspective\"), c = { WebkitTransition: \"webkitTransitionEnd\", MozTransition: \"transitionend\", OTransition: \"otransitionend\", transition: \"transitionend\" }[u], d = [\"transform\", \"transition\", \"transitionDuration\", \"transitionProperty\"], l = function () { for (var t = {}, e = 0, i = d.length; i > e; e++) { var o = d[e], n = r(o); n && n !== o && (t[o] = n) } return t }(); e(a.prototype, t.prototype), a.prototype._create = function () { this._transn = { ingProperties: {}, clean: {}, onEnd: {} }, this.css({ position: \"absolute\" }) }, a.prototype.handleEvent = function (t) { var e = \"on\" + t.type; this[e] && this[e](t) }, a.prototype.getSize = function () { this.size = n(this.element) }, a.prototype.css = function (t) { var e = this.element.style; for (var i in t) { var o = l[i] || i; e[o] = t[i] } }, a.prototype.getPosition = function () { var t = s(this.element), e = this.layout.options, i = e.isOriginLeft, o = e.isOriginTop, n = parseInt(t[i ? \"left\" : \"right\"], 10), r = parseInt(t[o ? \"top\" : \"bottom\"], 10); n = isNaN(n) ? 0 : n, r = isNaN(r) ? 0 : r; var a = this.layout.size; n -= i ? a.paddingLeft : a.paddingRight, r -= o ? a.paddingTop : a.paddingBottom, this.position.x = n, this.position.y = r }, a.prototype.layoutPosition = function () { var t = this.layout.size, e = this.layout.options, i = {}; e.isOriginLeft ? (i.left = this.position.x + t.paddingLeft + \"px\", i.right = \"\") : (i.right = this.position.x + t.paddingRight + \"px\", i.left = \"\"), e.isOriginTop ? (i.top = this.position.y + t.paddingTop + \"px\", i.bottom = \"\") : (i.bottom = this.position.y + t.paddingBottom + \"px\", i.top = \"\"), this.css(i), this.emitEvent(\"layout\", [this]) }; var y = f ? function (t, e) { return \"translate3d(\" + t + \"px, \" + e + \"px, 0)\" } : function (t, e) { return \"translate(\" + t + \"px, \" + e + \"px)\" }; a.prototype._transitionTo = function (t, e) { this.getPosition(); var i = this.position.x, o = this.position.y, n = parseInt(t, 10), r = parseInt(e, 10), s = n === this.position.x && r === this.position.y; if (this.setPosition(t, e), s && !this.isTransitioning) return this.layoutPosition(), void 0; var a = t - i, u = e - o, p = {}, h = this.layout.options; a = h.isOriginLeft ? a : -a, u = h.isOriginTop ? u : -u, p.transform = y(a, u), this.transition({ to: p, onTransitionEnd: { transform: this.layoutPosition }, isCleaning: !0 }) }, a.prototype.goTo = function (t, e) { this.setPosition(t, e), this.layoutPosition() }, a.prototype.moveTo = h ? a.prototype._transitionTo : a.prototype.goTo, a.prototype.setPosition = function (t, e) { this.position.x = parseInt(t, 10), this.position.y = parseInt(e, 10) }, a.prototype._nonTransition = function (t) { this.css(t.to), t.isCleaning && this._removeStyles(t.to); for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this) }, a.prototype._transition = function (t) { if (!parseFloat(this.layout.options.transitionDuration)) return this._nonTransition(t), void 0; var e = this._transn; for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i]; for (i in t.to) e.ingProperties[i] = !0, t.isCleaning && (e.clean[i] = !0); if (t.from) { this.css(t.from); var o = this.element.offsetHeight; o = null } this.enableTransition(t.to), this.css(t.to), this.isTransitioning = !0 }; var m = p && o(p) + \",opacity\"; a.prototype.enableTransition = function () { this.isTransitioning || (this.css({ transitionProperty: m, transitionDuration: this.layout.options.transitionDuration }), this.element.addEventListener(c, this, !1)) }, a.prototype.transition = a.prototype[u ? \"_transition\" : \"_nonTransition\"], a.prototype.onwebkitTransitionEnd = function (t) { this.ontransitionend(t) }, a.prototype.onotransitionend = function (t) { this.ontransitionend(t) }; var g = { \"-webkit-transform\": \"transform\", \"-moz-transform\": \"transform\", \"-o-transform\": \"transform\" }; a.prototype.ontransitionend = function (t) { if (t.target === this.element) { var e = this._transn, o = g[t.propertyName] || t.propertyName; if (delete e.ingProperties[o], i(e.ingProperties) && this.disableTransition(), o in e.clean && (this.element.style[t.propertyName] = \"\", delete e.clean[o]), o in e.onEnd) { var n = e.onEnd[o]; n.call(this), delete e.onEnd[o] } this.emitEvent(\"transitionEnd\", [this]) } }, a.prototype.disableTransition = function () { this.removeTransitionStyles(), this.element.removeEventListener(c, this, !1), this.isTransitioning = !1 }, a.prototype._removeStyles = function (t) { var e = {}; for (var i in t) e[i] = \"\"; this.css(e) }; var v = { transitionProperty: \"\", transitionDuration: \"\" }; return a.prototype.removeTransitionStyles = function () { this.css(v) }, a.prototype.removeElem = function () { this.element.parentNode.removeChild(this.element), this.emitEvent(\"remove\", [this]) }, a.prototype.remove = function () { if (!u || !parseFloat(this.layout.options.transitionDuration)) return this.removeElem(), void 0; var t = this; this.on(\"transitionEnd\", function () { return t.removeElem(), !0 }), this.hide() }, a.prototype.reveal = function () { delete this.isHidden, this.css({ display: \"\" }); var t = this.layout.options; this.transition({ from: t.hiddenStyle, to: t.visibleStyle, isCleaning: !0 }) }, a.prototype.hide = function () { this.isHidden = !0, this.css({ display: \"\" }); var t = this.layout.options; this.transition({ from: t.visibleStyle, to: t.hiddenStyle, isCleaning: !0, onTransitionEnd: { opacity: function () { this.isHidden && this.css({ display: \"none\" }) } } }) }, a.prototype.destroy = function () { this.css({ position: \"\", left: \"\", right: \"\", top: \"\", bottom: \"\", transition: \"\", transform: \"\" }) }, a } var r = t.getComputedStyle, s = r ? function (t) { return r(t, null) } : function (t) { return t.currentStyle }; \"function\" == typeof define && define.amd ? define(\"outlayer/item\", [\"eventEmitter/EventEmitter\", \"get-size/get-size\", \"get-style-property/get-style-property\"], n) : (t.Outlayer = {}, t.Outlayer.Item = n(t.EventEmitter, t.getSize, t.getStyleProperty)) }(window), function (t) { function e(t, e) { for (var i in e) t[i] = e[i]; return t } function i(t) { return \"[object Array]\" === f.call(t) } function o(t) { var e = []; if (i(t)) e = t; else if (t && \"number\" == typeof t.length) for (var o = 0, n = t.length; n > o; o++) e.push(t[o]); else e.push(t); return e } function n(t, e) { var i = d(e, t); -1 !== i && e.splice(i, 1) } function r(t) { return t.replace(/(.)([A-Z])/g, function (t, e, i) { return e + \"-\" + i }).toLowerCase() } function s(i, s, f, d, l, y) { function m(t, i) { if (\"string\" == typeof t && (t = a.querySelector(t)), !t || !c(t)) return u && u.error(\"Bad \" + this.constructor.namespace + \" element: \" + t), void 0; this.element = t, this.options = e({}, this.constructor.defaults), this.option(i); var o = ++g; this.element.outlayerGUID = o, v[o] = this, this._create(), this.options.isInitLayout && this.layout() } var g = 0, v = {}; return m.namespace = \"outlayer\", m.Item = y, m.defaults = { containerStyle: { position: \"relative\" }, isInitLayout: !0, isOriginLeft: !0, isOriginTop: !0, isResizeBound: !0, isResizingContainer: !0, transitionDuration: \"0.4s\", hiddenStyle: { opacity: 0, transform: \"scale(0.001)\" }, visibleStyle: { opacity: 1, transform: \"scale(1)\" } }, e(m.prototype, f.prototype), m.prototype.option = function (t) { e(this.options, t) }, m.prototype._create = function () { this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), e(this.element.style, this.options.containerStyle), this.options.isResizeBound && this.bindResize() }, m.prototype.reloadItems = function () { this.items = this._itemize(this.element.children) }, m.prototype._itemize = function (t) { for (var e = this._filterFindItemElements(t), i = this.constructor.Item, o = [], n = 0, r = e.length; r > n; n++) { var s = e[n], a = new i(s, this); o.push(a) } return o }, m.prototype._filterFindItemElements = function (t) { t = o(t); for (var e = this.options.itemSelector, i = [], n = 0, r = t.length; r > n; n++) { var s = t[n]; if (c(s)) if (e) { l(s, e) && i.push(s); for (var a = s.querySelectorAll(e), u = 0, p = a.length; p > u; u++) i.push(a[u]) } else i.push(s) } return i }, m.prototype.getItemElements = function () { for (var t = [], e = 0, i = this.items.length; i > e; e++) t.push(this.items[e].element); return t }, m.prototype.layout = function () { this._resetLayout(), this._manageStamps(); var t = void 0 !== this.options.isLayoutInstant ? this.options.isLayoutInstant : !this._isLayoutInited; this.layoutItems(this.items, t), this._isLayoutInited = !0 }, m.prototype._init = m.prototype.layout, m.prototype._resetLayout = function () { this.getSize() }, m.prototype.getSize = function () { this.size = d(this.element) }, m.prototype._getMeasurement = function (t, e) { var i, o = this.options[t]; o ? (\"string\" == typeof o ? i = this.element.querySelector(o) : c(o) && (i = o), this[t] = i ? d(i)[e] : o) : this[t] = 0 }, m.prototype.layoutItems = function (t, e) { t = this._getItemsForLayout(t), this._layoutItems(t, e), this._postLayout() }, m.prototype._getItemsForLayout = function (t) { for (var e = [], i = 0, o = t.length; o > i; i++) { var n = t[i]; n.isIgnored || e.push(n) } return e }, m.prototype._layoutItems = function (t, e) { function i() { o.emitEvent(\"layoutComplete\", [o, t]) } var o = this; if (!t || !t.length) return i(), void 0; this._itemsOn(t, \"layout\", i); for (var n = [], r = 0, s = t.length; s > r; r++) { var a = t[r], u = this._getItemLayoutPosition(a); u.item = a, u.isInstant = e || a.isLayoutInstant, n.push(u) } this._processLayoutQueue(n) }, m.prototype._getItemLayoutPosition = function () { return { x: 0, y: 0 } }, m.prototype._processLayoutQueue = function (t) { for (var e = 0, i = t.length; i > e; e++) { var o = t[e]; this._positionItem(o.item, o.x, o.y, o.isInstant) } }, m.prototype._positionItem = function (t, e, i, o) { o ? t.goTo(e, i) : t.moveTo(e, i) }, m.prototype._postLayout = function () { this.resizeContainer() }, m.prototype.resizeContainer = function () { if (this.options.isResizingContainer) { var t = this._getContainerSize(); t && (this._setContainerMeasure(t.width, !0), this._setContainerMeasure(t.height, !1)) } }, m.prototype._getContainerSize = h, m.prototype._setContainerMeasure = function (t, e) { if (void 0 !== t) { var i = this.size; i.isBorderBox && (t += e ? i.paddingLeft + i.paddingRight + i.borderLeftWidth + i.borderRightWidth : i.paddingBottom + i.paddingTop + i.borderTopWidth + i.borderBottomWidth), t = Math.max(t, 0), this.element.style[e ? \"width\" : \"height\"] = t + \"px\" } }, m.prototype._itemsOn = function (t, e, i) { function o() { return n++, n === r && i.call(s), !0 } for (var n = 0, r = t.length, s = this, a = 0, u = t.length; u > a; a++) { var p = t[a]; p.on(e, o) } }, m.prototype.ignore = function (t) { var e = this.getItem(t); e && (e.isIgnored = !0) }, m.prototype.unignore = function (t) { var e = this.getItem(t); e && delete e.isIgnored }, m.prototype.stamp = function (t) { if (t = this._find(t)) { this.stamps = this.stamps.concat(t); for (var e = 0, i = t.length; i > e; e++) { var o = t[e]; this.ignore(o) } } }, m.prototype.unstamp = function (t) { if (t = this._find(t)) for (var e = 0, i = t.length; i > e; e++) { var o = t[e]; n(o, this.stamps), this.unignore(o) } }, m.prototype._find = function (t) { return t ? (\"string\" == typeof t && (t = this.element.querySelectorAll(t)), t = o(t)) : void 0 }, m.prototype._manageStamps = function () { if (this.stamps && this.stamps.length) { this._getBoundingRect(); for (var t = 0, e = this.stamps.length; e > t; t++) { var i = this.stamps[t]; this._manageStamp(i) } } }, m.prototype._getBoundingRect = function () { var t = this.element.getBoundingClientRect(), e = this.size; this._boundingRect = { left: t.left + e.paddingLeft + e.borderLeftWidth, top: t.top + e.paddingTop + e.borderTopWidth, right: t.right - (e.paddingRight + e.borderRightWidth), bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth) } }, m.prototype._manageStamp = h, m.prototype._getElementOffset = function (t) { var e = t.getBoundingClientRect(), i = this._boundingRect, o = d(t), n = { left: e.left - i.left - o.marginLeft, top: e.top - i.top - o.marginTop, right: i.right - e.right - o.marginRight, bottom: i.bottom - e.bottom - o.marginBottom }; return n }, m.prototype.handleEvent = function (t) { var e = \"on\" + t.type; this[e] && this[e](t) }, m.prototype.bindResize = function () { this.isResizeBound || (i.bind(t, \"resize\", this), this.isResizeBound = !0) }, m.prototype.unbindResize = function () { this.isResizeBound && i.unbind(t, \"resize\", this), this.isResizeBound = !1 }, m.prototype.onresize = function () { function t() { e.resize(), delete e.resizeTimeout } this.resizeTimeout && clearTimeout(this.resizeTimeout); var e = this; this.resizeTimeout = setTimeout(t, 100) }, m.prototype.resize = function () { this.isResizeBound && this.needsResizeLayout() && this.layout() }, m.prototype.needsResizeLayout = function () { var t = d(this.element), e = this.size && t; return e && t.innerWidth !== this.size.innerWidth }, m.prototype.addItems = function (t) { var e = this._itemize(t); return e.length && (this.items = this.items.concat(e)), e }, m.prototype.appended = function (t) { var e = this.addItems(t); e.length && (this.layoutItems(e, !0), this.reveal(e)) }, m.prototype.prepended = function (t) { var e = this._itemize(t); if (e.length) { var i = this.items.slice(0); this.items = e.concat(i), this._resetLayout(), this._manageStamps(), this.layoutItems(e, !0), this.reveal(e), this.layoutItems(i) } }, m.prototype.reveal = function (t) { var e = t && t.length; if (e) for (var i = 0; e > i; i++) { var o = t[i]; o.reveal() } }, m.prototype.hide = function (t) { var e = t && t.length; if (e) for (var i = 0; e > i; i++) { var o = t[i]; o.hide() } }, m.prototype.getItem = function (t) { for (var e = 0, i = this.items.length; i > e; e++) { var o = this.items[e]; if (o.element === t) return o } }, m.prototype.getItems = function (t) { if (t && t.length) { for (var e = [], i = 0, o = t.length; o > i; i++) { var n = t[i], r = this.getItem(n); r && e.push(r) } return e } }, m.prototype.remove = function (t) { t = o(t); var e = this.getItems(t); if (e && e.length) { this._itemsOn(e, \"remove\", function () { this.emitEvent(\"removeComplete\", [this, e]) }); for (var i = 0, r = e.length; r > i; i++) { var s = e[i]; s.remove(), n(s, this.items) } } }, m.prototype.destroy = function () { var t = this.element.style; t.height = \"\", t.position = \"\", t.width = \"\"; for (var e = 0, i = this.items.length; i > e; e++) { var o = this.items[e]; o.destroy() } this.unbindResize(), delete this.element.outlayerGUID, p && p.removeData(this.element, this.constructor.namespace) }, m.data = function (t) { var e = t && t.outlayerGUID; return e && v[e] }, m.create = function (t, i) { function o() { m.apply(this, arguments) } return Object.create ? o.prototype = Object.create(m.prototype) : e(o.prototype, m.prototype), o.prototype.constructor = o, o.defaults = e({}, m.defaults), e(o.defaults, i), o.prototype.settings = {}, o.namespace = t, o.data = m.data, o.Item = function () { y.apply(this, arguments) }, o.Item.prototype = new y, s(function () { for (var e = r(t), i = a.querySelectorAll(\".js-\" + e), n = \"data-\" + e + \"-options\", s = 0, h = i.length; h > s; s++) { var f, c = i[s], d = c.getAttribute(n); try { f = d && JSON.parse(d) } catch (l) { u && u.error(\"Error parsing \" + n + \" on \" + c.nodeName.toLowerCase() + (c.id ? \"#\" + c.id : \"\") + \": \" + l); continue } var y = new o(c, f); p && p.data(c, t, y) } }), p && p.bridget && p.bridget(t, o), o }, m.Item = y, m } var a = t.document, u = t.console, p = t.jQuery, h = function () { }, f = Object.prototype.toString, c = \"object\" == typeof HTMLElement ? function (t) { return t instanceof HTMLElement } : function (t) { return t && \"object\" == typeof t && 1 === t.nodeType && \"string\" == typeof t.nodeName }, d = Array.prototype.indexOf ? function (t, e) { return t.indexOf(e) } : function (t, e) { for (var i = 0, o = t.length; o > i; i++) if (t[i] === e) return i; return -1 }; \"function\" == typeof define && define.amd ? define(\"outlayer/outlayer\", [\"eventie/eventie\", \"doc-ready/doc-ready\", \"eventEmitter/EventEmitter\", \"get-size/get-size\", \"matches-selector/matches-selector\", \"./item\"], s) : t.Outlayer = s(t.eventie, t.docReady, t.EventEmitter, t.getSize, t.matchesSelector, t.Outlayer.Item) }(window), function (t) { function e(t) { function e() { t.Item.apply(this, arguments) } return e.prototype = new t.Item, e.prototype._create = function () { this.id = this.layout.itemGUID++, t.Item.prototype._create.call(this), this.sortData = {} }, e.prototype.updateSortData = function () { if (!this.isIgnored) { this.sortData.id = this.id, this.sortData[\"original-order\"] = this.id, this.sortData.random = Math.random(); var t = this.layout.options.getSortData, e = this.layout._sorters; for (var i in t) { var o = e[i]; this.sortData[i] = o(this.element, this) } } }, e } \"function\" == typeof define && define.amd ? define(\"isotope/js/item\", [\"outlayer/outlayer\"], e) : (t.Isotope = t.Isotope || {}, t.Isotope.Item = e(t.Outlayer)) }(window), function (t) { function e(t, e) { function i(t) { this.isotope = t, t && (this.options = t.options[this.namespace], this.element = t.element, this.items = t.filteredItems, this.size = t.size) } return function () { function t(t) { return function () { return e.prototype[t].apply(this.isotope, arguments) } } for (var o = [\"_resetLayout\", \"_getItemLayoutPosition\", \"_manageStamp\", \"_getContainerSize\", \"_getElementOffset\", \"needsResizeLayout\"], n = 0, r = o.length; r > n; n++) { var s = o[n]; i.prototype[s] = t(s) } }(), i.prototype.needsVerticalResizeLayout = function () { var e = t(this.isotope.element), i = this.isotope.size && e; return i && e.innerHeight !== this.isotope.size.innerHeight }, i.prototype._getMeasurement = function () { this.isotope._getMeasurement.apply(this, arguments) }, i.prototype.getColumnWidth = function () { this.getSegmentSize(\"column\", \"Width\") }, i.prototype.getRowHeight = function () { this.getSegmentSize(\"row\", \"Height\") }, i.prototype.getSegmentSize = function (t, e) { var i = t + e, o = \"outer\" + e; if (this._getMeasurement(i, o), !this[i]) { var n = this.getFirstItemSize(); this[i] = n && n[o] || this.isotope.size[\"inner\" + e] } }, i.prototype.getFirstItemSize = function () { var e = this.isotope.filteredItems[0]; return e && e.element && t(e.element) }, i.prototype.layout = function () { this.isotope.layout.apply(this.isotope, arguments) }, i.prototype.getSize = function () { this.isotope.getSize(), this.size = this.isotope.size }, i.modes = {}, i.create = function (t, e) { function o() { i.apply(this, arguments) } return o.prototype = new i, e && (o.options = e), o.prototype.namespace = t, i.modes[t] = o, o }, i } \"function\" == typeof define && define.amd ? define(\"isotope/js/layout-mode\", [\"get-size/get-size\", \"outlayer/outlayer\"], e) : (t.Isotope = t.Isotope || {}, t.Isotope.LayoutMode = e(t.getSize, t.Outlayer)) }(window), function (t) { function e(t, e) { var o = t.create(\"masonry\"); return o.prototype._resetLayout = function () { this.getSize(), this._getMeasurement(\"columnWidth\", \"outerWidth\"), this._getMeasurement(\"gutter\", \"outerWidth\"), this.measureColumns(); var t = this.cols; for (this.colYs = []; t--;) this.colYs.push(0); this.maxY = 0 }, o.prototype.measureColumns = function () { if (this.getContainerWidth(), !this.columnWidth) { var t = this.items[0], i = t && t.element; this.columnWidth = i && e(i).outerWidth || this.containerWidth } this.columnWidth += this.gutter, this.cols = Math.floor((this.containerWidth + this.gutter) / this.columnWidth), this.cols = Math.max(this.cols, 1) }, o.prototype.getContainerWidth = function () { var t = this.options.isFitWidth ? this.element.parentNode : this.element, i = e(t); this.containerWidth = i && i.innerWidth }, o.prototype._getItemLayoutPosition = function (t) { t.getSize(); var e = t.size.outerWidth % this.columnWidth, o = e && 1 > e ? \"round\" : \"ceil\", n = Math[o](t.size.outerWidth / this.columnWidth); n = Math.min(n, this.cols); for (var r = this._getColGroup(n), s = Math.min.apply(Math, r), a = i(r, s), u = { x: this.columnWidth * a, y: s }, p = s + t.size.outerHeight, h = this.cols + 1 - r.length, f = 0; h > f; f++) this.colYs[a + f] = p; return u }, o.prototype._getColGroup = function (t) { if (2 > t) return this.colYs; for (var e = [], i = this.cols + 1 - t, o = 0; i > o; o++) { var n = this.colYs.slice(o, o + t); e[o] = Math.max.apply(Math, n) } return e }, o.prototype._manageStamp = function (t) { var i = e(t), o = this._getElementOffset(t), n = this.options.isOriginLeft ? o.left : o.right, r = n + i.outerWidth, s = Math.floor(n / this.columnWidth); s = Math.max(0, s); var a = Math.floor(r / this.columnWidth); a -= r % this.columnWidth ? 0 : 1, a = Math.min(this.cols - 1, a); for (var u = (this.options.isOriginTop ? o.top : o.bottom) + i.outerHeight, p = s; a >= p; p++) this.colYs[p] = Math.max(u, this.colYs[p]) }, o.prototype._getContainerSize = function () { this.maxY = Math.max.apply(Math, this.colYs); var t = { height: this.maxY }; return this.options.isFitWidth && (t.width = this._getContainerFitWidth()), t }, o.prototype._getContainerFitWidth = function () { for (var t = 0, e = this.cols; --e && 0 === this.colYs[e];) t++; return (this.cols - t) * this.columnWidth - this.gutter }, o.prototype.needsResizeLayout = function () { var t = this.containerWidth; return this.getContainerWidth(), t !== this.containerWidth }, o } var i = Array.prototype.indexOf ? function (t, e) { return t.indexOf(e) } : function (t, e) { for (var i = 0, o = t.length; o > i; i++) { var n = t[i]; if (n === e) return i } return -1 }; \"function\" == typeof define && define.amd ? define(\"masonry/masonry\", [\"outlayer/outlayer\", \"get-size/get-size\"], e) : t.Masonry = e(t.Outlayer, t.getSize) }(window), function (t) { function e(t, e) { for (var i in e) t[i] = e[i]; return t } function i(t, i) { var o = t.create(\"masonry\"), n = o.prototype._getElementOffset, r = o.prototype.layout, s = o.prototype._getMeasurement; e(o.prototype, i.prototype), o.prototype._getElementOffset = n, o.prototype.layout = r, o.prototype._getMeasurement = s; var a = o.prototype.measureColumns; o.prototype.measureColumns = function () { this.items = this.isotope.filteredItems, a.call(this) }; var u = o.prototype._manageStamp; return o.prototype._manageStamp = function () { this.options.isOriginLeft = this.isotope.options.isOriginLeft, this.options.isOriginTop = this.isotope.options.isOriginTop, u.apply(this, arguments) }, o } \"function\" == typeof define && define.amd ? define(\"isotope/js/layout-modes/masonry\", [\"../layout-mode\", \"masonry/masonry\"], i) : i(t.Isotope.LayoutMode, t.Masonry) }(window), function (t) { function e(t) { var e = t.create(\"fitRows\"); return e.prototype._resetLayout = function () { this.x = 0, this.y = 0, this.maxY = 0 }, e.prototype._getItemLayoutPosition = function (t) { t.getSize(), 0 !== this.x && t.size.outerWidth + this.x > this.isotope.size.innerWidth && (this.x = 0, this.y = this.maxY); var e = { x: this.x, y: this.y }; return this.maxY = Math.max(this.maxY, this.y + t.size.outerHeight), this.x += t.size.outerWidth, e }, e.prototype._getContainerSize = function () { return { height: this.maxY } }, e } \"function\" == typeof define && define.amd ? define(\"isotope/js/layout-modes/fit-rows\", [\"../layout-mode\"], e) : e(t.Isotope.LayoutMode) }(window), function (t) { function e(t) { var e = t.create(\"vertical\", { horizontalAlignment: 0 }); return e.prototype._resetLayout = function () { this.y = 0 }, e.prototype._getItemLayoutPosition = function (t) { t.getSize(); var e = (this.isotope.size.innerWidth - t.size.outerWidth) * this.options.horizontalAlignment, i = this.y; return this.y += t.size.outerHeight, { x: e, y: i } }, e.prototype._getContainerSize = function () { return { height: this.y } }, e } \"function\" == typeof define && define.amd ? define(\"isotope/js/layout-modes/vertical\", [\"../layout-mode\"], e) : e(t.Isotope.LayoutMode) }(window), function (t) {\r\n function e(t, e) { for (var i in e) t[i] = e[i]; return t } function i(t) { return \"[object Array]\" === h.call(t) } function o(t) { var e = []; if (i(t)) e = t; else if (t && \"number\" == typeof t.length) for (var o = 0, n = t.length; n > o; o++) e.push(t[o]); else e.push(t); return e } function n(t, e) { var i = f(e, t); -1 !== i && e.splice(i, 1) } function r(t, i, r, u, h) {\r\n function f(t, e) { return function (i, o) { for (var n = 0, r = t.length; r > n; n++) { var s = t[n], a = i.sortData[s], u = o.sortData[s]; if (a > u || u > a) { var p = void 0 !== e[s] ? e[s] : e, h = p ? 1 : -1; return (a > u ? 1 : -1) * h } } return 0 } } var c = t.create(\"isotope\", { layoutMode: \"masonry\", isJQueryFiltering: !0, sortAscending: !0 }); c.Item = u, c.LayoutMode = h, c.prototype._create = function () { this.itemGUID = 0, this._sorters = {}, this._getSorters(), t.prototype._create.call(this), this.modes = {}, this.filteredItems = this.items, this.sortHistory = [\"original-order\"]; for (var e in h.modes) this._initLayoutMode(e) }, c.prototype.reloadItems = function () { this.itemGUID = 0, t.prototype.reloadItems.call(this) }, c.prototype._itemize = function () { for (var e = t.prototype._itemize.apply(this, arguments), i = 0, o = e.length; o > i; i++) { var n = e[i]; n.id = this.itemGUID++ } return this._updateItemsSortData(e), e }, c.prototype._initLayoutMode = function (t) { var i = h.modes[t], o = this.options[t] || {}; this.options[t] = i.options ? e(i.options, o) : o, this.modes[t] = new i(this) }, c.prototype.layout = function () { return !this._isLayoutInited && this.options.isInitLayout ? (this.arrange(), void 0) : (this._layout(), void 0) }, c.prototype._layout = function () { var t = this._getIsInstant(); this._resetLayout(), this._manageStamps(), this.layoutItems(this.filteredItems, t), this._isLayoutInited = !0 }, c.prototype.arrange = function (t) { this.option(t), this._getIsInstant(), this.filteredItems = this._filter(this.items), this._sort(), this._layout() }, c.prototype._init = c.prototype.arrange, c.prototype._getIsInstant = function () { var t = void 0 !== this.options.isLayoutInstant ? this.options.isLayoutInstant : !this._isLayoutInited; return this._isInstant = t, t }, c.prototype._filter = function (t) { function e() { f.reveal(n), f.hide(r) } var i = this.options.filter; i = i || \"*\"; for (var o = [], n = [], r = [], s = this._getFilterTest(i), a = 0, u = t.length; u > a; a++) { var p = t[a]; if (!p.isIgnored) { var h = s(p); h && o.push(p), h && p.isHidden ? n.push(p) : h || p.isHidden || r.push(p) } } var f = this; return this._isInstant ? this._noTransition(e) : e(), o }, c.prototype._getFilterTest = function (t) { return s && this.options.isJQueryFiltering ? function (e) { return s(e.element).is(t) } : \"function\" == typeof t ? function (e) { return t(e.element) } : function (e) { return r(e.element, t) } }, c.prototype.updateSortData = function (t) {\r\n this._getSorters(), t = o(t); var e = this.getItems(t); e = e.length ? e : this.items, this._updateItemsSortData(e)\r\n }, c.prototype._getSorters = function () { var t = this.options.getSortData; for (var e in t) { var i = t[e]; this._sorters[e] = d(i) } }, c.prototype._updateItemsSortData = function (t) { for (var e = 0, i = t.length; i > e; e++) { var o = t[e]; o.updateSortData() } }; var d = function () { function t(t) { if (\"string\" != typeof t) return t; var i = a(t).split(\" \"), o = i[0], n = o.match(/^\\[(.+)\\]$/), r = n && n[1], s = e(r, o), u = c.sortDataParsers[i[1]]; return t = u ? function (t) { return t && u(s(t)) } : function (t) { return t && s(t) } } function e(t, e) { var i; return i = t ? function (e) { return e.getAttribute(t) } : function (t) { var i = t.querySelector(e); return i && p(i) } } return t }(); c.sortDataParsers = { parseInt: function (t) { return parseInt(t, 10) }, parseFloat: function (t) { return parseFloat(t) } }, c.prototype._sort = function () { var t = this.options.sortBy; if (t) { var e = [].concat.apply(t, this.sortHistory), i = f(e, this.options.sortAscending); this.filteredItems.sort(i), t !== this.sortHistory[0] && this.sortHistory.unshift(t) } }, c.prototype._mode = function () { var t = this.options.layoutMode, e = this.modes[t]; if (!e) throw Error(\"No layout mode: \" + t); return e.options = this.options[t], e }, c.prototype._resetLayout = function () { t.prototype._resetLayout.call(this), this._mode()._resetLayout() }, c.prototype._getItemLayoutPosition = function (t) { return this._mode()._getItemLayoutPosition(t) }, c.prototype._manageStamp = function (t) { this._mode()._manageStamp(t) }, c.prototype._getContainerSize = function () { return this._mode()._getContainerSize() }, c.prototype.needsResizeLayout = function () { return this._mode().needsResizeLayout() }, c.prototype.appended = function (t) { var e = this.addItems(t); if (e.length) { var i = this._filterRevealAdded(e); this.filteredItems = this.filteredItems.concat(i) } }, c.prototype.prepended = function (t) { var e = this._itemize(t); if (e.length) { var i = this.items.slice(0); this.items = e.concat(i), this._resetLayout(), this._manageStamps(); var o = this._filterRevealAdded(e); this.layoutItems(i), this.filteredItems = o.concat(this.filteredItems) } }, c.prototype._filterRevealAdded = function (t) { var e = this._noTransition(function () { return this._filter(t) }); return this.layoutItems(e, !0), this.reveal(e), t }, c.prototype.insert = function (t) { var e = this.addItems(t); if (e.length) { var i, o, n = e.length; for (i = 0; n > i; i++) o = e[i], this.element.appendChild(o.element); var r = this._filter(e); for (this._noTransition(function () { this.hide(r) }), i = 0; n > i; i++) e[i].isLayoutInstant = !0; for (this.arrange(), i = 0; n > i; i++) delete e[i].isLayoutInstant; this.reveal(r) } }; var l = c.prototype.remove; return c.prototype.remove = function (t) { t = o(t); var e = this.getItems(t); if (l.call(this, t), e && e.length) for (var i = 0, r = e.length; r > i; i++) { var s = e[i]; n(s, this.filteredItems) } }, c.prototype._noTransition = function (t) { var e = this.options.transitionDuration; this.options.transitionDuration = 0; var i = t.call(this); return this.options.transitionDuration = e, i }, c\r\n } var s = t.jQuery, a = String.prototype.trim ? function (t) { return t.trim() } : function (t) { return t.replace(/^\\s+|\\s+$/g, \"\") }, u = document.documentElement, p = u.textContent ? function (t) { return t.textContent } : function (t) { return t.innerText }, h = Object.prototype.toString, f = Array.prototype.indexOf ? function (t, e) { return t.indexOf(e) } : function (t, e) { for (var i = 0, o = t.length; o > i; i++) if (t[i] === e) return i; return -1 }; \"function\" == typeof define && define.amd ? define([\"outlayer/outlayer\", \"get-size/get-size\", \"matches-selector/matches-selector\", \"isotope/js/item\", \"isotope/js/layout-mode\", \"isotope/js/layout-modes/masonry\", \"isotope/js/layout-modes/fit-rows\", \"isotope/js/layout-modes/vertical\"], r) : t.Isotope = r(t.Outlayer, t.getSize, t.matchesSelector, t.Isotope.Item, t.Isotope.LayoutMode)\r\n}(window);","/*! jCarousel - v0.3.1 - 2014-04-26\r\n* http://sorgalla.com/jcarousel\r\n* Copyright (c) 2014 Jan Sorgalla; Licensed MIT */\r\n(function (t) { \"use strict\"; var i = t.jCarousel = {}; i.version = \"0.3.1\"; var s = /^([+\\-]=)?(.+)$/; i.parseTarget = function (t) { var i = !1, e = \"object\" != typeof t ? s.exec(t) : null; return e ? (t = parseInt(e[2], 10) || 0, e[1] && (i = !0, \"-=\" === e[1] && (t *= -1))) : \"object\" != typeof t && (t = parseInt(t, 10) || 0), { target: t, relative: i } }, i.detectCarousel = function (t) { for (var i; t.length > 0;) { if (i = t.filter(\"[data-jcarousel]\"), i.length > 0) return i; if (i = t.find(\"[data-jcarousel]\"), i.length > 0) return i; t = t.parent() } return null }, i.base = function (s) { return { version: i.version, _options: {}, _element: null, _carousel: null, _init: t.noop, _create: t.noop, _destroy: t.noop, _reload: t.noop, create: function () { return this._element.attr(\"data-\" + s.toLowerCase(), !0).data(s, this), !1 === this._trigger(\"create\") ? this : (this._create(), this._trigger(\"createend\"), this) }, destroy: function () { return !1 === this._trigger(\"destroy\") ? this : (this._destroy(), this._trigger(\"destroyend\"), this._element.removeData(s).removeAttr(\"data-\" + s.toLowerCase()), this) }, reload: function (t) { return !1 === this._trigger(\"reload\") ? this : (t && this.options(t), this._reload(), this._trigger(\"reloadend\"), this) }, element: function () { return this._element }, options: function (i, s) { if (0 === arguments.length) return t.extend({}, this._options); if (\"string\" == typeof i) { if (s === void 0) return this._options[i] === void 0 ? null : this._options[i]; this._options[i] = s } else this._options = t.extend({}, this._options, i); return this }, carousel: function () { return this._carousel || (this._carousel = i.detectCarousel(this.options(\"carousel\") || this._element), this._carousel || t.error('Could not detect carousel for plugin \"' + s + '\"')), this._carousel }, _trigger: function (i, e, r) { var n, o = !1; return r = [this].concat(r || []), (e || this._element).each(function () { n = t.Event((s + \":\" + i).toLowerCase()), t(this).trigger(n, r), n.isDefaultPrevented() && (o = !0) }), !o } } }, i.plugin = function (s, e) { var r = t[s] = function (i, s) { this._element = t(i), this.options(s), this._init(), this.create() }; return r.fn = r.prototype = t.extend({}, i.base(s), e), t.fn[s] = function (i) { var e = Array.prototype.slice.call(arguments, 1), n = this; return \"string\" == typeof i ? this.each(function () { var r = t(this).data(s); if (!r) return t.error(\"Cannot call methods on \" + s + \" prior to initialization; \" + 'attempted to call method \"' + i + '\"'); if (!t.isFunction(r[i]) || \"_\" === i.charAt(0)) return t.error('No such method \"' + i + '\" for ' + s + \" instance\"); var o = r[i].apply(r, e); return o !== r && o !== void 0 ? (n = o, !1) : void 0 }) : this.each(function () { var e = t(this).data(s); e instanceof r ? e.reload(i) : new r(this, i) }), n }, r } })(jQuery), function (t, i) { \"use strict\"; var s = function (t) { return parseFloat(t) || 0 }; t.jCarousel.plugin(\"jcarousel\", { animating: !1, tail: 0, inTail: !1, resizeTimer: null, lt: null, vertical: !1, rtl: !1, circular: !1, underflow: !1, relative: !1, _options: { list: function () { return this.element().children().eq(0) }, items: function () { return this.list().children() }, animation: 400, transitions: !1, wrap: null, vertical: null, rtl: null, center: !1 }, _list: null, _items: null, _target: null, _first: null, _last: null, _visible: null, _fullyvisible: null, _init: function () { var t = this; return this.onWindowResize = function () { t.resizeTimer && clearTimeout(t.resizeTimer), t.resizeTimer = setTimeout(function () { t.reload() }, 100) }, this }, _create: function () { this._reload(), t(i).on(\"resize.jcarousel\", this.onWindowResize) }, _destroy: function () { t(i).off(\"resize.jcarousel\", this.onWindowResize) }, _reload: function () { this.vertical = this.options(\"vertical\"), null == this.vertical && (this.vertical = this.list().height() > this.list().width()), this.rtl = this.options(\"rtl\"), null == this.rtl && (this.rtl = function (i) { if (\"rtl\" === (\"\" + i.attr(\"dir\")).toLowerCase()) return !0; var s = !1; return i.parents(\"[dir]\").each(function () { return /rtl/i.test(t(this).attr(\"dir\")) ? (s = !0, !1) : void 0 }), s }(this._element)), this.lt = this.vertical ? \"top\" : \"left\", this.relative = \"relative\" === this.list().css(\"position\"), this._list = null, this._items = null; var i = this._target && this.index(this._target) >= 0 ? this._target : this.closest(); this.circular = \"circular\" === this.options(\"wrap\"), this.underflow = !1; var s = { left: 0, top: 0 }; return i.length > 0 && (this._prepare(i), this.list().find(\"[data-jcarousel-clone]\").remove(), this._items = null, this.underflow = this._fullyvisible.length >= this.items().length, this.circular = this.circular && !this.underflow, s[this.lt] = this._position(i) + \"px\"), this.move(s), this }, list: function () { if (null === this._list) { var i = this.options(\"list\"); this._list = t.isFunction(i) ? i.call(this) : this._element.find(i) } return this._list }, items: function () { if (null === this._items) { var i = this.options(\"items\"); this._items = (t.isFunction(i) ? i.call(this) : this.list().find(i)).not(\"[data-jcarousel-clone]\") } return this._items }, index: function (t) { return this.items().index(t) }, closest: function () { var i, e = this, r = this.list().position()[this.lt], n = t(), o = !1, l = this.vertical ? \"bottom\" : this.rtl && !this.relative ? \"left\" : \"right\"; return this.rtl && this.relative && !this.vertical && (r += this.list().width() - this.clipping()), this.items().each(function () { if (n = t(this), o) return !1; var a = e.dimension(n); if (r += a, r >= 0) { if (i = a - s(n.css(\"margin-\" + l)), !(0 >= Math.abs(r) - a + i / 2)) return !1; o = !0 } }), n }, target: function () { return this._target }, first: function () { return this._first }, last: function () { return this._last }, visible: function () { return this._visible }, fullyvisible: function () { return this._fullyvisible }, hasNext: function () { if (!1 === this._trigger(\"hasnext\")) return !0; var t = this.options(\"wrap\"), i = this.items().length - 1; return i >= 0 && !this.underflow && (t && \"first\" !== t || i > this.index(this._last) || this.tail && !this.inTail) ? !0 : !1 }, hasPrev: function () { if (!1 === this._trigger(\"hasprev\")) return !0; var t = this.options(\"wrap\"); return this.items().length > 0 && !this.underflow && (t && \"last\" !== t || this.index(this._first) > 0 || this.tail && this.inTail) ? !0 : !1 }, clipping: function () { return this._element[\"inner\" + (this.vertical ? \"Height\" : \"Width\")]() }, dimension: function (t) { return t[\"outer\" + (this.vertical ? \"Height\" : \"Width\")](!0) }, scroll: function (i, s, e) { if (this.animating) return this; if (!1 === this._trigger(\"scroll\", null, [i, s])) return this; t.isFunction(s) && (e = s, s = !0); var r = t.jCarousel.parseTarget(i); if (r.relative) { var n, o, l, a, h, u, c, f, d = this.items().length - 1, _ = Math.abs(r.target), p = this.options(\"wrap\"); if (r.target > 0) { var g = this.index(this._last); if (g >= d && this.tail) this.inTail ? \"both\" === p || \"last\" === p ? this._scroll(0, s, e) : t.isFunction(e) && e.call(this, !1) : this._scrollTail(s, e); else if (n = this.index(this._target), this.underflow && n === d && (\"circular\" === p || \"both\" === p || \"last\" === p) || !this.underflow && g === d && (\"both\" === p || \"last\" === p)) this._scroll(0, s, e); else if (l = n + _, this.circular && l > d) { for (f = d, h = this.items().get(-1) ; l > f++;) h = this.items().eq(0), u = this._visible.index(h) >= 0, u && h.after(h.clone(!0).attr(\"data-jcarousel-clone\", !0)), this.list().append(h), u || (c = {}, c[this.lt] = this.dimension(h), this.moveBy(c)), this._items = null; this._scroll(h, s, e) } else this._scroll(Math.min(l, d), s, e) } else if (this.inTail) this._scroll(Math.max(this.index(this._first) - _ + 1, 0), s, e); else if (o = this.index(this._first), n = this.index(this._target), a = this.underflow ? n : o, l = a - _, 0 >= a && (this.underflow && \"circular\" === p || \"both\" === p || \"first\" === p)) this._scroll(d, s, e); else if (this.circular && 0 > l) { for (f = l, h = this.items().get(0) ; 0 > f++;) { h = this.items().eq(-1), u = this._visible.index(h) >= 0, u && h.after(h.clone(!0).attr(\"data-jcarousel-clone\", !0)), this.list().prepend(h), this._items = null; var v = this.dimension(h); c = {}, c[this.lt] = -v, this.moveBy(c) } this._scroll(h, s, e) } else this._scroll(Math.max(l, 0), s, e) } else this._scroll(r.target, s, e); return this._trigger(\"scrollend\"), this }, moveBy: function (t, i) { var e = this.list().position(), r = 1, n = 0; return this.rtl && !this.vertical && (r = -1, this.relative && (n = this.list().width() - this.clipping())), t.left && (t.left = e.left + n + s(t.left) * r + \"px\"), t.top && (t.top = e.top + n + s(t.top) * r + \"px\"), this.move(t, i) }, move: function (i, s) { s = s || {}; var e = this.options(\"transitions\"), r = !!e, n = !!e.transforms, o = !!e.transforms3d, l = s.duration || 0, a = this.list(); if (!r && l > 0) return a.animate(i, s), void 0; var h = s.complete || t.noop, u = {}; if (r) { var c = a.css([\"transitionDuration\", \"transitionTimingFunction\", \"transitionProperty\"]), f = h; h = function () { t(this).css(c), f.call(this) }, u = { transitionDuration: (l > 0 ? l / 1e3 : 0) + \"s\", transitionTimingFunction: e.easing || s.easing, transitionProperty: l > 0 ? function () { return n || o ? \"all\" : i.left ? \"left\" : \"top\" }() : \"none\", transform: \"none\" } } o ? u.transform = \"translate3d(\" + (i.left || 0) + \",\" + (i.top || 0) + \",0)\" : n ? u.transform = \"translate(\" + (i.left || 0) + \",\" + (i.top || 0) + \")\" : t.extend(u, i), r && l > 0 && a.one(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", h), a.css(u), 0 >= l && a.each(function () { h.call(this) }) }, _scroll: function (i, s, e) { if (this.animating) return t.isFunction(e) && e.call(this, !1), this; if (\"object\" != typeof i ? i = this.items().eq(i) : i.jquery === void 0 && (i = t(i)), 0 === i.length) return t.isFunction(e) && e.call(this, !1), this; this.inTail = !1, this._prepare(i); var r = this._position(i), n = this.list().position()[this.lt]; if (r === n) return t.isFunction(e) && e.call(this, !1), this; var o = {}; return o[this.lt] = r + \"px\", this._animate(o, s, e), this }, _scrollTail: function (i, s) { if (this.animating || !this.tail) return t.isFunction(s) && s.call(this, !1), this; var e = this.list().position()[this.lt]; this.rtl && this.relative && !this.vertical && (e += this.list().width() - this.clipping()), this.rtl && !this.vertical ? e += this.tail : e -= this.tail, this.inTail = !0; var r = {}; return r[this.lt] = e + \"px\", this._update({ target: this._target.next(), fullyvisible: this._fullyvisible.slice(1).add(this._visible.last()) }), this._animate(r, i, s), this }, _animate: function (i, s, e) { if (e = e || t.noop, !1 === this._trigger(\"animate\")) return e.call(this, !1), this; this.animating = !0; var r = this.options(\"animation\"), n = t.proxy(function () { this.animating = !1; var t = this.list().find(\"[data-jcarousel-clone]\"); t.length > 0 && (t.remove(), this._reload()), this._trigger(\"animateend\"), e.call(this, !0) }, this), o = \"object\" == typeof r ? t.extend({}, r) : { duration: r }, l = o.complete || t.noop; return s === !1 ? o.duration = 0 : t.fx.speeds[o.duration] !== void 0 && (o.duration = t.fx.speeds[o.duration]), o.complete = function () { n(), l.call(this) }, this.move(i, o), this }, _prepare: function (i) { var e, r, n, o, l = this.index(i), a = l, h = this.dimension(i), u = this.clipping(), c = this.vertical ? \"bottom\" : this.rtl ? \"left\" : \"right\", f = this.options(\"center\"), d = { target: i, first: i, last: i, visible: i, fullyvisible: u >= h ? i : t() }; if (f && (h /= 2, u /= 2), u > h) for (; ;) { if (e = this.items().eq(++a), 0 === e.length) { if (!this.circular) break; if (e = this.items().eq(0), i.get(0) === e.get(0)) break; if (r = this._visible.index(e) >= 0, r && e.after(e.clone(!0).attr(\"data-jcarousel-clone\", !0)), this.list().append(e), !r) { var _ = {}; _[this.lt] = this.dimension(e), this.moveBy(_) } this._items = null } if (o = this.dimension(e), 0 === o) break; if (h += o, d.last = e, d.visible = d.visible.add(e), n = s(e.css(\"margin-\" + c)), u >= h - n && (d.fullyvisible = d.fullyvisible.add(e)), h >= u) break } if (!this.circular && !f && u > h) for (a = l; ;) { if (0 > --a) break; if (e = this.items().eq(a), 0 === e.length) break; if (o = this.dimension(e), 0 === o) break; if (h += o, d.first = e, d.visible = d.visible.add(e), n = s(e.css(\"margin-\" + c)), u >= h - n && (d.fullyvisible = d.fullyvisible.add(e)), h >= u) break } return this._update(d), this.tail = 0, f || \"circular\" === this.options(\"wrap\") || \"custom\" === this.options(\"wrap\") || this.index(d.last) !== this.items().length - 1 || (h -= s(d.last.css(\"margin-\" + c)), h > u && (this.tail = h - u)), this }, _position: function (t) { var i = this._first, s = i.position()[this.lt], e = this.options(\"center\"), r = e ? this.clipping() / 2 - this.dimension(i) / 2 : 0; return this.rtl && !this.vertical ? (s -= this.relative ? this.list().width() - this.dimension(i) : this.clipping() - this.dimension(i), s += r) : s -= r, !e && (this.index(t) > this.index(i) || this.inTail) && this.tail ? (s = this.rtl && !this.vertical ? s - this.tail : s + this.tail, this.inTail = !0) : this.inTail = !1, -s }, _update: function (i) { var s, e = this, r = { target: this._target || t(), first: this._first || t(), last: this._last || t(), visible: this._visible || t(), fullyvisible: this._fullyvisible || t() }, n = this.index(i.first || r.first) < this.index(r.first), o = function (s) { var o = [], l = []; i[s].each(function () { 0 > r[s].index(this) && o.push(this) }), r[s].each(function () { 0 > i[s].index(this) && l.push(this) }), n ? o = o.reverse() : l = l.reverse(), e._trigger(s + \"in\", t(o)), e._trigger(s + \"out\", t(l)), e[\"_\" + s] = i[s] }; for (s in i) o(s); return this } }) }(jQuery, window), function (t) { \"use strict\"; t.jcarousel.fn.scrollIntoView = function (i, s, e) { var r, n = t.jCarousel.parseTarget(i), o = this.index(this._fullyvisible.first()), l = this.index(this._fullyvisible.last()); if (r = n.relative ? 0 > n.target ? Math.max(0, o + n.target) : l + n.target : \"object\" != typeof n.target ? n.target : this.index(n.target), o > r) return this.scroll(r, s, e); if (r >= o && l >= r) return t.isFunction(e) && e.call(this, !1), this; for (var a, h = this.items(), u = this.clipping(), c = this.vertical ? \"bottom\" : this.rtl ? \"left\" : \"right\", f = 0; ;) { if (a = h.eq(r), 0 === a.length) break; if (f += this.dimension(a), f >= u) { var d = parseFloat(a.css(\"margin-\" + c)) || 0; f - d !== u && r++; break } if (0 >= r) break; r-- } return this.scroll(r, s, e) } }(jQuery), function (t) { \"use strict\"; t.jCarousel.plugin(\"jcarouselControl\", { _options: { target: \"+=1\", event: \"click\", method: \"scroll\" }, _active: null, _init: function () { this.onDestroy = t.proxy(function () { this._destroy(), this.carousel().one(\"jcarousel:createend\", t.proxy(this._create, this)) }, this), this.onReload = t.proxy(this._reload, this), this.onEvent = t.proxy(function (i) { i.preventDefault(); var s = this.options(\"method\"); t.isFunction(s) ? s.call(this) : this.carousel().jcarousel(this.options(\"method\"), this.options(\"target\")) }, this) }, _create: function () { this.carousel().one(\"jcarousel:destroy\", this.onDestroy).on(\"jcarousel:reloadend jcarousel:scrollend\", this.onReload), this._element.on(this.options(\"event\") + \".jcarouselcontrol\", this.onEvent), this._reload() }, _destroy: function () { this._element.off(\".jcarouselcontrol\", this.onEvent), this.carousel().off(\"jcarousel:destroy\", this.onDestroy).off(\"jcarousel:reloadend jcarousel:scrollend\", this.onReload) }, _reload: function () { var i, s = t.jCarousel.parseTarget(this.options(\"target\")), e = this.carousel(); if (s.relative) i = e.jcarousel(s.target > 0 ? \"hasNext\" : \"hasPrev\"); else { var r = \"object\" != typeof s.target ? e.jcarousel(\"items\").eq(s.target) : s.target; i = e.jcarousel(\"target\").index(r) >= 0 } return this._active !== i && (this._trigger(i ? \"active\" : \"inactive\"), this._active = i), this } }) }(jQuery), function (t) { \"use strict\"; t.jCarousel.plugin(\"jcarouselPagination\", { _options: { perPage: null, item: function (t) { return '' + t + \"\" }, event: \"click\", method: \"scroll\" }, _carouselItems: null, _pages: {}, _items: {}, _currentPage: null, _init: function () { this.onDestroy = t.proxy(function () { this._destroy(), this.carousel().one(\"jcarousel:createend\", t.proxy(this._create, this)) }, this), this.onReload = t.proxy(this._reload, this), this.onScroll = t.proxy(this._update, this) }, _create: function () { this.carousel().one(\"jcarousel:destroy\", this.onDestroy).on(\"jcarousel:reloadend\", this.onReload).on(\"jcarousel:scrollend\", this.onScroll), this._reload() }, _destroy: function () { this._clear(), this.carousel().off(\"jcarousel:destroy\", this.onDestroy).off(\"jcarousel:reloadend\", this.onReload).off(\"jcarousel:scrollend\", this.onScroll), this._carouselItems = null }, _reload: function () { var i = this.options(\"perPage\"); if (this._pages = {}, this._items = {}, t.isFunction(i) && (i = i.call(this)), null == i) this._pages = this._calculatePages(); else for (var s, e = parseInt(i, 10) || 0, r = this._getCarouselItems(), n = 1, o = 0; ;) { if (s = r.eq(o++), 0 === s.length) break; this._pages[n] = this._pages[n] ? this._pages[n].add(s) : s, 0 === o % e && n++ } this._clear(); var l = this, a = this.carousel().data(\"jcarousel\"), h = this._element, u = this.options(\"item\"), c = this._getCarouselItems().length; t.each(this._pages, function (i, s) { var e = l._items[i] = t(u.call(l, i, s)); e.on(l.options(\"event\") + \".jcarouselpagination\", t.proxy(function () { var t = s.eq(0); if (a.circular) { var e = a.index(a.target()), r = a.index(t); parseFloat(i) > parseFloat(l._currentPage) ? e > r && (t = \"+=\" + (c - e + r)) : r > e && (t = \"-=\" + (e + (c - r))) } a[this.options(\"method\")](t) }, l)), h.append(e) }), this._update() }, _update: function () { var i, s = this.carousel().jcarousel(\"target\"); t.each(this._pages, function (t, e) { return e.each(function () { return s.is(this) ? (i = t, !1) : void 0 }), i ? !1 : void 0 }), this._currentPage !== i && (this._trigger(\"inactive\", this._items[this._currentPage]), this._trigger(\"active\", this._items[i])), this._currentPage = i }, items: function () { return this._items }, reloadCarouselItems: function () { return this._carouselItems = null, this }, _clear: function () { this._element.empty(), this._currentPage = null }, _calculatePages: function () { for (var t, i = this.carousel().data(\"jcarousel\"), s = this._getCarouselItems(), e = i.clipping(), r = 0, n = 0, o = 1, l = {}; ;) { if (t = s.eq(n++), 0 === t.length) break; l[o] = l[o] ? l[o].add(t) : t, r += i.dimension(t), r >= e && (o++, r = 0) } return l }, _getCarouselItems: function () { return this._carouselItems || (this._carouselItems = this.carousel().jcarousel(\"items\")), this._carouselItems } }) }(jQuery), function (t) { \"use strict\"; t.jCarousel.plugin(\"jcarouselAutoscroll\", { _options: { target: \"+=1\", interval: 3e3, autostart: !0 }, _timer: null, _init: function () { this.onDestroy = t.proxy(function () { this._destroy(), this.carousel().one(\"jcarousel:createend\", t.proxy(this._create, this)) }, this), this.onAnimateEnd = t.proxy(this.start, this) }, _create: function () { this.carousel().one(\"jcarousel:destroy\", this.onDestroy), this.options(\"autostart\") && this.start() }, _destroy: function () { this.stop(), this.carousel().off(\"jcarousel:destroy\", this.onDestroy) }, start: function () { return this.stop(), this.carousel().one(\"jcarousel:animateend\", this.onAnimateEnd), this._timer = setTimeout(t.proxy(function () { this.carousel().jcarousel(\"scroll\", this.options(\"target\")) }, this), this.options(\"interval\")), this }, stop: function () { return this._timer && (this._timer = clearTimeout(this._timer)), this.carousel().off(\"jcarousel:animateend\", this.onAnimateEnd), this } }) }(jQuery);","var goshopping = goshopping || {};\r\n\r\n$(function () {\r\n goshopping.basket.init();\r\n});\r\n\r\ngoshopping.basket = new (function () {\r\n this.init = function () {\r\n // on BasketUpdated always update mini cart\r\n jQuery('body').on('basketUpdated', function (event, basket) {\r\n goshopping.basket.updateMiniCart(basket);\r\n goshopping.basket.setBasketQuantity();\r\n });\r\n goshopping.basket.setBasketQuantity();\r\n };\r\n\r\n this.setBasketQuantity = function () {\r\n if ($.cookie('basketId')) {\r\n var basketId = $.cookie('basketId');\r\n var miniBasket = $('.js-basket-quantity');\r\n var orderTotalPrice = $('.js-order-total-price');\r\n $.ajax({\r\n url: basketApiUrl + '/basket/?id=' + basketId,\r\n type: 'GET',\r\n dataType: 'json',\r\n success: function (response) {\r\n var orderTotal = response.OrderTotalFormatted;\r\n var quantity = response.TotalQuantity;\r\n orderTotalPrice.html(orderTotal);\r\n miniBasket.html(quantity);\r\n },\r\n });\r\n }\r\n };\r\n\r\n this.addProductToBasket = function (\r\n sku,\r\n quantity,\r\n languageNodeId,\r\n productName,\r\n imageUrl,\r\n accessoriesData,\r\n callbackEventName,\r\n callbackExtraData,\r\n async\r\n ) {\r\n var productData = {\r\n basketId: $.cookie('basketId') ? $.cookie('basketId') : null,\r\n quantity: quantity,\r\n productIdentifier: sku,\r\n languageNodeId: languageNodeId,\r\n };\r\n\r\n accessoriesData = accessoriesData || [];\r\n return $.ajax({\r\n async: async || false,\r\n url: basketApiUrl + '/basket/update',\r\n contentType: 'application/json',\r\n type: 'POST',\r\n data: JSON.stringify(productData),\r\n success: function (data) {\r\n if (data.BasketId !== $.cookie('basketId')) {\r\n document.cookie = \"basketId=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; Secure\";\r\n $.cookie('basketId', data.BasketId, { expires: 30, path: '/', secure: true });\r\n }\r\n if (data.OrderLines) {\r\n var matching = data.OrderLines.filter(function (value) {\r\n return value.Sku === sku;\r\n });\r\n\r\n if (matching.length === 1) {\r\n goshopping.basket.displayAddedProductToMiniCartPopup(\r\n imageUrl,\r\n productName,\r\n quantity,\r\n matching[0].DisplayPriceFormatted\r\n );\r\n\r\n // if no accessories present\r\n if (callbackEventName && accessoriesData.length < 1) {\r\n $('body').trigger(callbackEventName, [\r\n data,\r\n matching[0],\r\n callbackExtraData,\r\n ]);\r\n } else if (accessoriesData.length > 0) {\r\n $.each(\r\n accessoriesData,\r\n function (index, accessory) {\r\n var promise =\r\n goshopping.basket.addProductToBasket(\r\n accessory.productIdentifier,\r\n accessory.quantity,\r\n accessory.languageNodeId,\r\n accessory.productName,\r\n accessory.imageUrl,\r\n null,\r\n null,\r\n null,\r\n false\r\n );\r\n\r\n promise.success(function (basketData) {\r\n data = basketData;\r\n });\r\n }\r\n );\r\n\r\n // do a callback once accessories added to basket\r\n if (callbackEventName) {\r\n $('body').trigger(callbackEventName, [\r\n data,\r\n matching[0],\r\n callbackExtraData,\r\n ]);\r\n }\r\n }\r\n }\r\n }\r\n $.cookie('basketId', data.BasketId, { expires: 30, path: '/', secure: true });\r\n $('body').trigger('basketUpdated', data);\r\n\r\n },\r\n error: function (jqXhr, textStatus, errorThrown) {},\r\n });\r\n };\r\n\r\n this.updateMiniCart = function (data) {\r\n var cartContainer = jQuery('.js-minicartContainer');\r\n // cartContainer.find('.numberOfItems').html(data.TotalQuantity);\r\n // cartContainer.find('.price').html(data.SubtotalFormatted);\r\n\r\n if (data.OrderLines.length === 0) {\r\n cartContainer.addClass('empty');\r\n $('body').addClass('basket-empty');\r\n $('body').removeClass('basket-not-empty');\r\n } else {\r\n //Remove classes\r\n cartContainer.removeClass('empty');\r\n $('body').removeClass('basket-empty');\r\n $('body').addClass('basket-not-empty');\r\n }\r\n };\r\n\r\n this.displayAddedProductToMiniCartPopup = function (\r\n imageUrl,\r\n name,\r\n quantity,\r\n price\r\n ) {\r\n var cartContainer = jQuery('.js-minicartContainer');\r\n var addedToCart = cartContainer.find('.addedToCartwrapper');\r\n var mainProduct = addedToCart.find('.mainProduct');\r\n\r\n mainProduct.find('.amountAddedNr').html(quantity);\r\n\r\n // NOT ON CURRENT LIVE SITE\r\n //mainProduct.find(\".productPrice\").html(price);\r\n mainProduct.find('.productDescription').html(name);\r\n mainProduct.find('.addedToCartProductImage img').attr('src', imageUrl);\r\n\r\n addedToCart.show();\r\n\r\n //addToCartLoading.removeClass(\"addingToCart\");\r\n\r\n setTimeout(function () {\r\n addedToCart.hide();\r\n }, 5000);\r\n };\r\n})();\r\n","window.depict = window.depict || {};\r\n\r\njQuery(function () {\r\n // listen on adding to basket from any catalog/search results product list\r\n // adding product to a basket\r\n $(document).on(\r\n 'submit',\r\n 'form.addCatalogProductToBasket',\r\n function (event) {\r\n event.preventDefault();\r\n\r\n var productSku = $(this).data('identifier').toString();\r\n var languageNodeId = $(this).find(\r\n \"input[name='languageNodeId-\" + productSku + \"']\"\r\n )[0].value;\r\n var imageUrl = $(this).find(\r\n \"input[name='imageUrl-\" + productSku + \"']\"\r\n )[0].value;\r\n var productName = $(this).find(\r\n \"input[name='productName-\" + productSku + \"']\"\r\n )[0].value;\r\n var brandName = $(this).find(\r\n \"input[name='brandName-\" + productSku + \"']\"\r\n )[0].value;\r\n var quantity = $(this).find(\r\n \"input[name='quantity-\" + productSku + \"']\"\r\n )[0].value;\r\n var price = $(this).find(\r\n \"input[name='price-\" + productSku + \"']\"\r\n )[0].value;\r\n var category = $(this).find(\r\n \"input[name='category-\" + productSku + \"']\"\r\n )[0].value;\r\n\r\n // loading icon and disable button\r\n var addToCartFormContainer = $(this).parent('.addToCartForm');\r\n addToCartFormContainer.addClass('addToCartLoading');\r\n addToCartFormContainer.addClass('addingToCart');\r\n $(this).find('button.addToCart').attr('disabled', true);\r\n\r\n var currency = '';\r\n switch (languageNodeId) {\r\n case '1092' || '1100':\r\n currency = 'DKK';\r\n break;\r\n case '21618' || '22387':\r\n currency = 'SEK';\r\n break;\r\n case '21916' || '22439':\r\n currency = 'NOK';\r\n break;\r\n case '105046' || '106020':\r\n currency = 'EUR';\r\n break;\r\n default:\r\n currency = '';\r\n }\r\n\r\n var convertedPrice = parseFloat(price.replace(',', '.'));\r\n var priceWithoutVAT = parseFloat((convertedPrice * 0.8).toFixed(2));\r\n var item = {\r\n item_name: productName,\r\n item_id: productSku,\r\n price: priceWithoutVAT,\r\n item_brand: brandName,\r\n quantity: parseInt(quantity),\r\n };\r\n\r\n if (category === null || category === '') {\r\n category = undefined;\r\n }\r\n\r\n if (category !== undefined) {\r\n var categories = category.split('/').filter(Boolean);\r\n for (var j = 0; j < categories.length - 1; j++) {\r\n if (j === 0) {\r\n item['item_category'] = categories[j];\r\n } else {\r\n item['item_category' + (j + 1)] = categories[j];\r\n }\r\n }\r\n }\r\n\r\n // Google Tag Manager\r\n window.dataLayer.push({ ecommerce: null });\r\n window.dataLayer.push({\r\n event: 'add_to_cart',\r\n ecommerce: {\r\n currency: currency,\r\n items: [item],\r\n },\r\n });\r\n\r\n goshopping.basket.addProductToBasket(\r\n productSku,\r\n quantity,\r\n languageNodeId,\r\n productName,\r\n imageUrl,\r\n null,\r\n 'addedProductFromCatalogProductList',\r\n $(this),\r\n true\r\n );\r\n\r\n window.depict.addToCart = function (productId, amount) {\r\n goshopping.basket.addProductToBasket(productId, amount, languageNodeId);\r\n return productId, amount;\r\n };\r\n\r\n // Loop54 addtocart event\r\n var addToCartEntity = { type: 'Product', id: productSku };\r\n loop54client.createEvent(\r\n 'addtocart',\r\n addToCartEntity,\r\n null,\r\n null,\r\n null,\r\n function (response) {}\r\n );\r\n\r\n window.depict.openAfterBasketModal = function (productName) {\r\n var container = document.getElementById('depictProductContainer');\r\n \r\n $('body').addClass('show-accessory-modal');\r\n $('.product-list-modal').attr('data-product-slug', productName);\r\n return container;\r\n };\r\n\r\n window.depict.openAfterBasketModal(productName);\r\n }\r\n );\r\n\r\n jQuery('body').on(\r\n 'addedProductFromCatalogProductList',\r\n function (event, basket, orderline, productForm) {\r\n if (orderline && productForm) {\r\n setTimeout(function () {\r\n // if refreshPage attribute is present imediately reload page\r\n var refreshPageAttribute =\r\n $(productForm).data('refreshPage');\r\n\r\n // For some browsers, `attr` is undefined; for others,\r\n // `attr` is false. Check for both.\r\n if (\r\n typeof refreshPageAttribute !== typeof undefined &&\r\n refreshPageAttribute !== false\r\n ) {\r\n location.reload();\r\n }\r\n\r\n var addToCartFormContainer =\r\n $(productForm).closest('.addToCartForm');\r\n addToCartFormContainer.removeClass('addToCartLoading');\r\n addToCartFormContainer.removeClass('addingToCart');\r\n $(productForm)\r\n .find('button.addToCart')\r\n .attr('disabled', false);\r\n }, 500);\r\n }\r\n }\r\n );\r\n});\r\n","var validate = new Bouncer('[data-form]', {\r\n customValidations: {\r\n valueMismatch: function (field) {\r\n\r\n // Look for a selector for a field to compare\r\n // If there isn't one, return false (no error)\r\n var selector = field.getAttribute('data-bouncer-match');\r\n if (!selector) return false;\r\n\r\n // Get the field to compare\r\n var otherField = field.form.querySelector(selector);\r\n if (!otherField) return false;\r\n\r\n // Compare the two field values\r\n // We use a negative comparison here because if they do match, the field validates\r\n // We want to return true for failures, which can be confusing\r\n return otherField.value !== field.value;\r\n\r\n }\r\n },\r\n // Error messages by error type\r\n messages: {\r\n missingValue: {\r\n checkbox: 'This field is required.',\r\n radio: 'Please select a value.',\r\n select: 'Please select a value.',\r\n default: 'Please fill out this field.'\r\n },\r\n patternMismatch: {\r\n email: 'Please enter a valid email address.',\r\n number: 'Please enter a number',\r\n default: 'Please match the requested format.'\r\n },\r\n valueMismatch: function (field) {\r\n var customMessage = field.getAttribute('data-bouncer-mismatch-message');\r\n return customMessage ? customMessage : 'Please make sure the fields match.'\r\n }\r\n },\r\n});\r\n","/****************************************************\r\n - FIX HEIGHTS\r\n****************************************************/\r\njQuery(function () {\r\n\r\n var productCategoryMenu = jQuery('#productCategoryMenu');\r\n if (productCategoryMenu[0]) {\r\n var overlay = jQuery('#overlay');\r\n\r\n jQuery('.navbar-collapse #productCategoryMenu li.topCategory').hoverIntent({\r\n timeout: 300,\r\n over: function () {\r\n if (window.innerWidth > 1200) {\r\n var categoryLink = jQuery(this);\r\n categoryLink.add(categoryLink.closest('.navbar-nav')).addClass('on');\r\n overlay.addClass('on');\r\n } \r\n },\r\n out: function () {\r\n if (window.innerWidth > 1200) {\r\n var categoryLink = jQuery(this);\r\n categoryLink.add(categoryLink.closest('.navbar-nav')).removeClass('on');\r\n if (jQuery('.categories .navbar .topCategory.on').length == 0) {\r\n overlay.removeClass('on');\r\n }\r\n }\r\n }\r\n });\r\n jQuery('body').on('click', '.navbar-collapse.in #productCategoryMenu li.topCategory.hasChildren > .navigation-arrow, .navbar-collapse.in #productCategoryMenu li.topCategory.hasChildren .toggleMenu, .navbar-collapse.in #productCategoryMenu li.topCategory.hasChildren > a', function (e) {\r\n e.preventDefault();\r\n var categoryLink = jQuery(this);\r\n categoryLink.closest('li.topCategory.hasChildren').add(categoryLink.closest('.navbar-nav')).toggleClass('on');\r\n return false;\r\n });\r\n jQuery('body').on('click', '.navbar-collapse.in #productCategoryMenu .category > .navigation-arrow, .navbar-collapse.in #productCategoryMenu .category.hasChildren > a', function (e) {\r\n e.preventDefault();\r\n var categoryLink = jQuery(this);\r\n categoryLink.closest('.category.hasChildren').toggleClass('on');\r\n return false;\r\n });\r\n\r\n jQuery('body').on('click', '.searchAndProductmenu .navbar-toggle', function () {\r\n jQuery('#productCategoryMenu .topCategory').removeClass('hide');\r\n jQuery('#productCategoryMenu .topCategory').css('opacity', 1);\r\n jQuery('body').toggleClass('body--noscroll');\r\n });\r\n }\r\n\r\n});\r\n","/****************************************************\r\n - FIX HEIGHTS\r\n****************************************************/\r\njQuery(function () {\r\n\r\n var productCategoryMenuDesktop = jQuery('#productCategoryMenuDesktop');\r\n if (productCategoryMenuDesktop[0]) {\r\n var overlayDesktop = jQuery('#overlay');\r\n\r\n jQuery('.navbar-collapse #productCategoryMenuDesktop li.topCategory').hoverIntent({\r\n timeout: 300,\r\n over: function () {\r\n if (window.innerWidth > 1200) {\r\n var categoryLinkDesktop = jQuery(this);\r\n categoryLinkDesktop.add(categoryLinkDesktop.closest('.navbar-nav')).addClass('on');\r\n overlayDesktop.addClass('on');\r\n } \r\n },\r\n out: function () {\r\n if (window.innerWidth > 1200) {\r\n var categoryLinkDesktop = jQuery(this);\r\n categoryLinkDesktop.add(categoryLinkDesktop.closest('.navbar-nav')).removeClass('on');\r\n if (jQuery('.categories .navbar .topCategory.on').length == 0) {\r\n overlayDesktop.removeClass('on');\r\n }\r\n }\r\n }\r\n });\r\n\r\n jQuery('body').on('click', '.navbar-collapse.in #productCategoryMenuDesktop li.topCategory.hasChildren > a, .navbar-collapse.in #productCategoryMenuDesktop li.topCategory.hasChildren .toggleMenu', function () {\r\n var categoryLinkDesktop = jQuery(this);\r\n categoryLinkDesktop.closest('li.topCategory.hasChildren').add(categoryLinkDesktop.closest('.navbar-nav')).toggleClass('on');\r\n return false;\r\n });\r\n\r\n jQuery('body').on('click', '.searchAndProductmenu .navbar-toggle', function () {\r\n jQuery('#productCategoryMenuDesktop .topCategory').removeClass('hide');\r\n jQuery('#productCategoryMenuDesktop .topCategory').css('opacity', 1);\r\n });\r\n }\r\n});\r\n","jQuery(function () {\r\n jQuery('body').on('currentOrderSet', function (event, order) {\r\n var cartContainer = jQuery('.js-minicartContainer');\r\n\r\n cartContainer.find('.numberOfItems').html(order.totalQuantity);\r\n cartContainer.find('.price').html(order.subtotalPrice.value.withVatFormatted);\r\n\r\n if (order.totalQuantity == 0) {\r\n cartContainer.addClass('empty');\r\n }\r\n\r\n cartContainer.removeClass('not-set');\r\n });\r\n\r\n\r\n //Close button on AddedToCart\r\n jQuery('.addedToCartwrapper .close').click(function (e) {\r\n var addedToCartWrapper = jQuery(this).closest(\".addedToCartwrapper\"),\r\n accessoriesWrapper = addedToCartWrapper.find(\".accessoriesWrapper\");\r\n\r\n //Hide popup\r\n addedToCartWrapper.hide();\r\n\r\n //Remove nad hide all accessories\r\n accessoriesWrapper.empty();\r\n accessoriesWrapper.hide();\r\n\r\n return false;\r\n });\r\n});\r\n","jQuery(function () {\r\n \r\n if (jQuery('body.Cart')[0]) {\r\n\r\n jQuery('body').on('basketUpdated', function (event, basket) {\r\n if (basket){\r\n var orderMoreModal = $(\"#order-more-modal\");\r\n if (orderMoreModal.length > 0){\r\n var remainingProperty = basket.OrderProperties.filter(function(property) {\r\n return property.Key === \"FreeShippingRemaining\";\r\n })[0]; \r\n \r\n if (remainingProperty.Value <= 0){\r\n $(orderMoreModal).find('.main-product-description').html('');\r\n }\r\n else{\r\n\r\n var remainingFormattedProperty = basket.OrderProperties.filter(function(property) {\r\n return property.Key === \"FreeShippingRemainingFormatted\";\r\n })[0]; \r\n \r\n $(orderMoreModal).find('.main-product-description .remaining').html(remainingFormattedProperty.Value);\r\n }\r\n\r\n }\r\n }\r\n });\r\n\r\n $('body').on('click', '#next', function(e) {\r\n var button = jQuery(this),\r\n freeShippingCounter = jQuery('.free-shipping-counter');\r\n\r\n if (freeShippingCounter.length > 0) {\r\n\r\n e.preventDefault();\r\n var freeShippingRemainingFormatted = jQuery(freeShippingCounter).attr('data-free-shipping-remaining-formatted');\r\n\r\n jQuery.ajax({\r\n url: '/umbraco/surface/ProductListPartial/PredefinedProductListPartial',\r\n data: { nodeId: _languageNodeId, storeId: _storeId, propertyAlias: 'freeShippingProducts', cultureName: _cultureName },\r\n success: function (result) {\r\n var resultHtml = jQuery(result),\r\n products = resultHtml.find('.product');\r\n\r\n if (products.length) {\r\n var orderMoreModal = jQuery('#order-more-modal'),\r\n productsWrapper = orderMoreModal.find('.products');\r\n\r\n //Virtual pageview\r\n ga('send', 'pageview', {\r\n 'page': '/free-shipping-modal'\r\n });\r\n\r\n resultHtml.find('.main-product-description .remaining').html(freeShippingRemainingFormatted);\r\n\r\n productsWrapper.find('.loaderArea').remove();\r\n productsWrapper.prepend(resultHtml);\r\n\r\n jQuery('body').addClass('show-order-more-modal');\r\n\r\n \r\n } \r\n else {\r\n location.href = button.attr('href');\r\n }\r\n }\r\n });\r\n\r\n return false;\r\n }\r\n });\r\n }\r\n});\r\n","jQuery(function() {\r\n var informationStep = jQuery('.informationStepContainer');\r\n\r\n if(informationStep[0]) {\r\n jQuery('input[name=\"shippingMethodId\"]').change(function() {\r\n preloadParcelShops();\r\n });\r\n\r\n jQuery('#zipCode, #shipping_zipCode').on('keyup blur', function (e) {\r\n if (e.type == 'blur' || (e.type = 'keyup' && e.which == 13)) {\r\n if (jQuery('.glsZip:visible').val() == '') {\r\n preloadParcelShops();\r\n }\r\n }\r\n });\r\n\r\n function preloadParcelShops() {\r\n var methodField = jQuery('input[name=\"shippingMethodId\"]:checked'),\r\n methodId = methodField.val();\r\n\r\n if (methodId == 2 || methodId == 12 || methodId == 21 || methodId == 24) {\r\n var relatedFoldout = jQuery(methodField).closest('.deliveryRow').find('.foldOut'),\r\n parcelZipField = relatedFoldout.find('.glsZip'),\r\n zipCode = jQuery('#zipCode').val();\r\n\r\n if(zipCode && zipCode != parcelZipField.val()) {\r\n parcelZipField.val(zipCode);\r\n getParcelShops(parcelZipField);\r\n }\r\n }\r\n }\r\n\r\n //Get GLS parcel shops by Zipcode\r\n function getParcelShops(sender) {\r\n var parcelShopWrapper = jQuery(sender).closest('.parcelShopWrapper'),\r\n zipCode = parcelShopWrapper.find('.glsZip').val(),\r\n parcelShopType = parcelShopWrapper.attr('parcelShopType'),\r\n parcelShopTypeForApi = parcelShopWrapper.attr('parcelShopTypeForApi'),\r\n countryCode = parcelShopWrapper.attr('countryCode');\r\n\r\n jQuery.ajax({\r\n url: '/umbraco/surface/cartSurface/GetParcelShops',\r\n data: { zipCode: zipCode.toString(), parcelShopType: parcelShopTypeForApi, countryCode: countryCode },\r\n success: function(parcelShopsString) {\r\n var parcelShops = getCommonParcelShopsObject(parcelShopsString, parcelShopType);\r\n\r\n addParcelShopData(parcelShops, parcelShopWrapper);\r\n },\r\n error: function(e) {\r\n alert('error');\r\n }\r\n });\r\n\r\n return false;\r\n };\r\n\r\n function getCommonParcelShopsObject(parcelShopsString, parcelShopType) {\r\n var parcelShopsJson = jQuery.parseJSON(parcelShopsString),\r\n parcelShops = [];\r\n\r\n jQuery.each(parcelShopsJson.data, function () {\r\n var parcelShop = this;\r\n //console.log(parcelShop);\r\n parcelShops.push({\r\n Id: parcelShop.id.trim(),\r\n Name: parcelShop.name.trim(),\r\n Street: parcelShop.street.trim(),\r\n Zip: parcelShop.zip.trim(),\r\n City: parcelShop.city.trim(),\r\n Latitude: parcelShop.latitude,\r\n Longitude: parcelShop.longitude,\r\n OpeningHours: parcelShop.opening_hours,\r\n MapPin: '/gfx/gls-pin-small.png'\r\n });\r\n });\r\n\r\n return parcelShops;\r\n }\r\n\r\n function addParcelShopData(parcelShops, parcelShopWrapper) {\r\n\r\n return;\r\n\r\n\r\n var lastAnimetedMarker,\r\n parcelShopInfo = parcelShopWrapper.find('.parcelShopInfo'),\r\n parcelShopList = parcelShopWrapper.find('.parcelShops'),\r\n template = parcelShopWrapper.find('.parcelShop.template'), //Template used for creating new parcelshops\r\n weekdays = jQuery('#weekDaysShort').val().split(','),\r\n preselectedShop = parcelShopWrapper.find('#glsParcelShop_preselected').val();\r\n\r\n var weekdaysDic = {};\r\n weekdaysDic['MO'] = weekdays[0];\r\n weekdaysDic['TU'] = weekdays[1];\r\n weekdaysDic['WE'] = weekdays[2];\r\n weekdaysDic['TH'] = weekdays[3];\r\n weekdaysDic['FR'] = weekdays[4];\r\n weekdaysDic['SA'] = weekdays[5];\r\n weekdaysDic['SU'] = weekdays[6];\r\n weekdays = weekdaysDic;\r\n\r\n //Clear hidden fields with previous values\r\n parcelShopWrapper.find('.firstName').val('');\r\n parcelShopWrapper.find('.lastName').val('');\r\n parcelShopWrapper.find('.address').val('');\r\n parcelShopWrapper.find('.zipCode').val('');\r\n parcelShopWrapper.find('.city').val('');\r\n\r\n if(parcelShops.length > 0) {\r\n parcelShopInfo.removeClass('hidden');\r\n\r\n //Ready Google Map\r\n var mapEle = parcelShopInfo.find('.googleMap'),\r\n //Bounds used to find the correct zoom level and starting location of map. Locations will be added to bounds later\r\n bounds = new google.maps.LatLngBounds(),\r\n mapId = mapEle.attr('id'),\r\n mapOptions = {\r\n disableDefaultUI: true\r\n },\r\n map = new google.maps.Map(document.getElementById(mapId), mapOptions);\r\n\r\n //Remove all parcelshops, except the template\r\n parcelShopList.find('.parcelShop:not(.template)').remove();\r\n\r\n var selectedParcelShop = \"\";\r\n\r\n //Find parcelshops that matches the preselected id\r\n var matches = jQuery.grep(parcelShops, function(element) {\r\n return element.Id == preselectedShop;\r\n });\r\n\r\n //Use the preselected parcelshop if there is any and its in the list of shown parcelshops, otherwise use the first\r\n if(preselectedShop == \"\" || !matches.length) {\r\n selectedParcelShop = parcelShops[0].Id;\r\n } else {\r\n selectedParcelShop = preselectedShop;\r\n }\r\n\r\n //Iterate all parcelshops\r\n jQuery(parcelShops).each(function() {\r\n var templateClone = template.clone().removeClass('template'),\r\n parcelShop = this,\r\n radioID = 'parcelShopRadio' + parcelShop.Id + parcelShopWrapper.attr(\"parcelshoptype\");\r\n \r\n //Ready parcelshop data\r\n templateClone.find('.name').html(parcelShop.Name);\r\n templateClone.find('.number span').html(parcelShop.Id);\r\n templateClone.find('.streetname').html(parcelShop.Street);\r\n templateClone.find('.zipcode').html(parcelShop.Zip);\r\n templateClone.find('.city').html(parcelShop.City);\r\n\r\n //Give each radio button an unique id\r\n templateClone.find('#parcelShopRadio').prop('checked', selectedParcelShop == parcelShop.Id);\r\n templateClone.find('#parcelShopRadio').attr('lng', parcelShop.Longitude);\r\n templateClone.find('#parcelShopRadio').attr('lat', parcelShop.Latitude);\r\n templateClone.find('#parcelShopRadio').attr('value', parcelShop.Id);\r\n templateClone.find('#parcelShopRadio').attr('id', radioID);\r\n\r\n templateClone.find('.name').attr('for', radioID);\r\n\r\n addOpeningHours(parcelShop, weekdays, templateClone.find('.openingHours'));\r\n\r\n //Append the clone to the list of parcelshops\r\n parcelShopList.append(templateClone);\r\n\r\n //Add google map pin for this parcelshop\r\n var location = new google.maps.LatLng(parseFloat(parcelShop.Latitude), parseFloat(parcelShop.Longitude)),\r\n //Scale the image used for the pin\r\n image = new google.maps.MarkerImage(\r\n this.MapPin,\r\n null, /* size is determined at runtime */\r\n null, /* origin is 0,0 */\r\n null, /* anchor is bottom center of the scaled image */\r\n new google.maps.Size(22, 31)\r\n ),\r\n marker = new google.maps.Marker({\r\n position: location,\r\n map: map,\r\n icon: image, //Use scaled image as icon\r\n shopId: parcelShop.Id,\r\n title: parcelShop.Name\r\n });\r\n\r\n if(selectedParcelShop == parcelShop.Id) {\r\n marker.setAnimation(google.maps.Animation.BOUNCE);\r\n lastAnimetedMarker = marker;\r\n setInputsForParcelShop();\r\n }\r\n\r\n function setInputsForParcelShop() {\r\n var parcelShopType = parcelShopWrapper.attr('parcelshoptype'),\r\n parcelShopTypeForApi = parcelShopWrapper.attr('parcelShopTypeForApi');\r\n //console.log('parcelShopType: ' + parcelShopType);\r\n //console.log('parcelShopTypeForApi: ' + parcelShopTypeForApi);\r\n //console.log( parcelShopWrapper.find('#' + parcelShopType + '_lastName'));\r\n\r\n parcelShopWrapper.find('#' + parcelShopType + '_firstName').val(parcelShop.Name),\r\n parcelShopWrapper.find('#' + parcelShopType + '_lastName').val(parcelShop.Id),\r\n parcelShopWrapper.find('#' + parcelShopType + '_address').val(parcelShop.Street),\r\n parcelShopWrapper.find('#' + parcelShopType + '_zipCode').val(parcelShop.Zip),\r\n parcelShopWrapper.find('#' + parcelShopType + '_city').val(parcelShop.City);\r\n }\r\n\r\n google.maps.event.addListener(marker, 'click', function() {\r\n setInputsForParcelShop();\r\n //Select radiobutton for selected parcelshop\r\n jQuery('#' + radioID).prop('checked', true);\r\n\r\n //Pan to clicked marker\r\n map.panTo(marker.getPosition());\r\n //Stop animation of currently bouncing marker\r\n lastAnimetedMarker.setAnimation(null);\r\n //Make the selecter marker bounce\r\n marker.setAnimation(google.maps.Animation.BOUNCE);\r\n //Save a reference to the bouncing marker\r\n lastAnimetedMarker = marker;\r\n });\r\n\r\n //Add the location to the bounds\r\n bounds.extend(location);\r\n\r\n jQuery('#' + radioID).change(function() {\r\n setInputsForParcelShop();\r\n\r\n map.panTo(marker.getPosition());\r\n lastAnimetedMarker.setAnimation(null);\r\n marker.setAnimation(google.maps.Animation.BOUNCE);\r\n lastAnimetedMarker = marker;\r\n });\r\n });\r\n\r\n //Zoom to include all locations added to bounds\r\n map.fitBounds(bounds);\r\n //Pan to include all locations added to bounds\r\n map.panToBounds(bounds);\r\n } else {\r\n parcelShopInfo.addClass('hidden');\r\n }\r\n }\r\n\r\n function addOpeningHours(parcelShop, weekdays, list) {\r\n var currentGroupFrom = '', //Time of day this group is open from\r\n currentGroupTo = '', //Time of day this group is open to\r\n currentGroupStartDay = null;\r\n\r\n //Length + 1 to make sure sundays are closed and printed\r\n for (var i = 0; i < parcelShop.OpeningHours.length; i++) {\r\n if(parcelShop.OpeningHours[i] != null) { //If open on this day\r\n var day = parcelShop.OpeningHours[i].day,\r\n openFrom = parcelShop.OpeningHours[i].openFrom,\r\n openTo = parcelShop.OpeningHours[i].openTo;\r\n\r\n if(currentGroupStartDay == null) { //If no current group\r\n currentGroupStartDay = day;\r\n currentGroupFrom = openFrom;\r\n currentGroupTo = openTo;\r\n } else if(currentGroupFrom == openFrom && currentGroupTo == openTo) { //If part of group\r\n //Do nothing if this day is part of the previous group\r\n\r\n } else { //End previous group, start new group\r\n if(currentGroupStartDay == day) { //If group start and ends on the same day\r\n list.append(jQuery('
  • ').append(weekdays[currentGroupStartDay] + ' ' + currentGroupFrom + '-' + currentGroupTo));\r\n } else { //Group streches over several days\r\n list.append(jQuery('
  • ').append(weekdays[currentGroupStartDay] + '-' + weekdays[day] + ' ' + currentGroupFrom + '-' + currentGroupTo));\r\n }\r\n\r\n currentGroupStartDay = day;\r\n currentGroupFrom = openFrom;\r\n currentGroupTo = openTo;\r\n }\r\n }\r\n }\r\n if (currentGroupStartDay != null) {\r\n if (currentGroupStartDay == day) { //If group start and ends on the same day\r\n list.append(jQuery('
  • ').append(weekdays[currentGroupStartDay] + ' ' + currentGroupFrom + '-' + currentGroupTo));\r\n } else { //Group streches over several days\r\n list.append(jQuery('
  • ').append(weekdays[currentGroupStartDay] + '-' + weekdays[day] + ' ' + currentGroupFrom + '-' + currentGroupTo));\r\n }\r\n }\r\n }\r\n\r\n jQuery('.parcelShopWrapper .getParcelShops').click(function(event) {\r\n getParcelShops(event.target);\r\n });\r\n\r\n jQuery('.glsZip').keydown(function (e) {\r\n if (e.type = 'keydown' && e.which == 13) {\r\n getParcelShops(e.target);\r\n return false;\r\n }\r\n });\r\n\r\n preloadParcelShops();\r\n }\r\n});\r\n\r\n\r\n","///****************************************************\r\n// - CONTACT\r\n//****************************************************/\r\n\r\njQuery(document).ready(function () {\r\n\r\n $('#contactForm').validate({\r\n\r\n errorClass: \"error\",\r\n errorPlacement: function (error, element) { },\r\n highlight: function (element, errorClass) {\r\n $(element).closest('.inputContainer').addClass(errorClass);\r\n },\r\n unhighlight: function (element, errorClass) {\r\n $(element).closest('.inputContainer').removeClass(errorClass);\r\n },\r\n\r\n submitHandler: function (form) {\r\n grecaptcha.ready(function() {\r\n grecaptcha.execute('6LcMiZwdAAAAAOYFPSw3Kf5da_4jrk6DdA5jJsJS', {action: 'submit'}).then(function(token) {\r\n $('#contactForm').hide();\r\n $('.sending').show();\r\n\r\n var jqxhr = $.post(callbackApiUrl + '/send_contact_email', $('#contactForm').serialize() + '&token=' + token)\r\n .success(function () {\r\n\r\n $('#contactForm').find(\"input[name='name']\").val('');\r\n $('#contactForm').find(\"input[name='zipCode']\").val('');\r\n $('#contactForm').find(\"input[name='email']\").val('');\r\n $('#contactForm').find(\"input[name='orderNumber']\").val('');\r\n $('#contactForm').find(\"textarea[name='message']\").val('');\r\n\r\n $('.sending').hide();\r\n $('.successClassElement').show();\r\n\r\n })\r\n .error(function () {\r\n $('.sending').hide();\r\n console.log('error');\r\n $('#contactForm').show();\r\n });\r\n return false;\r\n });\r\n });\r\n }\r\n });\r\n\r\n // Accordion\r\n var accordion = document.getElementsByClassName(\"accordion\");\r\n for (i = 0; i < accordion.length; i++) {\r\n accordion[i].addEventListener(\"click\", function () {\r\n this.classList.toggle(\"active\");\r\n var panel = this.nextElementSibling;\r\n if (panel.style.display === \"block\") {\r\n panel.style.display = \"none\";\r\n } else {\r\n panel.style.display = \"block\";\r\n }\r\n });\r\n }\r\n});\r\n\r\n\r\n","///****************************************************\r\n// Combined cart script\r\n//****************************************************/\r\n\r\nvar goshopping = goshopping || {};\r\n\r\ngoshopping.helpers = new function () {\r\n\r\n this.setOrderIdOnCrossSiteLinks = function () {\r\n var basketId = $.cookie('basketId');\r\n\r\n if (!basketId || basketId == '00000000-0000-0000-0000-000000000000') {\r\n return null;\r\n }\r\n\r\n var allLinks = jQuery('a[href]').filter('[href^=\"http:\"]').not('[href^=\"http://' + window.location.host + '\"]'),\r\n allHttpsLinks = jQuery('a[href]').filter('[href^=\"' + window.location.protocol + '\"]').not('[href^=\"' + window.location.protocol + '//' + window.location.host + '\"]');\r\n\r\n jQuery.merge(allLinks, allHttpsLinks);\r\n\r\n for (var i = 0; i < allLinks.length; i++) {\r\n var link = jQuery(allLinks[i]),\r\n href = link.attr('href'),\r\n orderIdQueryIndex = href.indexOf('orderId='),\r\n isGoshoppingDomain = false;\r\n\r\n //Check that the domain exists in all domains\r\n for (var y = 0; y < _allDomains.length; y++) {\r\n if (href.indexOf('http://' + _allDomains[y]) === 0\r\n || href.indexOf('https://' + _allDomains[y]) === 0\r\n || href.indexOf('http://' + _allDomains[y].replace('www.', '')) === 0\r\n || href.indexOf('https://' + _allDomains[y].replace('www.', '')) === 0) {\r\n isGoshoppingDomain = true;\r\n break;\r\n }\r\n }\r\n\r\n if (isGoshoppingDomain && !link.closest('.ignore-cross-universe-link')[0]) {\r\n\r\n if (orderIdQueryIndex > -1) {\r\n //href = href.substr(0, orderIdQueryIndex + 8) + basketId + href.substr(orderIdQueryIndex + 44);\r\n } else {\r\n href += href.indexOf('?') > -1 ? '&' : '?';\r\n href += 'orderId=' + basketId;\r\n }\r\n link.attr('href', href);\r\n }\r\n }\r\n };\r\n};\r\n","jQuery.fn.readyAjaxForm = function (settings) {\r\n settings = jQuery.extend({\r\n // These are the defaults.\r\n sending: function () { },\r\n success: function () { },\r\n validationError: function () {},\r\n error: function () { },\r\n }, settings);\r\n\r\n this.ajaxForm({\r\n dataType: 'json',\r\n data: { Ajax: true },\r\n beforeSubmit: function (arr, form, options) {\r\n if (!form.valid()) {\r\n return false;\r\n }\r\n\r\n var successClassElement = form.closest('.successClassElement'),\r\n keepHeight = successClassElement.hasClass('formKeepHeight');\r\n\r\n //Set the start time\r\n form.data('sending', new Date().getTime());\r\n\r\n //Set status to sending\r\n successClassElement.setStatus('sending');\r\n settings.sending(form, options);\r\n\r\n //Set the height of the containing element if needed\r\n if (keepHeight) {\r\n successClassElement.height(successClassElement.height());\r\n }\r\n },\r\n success: function(data, success, options, form) {\r\n //Remove error class from all elements\r\n form.find('.error').add(form.closest('.successClassElement')).removeClass('error');\r\n\r\n if (data.success) {\r\n\r\n //Calculate timeout\r\n var sendingStart = form.data('sending'),\r\n sendingEnd = new Date().getTime(),\r\n sendingTime = sendingEnd - sendingStart,\r\n sendingMinTime = 1000,\r\n remainingTime = sendingMinTime - sendingTime;\r\n remainingTime = remainingTime < 0 ? 0 : remainingTime;\r\n\r\n form[0].reset();\r\n //Make sure the user is aware of something happening\r\n window.setTimeout(function() {\r\n //Set status to success instead of sending\r\n form.closest('.successClassElement').setStatus('success');\r\n }, remainingTime);\r\n settings.success(data, success, options, form);\r\n } else {\r\n //Loop through errors and set their error class\r\n for (var key in data.errorList) {\r\n var field = form.find('[name=' + key + ']'),\r\n errorClassElements = field.parents('.errorClassElement').add(field.filter('.errorClassElement'));\r\n\r\n errorClassElements.addClass('error');\r\n }\r\n\r\n //Set status to error instead of sending\r\n form.closest('.successClassElement').setStatus('error');\r\n settings.validationError(data, success, options, form);\r\n }\r\n },\r\n error: function(data, success, options, form) {\r\n //Set status to error instead of sending\r\n form.closest('.successClassElement').setStatus('error');\r\n settings.error(data, success, options, form);\r\n },\r\n\r\n });\r\n}\r\n\r\njQuery.fn.setStatus = function (newStatus) {\r\n this.removeClass('sending error success');\r\n this.addClass(newStatus);\r\n};","jQuery(function () {\r\n var reviewCreateForm = jQuery('#reviewCreateForm'),\r\n contactForm = jQuery('#contactForm');\r\n jQuery('#hcomment').removeAttr('required');\r\n if (reviewCreateForm[0]) {\r\n reviewCreateForm.readyAjaxForm({\r\n success: function () {\r\n\r\n },\r\n });\r\n }\r\n\r\n if (contactForm[0]) {\r\n contactForm.readyAjaxForm({\r\n success: function () {\r\n\r\n }\r\n });\r\n }\r\n\r\n //Ready form validation\r\n jQuery.validator.addClassRules({\r\n 'depend-on-checkbox': {\r\n required: function (element) {\r\n var dependSelect = jQuery(element).attr('data-validate-depend-selector');\r\n return jQuery(dependSelect + ':checked').length > 0;\r\n }\r\n },\r\n 'number': {\r\n number: true\r\n },\r\n 'depend-equal-to': {\r\n equalTo: function (element) {\r\n return jQuery(element).attr('data-validate-equal-to');\r\n }\r\n },\r\n 'shipping-depend': {\r\n shippingdepend: 'parameter'\r\n },\r\n 'validate-parcel': {\r\n validateparcel: ''\r\n },\r\n 'validate-personnr': {\r\n personnr: ''\r\n },\r\n });\r\n\r\n jQuery.validator.addMethod(\"personnr\", function (value, element, params) {\r\n\r\n var jQElement = jQuery(element),\r\n regexStr = jQElement.attr('data-regex-validate');\r\n var re = new RegExp(regexStr);\r\n\r\n return this.optional(element) || re.test(value);\r\n }, '');\r\n\r\n jQuery.validator.addMethod(\"shippingdepend\", function (value, element, params) {\r\n //console.log('shippingdepend: ' + params);\r\n return false;\r\n }, '');\r\n\r\n jQuery.validator.addMethod(\"validateparcel\", function (value, element, params) {\r\n //Return true if parcelshop is not selected\r\n if (value != '2' && value != '4' && value != '12' && value != '21' && value != '24') {\r\n return true;\r\n } else {\r\n var deliveryMethodContainer = jQuery(element).closest('.deliveryMethod'),\r\n selectedParcel = deliveryMethodContainer.find('.validate-parcel:checked'),\r\n parcelShopWrapper = selectedParcel.closest('.deliveryRow').find('.parcelShopWrapper'),\r\n parcelshopType = parcelShopWrapper.attr('parcelshoptype'),\r\n firstName = parcelShopWrapper.find('#' + parcelshopType + '_firstName').val(),\r\n lastName = parcelShopWrapper.find('#' + parcelshopType + '_lastName').val(),\r\n address = parcelShopWrapper.find('#' + parcelshopType + '_address').val(),\r\n zipCode = parcelShopWrapper.find('#' + parcelshopType + '_zipCode').val(),\r\n city = parcelShopWrapper.find('#' + parcelshopType + '_city').val();\r\n\r\n return firstName != \"\" && lastName != \"\" && address != \"\" && zipCode != \"\" && city != \"\";\r\n }\r\n }, '');\r\n\r\n\r\n jQuery(\".form-autoValidate\").validate({\r\n ignore: \"input[type='text']:hidden\",\r\n rules: {},\r\n errorPlacement: function () {},\r\n highlight: function (element, errorClass, validClass) {\r\n jQuery(element).parents(\".form-group, .input-group, .deliveryMethod, .paymentRow, .inputContainer\").addClass(errorClass).removeClass(validClass);\r\n },\r\n unhighlight: function (element, errorClass, validClass) {\r\n jQuery(element).parents(\".error\").removeClass(errorClass).addClass(validClass);\r\n },\r\n });\r\n\r\n jQuery('.input-group-focusable input').on('focus', function () {\r\n var input = jQuery(this),\r\n inputGroup = input.closest('.input-group');\r\n inputGroup.addClass('focus');\r\n }).on('blur', function () {\r\n var input = jQuery(this),\r\n inputGroup = input.closest('.input-group');\r\n inputGroup.removeClass('focus');\r\n });\r\n\r\n /****************************************/\r\n /* HIDE/SHOW FIELDS DEPENDING ON TYPE */\r\n /****************************************/\r\n jQuery('input[data-depending-on=\"true\"]').change(function () {\r\n var selectedInput = jQuery(this),\r\n inputName = selectedInput.attr('name'),\r\n inputValue = selectedInput.attr('value'),\r\n fieldsDependantOnType = jQuery('input[data-depend-on=\"' + inputName + '\"]');\r\n\r\n fieldsDependantOnType.each(function () {\r\n var currentInput = jQuery(this),\r\n formGroup = currentInput.closest('.form-group, .paymentRow'),\r\n visibleOn = currentInput.attr('data-visible-on').split(',');\r\n\r\n if (jQuery.inArray(inputValue, visibleOn) > -1) {\r\n formGroup.show().removeClass('hidden');\r\n currentInput.prop('disabled', false);\r\n } else {\r\n formGroup.hide();\r\n currentInput.prop('disabled', true);\r\n }\r\n });\r\n }).filter(':checked').trigger('change');\r\n\r\n $(function() {\r\n $(\".form-control\").on(\"input\", function(event) {\r\n var value = $(this).val();\r\n if(value.indexOf('0045') == 0 && $(this).attr('type') == 'tel') {\r\n $(this).val(value.replace(\"0045\", \"\"));\r\n }\r\n if (value.indexOf('+45') == 0 && $(this).attr('type') == 'tel') {\r\n $(this).val(value.replace(\"+45\", \"\"));\r\n }\r\n if(value.indexOf('@gmail.dk') != -1 && $(this).attr('type') == 'email') {\r\n $(this).val(value.replace(\"@gmail.dk\", \"@gmail.com\"));\r\n } \r\n if(value.indexOf('.con') != -1 && $(this).attr('type') == 'email') {\r\n $(this).val(value.replace(\".con\", \".com\")); \r\n }\r\n if(value.indexOf('.fk') != -1 && $(this).attr('type') == 'email') {\r\n $(this).val(value.replace(\".fk\", \".dk\")); \r\n }\r\n\r\n $(this).trigger('input');\r\n })\r\n });\r\n});\r\n","jQuery(function () {\r\n jQuery('body').on('click', '.expandModelList', function () {\r\n jQuery('.AccessoryView .subCategories .subCategory').removeClass(\"xs-hidden sm-hidden md-hidden lg-hidden\");\r\n jQuery('.AccessoryView .subCategories .expandModelList').hide();\r\n });\r\n});","jQuery(function () { \r\n var tid = null;\r\n var dtStart = new Date().valueOf();\r\n var check = function () {\r\n window.clearTimeout(tid);\r\n var templ = $('#focalChatTempl');\r\n if (templ && templ.length) {\r\n if (templ.hasClass('focalChatUnready')) {\r\n window.console.log('FS chat is offline.');\r\n return;\r\n } else if (templ.hasClass('focalChatReady')) {\r\n window.console.log('FS chat is online.');\r\n $('.js-chat-link').show();\r\n return;\r\n }\r\n }\r\n if (new Date().valueOf() - dtStart > 60000) {\r\n window.console.log('Timeout waiting for FS chat to load.');\r\n return;\r\n }\r\n tid = window.setTimeout(check, 500);\r\n };\r\n check();\r\n});\r\n","/****************************************************\r\n - NEWSLETTER\r\n****************************************************/\r\njQuery(function () {\r\n var placeholder = jQuery('.NewsletterWidget .newsletterSubscribe');\r\n newsletter = jQuery('.NewsletterWidget .newsletter');\r\n body = jQuery('body');\r\n newsletterDisband = jQuery.cookies.get('newsletter-disband') == 'true';\r\n newsletterDisbandByQuery = jQuery.QueryString['utm_source'] == 'email';\r\n\r\n if (window.location.href.indexOf(\"goshopping\") >= 0) {\r\n newsletterDisband = true;\r\n }\r\n\r\n function setDisbandCookie() {\r\n jQuery.cookies.set('newsletter-disband', 'true', undefined, true);\r\n }\r\n\r\n if (!newsletterDisband && !newsletterDisbandByQuery && placeholder.length && newsletter.length) {\r\n var scrollHandling = {\r\n allow: true,\r\n reallow: function () {\r\n scrollHandling.allow = true;\r\n },\r\n delay: 50\r\n };\r\n\r\n var handleFlying = function () {\r\n if (scrollHandling.allow) {\r\n var flyingboxOffset = jQuery(window).scrollTop() + jQuery(window).height() - placeholder.height();\r\n\r\n if (flyingboxOffset > placeholder.offset().top) {\r\n body.removeClass('newsletter-fixed');\r\n } else {\r\n body.addClass('newsletter-fixed');\r\n }\r\n\r\n // if (flyingboxOffset > placeholder.offset().top) {\r\n // newsletter.removeClass('flying');\r\n // } else {\r\n // newsletter.addClass('flying');\r\n // }\r\n\r\n scrollHandling.allow = false;\r\n setTimeout(scrollHandling.reallow, scrollHandling.delay);\r\n }\r\n };\r\n\r\n newsletter.on('click', '.newsletter-close', function () {\r\n newsletter.removeClass('flying');\r\n jQuery(window).off('scroll', handleFlying);\r\n setDisbandCookie();\r\n\r\n });\r\n\r\n newsletter.on('click', '.scroll-to-newsletter .btn-green', function () {\r\n jQuery(window).off('scroll', handleFlying);\r\n newsletter.removeClass('flying');\r\n setDisbandCookie();\r\n\r\n newsletter.closest('.NewsletterWidget').addClass('on');\r\n\r\n jQuery('html, body').animate({\r\n scrollTop: newsletter.closest('.widgetContainer').offset().top\r\n }, 2000);\r\n\r\n return false;\r\n });\r\n\r\n jQuery(window).on('scroll load', handleFlying);\r\n } else if (newsletterDisbandByQuery) {\r\n setDisbandCookie();\r\n }\r\n\r\n jQuery('body').on('click', '.newsletterContainer .signup, .newsletterMobileWrapper .signup', function () {\r\n\r\n var newsletter = jQuery(this).closest('.newsletterContainer, .newsletterMobileWrapper, .newsletterPage'),\r\n name = newsletter.find('.newsletterName').val(),\r\n email = newsletter.find('.newsletterEmail').val(),\r\n emailInput = newsletter.find('.newsletterEmail'),\r\n languageIds = [],\r\n sending = newsletter.find('.sending'),\r\n success = newsletter.find('.success');\r\n\r\n languageIds.push(newsletter.find('.newsletterLanguage').val());\r\n reg = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\r\n if (name && name != '' && reg.test(email)) {\r\n\r\n if (newsletter.hasClass('newsletterPage')) {\r\n $('.newsCenter').addClass('newsletterPageLoader');\r\n\r\n jQuery.post(\r\n '/umbraco/surface/Newsletter/AddUser',\r\n {\r\n firstName: name,\r\n lastName: \"\",\r\n email: email,\r\n languageIds: JSON.stringify(languageIds)\r\n },\r\n function (result) {\r\n var memberIds = jQuery.parseJSON(result);\r\n\r\n jQuery.each(memberIds, function () {\r\n jQuery.cookies.set('newsletter-member-' + this.LanguageId, this.Id);\r\n\r\n if (this.LanguageId == _languageNodeId) {\r\n _newsletterMemberId = this.Id;\r\n }\r\n });\r\n\r\n $('.hideAfterSuccess').hide();\r\n $('.showAfterSuccess').show();\r\n\r\n $('.newsCenter').removeClass('newsletterPageLoader');\r\n }\r\n );\r\n\r\n } else {\r\n sending.show();\r\n\r\n jQuery.post(\r\n '/umbraco/surface/Newsletter/AddUser',\r\n {\r\n firstName: name,\r\n lastName: \"\",\r\n email: email,\r\n languageIds: JSON.stringify(languageIds)\r\n },\r\n function (result) {\r\n var memberIds = jQuery.parseJSON(result);\r\n\r\n jQuery.each(memberIds, function () {\r\n jQuery.cookies.set('newsletter-member-' + this.LanguageId, this.Id);\r\n\r\n if (this.LanguageId == _languageNodeId) {\r\n _newsletterMemberId = this.Id;\r\n }\r\n });\r\n\r\n sending.hide();\r\n success.show();\r\n }\r\n );\r\n }\r\n\r\n setDisbandCookie();\r\n } else {\r\n emailInput.classList.add('error');\r\n }\r\n return false;\r\n });\r\n});\r\n","/****************************************************\r\n - BRANDS IN FOOTER\r\n****************************************************/\r\njQuery(function () {\r\n var footerSearch = jQuery('.footerMenu .search'),\r\n searchVal = footerSearch.val(),\r\n searchWidth = footerSearch.css('width');\r\n\r\n if (footerSearch[0]) {\r\n footerSearch.on('click', function () {\r\n footerSearch.addClass('active').animate({ width: '140px' }).val('');\r\n return false;\r\n });\r\n\r\n footerSearch.on('focusout', function () {\r\n footerSearch.removeClass('active').animate({ width: searchWidth }).val(searchVal);\r\n return false;\r\n });\r\n }\r\n\r\n\r\n var footerBrands = jQuery('#footerBrands');\r\n if (footerBrands[0]) {\r\n\r\n footerBrands.find('.brands').isotope({\r\n itemSelector: '.brandLink',\r\n filter: ':nth-child(-n+12)'\r\n });\r\n\r\n footerBrands.find('.brandLink img.lazy').load(function () {\r\n var brandLinkLazyImage = jQuery(this),\r\n brandLinkOtherImage = brandLinkLazyImage.siblings();\r\n brandLinkOtherImage.attr('src', brandLinkOtherImage.attr('data-original'));\r\n });\r\n\r\n footerBrands.on('click', '.moreBrands', function () {\r\n footerBrands.find('.brands').isotope({\r\n filter: ''\r\n });\r\n jQuery(this).hide();\r\n jQuery('.lessBrands').show();\r\n jQuery(\"img.lazy\").lazyload({\r\n threshhold: 0,\r\n failure_limit: 0\r\n });\r\n $('body,html').scroll();\r\n return false;\r\n });\r\n footerBrands.on('click', '.lessBrands', function () {\r\n footerBrands.find('.brands').isotope({\r\n itemSelector: '.brandLink',\r\n filter: ':nth-child(-n+12)'\r\n });\r\n jQuery(this).hide();\r\n jQuery('.moreBrands').show();\r\n jQuery(\"img.lazy\").lazyload({\r\n threshhold: 0,\r\n failure_limit: 0\r\n });\r\n return false;\r\n });\r\n }\r\n});","'use strict';\r\n\r\n/**\r\n * @name Novicell Gallery\r\n * @desc Gallery, for custom arrow use https://flickity.metafizzy.co/options.html#arrowshape\r\n * @author Emil Ankersen (EAN)\r\n * @requires https://flickity.metafizzy.co/\r\n */\r\n\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.gallery = novicell.gallery || new function () {\r\n\r\n var gallery = document.querySelector('.js-gallery');\r\n var productPage = document.querySelector('.js-product-page');\r\n var galleryNav = document.querySelector('.js-gallery-nav');\r\n if (productPage) {\r\n var flktyGallery = new Flickity(gallery, {\r\n // options\r\n cellAlign: 'left',\r\n contain: true,\r\n pageDots: true,\r\n cellSelector: '.gallery__item',\r\n prevNextButtons: true,\r\n lazyLoad: true,\r\n setGallerySize: true,\r\n arrowShape: {\r\n x0: 20,\r\n x1: 70, y1: 50,\r\n x2: 80, y2: 40,\r\n x3: 40\r\n },\r\n imagesLoaded: true\r\n });\r\n\r\n // Disable dots\r\n if (flktyGallery.cells.length <= 1) {\r\n gallery.classList.add('gallery--disable-dots');\r\n }\r\n\r\n\r\n if (galleryNav && galleryNav != null && flktyGallery.cells.length > 1) {\r\n var flktyGalleryNav = new Flickity(galleryNav, {\r\n asNavFor: gallery,\r\n contain: true,\r\n pageDots: false,\r\n cellAlign: 'left',\r\n groupCells: true,\r\n lazyLoad: true,\r\n imagesLoaded: true\r\n });\r\n\r\n }\r\n\r\n flktyGallery.on('staticClick', function (event, pointer, cellElement, cellIndex) {\r\n if (!cellElement) {\r\n return;\r\n }\r\n\r\n // Photoswipe functions\r\n var openPhotoSwipe = function () {\r\n var pswpElement = document.querySelectorAll('.pswp')[0];\r\n\r\n // build items array\r\n var photoElements = document.querySelectorAll('.gallery__item-image');\r\n var pswpArr = Array.prototype.slice.call(photoElements);\r\n\r\n var items = pswpArr.map(function (el) {\r\n return {\r\n \"src\": el.getAttribute('data-image'),\r\n \"w\": 2000,\r\n \"h\": 2000\r\n }\r\n });\r\n\r\n var options = {\r\n history: false,\r\n index: cellIndex,\r\n showHideOpacity: true,\r\n closeOnScroll: false,\r\n shareEl: false\r\n };\r\n\r\n var productGallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options);\r\n productGallery.init();\r\n\r\n };\r\n openPhotoSwipe();\r\n });\r\n }\r\n}();\r\n","jQuery(function() {\r\n \r\n});","byen = new Array(9999);\r\n\tbyen['0800'] = \"H\\u00F8je Taastrup\";\r\n\tbyen['0877'] = \"Valby\";\r\n\tbyen['0900'] = \"K\\u00F8benhavn C\";\r\n\tbyen['0910'] = \"K\\u00F8benhavn C\";\r\n\tbyen['0929'] = \"K\\u00F8benhavn C\";\r\n\tbyen['1000'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1001'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1002'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1003'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1004'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1005'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1006'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1007'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1008'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1009'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1010'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1011'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1012'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1013'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1014'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1015'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1016'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1017'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1018'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1019'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1020'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1021'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1022'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1023'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1024'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1025'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1026'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1045'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1050'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1051'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1052'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1053'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1054'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1055'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1056'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1057'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1058'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1059'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1060'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1061'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1062'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1063'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1064'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1065'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1066'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1067'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1068'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1069'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1070'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1071'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1072'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1073'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1074'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1092'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1093'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1095'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1098'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1100'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1101'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1102'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1103'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1104'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1105'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1106'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1107'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1110'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1111'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1112'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1113'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1114'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1115'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1116'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1117'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1118'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1119'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1120'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1121'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1122'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1123'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1124'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1125'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1126'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1127'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1128'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1129'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1130'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1131'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1140'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1145'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1146'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1147'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1148'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1149'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1150'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1151'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1152'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1153'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1154'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1155'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1156'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1157'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1158'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1159'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1160'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1161'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1162'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1163'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1164'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1165'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1166'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1167'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1168'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1169'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1170'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1171'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1172'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1173'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1174'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1175'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1200'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1201'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1202'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1203'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1204'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1205'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1206'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1207'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1208'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1209'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1210'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1211'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1212'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1213'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1214'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1214'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1215'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1216'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1217'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1218'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1218'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1218'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1218'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1218'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1218'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1219'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1220'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1240'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1248'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1249'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1250'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1251'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1252'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1253'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1254'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1255'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1256'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1257'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1258'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1259'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1259'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1260'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1261'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1263'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1263'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1264'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1265'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1266'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1267'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1268'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1270'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1271'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1291'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1300'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1301'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1302'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1303'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1304'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1306'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1307'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1307'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1308'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1309'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1310'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1311'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1312'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1313'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1314'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1315'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1316'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1317'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1318'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1319'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1320'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1321'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1322'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1323'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1324'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1325'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1326'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1327'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1328'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1329'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1347'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1349'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1350'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1352'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1353'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1354'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1355'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1356'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1357'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1358'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1359'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1360'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1361'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1361'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1362'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1363'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1364'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1365'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1366'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1367'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1368'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1369'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1370'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1371'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1390'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1399'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1400'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1400'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1401'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1402'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1403'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1404'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1405'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1406'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1407'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1408'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1409'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1410'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1411'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1412'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1413'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1414'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1415'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1416'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1417'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1418'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1419'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1420'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1421'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1422'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1423'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1424'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1425'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1426'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1427'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1428'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1429'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1430'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1431'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1432'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1432'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1432'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1433'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1434'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1435'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1436'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1437'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1438'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1439'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1448'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1450'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1451'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1452'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1453'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1454'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1455'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1456'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1457'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1458'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1459'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1460'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1461'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1462'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1463'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1464'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1465'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1466'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1467'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1468'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1470'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1471'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1472'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1473'] = \"K\\u00F8benhavn K\";\r\n\tbyen['1500'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1501'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1502'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1503'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1504'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1505'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1506'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1507'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1508'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1509'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1510'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1532'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1533'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1550'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1550'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1551'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1552'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1553'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1553'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1554'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1555'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1556'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1557'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1558'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1559'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1560'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1561'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1562'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1563'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1564'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1566'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1567'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1568'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1569'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1570'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1570'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1571'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1572'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1573'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1574'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1575'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1576'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1577'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1583'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1590'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1592'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1595'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1599'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1600'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1601'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1602'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1603'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1604'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1605'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1606'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1607'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1608'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1609'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1610'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1611'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1612'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1613'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1614'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1615'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1616'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1617'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1618'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1619'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1620'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1620'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1621'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1622'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1623'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1624'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1630'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1631'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1632'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1633'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1634'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1635'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1639'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1640'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1648'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1650'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1651'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1652'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1653'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1654'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1655'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1656'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1657'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1658'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1659'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1660'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1661'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1662'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1663'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1664'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1665'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1666'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1667'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1668'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1669'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1670'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1671'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1671'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1672'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1673'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1674'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1675'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1676'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1677'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1699'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1700'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1701'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1702'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1703'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1704'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1705'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1706'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1707'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1708'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1709'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1710'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1711'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1712'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1713'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1714'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1715'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1716'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1717'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1718'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1719'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1720'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1721'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1722'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1723'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1724'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1725'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1726'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1727'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1728'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1729'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1730'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1731'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1732'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1733'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1734'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1735'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1736'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1737'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1738'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1739'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1748'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1749'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1750'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1751'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1752'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1753'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1754'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1755'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1756'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1757'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1758'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1759'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1760'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1761'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1762'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1763'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1764'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1765'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1766'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1770'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1771'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1772'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1773'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1774'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1775'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1777'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1778'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1780'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1782'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1783'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1784'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1785'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1786'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1787'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1788'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1789'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1790'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1795'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1799'] = \"K\\u00F8benhavn V\";\r\n\tbyen['1800'] = \"Frederiksberg C\";\r\n\tbyen['1801'] = \"Frederiksberg C\";\r\n\tbyen['1802'] = \"Frederiksberg C\";\r\n\tbyen['1803'] = \"Frederiksberg C\";\r\n\tbyen['1804'] = \"Frederiksberg C\";\r\n\tbyen['1805'] = \"Frederiksberg C\";\r\n\tbyen['1806'] = \"Frederiksberg C\";\r\n\tbyen['1807'] = \"Frederiksberg C\";\r\n\tbyen['1808'] = \"Frederiksberg C\";\r\n\tbyen['1809'] = \"Frederiksberg C\";\r\n\tbyen['1810'] = \"Frederiksberg C\";\r\n\tbyen['1811'] = \"Frederiksberg C\";\r\n\tbyen['1812'] = \"Frederiksberg C\";\r\n\tbyen['1813'] = \"Frederiksberg C\";\r\n\tbyen['1814'] = \"Frederiksberg C\";\r\n\tbyen['1815'] = \"Frederiksberg C\";\r\n\tbyen['1816'] = \"Frederiksberg C\";\r\n\tbyen['1817'] = \"Frederiksberg C\";\r\n\tbyen['1818'] = \"Frederiksberg C\";\r\n\tbyen['1819'] = \"Frederiksberg C\";\r\n\tbyen['1820'] = \"Frederiksberg C\";\r\n\tbyen['1822'] = \"Frederiksberg C\";\r\n\tbyen['1823'] = \"Frederiksberg C\";\r\n\tbyen['1824'] = \"Frederiksberg C\";\r\n\tbyen['1825'] = \"Frederiksberg C\";\r\n\tbyen['1826'] = \"Frederiksberg C\";\r\n\tbyen['1827'] = \"Frederiksberg C\";\r\n\tbyen['1828'] = \"Frederiksberg C\";\r\n\tbyen['1829'] = \"Frederiksberg C\";\r\n\tbyen['1835'] = \"Frederiksberg C\";\r\n\tbyen['1850'] = \"Frederiksberg C\";\r\n\tbyen['1851'] = \"Frederiksberg C\";\r\n\tbyen['1852'] = \"Frederiksberg C\";\r\n\tbyen['1853'] = \"Frederiksberg C\";\r\n\tbyen['1854'] = \"Frederiksberg C\";\r\n\tbyen['1855'] = \"Frederiksberg C\";\r\n\tbyen['1856'] = \"Frederiksberg C\";\r\n\tbyen['1857'] = \"Frederiksberg C\";\r\n\tbyen['1860'] = \"Frederiksberg C\";\r\n\tbyen['1861'] = \"Frederiksberg C\";\r\n\tbyen['1862'] = \"Frederiksberg C\";\r\n\tbyen['1863'] = \"Frederiksberg C\";\r\n\tbyen['1864'] = \"Frederiksberg C\";\r\n\tbyen['1865'] = \"Frederiksberg C\";\r\n\tbyen['1866'] = \"Frederiksberg C\";\r\n\tbyen['1867'] = \"Frederiksberg C\";\r\n\tbyen['1868'] = \"Frederiksberg C\";\r\n\tbyen['1870'] = \"Frederiksberg C\";\r\n\tbyen['1871'] = \"Frederiksberg C\";\r\n\tbyen['1872'] = \"Frederiksberg C\";\r\n\tbyen['1873'] = \"Frederiksberg C\";\r\n\tbyen['1874'] = \"Frederiksberg C\";\r\n\tbyen['1875'] = \"Frederiksberg C\";\r\n\tbyen['1876'] = \"Frederiksberg C\";\r\n\tbyen['1877'] = \"Frederiksberg C\";\r\n\tbyen['1878'] = \"Frederiksberg C\";\r\n\tbyen['1879'] = \"Frederiksberg C\";\r\n\tbyen['1900'] = \"Frederiksberg C\";\r\n\tbyen['1901'] = \"Frederiksberg C\";\r\n\tbyen['1902'] = \"Frederiksberg C\";\r\n\tbyen['1903'] = \"Frederiksberg C\";\r\n\tbyen['1904'] = \"Frederiksberg C\";\r\n\tbyen['1905'] = \"Frederiksberg C\";\r\n\tbyen['1906'] = \"Frederiksberg C\";\r\n\tbyen['1908'] = \"Frederiksberg C\";\r\n\tbyen['1909'] = \"Frederiksberg C\";\r\n\tbyen['1910'] = \"Frederiksberg C\";\r\n\tbyen['1911'] = \"Frederiksberg C\";\r\n\tbyen['1912'] = \"Frederiksberg C\";\r\n\tbyen['1913'] = \"Frederiksberg C\";\r\n\tbyen['1914'] = \"Frederiksberg C\";\r\n\tbyen['1915'] = \"Frederiksberg C\";\r\n\tbyen['1916'] = \"Frederiksberg C\";\r\n\tbyen['1917'] = \"Frederiksberg C\";\r\n\tbyen['1920'] = \"Frederiksberg C\";\r\n\tbyen['1921'] = \"Frederiksberg C\";\r\n\tbyen['1922'] = \"Frederiksberg C\";\r\n\tbyen['1923'] = \"Frederiksberg C\";\r\n\tbyen['1924'] = \"Frederiksberg C\";\r\n\tbyen['1925'] = \"Frederiksberg C\";\r\n\tbyen['1926'] = \"Frederiksberg C\";\r\n\tbyen['1927'] = \"Frederiksberg C\";\r\n\tbyen['1928'] = \"Frederiksberg C\";\r\n\tbyen['1931'] = \"Frederiksberg C\";\r\n\tbyen['1950'] = \"Frederiksberg C\";\r\n\tbyen['1951'] = \"Frederiksberg C\";\r\n\tbyen['1952'] = \"Frederiksberg C\";\r\n\tbyen['1953'] = \"Frederiksberg C\";\r\n\tbyen['1954'] = \"Frederiksberg C\";\r\n\tbyen['1955'] = \"Frederiksberg C\";\r\n\tbyen['1956'] = \"Frederiksberg C\";\r\n\tbyen['1957'] = \"Frederiksberg C\";\r\n\tbyen['1958'] = \"Frederiksberg C\";\r\n\tbyen['1959'] = \"Frederiksberg C\";\r\n\tbyen['1960'] = \"Frederiksberg C\";\r\n\tbyen['1961'] = \"Frederiksberg C\";\r\n\tbyen['1962'] = \"Frederiksberg C\";\r\n\tbyen['1963'] = \"Frederiksberg C\";\r\n\tbyen['1964'] = \"Frederiksberg C\";\r\n\tbyen['1965'] = \"Frederiksberg C\";\r\n\tbyen['1966'] = \"Frederiksberg C\";\r\n\tbyen['1967'] = \"Frederiksberg C\";\r\n\tbyen['1970'] = \"Frederiksberg C\";\r\n\tbyen['1971'] = \"Frederiksberg C\";\r\n\tbyen['1972'] = \"Frederiksberg C\";\r\n\tbyen['1973'] = \"Frederiksberg C\";\r\n\tbyen['1974'] = \"Frederiksberg C\";\r\n\tbyen['1999'] = \"Frederiksberg C\";\r\n\tbyen['2000'] = \"Frederiksberg\";\r\n\tbyen['2100'] = \"K\\u00F8benhavn \\u00D8\";\r\n\tbyen['2200'] = \"K\\u00F8benhavn N\";\r\n\tbyen['2300'] = \"K\\u00F8benhavn S\";\r\n\tbyen['2400'] = \"K\\u00F8benhavn NV\";\r\n\tbyen['2450'] = \"K\\u00F8benhavn SV\";\r\n\tbyen['2500'] = \"Valby\";\r\n\tbyen['2600'] = \"Glostrup\";\r\n\tbyen['2605'] = \"Br\\u00F8ndby\";\r\n\tbyen['2610'] = \"R\\u00F8dovre\";\r\n\tbyen['2620'] = \"Albertslund\";\r\n\tbyen['2625'] = \"Vallensb\\u00E6k\";\r\n\tbyen['2630'] = \"Taastrup\";\r\n\tbyen['2633'] = \"Taastrup\";\r\n\tbyen['2635'] = \"Ish\\u00F8j\";\r\n\tbyen['2640'] = \"Hedehusene\";\r\n\tbyen['2650'] = \"Hvidovre\";\r\n\tbyen['2660'] = \"Br\\u00F8ndby Strand\";\r\n\tbyen['2665'] = \"Vallensb\\u00E6k Strand\";\r\n\tbyen['2670'] = \"Greve\";\r\n\tbyen['2680'] = \"Solr\\u00F8d Strand\";\r\n\tbyen['2690'] = \"Karlslunde\";\r\n\tbyen['2700'] = \"Br\\u00F8nsh\\u00F8j\";\r\n\tbyen['2720'] = \"Vanl\\u00F8se\";\r\n\tbyen['2730'] = \"Herlev\";\r\n\tbyen['2740'] = \"Skovlunde\";\r\n\tbyen['2750'] = \"Ballerup\";\r\n\tbyen['2760'] = \"M\\u00E5l\\u00F8v\";\r\n\tbyen['2765'] = \"Sm\\u00F8rum\";\r\n\tbyen['2770'] = \"Kastrup\";\r\n\tbyen['2791'] = \"Drag\\u00F8r\";\r\n\tbyen['2800'] = \"Kongens Lyngby\";\r\n\tbyen['2820'] = \"Gentofte\";\r\n\tbyen['2830'] = \"Virum\";\r\n\tbyen['2840'] = \"Holte\";\r\n\tbyen['2850'] = \"N\\u00E6rum\";\r\n\tbyen['2860'] = \"S\\u00F8borg\";\r\n\tbyen['2870'] = \"Dysseg\\u00E5rd\";\r\n\tbyen['2880'] = \"Bagsv\\u00E6rd\";\r\n\tbyen['2900'] = \"Hellerup\";\r\n\tbyen['2920'] = \"Charlottenlund\";\r\n\tbyen['2930'] = \"Klampenborg\";\r\n\tbyen['2942'] = \"Skodsborg\";\r\n\tbyen['2950'] = \"Vedb\\u00E6k\";\r\n\tbyen['2960'] = \"Rungsted Kyst\";\r\n\tbyen['2970'] = \"H\\u00F8rsholm\";\r\n\tbyen['2980'] = \"Kokkedal\";\r\n\tbyen['2990'] = \"Niv\\u00E5\";\r\n\tbyen['3000'] = \"Helsing\\u00F8r\";\r\n\tbyen['3050'] = \"Humleb\\u00E6k\";\r\n\tbyen['3060'] = \"Esperg\\u00E6rde\";\r\n\tbyen['3070'] = \"Snekkersten\";\r\n\tbyen['3080'] = \"Tik\\u00F8b\";\r\n\tbyen['3100'] = \"Hornb\\u00E6k\";\r\n\tbyen['3120'] = \"Dronningm\\u00F8lle\";\r\n\tbyen['3140'] = \"\\u00C5lsg\\u00E5rde\";\r\n\tbyen['3150'] = \"Helleb\\u00E6k\";\r\n\tbyen['3200'] = \"Helsinge\";\r\n\tbyen['3210'] = \"Vejby\";\r\n\tbyen['3220'] = \"Tisvildeleje\";\r\n\tbyen['3230'] = \"Gr\\u00E6sted\";\r\n\tbyen['3250'] = \"Gilleleje\";\r\n\tbyen['3300'] = \"Frederiksv\\u00E6rk\";\r\n\tbyen['3310'] = \"\\u00D8lsted\";\r\n\tbyen['3320'] = \"Sk\\u00E6vinge\";\r\n\tbyen['3330'] = \"G\\u00F8rl\\u00F8se\";\r\n\tbyen['3360'] = \"Liseleje\";\r\n\tbyen['3370'] = \"Melby\";\r\n\tbyen['3390'] = \"Hundested\";\r\n\tbyen['3400'] = \"Hiller\\u00F8d\";\r\n\tbyen['3450'] = \"Aller\\u00F8d\";\r\n\tbyen['3460'] = \"Birker\\u00F8d\";\r\n\tbyen['3480'] = \"Fredensborg\";\r\n\tbyen['3490'] = \"Kvistg\\u00E5rd\";\r\n\tbyen['3500'] = \"V\\u00E6rl\\u00F8se\";\r\n\tbyen['3520'] = \"Farum\";\r\n\tbyen['3540'] = \"Lynge\";\r\n\tbyen['3550'] = \"Slangerup\";\r\n\tbyen['3600'] = \"Frederikssund\";\r\n\tbyen['3630'] = \"J\\u00E6gerspris\";\r\n\tbyen['3650'] = \"\\u00D8lstykke\";\r\n\tbyen['3660'] = \"Stenl\\u00F8se\";\r\n\tbyen['3670'] = \"Veks\\u00F8 Sj\\u00E6lland\";\r\n\tbyen['3700'] = \"R\\u00F8nne\";\r\n\tbyen['3720'] = \"Aakirkeby\";\r\n\tbyen['3730'] = \"Nex\\u00F8\";\r\n\tbyen['3740'] = \"Svaneke\";\r\n\tbyen['3751'] = \"\\u00D8stermarie\";\r\n\tbyen['3760'] = \"Gudhjem\";\r\n\tbyen['3770'] = \"Allinge\";\r\n\tbyen['3782'] = \"Klemensker\";\r\n\tbyen['3790'] = \"Hasle\";\r\n\tbyen['4000'] = \"Roskilde\";\r\n\tbyen['4040'] = \"Jyllinge\";\r\n\tbyen['4050'] = \"Skibby\";\r\n\tbyen['4060'] = \"Kirke S\\u00E5by\";\r\n\tbyen['4070'] = \"Kirke Hyllinge\";\r\n\tbyen['4100'] = \"Ringsted\";\r\n\tbyen['4105'] = \"Ringsted\";\r\n\tbyen['4129'] = \"Ringsted\";\r\n\tbyen['4130'] = \"Viby Sj\\u00E6lland\";\r\n\tbyen['4140'] = \"Borup\";\r\n\tbyen['4160'] = \"Herlufmagle\";\r\n\tbyen['4171'] = \"Glums\\u00F8\";\r\n\tbyen['4173'] = \"Fjenneslev\";\r\n\tbyen['4174'] = \"Jystrup Midtsj\";\r\n\tbyen['4180'] = \"Sor\\u00F8\";\r\n\tbyen['4190'] = \"Munke Bjergby\";\r\n\tbyen['4200'] = \"Slagelse\";\r\n\tbyen['4220'] = \"Kors\\u00F8r\";\r\n\tbyen['4230'] = \"Sk\\u00E6lsk\\u00F8r\";\r\n\tbyen['4241'] = \"Vemmelev\";\r\n\tbyen['4242'] = \"Boeslunde\";\r\n\tbyen['4243'] = \"Rude\";\r\n\tbyen['4250'] = \"Fuglebjerg\";\r\n\tbyen['4261'] = \"Dalmose\";\r\n\tbyen['4262'] = \"Sandved\";\r\n\tbyen['4270'] = \"H\\u00F8ng\";\r\n\tbyen['4281'] = \"G\\u00F8rlev\";\r\n\tbyen['4291'] = \"Ruds Vedby\";\r\n\tbyen['4293'] = \"Dianalund\";\r\n\tbyen['4295'] = \"Stenlille\";\r\n\tbyen['4296'] = \"Nyrup\";\r\n\tbyen['4300'] = \"Holb\\u00E6k\";\r\n\tbyen['4320'] = \"Lejre\";\r\n\tbyen['4330'] = \"Hvals\\u00F8\";\r\n\tbyen['4340'] = \"T\\u00F8ll\\u00F8se\";\r\n\tbyen['4350'] = \"Ugerl\\u00F8se\";\r\n\tbyen['4360'] = \"Kirke Eskilstrup\";\r\n\tbyen['4370'] = \"Store Merl\\u00F8se\";\r\n\tbyen['4390'] = \"Vipper\\u00F8d\";\r\n\tbyen['4400'] = \"Kalundborg\";\r\n\tbyen['4420'] = \"Regstrup\";\r\n\tbyen['4440'] = \"M\\u00F8rk\\u00F8v\";\r\n\tbyen['4450'] = \"Jyderup\";\r\n\tbyen['4460'] = \"Snertinge\";\r\n\tbyen['4470'] = \"Sveb\\u00F8lle\";\r\n\tbyen['4480'] = \"Store Fuglede\";\r\n\tbyen['4490'] = \"Jerslev Sj\\u00E6lland\";\r\n\tbyen['4500'] = \"Nyk\\u00F8bing Sj\";\r\n\tbyen['4520'] = \"Svinninge\";\r\n\tbyen['4532'] = \"Gislinge\";\r\n\tbyen['4534'] = \"H\\u00F8rve\";\r\n\tbyen['4540'] = \"F\\u00E5revejle\";\r\n\tbyen['4550'] = \"Asn\\u00E6s\";\r\n\tbyen['4560'] = \"Vig\";\r\n\tbyen['4571'] = \"Grevinge\";\r\n\tbyen['4572'] = \"N\\u00F8rre Asmindrup\";\r\n\tbyen['4573'] = \"H\\u00F8jby\";\r\n\tbyen['4581'] = \"R\\u00F8rvig\";\r\n\tbyen['4583'] = \"Sj\\u00E6llands Odde\";\r\n\tbyen['4591'] = \"F\\u00F8llenslev\";\r\n\tbyen['4592'] = \"Sejer\\u00F8\";\r\n\tbyen['4593'] = \"Eskebjerg\";\r\n\tbyen['4600'] = \"K\\u00F8ge\";\r\n\tbyen['4621'] = \"Gadstrup\";\r\n\tbyen['4622'] = \"Havdrup\";\r\n\tbyen['4623'] = \"Lille Skensved\";\r\n\tbyen['4632'] = \"Bj\\u00E6verskov\";\r\n\tbyen['4640'] = \"Fakse\";\r\n\tbyen['4652'] = \"H\\u00E5rlev\";\r\n\tbyen['4653'] = \"Karise\";\r\n\tbyen['4654'] = \"Fakse Ladeplads\";\r\n\tbyen['4660'] = \"Store Heddinge\";\r\n\tbyen['4671'] = \"Str\\u00F8by\";\r\n\tbyen['4672'] = \"Klippinge\";\r\n\tbyen['4673'] = \"R\\u00F8dvig Stevns\";\r\n\tbyen['4681'] = \"Herf\\u00F8lge\";\r\n\tbyen['4682'] = \"Tureby\";\r\n\tbyen['4683'] = \"R\\u00F8nnede\";\r\n\tbyen['4684'] = \"Holmegaard\";\r\n\tbyen['4690'] = \"Haslev\";\r\n\tbyen['4700'] = \"N\\u00E6stved\";\r\n\tbyen['4720'] = \"Pr\\u00E6st\\u00F8\";\r\n\tbyen['4733'] = \"Tappern\\u00F8je\";\r\n\tbyen['4735'] = \"Mern\";\r\n\tbyen['4736'] = \"Karreb\\u00E6ksminde\";\r\n\tbyen['4750'] = \"Lundby\";\r\n\tbyen['4760'] = \"Vordingborg\";\r\n\tbyen['4771'] = \"Kalvehave\";\r\n\tbyen['4772'] = \"Langeb\\u00E6k\";\r\n\tbyen['4773'] = \"Stensved\";\r\n\tbyen['4780'] = \"Stege\";\r\n\tbyen['4791'] = \"Borre\";\r\n\tbyen['4792'] = \"Askeby\";\r\n\tbyen['4793'] = \"Bog\\u00F8 By\";\r\n\tbyen['4800'] = \"Nyk\\u00F8bing F\";\r\n\tbyen['4840'] = \"N\\u00F8rre Alslev\";\r\n\tbyen['4850'] = \"Stubbek\\u00F8bing\";\r\n\tbyen['4862'] = \"Guldborg\";\r\n\tbyen['4863'] = \"Eskilstrup\";\r\n\tbyen['4871'] = \"Horbelev\";\r\n\tbyen['4872'] = \"Idestrup\";\r\n\tbyen['4873'] = \"V\\u00E6ggerl\\u00F8se\";\r\n\tbyen['4874'] = \"Gedser\";\r\n\tbyen['4880'] = \"Nysted\";\r\n\tbyen['4891'] = \"Toreby L\";\r\n\tbyen['4892'] = \"Kettinge\";\r\n\tbyen['4894'] = \"\\u00D8ster Ulslev\";\r\n\tbyen['4895'] = \"Errindlev\";\r\n\tbyen['4900'] = \"Nakskov\";\r\n\tbyen['4912'] = \"Harpelunde\";\r\n\tbyen['4913'] = \"Horslunde\";\r\n\tbyen['4920'] = \"S\\u00F8llested\";\r\n\tbyen['4930'] = \"Maribo\";\r\n\tbyen['4941'] = \"Bandholm\";\r\n\tbyen['4943'] = \"Torrig L\";\r\n\tbyen['4944'] = \"Fej\\u00F8\";\r\n\tbyen['4951'] = \"N\\u00F8rreballe\";\r\n\tbyen['4952'] = \"Stokkemarke\";\r\n\tbyen['4953'] = \"Vesterborg\";\r\n\tbyen['4960'] = \"Holeby\";\r\n\tbyen['4970'] = \"R\\u00F8dby\";\r\n\tbyen['4983'] = \"Dannemare\";\r\n\tbyen['4990'] = \"Saksk\\u00F8bing\";\r\n\tbyen['5000'] = \"Odense C\";\r\n\tbyen['5029'] = \"Odense C\";\r\n\tbyen['5090'] = \"Odense C\";\r\n\tbyen['5100'] = \"Odense C\";\r\n\tbyen['5200'] = \"Odense V\";\r\n\tbyen['5210'] = \"Odense NV\";\r\n\tbyen['5220'] = \"Odense S\\u00D8\";\r\n\tbyen['5230'] = \"Odense M\";\r\n\tbyen['5240'] = \"Odense N\\u00D8\";\r\n\tbyen['5250'] = \"Odense SV\";\r\n\tbyen['5260'] = \"Odense S\";\r\n\tbyen['5270'] = \"Odense N\";\r\n\tbyen['5290'] = \"Marslev\";\r\n\tbyen['5300'] = \"Kerteminde\";\r\n\tbyen['5320'] = \"Agedrup\";\r\n\tbyen['5330'] = \"Munkebo\";\r\n\tbyen['5350'] = \"Rynkeby\";\r\n\tbyen['5370'] = \"Mesinge\";\r\n\tbyen['5380'] = \"Dalby\";\r\n\tbyen['5390'] = \"Martofte\";\r\n\tbyen['5400'] = \"Bogense\";\r\n\tbyen['5450'] = \"Otterup\";\r\n\tbyen['5462'] = \"Morud\";\r\n\tbyen['5463'] = \"Harndrup\";\r\n\tbyen['5464'] = \"Brenderup Fyn\";\r\n\tbyen['5466'] = \"Asperup\";\r\n\tbyen['5471'] = \"S\\u00F8nders\\u00F8\";\r\n\tbyen['5474'] = \"Veflinge\";\r\n\tbyen['5485'] = \"Skamby\";\r\n\tbyen['5491'] = \"Blommenslyst\";\r\n\tbyen['5492'] = \"Vissenbjerg\";\r\n\tbyen['5500'] = \"Middelfart\";\r\n\tbyen['5540'] = \"Ullerslev\";\r\n\tbyen['5550'] = \"Langeskov\";\r\n\tbyen['5560'] = \"Aarup\";\r\n\tbyen['5580'] = \"N\\u00F8rre Aaby\";\r\n\tbyen['5591'] = \"Gelsted\";\r\n\tbyen['5592'] = \"Ejby\";\r\n\tbyen['5600'] = \"Faaborg\";\r\n\tbyen['5610'] = \"Assens\";\r\n\tbyen['5620'] = \"Glamsbjerg\";\r\n\tbyen['5631'] = \"Ebberup\";\r\n\tbyen['5642'] = \"Millinge\";\r\n\tbyen['5672'] = \"Broby\";\r\n\tbyen['5683'] = \"Haarby\";\r\n\tbyen['5690'] = \"Tommerup\";\r\n\tbyen['5700'] = \"Svendborg\";\r\n\tbyen['5750'] = \"Ringe\";\r\n\tbyen['5762'] = \"Vester Skerninge\";\r\n\tbyen['5771'] = \"Stenstrup\";\r\n\tbyen['5772'] = \"Kv\\u00E6rndrup\";\r\n\tbyen['5792'] = \"\\u00C5rslev\";\r\n\tbyen['5800'] = \"Nyborg\";\r\n\tbyen['5853'] = \"\\u00D8rb\\u00E6k\";\r\n\tbyen['5854'] = \"Gislev\";\r\n\tbyen['5856'] = \"Ryslinge\";\r\n\tbyen['5863'] = \"Ferritslev Fyn\";\r\n\tbyen['5871'] = \"Fr\\u00F8rup\";\r\n\tbyen['5874'] = \"Hesselager\";\r\n\tbyen['5881'] = \"Sk\\u00E5rup Fyn\";\r\n\tbyen['5882'] = \"Vejstrup\";\r\n\tbyen['5883'] = \"Oure\";\r\n\tbyen['5884'] = \"Gudme\";\r\n\tbyen['5892'] = \"Gudbjerg Sydfyn\";\r\n\tbyen['5900'] = \"Rudk\\u00F8bing\";\r\n\tbyen['5932'] = \"Humble\";\r\n\tbyen['5935'] = \"Bagenkop\";\r\n\tbyen['5953'] = \"Tranek\\u00E6r\";\r\n\tbyen['5960'] = \"Marstal\";\r\n\tbyen['5970'] = \"\\u00C6r\\u00F8sk\\u00F8bing\";\r\n\tbyen['5985'] = \"S\\u00F8by \\u00C6r\\u00F8\";\r\n\tbyen['6000'] = \"Kolding\";\r\n\tbyen['6040'] = \"Egtved\";\r\n\tbyen['6051'] = \"Almind\";\r\n\tbyen['6052'] = \"Viuf\";\r\n\tbyen['6064'] = \"Jordrup\";\r\n\tbyen['6070'] = \"Christiansfeld\";\r\n\tbyen['6091'] = \"Bjert\";\r\n\tbyen['6092'] = \"S\\u00F8nder Stenderup\";\r\n\tbyen['6093'] = \"Sj\\u00F8lund\";\r\n\tbyen['6094'] = \"Hejls\";\r\n\tbyen['6100'] = \"Haderslev\";\r\n\tbyen['6200'] = \"Aabenraa\";\r\n\tbyen['6230'] = \"R\\u00F8dekro\";\r\n\tbyen['6240'] = \"L\\u00F8gumkloster\";\r\n\tbyen['6261'] = \"Bredebro\";\r\n\tbyen['6270'] = \"T\\u00F8nder\";\r\n\tbyen['6280'] = \"H\\u00F8jer\";\r\n\tbyen['6300'] = \"Gr\\u00E5sten\";\r\n\tbyen['6310'] = \"Broager\";\r\n\tbyen['6320'] = \"Egernsund\";\r\n\tbyen['6330'] = \"Padborg\";\r\n\tbyen['6340'] = \"Krus\\u00E5\";\r\n\tbyen['6360'] = \"Tinglev\";\r\n\tbyen['6372'] = \"Bylderup-Bov\";\r\n\tbyen['6392'] = \"Bolderslev\";\r\n\tbyen['6400'] = \"S\\u00F8nderborg\";\r\n\tbyen['6430'] = \"Nordborg\";\r\n\tbyen['6440'] = \"Augustenborg\";\r\n\tbyen['6470'] = \"Sydals\";\r\n\tbyen['6500'] = \"Vojens\";\r\n\tbyen['6510'] = \"Gram\";\r\n\tbyen['6520'] = \"Toftlund\";\r\n\tbyen['6534'] = \"Agerskov\";\r\n\tbyen['6535'] = \"Branderup J\";\r\n\tbyen['6541'] = \"Bevtoft\";\r\n\tbyen['6560'] = \"Sommersted\";\r\n\tbyen['6580'] = \"Vamdrup\";\r\n\tbyen['6600'] = \"Vejen\";\r\n\tbyen['6621'] = \"Gesten\";\r\n\tbyen['6622'] = \"B\\u00E6kke\";\r\n\tbyen['6623'] = \"Vorbasse\";\r\n\tbyen['6630'] = \"R\\u00F8dding\";\r\n\tbyen['6640'] = \"Lunderskov\";\r\n\tbyen['6650'] = \"Br\\u00F8rup\";\r\n\tbyen['6660'] = \"Lintrup\";\r\n\tbyen['6670'] = \"Holsted\";\r\n\tbyen['6682'] = \"Hovborg\";\r\n\tbyen['6683'] = \"F\\u00F8vling\";\r\n\tbyen['6690'] = \"G\\u00F8rding\";\r\n\tbyen['6700'] = \"Esbjerg\";\r\n\tbyen['6701'] = \"Esbjerg\";\r\n\tbyen['6705'] = \"Esbjerg \\u00D8\";\r\n\tbyen['6710'] = \"Esbjerg V\";\r\n\tbyen['6715'] = \"Esbjerg N\";\r\n\tbyen['6720'] = \"Fan\\u00F8\";\r\n\tbyen['6731'] = \"Tj\\u00E6reborg\";\r\n\tbyen['6740'] = \"Bramming\";\r\n\tbyen['6752'] = \"Glejbjerg\";\r\n\tbyen['6753'] = \"Agerb\\u00E6k\";\r\n\tbyen['6760'] = \"Ribe\";\r\n\tbyen['6771'] = \"Gredstedbro\";\r\n\tbyen['6780'] = \"Sk\\u00E6rb\\u00E6k\";\r\n\tbyen['6792'] = \"R\\u00F8m\\u00F8\";\r\n\tbyen['6800'] = \"Varde\";\r\n\tbyen['6818'] = \"\\u00C5rre\";\r\n\tbyen['6823'] = \"Ansager\";\r\n\tbyen['6830'] = \"N\\u00F8rre Nebel\";\r\n\tbyen['6840'] = \"Oksb\\u00F8l\";\r\n\tbyen['6851'] = \"Janderup Vestj\";\r\n\tbyen['6852'] = \"Billum\";\r\n\tbyen['6853'] = \"Vejers Strand\";\r\n\tbyen['6854'] = \"Henne\";\r\n\tbyen['6855'] = \"Outrup\";\r\n\tbyen['6857'] = \"Bl\\u00E5vand\";\r\n\tbyen['6862'] = \"Tistrup\";\r\n\tbyen['6870'] = \"\\u00D8lgod\";\r\n\tbyen['6880'] = \"Tarm\";\r\n\tbyen['6893'] = \"Hemmet\";\r\n\tbyen['6900'] = \"Skjern\";\r\n\tbyen['6920'] = \"Videb\\u00E6k\";\r\n\tbyen['6933'] = \"Kib\\u00E6k\";\r\n\tbyen['6940'] = \"Lem St\";\r\n\tbyen['6950'] = \"Ringk\\u00F8bing\";\r\n\tbyen['6960'] = \"Hvide Sande\";\r\n\tbyen['6971'] = \"Spjald\";\r\n\tbyen['6973'] = \"\\u00D8rnh\\u00F8j\";\r\n\tbyen['6980'] = \"Tim\";\r\n\tbyen['6990'] = \"Ulfborg\";\r\n\tbyen['7000'] = \"Fredericia\";\r\n\tbyen['7007'] = \"Fredericia\";\r\n\tbyen['7029'] = \"Fredericia\";\r\n\tbyen['7080'] = \"B\\u00F8rkop\";\r\n\tbyen['7100'] = \"Vejle\";\r\n\tbyen['7120'] = \"Vejle \\u00D8st\";\r\n\tbyen['7130'] = \"Juelsminde\";\r\n\tbyen['7140'] = \"Stouby\";\r\n\tbyen['7150'] = \"Barrit\";\r\n\tbyen['7160'] = \"T\\u00F8rring\";\r\n\tbyen['7171'] = \"Uldum\";\r\n\tbyen['7173'] = \"Vonge\";\r\n\tbyen['7182'] = \"Bredsten\";\r\n\tbyen['7183'] = \"Randb\\u00F8l\";\r\n\tbyen['7184'] = \"Vandel\";\r\n\tbyen['7190'] = \"Billund\";\r\n\tbyen['7200'] = \"Grindsted\";\r\n\tbyen['7250'] = \"Hejnsvig\";\r\n\tbyen['7260'] = \"S\\u00F8nder Omme\";\r\n\tbyen['7270'] = \"Stakroge\";\r\n\tbyen['7280'] = \"S\\u00F8nder Felding\";\r\n\tbyen['7300'] = \"Jelling\";\r\n\tbyen['7321'] = \"Gadbjerg\";\r\n\tbyen['7323'] = \"Give\";\r\n\tbyen['7330'] = \"Brande\";\r\n\tbyen['7361'] = \"Ejstrupholm\";\r\n\tbyen['7362'] = \"Hampen\";\r\n\tbyen['7400'] = \"Herning\";\r\n\tbyen['7401'] = \"Herning\";\r\n\tbyen['7429'] = \"Herning\";\r\n\tbyen['7430'] = \"Ikast\";\r\n\tbyen['7441'] = \"Bording\";\r\n\tbyen['7442'] = \"Engesvang\";\r\n\tbyen['7451'] = \"Sunds\";\r\n\tbyen['7470'] = \"Karup J\";\r\n\tbyen['7480'] = \"Vildbjerg\";\r\n\tbyen['7490'] = \"Aulum\";\r\n\tbyen['7500'] = \"Holstebro\";\r\n\tbyen['7540'] = \"Haderup\";\r\n\tbyen['7550'] = \"S\\u00F8rvad\";\r\n\tbyen['7560'] = \"Hjerm\";\r\n\tbyen['7570'] = \"Vemb\";\r\n\tbyen['7600'] = \"Struer\";\r\n\tbyen['7620'] = \"Lemvig\";\r\n\tbyen['7650'] = \"B\\u00F8vlingbjerg\";\r\n\tbyen['7660'] = \"B\\u00E6kmarksbro\";\r\n\tbyen['7673'] = \"Harbo\\u00F8re\";\r\n\tbyen['7680'] = \"Thybor\\u00F8n\";\r\n\tbyen['7700'] = \"Thisted\";\r\n\tbyen['7730'] = \"Hanstholm\";\r\n\tbyen['7741'] = \"Fr\\u00F8strup\";\r\n\tbyen['7742'] = \"Vesl\\u00F8s\";\r\n\tbyen['7752'] = \"Snedsted\";\r\n\tbyen['7755'] = \"Bedsted Thy\";\r\n\tbyen['7760'] = \"Hurup Thy\";\r\n\tbyen['7770'] = \"Vestervig\";\r\n\tbyen['7790'] = \"Thyholm\";\r\n\tbyen['7800'] = \"Skive\";\r\n\tbyen['7830'] = \"Vinderup\";\r\n\tbyen['7840'] = \"H\\u00F8jslev\";\r\n\tbyen['7850'] = \"Stoholm Jyll\";\r\n\tbyen['7860'] = \"Sp\\u00F8ttrup\";\r\n\tbyen['7870'] = \"Roslev\";\r\n\tbyen['7884'] = \"Fur\";\r\n\tbyen['7900'] = \"Nyk\\u00F8bing M\";\r\n\tbyen['7950'] = \"Erslev\";\r\n\tbyen['7960'] = \"Karby\";\r\n\tbyen['7970'] = \"Redsted M\";\r\n\tbyen['7980'] = \"Vils\";\r\n\tbyen['7990'] = \"\\u00D8ster Assels\";\r\n\tbyen['8000'] = \"\\u00C5rhus C\";\r\n\tbyen['8011'] = \"\\u00C5rhus C\";\r\n\tbyen['8000'] = \"\\u00C5rhus C\";\r\n\tbyen['8200'] = \"\\u00C5rhus N\";\r\n\tbyen['8210'] = \"\\u00C5rhus V\";\r\n\tbyen['8220'] = \"Brabrand\";\r\n\tbyen['8229'] = \"Risskov \\u00D8\";\r\n\tbyen['8230'] = \"\\u00C5byh\\u00F8j\";\r\n\tbyen['8240'] = \"Risskov\";\r\n\tbyen['8245'] = \"Risskov \\u00D8\";\r\n\tbyen['8250'] = \"Eg\\u00E5\";\r\n\tbyen['8260'] = \"Viby J\";\r\n\tbyen['8270'] = \"H\\u00F8jbjerg\";\r\n\tbyen['8300'] = \"Odder\";\r\n\tbyen['8305'] = \"Sams\\u00F8\";\r\n\tbyen['8310'] = \"Tranbjerg J\";\r\n\tbyen['8320'] = \"M\\u00E5rslet\";\r\n\tbyen['8330'] = \"Beder\";\r\n\tbyen['8340'] = \"Malling\";\r\n\tbyen['8350'] = \"Hundslund\";\r\n\tbyen['8355'] = \"Solbjerg\";\r\n\tbyen['8361'] = \"Hasselager\";\r\n\tbyen['8362'] = \"H\\u00F8rning\";\r\n\tbyen['8370'] = \"Hadsten\";\r\n\tbyen['8380'] = \"Trige\";\r\n\tbyen['8381'] = \"Tilst\";\r\n\tbyen['8382'] = \"Hinnerup\";\r\n\tbyen['8400'] = \"Ebeltoft\";\r\n\tbyen['8410'] = \"R\\u00F8nde\";\r\n\tbyen['8420'] = \"Knebel\";\r\n\tbyen['8444'] = \"Balle\";\r\n\tbyen['8450'] = \"Hammel\";\r\n\tbyen['8462'] = \"Harlev J\";\r\n\tbyen['8464'] = \"Galten\";\r\n\tbyen['8471'] = \"Sabro\";\r\n\tbyen['8472'] = \"Sporup\";\r\n\tbyen['8500'] = \"Grenaa\";\r\n\tbyen['8520'] = \"Lystrup\";\r\n\tbyen['8530'] = \"Hjortsh\\u00F8j\";\r\n\tbyen['8541'] = \"Sk\\u00F8dstrup\";\r\n\tbyen['8543'] = \"Hornslet\";\r\n\tbyen['8544'] = \"M\\u00F8rke\";\r\n\tbyen['8550'] = \"Ryomg\\u00E5rd\";\r\n\tbyen['8560'] = \"Kolind\";\r\n\tbyen['8570'] = \"Trustrup\";\r\n\tbyen['8581'] = \"Nimtofte\";\r\n\tbyen['8585'] = \"Glesborg\";\r\n\tbyen['8586'] = \"\\u00D8rum Djurs\";\r\n\tbyen['8592'] = \"Anholt\";\r\n\tbyen['8600'] = \"Silkeborg\";\r\n\tbyen['8620'] = \"Kjellerup\";\r\n\tbyen['8632'] = \"Lemming\";\r\n\tbyen['8641'] = \"Sorring\";\r\n\tbyen['8643'] = \"Ans By\";\r\n\tbyen['8653'] = \"Them\";\r\n\tbyen['8654'] = \"Bryrup\";\r\n\tbyen['8660'] = \"Skanderborg\";\r\n\tbyen['8670'] = \"L\\u00E5sby\";\r\n\tbyen['8680'] = \"Ry\";\r\n\tbyen['8700'] = \"Horsens\";\r\n\tbyen['8721'] = \"Daug\\u00E5rd\";\r\n\tbyen['8722'] = \"Hedensted\";\r\n\tbyen['8723'] = \"L\\u00F8sning\";\r\n\tbyen['8732'] = \"Hovedg\\u00E5rd\";\r\n\tbyen['8740'] = \"Br\\u00E6dstrup\";\r\n\tbyen['8751'] = \"Gedved\";\r\n\tbyen['8752'] = \"\\u00D8stbirk\";\r\n\tbyen['8762'] = \"Flemming\";\r\n\tbyen['8763'] = \"Rask M\\u00F8lle\";\r\n\tbyen['8765'] = \"Klovborg\";\r\n\tbyen['8766'] = \"N\\u00F8rre Snede\";\r\n\tbyen['8781'] = \"Stenderup\";\r\n\tbyen['8783'] = \"Hornsyld\";\r\n\tbyen['8800'] = \"Viborg\";\r\n\tbyen['8830'] = \"Tjele\";\r\n\tbyen['8831'] = \"L\\u00F8gstrup\";\r\n\tbyen['8832'] = \"Skals\";\r\n\tbyen['8840'] = \"R\\u00F8dk\\u00E6rsbro\";\r\n\tbyen['8850'] = \"Bjerringbro\";\r\n\tbyen['8860'] = \"Ulstrup\";\r\n\tbyen['8870'] = \"Lang\\u00E5\";\r\n\tbyen['8881'] = \"Thors\\u00F8\";\r\n\tbyen['8882'] = \"F\\u00E5rvang\";\r\n\tbyen['8883'] = \"Gjern\";\r\n\tbyen['8900'] = \"Randers\";\r\n\tbyen['8950'] = \"\\u00D8rsted\";\r\n\tbyen['8961'] = \"Alling\\u00E5bro\";\r\n\tbyen['8963'] = \"Auning\";\r\n\tbyen['8970'] = \"Havndal\";\r\n\tbyen['8981'] = \"Spentrup\";\r\n\tbyen['8983'] = \"Gjerlev J\";\r\n\tbyen['8990'] = \"F\\u00E5rup\";\r\n\tbyen['9000'] = \"Aalborg\";\r\n\tbyen['9020'] = \"Aalborg\";\r\n\tbyen['9029'] = \"Aalborg\";\r\n\tbyen['9100'] = \"Aalborg\";\r\n\tbyen['9200'] = \"Aalborg SV\";\r\n\tbyen['9210'] = \"Aalborg S\\u00D8\";\r\n\tbyen['9220'] = \"Aalborg \\u00D8st\";\r\n\tbyen['9230'] = \"Svenstrup J\";\r\n\tbyen['9240'] = \"Nibe\";\r\n\tbyen['9260'] = \"Gistrup\";\r\n\tbyen['9270'] = \"Klarup\";\r\n\tbyen['9280'] = \"Storvorde\";\r\n\tbyen['9293'] = \"Kongerslev\";\r\n\tbyen['9300'] = \"S\\u00E6by\";\r\n\tbyen['9310'] = \"Vodskov\";\r\n\tbyen['9320'] = \"Hjallerup\";\r\n\tbyen['9330'] = \"Dronninglund\";\r\n\tbyen['9340'] = \"Asaa\";\r\n\tbyen['9352'] = \"Dybvad\";\r\n\tbyen['9362'] = \"Gandrup\";\r\n\tbyen['9370'] = \"Hals\";\r\n\tbyen['9380'] = \"Vestbjerg\";\r\n\tbyen['9381'] = \"Sulsted\";\r\n\tbyen['9382'] = \"Tylstrup\";\r\n\tbyen['9400'] = \"N\\u00F8rresundby\";\r\n\tbyen['9430'] = \"Vadum\";\r\n\tbyen['9440'] = \"Aabybro\";\r\n\tbyen['9460'] = \"Brovst\";\r\n\tbyen['9480'] = \"L\\u00F8kken\";\r\n\tbyen['9490'] = \"Pandrup\";\r\n\tbyen['9492'] = \"Blokhus\";\r\n\tbyen['9493'] = \"Saltum\";\r\n\tbyen['9500'] = \"Hobro\";\r\n\tbyen['9510'] = \"Arden\";\r\n\tbyen['9520'] = \"Sk\\u00F8rping\";\r\n\tbyen['9530'] = \"St\\u00F8vring\";\r\n\tbyen['9541'] = \"Suldrup\";\r\n\tbyen['9550'] = \"Mariager\";\r\n\tbyen['9560'] = \"Hadsund\";\r\n\tbyen['9574'] = \"B\\u00E6lum\";\r\n\tbyen['9575'] = \"Terndrup\";\r\n\tbyen['9600'] = \"Aars\";\r\n\tbyen['9610'] = \"N\\u00F8rager\";\r\n\tbyen['9620'] = \"Aalestrup\";\r\n\tbyen['9631'] = \"Gedsted\";\r\n\tbyen['9632'] = \"M\\u00F8ldrup\";\r\n\tbyen['9640'] = \"Fars\\u00F8\";\r\n\tbyen['9670'] = \"L\\u00F8gst\\u00F8r\";\r\n\tbyen['9681'] = \"Ranum\";\r\n\tbyen['9690'] = \"Fjerritslev\";\r\n\tbyen['9700'] = \"Br\\u00F8nderslev\";\r\n\tbyen['9740'] = \"Jerslev J\";\r\n\tbyen['9750'] = \"\\u00D8stervr\\u00E5\";\r\n\tbyen['9760'] = \"Vr\\u00E5\";\r\n\tbyen['9800'] = \"Hj\\u00F8rring\";\r\n\tbyen['9830'] = \"T\\u00E5rs\";\r\n\tbyen['9850'] = \"Hirtshals\";\r\n\tbyen['9870'] = \"Sindal\";\r\n\tbyen['9881'] = \"Bindslev\";\r\n\tbyen['9900'] = \"Frederikshavn\";\r\n\tbyen['9940'] = \"L\\u00E6s\\u00F8\";\r\n\tbyen['9970'] = \"Strandby\";\r\n\tbyen['9981'] = \"Jerup\";\r\n\tbyen['9982'] = \"\\u00C5lb\\u00E6k\";\r\n\tbyen['9990'] = \"Skagen\";\r\n\tbyen['3900'] = \"Nuuk\";\r\n\tbyen['3905'] = \"Nuussuaq\";\r\n\tbyen['3910'] = \"Kangerlussuaq\";\r\n\tbyen['3911'] = \"Sisimiut\";\r\n\tbyen['3912'] = \"Maniitsoq\";\r\n\tbyen['3913'] = \"Tasiilaq\";\r\n\tbyen['3915'] = \"Kulusuk\";\r\n\tbyen['3919'] = \"Alluitsup Paa\";\r\n\tbyen['3920'] = \"Qaqortoq\";\r\n\tbyen['3921'] = \"Narsaq\";\r\n\tbyen['3922'] = \"Nanortalik\";\r\n\tbyen['3923'] = \"Narsarsuaq\";\r\n\tbyen['3924'] = \"Ikerasassuaq\";\r\n\tbyen['3930'] = \"Kangilinnguit\";\r\n\tbyen['3932'] = \"Arsuk\";\r\n\tbyen['3940'] = \"Paamiut\";\r\n\tbyen['3950'] = \"Aasiaat\";\r\n\tbyen['3951'] = \"Qasigiannguit\";\r\n\tbyen['3952'] = \"Ilulissat\";\r\n\tbyen['3953'] = \"Qeqertarsuaq\";\r\n\tbyen['3955'] = \"Kangaatsiaq\";\r\n\tbyen['3961'] = \"Uummannaq\";\r\n\tbyen['3962'] = \"Upernavik\";\r\n\tbyen['3964'] = \"Qaarsut\";\r\n\tbyen['3970'] = \"Pituffik\";\r\n\tbyen['3971'] = \"Qaanaaq\";\r\n\tbyen['3980'] = \"Ittoqqortoormiit\";\r\n\tbyen['3984'] = \"Danmarkshavn\";\r\n\tbyen['3985'] = \"Constable Pynt\";\r\n\tbyen['100'] = \"T\\u00F3rshavn\";\r\n\tbyen['110'] = \"T\\u00F3rshavn\";\r\n\tbyen['160'] = \"Argir\";\r\n\tbyen['165'] = \"Argir\";\r\n\tbyen['175'] = \"Kirkjub\\u00F8ur\";\r\n\tbyen['176'] = \"Velbastadur\";\r\n\tbyen['177'] = \"Sydradalur, Streymoy\";\r\n\tbyen['178'] = \"Nordradalur\";\r\n\tbyen['180'] = \"Kaldbak\";\r\n\tbyen['185'] = \"Kaldbaksbotnur\";\r\n\tbyen['186'] = \"Sund\";\r\n\tbyen['187'] = \"Hvitanes\";\r\n\tbyen['188'] = \"Hoyvik\";\r\n\tbyen['210'] = \"Sandur\";\r\n\tbyen['220'] = \"Sk\\u00E1lavik\";\r\n\tbyen['230'] = \"H\\u00FAsavik\";\r\n\tbyen['235'] = \"Dalur\";\r\n\tbyen['236'] = \"Skarvanes\";\r\n\tbyen['240'] = \"Skopun\";\r\n\tbyen['260'] = \"Sk\\u00FAvoy\";\r\n\tbyen['270'] = \"N\\u00F3lsoy\";\r\n\tbyen['280'] = \"Hestur\";\r\n\tbyen['285'] = \"Koltur\";\r\n\tbyen['286'] = \"St\\u00F3ra Dimun\";\r\n\tbyen['330'] = \"Stykkid\";\r\n\tbyen['335'] = \"Leynar\";\r\n\tbyen['336'] = \"Sk\\u00E6llingur\";\r\n\tbyen['340'] = \"Kvivik\";\r\n\tbyen['350'] = \"Vestmanna\";\r\n\tbyen['360'] = \"Sandav\\u00E1gur\";\r\n\tbyen['370'] = \"Midv\\u00E1gur\";\r\n\tbyen['380'] = \"S\\u00F8rv\\u00E1gur\";\r\n\tbyen['385'] = \"Vatnsoyrar\";\r\n\tbyen['386'] = \"B\\u00F8ur\";\r\n\tbyen['387'] = \"G\\u00E1sadalur\";\r\n\tbyen['388'] = \"Mykines\";\r\n\tbyen['400'] = \"Oyrarbakki\";\r\n\tbyen['410'] = \"Kollafj\\u00F8rdur\";\r\n\tbyen['415'] = \"Oyrareingir\";\r\n\tbyen['416'] = \"Signab\\u00F8ur\";\r\n\tbyen['420'] = \"H\\u00F3svik\";\r\n\tbyen['430'] = \"Hvalvik\";\r\n\tbyen['435'] = \"Streymnes\";\r\n\tbyen['436'] = \"Saksun\";\r\n\tbyen['437'] = \"Nesvik\";\r\n\tbyen['438'] = \"Langasandur\";\r\n\tbyen['440'] = \"Haldarsvik\";\r\n\tbyen['445'] = \"Tj\\u00F8rnuvik\";\r\n\tbyen['450'] = \"Oyri\";\r\n\tbyen['460'] = \"Nordsk\\u00E1li\";\r\n\tbyen['465'] = \"Svin\\u00E1ir\";\r\n\tbyen['466'] = \"Lj\\u00F3s\\u00E1\";\r\n\tbyen['470'] = \"Eidi\";\r\n\tbyen['475'] = \"Funningur\";\r\n\tbyen['476'] = \"Gj\\u00F3gv\";\r\n\tbyen['477'] = \"Funningsfj\\u00F8rdur\";\r\n\tbyen['478'] = \"Elduvik\";\r\n\tbyen['480'] = \"Sk\\u00E1li\";\r\n\tbyen['485'] = \"Sk\\u00E1lafj\\u00F8rdur\";\r\n\tbyen['490'] = \"Strendur\";\r\n\tbyen['494'] = \"Innan Glyvur\";\r\n\tbyen['495'] = \"Kolbanargj\\u00F3gv\";\r\n\tbyen['496'] = \"Morskranes\";\r\n\tbyen['497'] = \"Selatrad\";\r\n\tbyen['510'] = \"G\\u00F8ta\";\r\n\tbyen['511'] = \"G\\u00F8tugj\\u00F3gv\";\r\n\tbyen['512'] = \"Nordrag\\u00F8ta\";\r\n\tbyen['513'] = \"Sydrug\\u00F8ta\";\r\n\tbyen['520'] = \"Leirvik\";\r\n\tbyen['530'] = \"Fuglafj\\u00F8rdur\";\r\n\tbyen['600'] = \"Saltangar\\u00E1\";\r\n\tbyen['620'] = \"Runavik\";\r\n\tbyen['625'] = \"Glyvrar\";\r\n\tbyen['626'] = \"Lambareidi\";\r\n\tbyen['627'] = \"Lambi\";\r\n\tbyen['640'] = \"Rituvik\";\r\n\tbyen['645'] = \"\\u00C6duvik\";\r\n\tbyen['650'] = \"Toftir\";\r\n\tbyen['655'] = \"Nes, Eysturoy\";\r\n\tbyen['656'] = \"Saltnes\";\r\n\tbyen['660'] = \"S\\u00F8ldarfj\\u00F8rdur\";\r\n\tbyen['665'] = \"Skipanes\";\r\n\tbyen['666'] = \"G\\u00F8tueidi\";\r\n\tbyen['690'] = \"Oyndarfj\\u00F8rdur\";\r\n\tbyen['695'] = \"Hellur\";\r\n\tbyen['700'] = \"Klaksvik\";\r\n\tbyen['725'] = \"Nordoyri\";\r\n\tbyen['726'] = \"Ánir\";\r\n\tbyen['727'] = \"Árnafj\\u00F8rdur\";\r\n\tbyen['730'] = \"Norddepil\";\r\n\tbyen['735'] = \"Depil\";\r\n\tbyen['736'] = \"Nordtoftir\";\r\n\tbyen['737'] = \"M\\u00FAli\";\r\n\tbyen['740'] = \"Hvannasund\";\r\n\tbyen['750'] = \"Vidareidi\";\r\n\tbyen['765'] = \"Svinoy\";\r\n\tbyen['766'] = \"Kirkja\";\r\n\tbyen['767'] = \"Hattarvik\";\r\n\tbyen['780'] = \"Kunoy\";\r\n\tbyen['785'] = \"Haraldssund\";\r\n\tbyen['795'] = \"Sydradalur, Kalsoy\";\r\n\tbyen['796'] = \"H\\u00FAsar\";\r\n\tbyen['797'] = \"Mikladalur\";\r\n\tbyen['798'] = \"Tr\\u00F8llanes\";\r\n\tbyen['800'] = \"Tv\\u00F8royri\";\r\n\tbyen['825'] = \"Frodba\";\r\n\tbyen['826'] = \"Trongisv\\u00E1gur\";\r\n\tbyen['827'] = \"\\u00D8ravik\";\r\n\tbyen['850'] = \"Hvalba\";\r\n\tbyen['860'] = \"Sandvik\";\r\n\tbyen['870'] = \"F\\u00E1mjin\";\r\n\tbyen['900'] = \"V\\u00E1gur\";\r\n\tbyen['925'] = \"Nes, V\\u00E1gur\";\r\n\tbyen['926'] = \"Lopra\";\t\r\n\tbyen['927'] = \"Akrar\";\r\n\tbyen['928'] = \"Vikarbyrgi\";\r\n\tbyen['950'] = \"Porkeri\";\r\n\tbyen['960'] = \"Hov\";\r\n\tbyen['970'] = \"Sumba\";","(function() {\r\n\tvar youtube = document.querySelectorAll(\".js-product-video\");\r\n\t\r\n\tfor (var i = 0; i < youtube.length; i++) {\r\n\t\tvar source = \"https://img.youtube.com/vi/\"+ youtube[i].dataset.embed +\"/sddefault.jpg\";\r\n var image = new Image();\r\n \r\n image.src = source;\r\n image.addEventListener(\"load\", function() {\r\n youtube[ i ].appendChild(image);\r\n }(i));\r\n\r\n youtube[i].addEventListener(\"click\", function() {\r\n var iframe = document.createElement(\"iframe\");\r\n\r\n iframe.setAttribute(\"frameborder\", \"0\");\r\n iframe.setAttribute(\"allow\", \"autoplay\");\r\n iframe.setAttribute(\"allowfullscreen\", \"\");\r\n iframe.setAttribute(\"src\", \"https://www.youtube.com/embed/\"+ this.dataset.embed +\"?rel=0&showinfo=0&autoplay=1\");\r\n\r\n this.innerHTML = \"\";\r\n this.appendChild(iframe);\r\n });\t\r\n\t};\r\n} )();","$(function () {\r\n if ($('.shortDescription-description').length > 0) {\r\n var hiddenDesc = $('.shortDescription-hidden');\r\n var readMore = $('.shortDescription-readMore');\r\n\r\n $(readMore).on(\"click\", function () {\r\n $(this).css('display', 'none');\r\n $('.shortDescription-gradient').css('display', 'none');\r\n $('.shortDescription, .shortDescription-description').animate({ maxHeight: hiddenDesc.height() }, 300)\r\n })\r\n }\r\n});"]}