{"version":3,"sources":["webpack:///./Content/scripts/jQueryExtensions.ts","webpack:///./node_modules/moment-timezone/moment-timezone.js","webpack:///./node_modules/moment-timezone/index.js","webpack:///./Content/scripts/modules/countdown-module/index.ts","webpack:///./Content/scripts/modules/countdown-module/countdown-module.ts","webpack:///./Content/scripts/forloebShared.ts"],"names":["$","fn","extend","serializeObject","results","arr","i","len","this","serializeArray","length","obj","hasOwnProperty","name","push","value","isInViewport","triggerAtPercentageVisibility","y","elementTop","offset","top","elementBottom","outerHeight","elementHeight","height","viewportTop","window","scrollTop","viewportBottom","Math","min","root","factory","module","exports","moment","undefined","version","default","cachedGuess","zones","links","countries","names","guesses","logError","momentVersion","split","major","minor","charCodeToInt","charCode","unpackBase60","string","parts","whole","fractional","multiplier","out","sign","charCodeAt","arrayToInt","array","mapIndices","source","indices","unpack","data","offsets","untils","round","Infinity","intToUntil","abbrs","population","Zone","packedString","_set","Country","country_name","zone_names","OffsetAt","at","timeString","toTimeString","abbr","match","join","getTimezoneOffset","ZoneScore","zone","offsetScore","abbrScore","findChange","low","high","mid","diff","Date","sortZoneScores","a","b","localeCompare","addToGuesses","guessesForUserOffsets","j","guessesOffset","offsetsLength","filteredGuesses","rebuildGuess","intlName","Intl","DateTimeFormat","resolvedOptions","timeZone","normalizeName","e","zoneScore","change","next","startYear","getFullYear","last","userOffsets","zoneScores","getZone","scoreOffsetAt","sort","toLowerCase","replace","addZone","packed","normalized","caller","link","addLink","aliases","alias","normal0","normal1","needsOffset","m","isUnixTimestamp","_f","_a","_tzm","message","console","error","tz","input","args","Array","prototype","slice","call","arguments","utc","apply","isMoment","add","parse","unpacked","_index","timestamp","target","zone_name","Object","keys","filter","country_code","indexOf","offsetNext","offsetPrev","max","moveAmbiguousForward","moveInvalidForward","mom","utcOffset","offsetAt","abs","dataVersion","_zones","_links","_names","_countries","load","country_zones","toUpperCase","addCountries","zoneExists","didShowError","guess","ignoreCache","zonesForCountry","country","with_offset","map","old","abbrWrap","_z","resetZoneWrap","defaultZone","updateOffset","keepTime","_isUTC","_d","z","Error","zoneName","zoneAbbr","local","setDefault","momentProperties","toString","Countdown","init","timerWrapper","$timeLeft","find","$description","$showCountdown","$countdownTo","currentDateString","val","currentDate","toDate","html","Localization","getText","date","getTime","time","setDuKanVaelgeForloeb","setInterval","utcDateVal","getUTCDate","utcMonth","getUTCMonth","utcYear","getUTCFullYear","utcHour","getUTCHours","utcMinutes","getUTCMinutes","utcSeconds","getUTCSeconds","dkTimezoneOffset","utcDate","now","distance","days","floor","hours","minutes","seconds","localizedDays","localizedDay","timeLeft","prependZero","clearInterval","removeAttr","prop","modal","timeNumber","document","ready"],"mappings":"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","file":"forloebShared.3f7340eeee36af4ca57c.js","sourcesContent":["interface JQuery {\n serializeObject(): JQuery;\n isInViewport(visiblity?: number): JQuery;\n}\n\n$.fn.extend({\n serializeObject: function () {\n let results: {}, arr: JQuery.NameValuePair[];\n results = {};\n arr = this.serializeArray();\n for (let i = 0, len = arr.length; i < len; i++) {\n let obj = arr[i];\n //Check if results have a property with given name\n if (results.hasOwnProperty(obj.name)) {\n //Check if given object is an array\n if (!results[obj.name].push) {\n results[obj.name] = [results[obj.name]];\n }\n results[obj.name].push(obj.value || '');\n } else {\n results[obj.name] = obj.value || '';\n }\n }\n return results;\n }\n});\n\n$.fn.extend({\n isInViewport: function(triggerAtPercentageVisibility?: number) {\n const y = triggerAtPercentageVisibility || 1;\n const elementTop = $(this).offset().top;\n const elementBottom = elementTop + $(this).outerHeight();\n const elementHeight = $(this).height();\n const viewportTop = $(window).scrollTop();\n const viewportBottom = viewportTop + $(window).height();\n const deltaTop = Math.min(1, (elementBottom - viewportTop) / elementHeight);\n const deltaBottom = Math.min(1, (viewportBottom - elementTop) / elementHeight);\n\n return deltaTop * deltaBottom >= y;\n }\n});\n","//! moment-timezone.js\n//! version : 0.5.31\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Resolves es6 module loading issue\n\tif (moment.version === undefined && moment.default) {\n\t\tmoment = moment.default;\n\t}\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.31\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tcountries = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tcountries : function () {\n\t\t\tvar zone_name = this.name;\n\t\t\treturn Object.keys(countries).filter(function (country_code) {\n\t\t\t\treturn countries[country_code].zones.indexOf(zone_name) !== -1;\n\t\t\t});\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCountry object\n\t************************************/\n\n\tfunction Country (country_name, zone_names) {\n\t\tthis.name = country_name;\n\t\tthis.zones = zone_names;\n\t}\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\toffsets = [last],\n\t\t\tchange, next, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\tif (a.zone.population !== b.zone.population) {\n\t\t\treturn b.zone.population - a.zone.population;\n\t\t}\n\t\treturn b.zone.name.localeCompare(a.zone.name);\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\ti, j, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction getCountryNames () {\n\t\treturn Object.keys(countries);\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction addCountries (data) {\n\t\tvar i, country_code, country_zones, split;\n\t\tif (!data || !data.length) return;\n\t\tfor (i = 0; i < data.length; i++) {\n\t\t\tsplit = data[i].split('|');\n\t\t\tcountry_code = split[0].toUpperCase();\n\t\t\tcountry_zones = split[1].split(' ');\n\t\t\tcountries[country_code] = new Country(\n\t\t\t\tcountry_code,\n\t\t\t\tcountry_zones\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction getCountry (name) {\n\t\tname = name.toUpperCase();\n\t\treturn countries[name] || null;\n\t}\n\n\tfunction zonesForCountry(country, with_offset) {\n\t\tcountry = getCountry(country);\n\n\t\tif (!country) return null;\n\n\t\tvar zones = country.zones.sort();\n\n\t\tif (with_offset) {\n\t\t\treturn zones.map(function (zone_name) {\n\t\t\t\tvar zone = getZone(zone_name);\n\t\t\t\treturn {\n\t\t\t\t\tname: zone_name,\n\t\t\t\t\toffset: zone.utcOffset(new Date())\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\n\t\treturn zones;\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\taddCountries(data.countries);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tzone = getZone(name),\n\t\t\tout = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz._countries\t= countries;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\ttz.countries = getCountryNames;\n\ttz.zonesForCountry = zonesForCountry;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tvar z = mom._z;\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t\tmom._z = z;\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap2 (old) {\n\t\treturn function () {\n\t\t\tif (arguments.length > 0) this._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\tfn.local = resetZoneWrap(fn.local);\n\tfn.utcOffset = resetZoneWrap2(fn.utcOffset);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","export { Countdown } from \"./countdown-module\";\n","import * as moment from 'moment-timezone';\nimport \"moment/locale/da\";\nimport { Localization } from \"../localization-module\";\n\nexport class Countdown {\n\n public init() {\n\n const timerWrapper = $(\".timer-wrapper\");\n\n if (timerWrapper.length === 0) {\n return;\n }\n\n let $timeLeft = timerWrapper.find(\".time-left\") as JQuery;\n const $description = timerWrapper.find(\".description\") as JQuery;\n const $showCountdown = timerWrapper.find(\"#show-countdown\") as JQuery;\n const $countdownTo = timerWrapper.find(\"#countdown-to\") as JQuery;\n const $currentDate = timerWrapper.find(\"#current-date\") as JQuery;\n const currentDateString = $currentDate.val() as string;\n const currentDate = moment(currentDateString, 'DD-MM-YYYY HH:mm:ss').toDate();\n\n if($showCountdown.val() === \"True\") {\n\n $description.html(Localization.getText(\"IndtilValgAfForloeb\"));\n\n // Set the date we're counting down to\n const date = $countdownTo.val() as string;\n const countDownDate = moment(date, 'DD-MM-YYYY HH:mm:ss').toDate().getTime();\n const time = currentDate.getTime();\n\n if(countDownDate < time) {\n setDuKanVaelgeForloeb($timeLeft, $description);\n\n return;\n }\n\n // Update the count down every 1 second\n const interval = setInterval(function() {\n const utcDateVal = new Date().getUTCDate();\n const utcMonth = new Date().getUTCMonth();\n const utcYear = new Date().getUTCFullYear();\n const utcHour = new Date().getUTCHours();\n const utcMinutes = new Date().getUTCMinutes();\n const utcSeconds = new Date().getUTCSeconds();\n const dkTimezoneOffset = moment().tz(\"Europe/Copenhagen\").utcOffset();\n const utcDate = new Date(utcYear, utcMonth, utcDateVal, utcHour, utcMinutes, utcSeconds, null);\n const utcDateWithOffset = moment(utcDate).add(dkTimezoneOffset, 'm').toDate();\n\n const now = utcDateWithOffset.getTime();\n const distance = countDownDate - now;\n const days = Math.floor(distance / (1000 * 60 * 60 * 24));\n const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\n\n const seconds = Math.floor((distance % (1000 * 60)) / 1000);\n\n const localizedDays = Localization.getText(\"Dage\") as string;\n const localizedDay = Localization.getText(\"Dag\") as string;\n\n let daysText = (days > 1 ? days + ' ' + localizedDays.toLowerCase() + ' ' : (days === 1 ? days + ' ' + localizedDay.toLowerCase() + ' ' : ''));\n let hoursText = (days > 0 ? prependZero(hours) + ':' : (hours > 0 ? prependZero(hours) + ':' : ''));\n let minutesText = prependZero(minutes) + ':';\n\n let secondsText = prependZero(seconds);\n\n let timeLeft = daysText + hoursText + minutesText + secondsText;\n const $timerWrapper = $(\".timer-wrapper\");\n\n $timeLeft.html(timeLeft);\n\n if (distance < 0) {\n clearInterval(interval);\n setDuKanVaelgeForloeb($timeLeft, $description);\n $(\".vaelg-forloeb\").removeAttr(\"disabled\");\n $(\".vaelg-forloeb\").prop(\"title\", \"\");\n $(\"#din-tur-modal\").modal();\n }\n }, 1000);\n }\n else {\n $timeLeft.html(\"\");\n $description.html(\"\");\n }\n\n }\n}\n\nconst prependZero = (timeNumber : number) => {\n return ('0' + timeNumber).slice(-2)\n}\n\nconst setDuKanVaelgeForloeb = ($timeLeft : JQuery, $description: JQuery ) => {\n $timeLeft.html(Localization.getText(\"DuKanNuVaelgeForloeb\"));\n $description.html(\"\");\n}\n","import \"jQueryExtensions\";\nimport {Countdown} from \"./modules/countdown-module\";\n\ndeclare global {\n interface Window {\n successMessage: string;\n infoMessage: string;\n errorMessage: string;\n }\n}\n\n(function() {\n $(document).ready(function() {\n new Countdown().init();\n });\n})();\n"],"sourceRoot":""}