{"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","masonry.pkgd.min.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","frontpage.js","chat.js","newsletter.js","footer.js","paging.js","zipCodes.js","gallery.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","simulateTouch","freeMode","on","width","scrollNumber","css","jcarouselControl","target","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","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","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","allowPageScroll","swipeStatus","tap","G","F","B","C","a4","av","aN","bd","aB","aR","bc","be","originalEvent","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","threshold","cancelThreshold","aT","ae","pinchThreshold","maxTimeThreshold","D","aO","X","aU","Q","ax","a0","a5","fingerReleaseThreshold","bind","identifier","clientX","clientY","ac","aw","aE","atan2","PI","az","fallbackToMouseEvents","ak","enable","disable","navigator","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","test","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","temp","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","self","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","settings","_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","expr","visible","parents","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","removeAttr","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","effect","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","wrap","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","one","_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","validate","Bouncer","customValidations","valueMismatch","otherField","messages","missingValue","checkbox","radio","default","patternMismatch","email","customMessage","iframe","dataSrc","returnType","hash","cookieElement","close","classList","tooltip","elements","Stickyfill","collapse","toggleOn","stopPropagation","load","addthis","QueryString","infoTab","ready","energyTab","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","activatedTab","el","verticalSliderControls","control","isDown","scrollDistance","maxPosition","tid","dtStart","check","templ","setDisbandCookie","placeholder","newsletter","newsletterDisband","newsletterDisbandByQuery","scrollHandling","allow","reallow","handleFlying","emailInput","languageIds","reg","memberIds","LanguageId","_newsletterMemberId","footerSearch","searchVal","searchWidth","footerBrands","brandLinkLazyImage","brandLinkOtherImage","lazyload","threshhold","failure_limit","tag","firstScriptTag","stopVideo","affiliateTrackingValueList","foundAffiliateNodeAndSetCookie","nodePath","isNodeInPathOrValid","doesNodepathContainWebsiteId","keyValueFromUrl","byen","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","youtube","dataset","embed","hiddenDesc","readMore","maxHeight"],"mappings":"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CAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,cACAA,KAAA,MAAA,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,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,kBACA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","file":"master.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 jQuery('[data-toggle=\"tab\"]').on('shown.bs.tab', function (e) {\r\n initializeJCarousels();\r\n });\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\r\n jcarousel.swipe({\r\n swipe: function (event, direction, distance, duration, fingerCount) {\r\n if (jcarousel.innerWidth() < 768) {\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 simulateTouch: true,\r\n freeMode: true,\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 freeMode: true,\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 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\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 * 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 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});","/****************************************************\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","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});","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\";","'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","(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});"]}