{ "version": 3, "sources": ["../../../../../../../../private/var/folders/q8/4dnqkv7n6xl37t7pmtv4lt9w0000gn/T/tmp.G0QHHHdIym.js"], "sourcesContent": ["\uFEFFvar cacheVersion = 1;\nvar savedTimes = {};\n\nfunction isVisible(elem) {\n return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);\n}\n\naddDomReadyEventListener(() => {\n document.body.addEventListener('keyup', function (e) {\n if (e.key === 'Tab') {\n let el = document.documentElement;\n el.classList.remove('nfo');\n el.classList.add('tab');\n }\n });\n});\n\nfunction printError(level, ...args) {\n let errors = document.querySelector(\"#errors\");\n if (errors) {\n let html = ` 0 ? `level${level}` : '')}\">`;\n args.forEach((a, i) => {\n html += `${typeof a == \"string\" ? a : (isElement(a) ? escapeHTML(a.outerHTML) : JSON.stringify(a, null, 2))}${i < (args.length - 1) ? \" | \" : \"\"}`;\n });\n errors.insertAdjacentHTML(\"afterbegin\", html + \"\\n\");\n }\n}\n\nurlParam = function (name) {\n var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);\n if (results === null) {\n return null;\n }\n else {\n return decodeURIComponent(results[1]) || 0;\n }\n};\n\nfunction getCookie(name) {\n var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');\n return v ? v[2] : null;\n}\n\nfunction setCookie(name, value, days) {\n var d = new Date;\n d.setTime(d.getTime() + 24 * 60 * 60 * 1000 * days);\n document.cookie = name + \"=\" + value + \";path=/;expires=\" + d.toGMTString();\n}\n\nfunction parseTimeStampCookie(u) {\n let timeStamps = useTimestamps ? getCookie(\"TimeStamps\") : undefined;\n if (timeStamps && timeStamps.startsWith(\"[\")) {\n try {\n let parsed = JSON.parse(timeStamps);\n let lc = [];\n forEach(parsed, function (ts) {\n lc.push({ \"note\": ts.Note, \"milliseconds\": ts.Milliseconds });\n });\n try {\n showTimestamps({ \"timeStamps\": lc }, u);\n }\n catch (exi) {\n customLog(2, \"showtimestamps failed\", exi);\n }\n }\n catch (ex) {\n customLog(2, \"timestamp parse failed\", ex);\n }\n }\n}\n\nfunction showTimestamps(data, heading) {\n if (isDebug && data.timeStamps) {\n let pre = document.getElementById(\"debugpre\");\n if (!pre) {\n pre = document.createElement('pre');\n pre.id = \"debugpre\"\n pre.classList.add(\"debugpre\");\n if (!isLocal) pre.classList.add(\"compact\");\n document.body.appendChild(pre);\n }\n if (!pre.classList.contains(\"hasevent\")) {\n pre.addEventListener(\"contextmenu\", (e) => {\n e.target.classList.toggle(\"compact\");\n stopAll(e);\n });\n pre.classList.add(\"hasevent\");\n }\n\n document.querySelectorAll(\".debugpre:not(.active)\")?.forEach(el => {\n el.addEventListener(\"contextmenu\", e => {\n e.target.classList.toggle(\"compact\");\n stopAll(e);\n return false;\n });\n el.classList.add(\"active\");\n });\n\n let s = \"\";\n if (jsTodayIsoDateString != new Date().isoDate()) s += `\\n\"TODAY\" is ${jsTodayIsoDateString}\\n\\n`;\n if (heading) s += ('\\n' + heading).split(\".dk\").slice(-1) + \"\\n\";\n s += `Memberid ${document.querySelector(\"body\").dataset.memberid}\\n\\n`;\n\n forEach(data.timeStamps, function (t) {\n s += (\"000000\" + t.milliseconds).slice(-6) + \" \" + t.note + \"\\n\";\n });\n pre.insertAdjacentHTML(\"beforeend\", s);\n }\n}\n\nfunction handleResponse(url, result, callback, postdata, source, eventExtra, isFetch) {\n let u = url.split('?');\n if (u.length > 1) u = u[1];\n\n let goal = url.split('/').pop().split('?').pop();\n\n let postdataLength = 0;\n if (typeof postdata === \"string\") {\n postdataLength = postdata.length;\n }\n\n if (goal && goal.length > 0 && (goal.indexOf('=') > 0 || url.indexOf(\"umbraco\") > 0) && (postdata instanceof FormData || postdataLength > 3)) {\n goal = goal.split('=').pop();\n goal += source && source.getAttribute(\"eventextra\") ? source.getAttribute(\"eventextra\") : \"\";\n if (eventExtra) goal += eventExtra;\n plausible(goal);\n }\n\n parseTimeStampCookie(u);\n source?.querySelector(\"input[type=submit]\")?.removeAttribute(\"disabled\");\n\n let data = result;\n if (result && result.length > 5 && result.substring(0, 5) === \"error\") {\n if (result.length > 14 && result.substring(0, 14) === \"error.internal\") {\n showApiError(result, true, url);\n }\n else {\n showApiError(result, false);\n }\n return true;\n }\n if (result && result.length > 5 && result.indexOf(\"= 0) {\n if (result.substring(0, 5) !== \"\") + 7);\n let body = document.querySelector(\"body\");\n let div = document.createElement(\"div\");\n addClass(div, \"hidden\");\n div.innerHTML = result;\n body.appendChild(div);\n body.lastChild.firstChild.submit();\n return true;\n }\n if (result && result.length > 1 && result.substring(0, 1) !== \"<\") {\n try {\n data = JSON.parse(result);\n if (data.messages && data.messages.length) {\n showApiMessages(data.messages);\n }\n }\n catch (ex) {\n data = result;\n }\n }\n if (result && result.length > 4 && (result.substr(0, 4) === \"url:\" || result.indexOf(\"url:\") > 0)) {\n if (navigator.userAgent.indexOf(\"Firefox\") != -1) {\n setTimeout(function () { document.location.href = result.substr(result.indexOf(\"url:\") + 4); }, 100);\n }\n else {\n document.location.href = result.substr(result.indexOf(\"url:\") + 4);\n }\n return true;\n }\n if (callback) {\n callback(data, source);\n }\n else if (source) {\n let result = source.querySelector(\".result[data-status='\" + data + \"']\");\n if (result) {\n let url = result.getAttribute(\"data-url\");\n if (url) {\n if (navigator.userAgent.indexOf(\"Firefox\") != -1) {\n setTimeout(function () { document.location = url; }, 100);\n }\n else {\n document.location = url;\n }\n }\n else {\n forEach(source.querySelectorAll(\".result\"), function (el) {\n removeClass(el, \"active\");\n });\n addClass(result, \"active\");\n scrollToElement(result);\n }\n }\n }\n}\n\nfunction handleError(msg, url, data, error, callback = undefined, source = undefined) {\n customLog(2, msg, url, data, error);\n document.querySelector(\"html\").classList.remove(\"jsshow\");\n showApiError(genericError, false);\n source?.querySelector(\"input[type=submit]\")?.removeAttribute(\"disabled\");\n if (callback) callback(-1);\n}\n\nasync function httpr(url, callback, postdata, source, eventExtra) {\n if (isDebug) {\n let u = url.split('?');\n if (u.length > 1) u = u[1];\n savedTimes[u] = new Date().getTime();\n }\n\n if (url === \"/umbraco/surface/vctasurface/buy\" && postdata && source) {\n sendQuantity(source.querySelector(\"input.product\"));\n }\n\n let fetchAvailable = (typeof fetch !== 'undefined');\n\n source?.querySelectorAll(\".result.active\").forEach((el) => el.classList.remove(\"active\"));\n source?.querySelector(\"input[type=submit]\")?.setAttribute(\"disabled\", \"disabled\");\n\n let aft = afToken()?.value;\n if (postdata && typeof postdata !== \"string\") {\n postdata.append(\"__RequestVerificationToken\", aft);\n }\n\n let method = postdata !== undefined ? 'POST' : 'GET';\n if (fetchAvailable) {\n let responseUrl = url;\n let headers = {};\n if (method == \"POST\") headers[\"X-CSRF-TOKEN\"] = aft;\n fetch(url, {\n method: method,\n headers: headers,\n body: postdata ? postdata : null\n }).then(response => {\n if (!response.ok) {\n handleError(\"Network response was not ok\", response.url, undefined, undefined, callback, source)\n }\n responseUrl = response.url;\n return response.text();\n }).then(data => {\n handleResponse(responseUrl, data, callback, postdata, source, eventExtra, true);\n }).catch(error => {\n handleError(\"apierror\", url, undefined, error, callback, source)\n });\n } else {\n let request = new XMLHttpRequest();\n request.open(method, url, true);\n if (method == 'POST') request.setRequestHeader('X-CSRF-TOKEN', aft);\n request.onload = function () {\n if (request.status >= 200 && request.status < 400) {\n handleResponse(request.responseURL, request.responseText, callback, postdata, source, eventExtra, false);\n } else {\n handleError(\"apierror\", url, undefined, error, callback, source)\n }\n };\n\n request.onerror = function (data) {\n handleError(\"onerror\", url, data, undefined, callback, source)\n };\n\n if (postdata !== undefined) {\n try {\n request.send(postdata);\n }\n catch (ex) {\n handleError(\"onerror\", url, undefined, ex, callback, source)\n }\n }\n else {\n request.send();\n }\n }\n}\n\nfunction afToken() {\n return document.querySelector('input[name=__RequestVerificationToken');\n}\n\nfunction scrollToElement(el) {\n let p = el.getBoundingClientRect().top + window.scrollY - 100;\n\n if (isIE()) {\n window.scrollTo(0, p);\n }\n else {\n window.scrollTo({\n top: p,\n behavior: \"smooth\"\n });\n }\n}\n\nfunction cssVar(v) {\n return window.getComputedStyle(document.documentElement).getPropertyValue('--' + v);\n}\n\nfunction _log(s, alwaysShow) {\n if (enableLog && console && (alwaysShow === true || enableLogDebug)) {\n console.log(s);\n }\n}\n\nvar forEach = function (arr, callback) {\n if (typeof arr === \"string\") arr = document.querySelectorAll(arr);\n Array.prototype.forEach.call(arr, callback);\n};\n\nvar hasClass, addClass, removeClass;\nhasClass = function (el, className) { return el.classList.contains(className); };\naddClass = function (el, className) { el.classList.add(className); };\nremoveClass = function (el, className) { el.classList.remove(className); };\n\nfunction addEvent(path, event, func) {\n let el = document.querySelector(path);\n if (el) {\n el.addEventListener(event, func);\n }\n}\n\nfunction addEvents(path, event, func) {\n forEach(path, function (el) {\n el.addEventListener(event, func);\n });\n}\n\n function toggleClass(el, className) {\n if (typeof el === \"string\") el = document.querySelector(el);\n\n if (hasClass(el, className)) {\n removeClass(el, className);\n }\n else {\n addClass(el, className);\n }\n }\n\nfunction translate(key) {\n var v = Local[key];\n if (v !== undefined) return v;\n return key;\n}\n\nfunction stopAll(e) {\n e.preventDefault();\n e.stopPropagation();\n return false;\n}\n\n\n// IE11 polyfills\n(function (arr) {\n arr.forEach(function (item) {\n if (item.hasOwnProperty('prepend')) {\n return;\n }\n Object.defineProperty(item, 'prepend', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function prepend() {\n var argArr = Array.prototype.slice.call(arguments),\n docFrag = document.createDocumentFragment();\n\n argArr.forEach(function (argItem) {\n var isNode = argItem instanceof Node;\n docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)));\n });\n\n this.insertBefore(docFrag, this.firstChild);\n }\n });\n });\n})([Element.prototype, Document.prototype, DocumentFragment.prototype]);\n\nif (!Element.prototype.matches) {\n Element.prototype.matches = Element.prototype.msMatchesSelector ||\n function (selector) {\n var matches = (this.document || this.ownerDocument).querySelectorAll(selector),\n i = matches.length;\n while (--i >= 0 && matches.item(i) !== this) { }\n return i > -1;\n };\n}\n\nif (!Element.prototype.closest) {\n Element.prototype.closest = function (s) {\n var el = this;\n\n do {\n if (el.matches(s)) return el;\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n return null;\n };\n}\n\nfunction removeElement(el) {\n el.parentNode.removeChild(el);\n}\n\nfunction loadInto(el, url, callback, mime) {\n var xhr = new XMLHttpRequest();\n\n xhr.onreadystatechange = function (e) {\n if (xhr.readyState === 4 && xhr.status === 200) {\n el.innerHTML = xhr.responseText;\n if (callback) callback();\n }\n };\n\n xhr.open(\"GET\", url, true);\n xhr.setRequestHeader('Content-type', mime ? mime : 'text/html');\n xhr.send();\n}\n\nfunction customLog(level, ...args) {\n if (level < 0) {\n console.log(...args);\n return;\n }\n if (level > 0) {\n try {\n let err = {};\n args.forEach((a, i) => {\n err[\"p\" + i] = a;\n });\n plausible(level > 1 ? \"error\" : \"warn\", { \"props\": err });\n }\n catch (error) {\n console.error(\"plausible\", error);\n if (visibleLogging) {\n printError(2, ...args)\n }\n }\n }\n if (visibleLogging) {\n printError(level, ...args)\n }\n switch (level) {\n case 0:\n console.log(...args);\n break;\n case 1:\n console.warn(...args);\n break;\n case 2:\n console.error(...args);\n break;\n default:\n console.log(...args);\n }\n}\n\n\nfunction isElement(o) {\n try {\n return o instanceof HTMLElement;\n } catch (e) {\n return (typeof o === \"object\") &&\n (o.nodeType === 1) &&\n (typeof o.style === \"object\") &&\n (typeof o.ownerDocument === \"object\");\n }\n}\n\nvar genericError = \"Der er sket en fejl der ikke burde ske, vi beklager ulejligheden, prøv evt. igen om et par minutter.\";\nfunction showApiError(error, internal, extra) {\n if (internal) {\n if (error) {\n addOverlayMessage(error, extra);\n }\n addOverlayMessage(genericError, extra);\n }\n else {\n addOverlayMessage(error);\n }\n}\n\nfunction addOverlayMessage(msg, extra) {\n let body = document.querySelector(\"body\");\n let overlay = document.querySelector(\"body > .overlay\");\n if (!overlay) {\n addClass(body, \"noscroll\");\n body.insertAdjacentHTML(\"beforeend\", '');\n overlay = document.querySelector(\"body > .overlay\");\n\n overlay.addEventListener(\"click\", function (e) {\n hideMessageOverlay();\n stopAll(e);\n });\n\n overlay.querySelector(\".close\").addEventListener(\"click\", function (e) {\n hideMessageOverlay();\n stopAll(e);\n });\n\n overlay.firstChild.addEventListener(\"click\", function (e) {\n stopAll(e);\n });\n }\n let content = overlay.querySelector(\".content\");\n let text = content.textContent;\n if (text.indexOf(msg) < 0) {\n if (msg.indexOf(\"<\") >= 0 && msg.indexOf(\">\") >= 0) {\n content.insertAdjacentHTML(\"afterbegin\", msg + (extra ? '' + extra + \"
\" + new Error().stack.replace(/(?:\\r\\n|\\r|\\n)/g, '
') + '
' : \"\"));\n }\n else {\n content.insertAdjacentHTML(\"afterbegin\", '

' + msg + '

' + (extra ? '' + extra + \"
\" + new Error().stack.replace(/(?:\\r\\n|\\r|\\n)/g, '
') + '
' : \"\"));\n }\n }\n}\n\nfunction hideMessageOverlay() {\n let body = document.querySelector(\"body\");\n let overlay = document.querySelector(\"body > .overlay\");\n body.removeChild(overlay);\n removeClass(body, \"noscroll\");\n}\n\n\n\n\n\uFEFF(function () {\n var location = window.location;\n var document = window.document;\n\n var scriptEl = document.currentScript;\n var endpoint = scriptEl.getAttribute(\"data-api\") || defaultEndpoint(scriptEl);\n var hasDomainLanguage = scriptEl.getAttribute(\"data-domainLanguage\") == \"1\";\n\n function onIgnoredEvent(reason, options) {\n if (reason) console.warn(\"Ignoring Event: \" + reason);\n options && options.callback && options.callback();\n }\n\n function defaultEndpoint(el) {\n return new URL(el.src).origin + \"/api/event\";\n }\n\n function trigger(eventName, options) {\n if (\n location.protocol === \"file:\"\n ) {\n return onIgnoredEvent(\"localhost\", options);\n }\n if (\n window._phantom ||\n window.__nightmare ||\n window.navigator.webdriver ||\n window.Cypress\n ) {\n return onIgnoredEvent(null, options);\n }\n try {\n if (window.localStorage.plausible_ignore === \"true\") {\n return onIgnoredEvent(\"localStorage flag\", options);\n }\n } catch (e) { }\n\n var payload = {};\n let href = location.href.toLowerCase().replace(\"/?\", \"?\");\n let referrer = document.referrer || null;\n if (referrer) {\n referrer = referrer.toLowerCase().replace(\"/?\", \"?\");\n referrer = referrer.endsWith(\"/\") ? referrer.substring(0, referrer.length - 1) : referrer;\n }\n payload.n = eventName;\n payload.u = href.endsWith(\"/\") ? href.substring(0, href.length - 1) : href;\n payload.d = scriptEl.getAttribute(\"data-domain\");\n payload.r = referrer;\n if (options && options.meta) {\n payload.m = JSON.stringify(options.meta);\n }\n if (options && options.props) {\n payload.p = options.props;\n }\n if (hasDomainLanguage) {\n let language = location.host.split('.')[0].split('-')[0];\n if (language && language.length == 2) {\n if (!payload.p) payload.p = {};\n payload.p.browserLanguage = navigator.language || navigator.userLanguage;\n payload.p.language = language;\n }\n }\n\n var propAttributes = scriptEl.getAttributeNames().filter(function (name) {\n return name.substring(0, 6) === \"event-\";\n });\n\n var props = payload.p || {};\n\n propAttributes.forEach(function (attribute) {\n var propKey = attribute.replace(\"event-\", \"\");\n var propValue = scriptEl.getAttribute(attribute);\n props[propKey] = props[propKey] || propValue;\n });\n\n payload.p = props;\n\n // TODO: better send\n\n var url = endpoint;\n var data = JSON.stringify(payload);\n var callback = function () {\n options && options.callback && options.callback();\n }; // Replace with your actual callback function\n\n try {\n // Use Fetch API with keepalive\n fetch(url, {\n method: 'POST',\n keepalive: true,\n headers: {\n 'Content-Type': 'text/plain'\n },\n body: data\n }).then(() => {\n // Ignore the response\n if (typeof callback === 'function') {\n callback();\n }\n }).catch((error) => {\n console.error('Error:', error);\n // Use XMLHttpRequest as a fallback\n var xhr = new XMLHttpRequest();\n xhr.open('POST', url, true);\n xhr.setRequestHeader('Content-Type', 'text/plain');\n xhr.send(data);\n xhr.onload = function () {\n if (xhr.readyState === 4 && xhr.status === 200) {\n if (typeof callback === 'function') {\n callback();\n }\n }\n };\n });\n } catch (error) {\n console.error('Error:', error);\n }\n\n // var request = new XMLHttpRequest();\n // request.open(\"POST\", endpoint, true);\n // request.setRequestHeader(\"Content-Type\", \"text/plain\");\n\n // request.send(JSON.stringify(payload));\n\n // request.onreadystatechange = function () {\n // if (request.readyState === 4) {\n // options && options.callback && options.callback();\n // }\n // };\n }\n\n var queue = (window.plausible && window.plausible.q) || [];\n window.plausible = trigger;\n for (var i = 0; i < queue.length; i++) {\n trigger.apply(this, queue[i]);\n }\n\n var lastPage;\n\n function page() {\n if (lastPage === location.pathname) return;\n lastPage = location.pathname;\n trigger(\"pageview\");\n }\n\n var his = window.history;\n if (his.pushState) {\n var originalPushState = his[\"pushState\"];\n his.pushState = function () {\n originalPushState.apply(this, arguments);\n page();\n };\n window.addEventListener(\"popstate\", page);\n }\n\n function handleVisibilityChange() {\n if (!lastPage && document.visibilityState === \"visible\") {\n page();\n }\n }\n\n if (document.visibilityState === \"prerender\") {\n document.addEventListener(\"visibilitychange\", handleVisibilityChange);\n } else {\n page();\n }\n function getLinkEl(link) {\n while (link && (typeof link.tagName === 'undefined' || !isLink(link) || !link.href)) {\n link = link.parentNode\n }\n return link\n }\n\n function isLink(element) {\n return element && element.tagName && element.tagName.toLowerCase() === 'a'\n }\n\n function shouldFollowLink(event, link) {\n // If default has been prevented by an external script, Plausible should not intercept navigation.\n if (event.defaultPrevented) { return false }\n\n var targetsCurrentWindow = !link.target || link.target.match(/^_(self|parent|top)$/i)\n var isRegularClick = !(event.ctrlKey || event.metaKey || event.shiftKey) && event.type === 'click'\n return targetsCurrentWindow && isRegularClick\n }\n\n var MIDDLE_MOUSE_BUTTON = 1\n\n function handleLinkClickEvent(event) {\n if (event.type === 'auxclick' && event.button !== MIDDLE_MOUSE_BUTTON) { return }\n\n var link = getLinkEl(event.target)\n var hrefWithoutQuery = link && link.href && link.href.split('?')[0]\n\n if (isElementOrParentTagged(link, 0)) {\n // Return to prevent sending multiple events with the same action.\n // Clicks on tagged links are handled by another function.\n return\n }\n if (isOutboundLink(link)) {\n return sendLinkClickEvent(event, link, { name: 'Outbound Link: Click', props: { url: link.href } })\n }\n if (isDownloadToTrack(hrefWithoutQuery)) {\n return sendLinkClickEvent(event, link, { name: 'File Download', props: { url: hrefWithoutQuery } })\n }\n }\n\n function sendLinkClickEvent(event, link, eventAttrs) {\n var followedLink = false\n\n function followLink() {\n if (!followedLink) {\n followedLink = true\n window.location = link.href\n }\n }\n\n if (shouldFollowLink(event, link)) {\n plausible(eventAttrs.name, { props: eventAttrs.props, callback: followLink })\n setTimeout(followLink, 5000)\n event.preventDefault()\n } else {\n plausible(eventAttrs.name, { props: eventAttrs.props })\n }\n }\n\n document.addEventListener('click', handleLinkClickEvent)\n document.addEventListener('auxclick', handleLinkClickEvent)\n\n function isOutboundLink(link) {\n return link && link.href && link.host && link.host !== location.host\n }\n var defaultFileTypes = ['pdf', 'xlsx', 'docx', 'txt', 'rtf', 'csv', 'exe', 'key', 'pps', 'ppt', 'pptx', '7z', 'pkg', 'rar', 'gz', 'zip', 'avi', 'mov', 'mp4', 'mpeg', 'wmv', 'midi', 'mp3', 'wav', 'wma']\n var fileTypesAttr = scriptEl.getAttribute('file-types')\n var addFileTypesAttr = scriptEl.getAttribute('add-file-types')\n var fileTypesToTrack = (fileTypesAttr && fileTypesAttr.split(\",\")) || (addFileTypesAttr && addFileTypesAttr.split(\",\").concat(defaultFileTypes)) || defaultFileTypes;\n\n function isDownloadToTrack(url) {\n if (!url) { return false }\n\n var fileType = url.split('.').pop();\n return fileTypesToTrack.some(function (fileTypeToTrack) {\n return fileTypeToTrack === fileType\n })\n }\n // Finds event attributes by iterating over the given element's (or its\n // parent's) classList. Returns an object with `name` and `props` keys.\n function getTaggedEventAttributes(htmlElement) {\n var taggedElement = isTagged(htmlElement) ? htmlElement : htmlElement && htmlElement.parentNode\n var eventAttrs = { name: null, props: {} }\n\n var classList = taggedElement && taggedElement.classList\n if (!classList) { return eventAttrs }\n\n for (var i = 0; i < classList.length; i++) {\n var className = classList.item(i)\n\n var matchList = className.match(/plausible-event-(.+)(=|--)(.+)/)\n if (!matchList) { continue }\n\n var key = matchList[1]\n var value = matchList[3].replace(/\\+/g, ' ')\n\n if (key.toLowerCase() === 'name') {\n eventAttrs.name = value\n } else {\n eventAttrs.props[key] = value\n }\n }\n\n return eventAttrs\n }\n\n function handleTaggedFormSubmitEvent(event) {\n var form = event.target\n var eventAttrs = getTaggedEventAttributes(form)\n if (!eventAttrs.name) { return }\n\n event.preventDefault()\n var formSubmitted = false\n\n function submitForm() {\n if (!formSubmitted) {\n formSubmitted = true\n form.submit()\n }\n }\n\n setTimeout(submitForm, 5000)\n plausible(eventAttrs.name, { props: eventAttrs.props, callback: submitForm })\n }\n\n function isForm(element) {\n return element && element.tagName && element.tagName.toLowerCase() === 'form'\n }\n\n var PARENTS_TO_SEARCH_LIMIT = 3\n\n function handleTaggedElementClickEvent(event) {\n if (event.type === 'auxclick' && event.button !== MIDDLE_MOUSE_BUTTON) { return }\n\n var clicked = event.target\n\n var clickedLink\n var taggedElement\n // Iterate over parents to find the tagged element. Also search for\n // a link element to call for different tracking behavior if found.\n for (var i = 0; i <= PARENTS_TO_SEARCH_LIMIT; i++) {\n if (!clicked) { break }\n\n // Clicks inside forms are not tracked. Only form submits are.\n if (isForm(clicked)) { return }\n if (isLink(clicked)) { clickedLink = clicked }\n if (isTagged(clicked)) { taggedElement = clicked }\n clicked = clicked.parentNode\n }\n\n if (taggedElement) {\n var eventAttrs = getTaggedEventAttributes(taggedElement)\n\n if (clickedLink) {\n eventAttrs.props.url = clickedLink.href\n sendLinkClickEvent(event, clickedLink, eventAttrs)\n } else {\n plausible(eventAttrs.name, { props: eventAttrs.props })\n }\n }\n }\n\n function isTagged(element) {\n var classList = element && element.classList\n if (classList) {\n for (var i = 0; i < classList.length; i++) {\n if (classList.item(i).match(/plausible-event-name(=|--)(.+)/)) { return true }\n }\n }\n return false\n }\n\n function isElementOrParentTagged(element, parentsChecked) {\n if (!element || parentsChecked > PARENTS_TO_SEARCH_LIMIT) { return false }\n if (isTagged(element)) { return true }\n return isElementOrParentTagged(element.parentNode, parentsChecked + 1)\n }\n\n document.addEventListener('submit', handleTaggedFormSubmitEvent)\n document.addEventListener('click', handleTaggedElementClickEvent)\n document.addEventListener('auxclick', handleTaggedElementClickEvent)\n})();\n\n\uFEFFfunction trackEvent(eventName, eventType, data) {\n try {\n var trackerName = ga.getAll()[0].get('name');\n ga(trackerName + '.send', 'event', { eventCategory: eventName, eventAction: eventType, eventLabel: data });\n }\n catch (err) {\n log(\"ga not available: \" + eventName + \" , \" + eventType + \" , \" + data, true);\n }\n try {\n var fbData = {};\n fbData[eventType] = \"\" + data\n fbq('track', eventName, fbData);\n }\n catch (err) {\n log(\"fbq not available: \" + eventName + \" , \" + eventType + \" , \" + data, true);\n }\n}\n\n\uFEFFaddDomReadyEventListener((e) => {\n var elements = document.querySelectorAll('input,select,textarea');\n var invalidListener = function () { this.scrollIntoView(false); };\n\n for (var i = elements.length; i--;) {\n elements[i].addEventListener('invalid', invalidListener);\n }\n\n addEvents(document.querySelectorAll(\"form.api\"), \"submit\", function (e) {\n let autocompleteError = document.getElementById(\"autocompleteError\");\n let formattedAddress = e.target.querySelector(\"#selectedFormattedAddress\");\n if (formattedAddress && autocompleteError) {\n if (formattedAddress.value == \"\") {\n autocompleteError.innerHTML = '

Vælg en addresse i listen når din fulde adresse bliver vist.

';\n return stopAll(e);\n }\n else {\n autocompleteError.innerHTML = \"\";\n }\n }\n httpr(e.target.getAttribute(\"data-target\"), function (data) {\n console.log(data);\n if (!data.HasError) {\n let url = e.target.getAttribute(\"data-success\");\n if (url.indexOf(\"+/\") == 0) {\n url = \"/\" + document.location.pathname.split(\"/\").filter(e => e) + url.substring(1);\n }\n document.location = url;\n }\n }, new FormData(e.target), e.target);\n return stopAll(e);\n });\n\n addEvents(document.querySelectorAll(\"form.simple\"), \"submit\", function (e) {\n httpr(\"/umbraco/surface/membershipsurface/\" + e.target.getAttribute(\"data-method\"), undefined, new FormData(e.target), e.target);\n return stopAll(e);\n });\n\n addEvent(\"#update\", \"submit\", function (e) {\n let pw = e.target.querySelector(\"input[name=password]\");\n let newpw = e.target.querySelector(\"input[name=newpassword]\");\n let pwe = e.target.querySelector(\"span[for=password]\");\n\n if ((newpw.value || pw.value) && pw.value !== newpw.value) {\n removeClass(pwe, \"hidden\");\n return stopAll(e);\n }\n else {\n addClass(pwe, \"hidden\");\n }\n\n httpr(\"/umbraco/surface/membershipsurface/update\", undefined, new FormData(e.target), e.target);\n return stopAll(e);\n });\n\n addEvent(\"#signup select\", \"change\", function (e) {\n let v = e.target.value;\n let f = e.target.closest(\"form\");\n if (f) {\n let d = f.querySelector(\"div[data-type='H']\");\n if (v.indexOf(\",H\") > 0) {\n removeClass(d, \"hidden\");\n }\n else {\n addClass(d, \"hidden\");\n }\n }\n });\n\n addEvent(\"#signup\", \"submit\", function (e) {\n let sue = {\n 'event': 'signupInitated',\n 'mebershipType': e.target.querySelector(\"select[name='type']\").value,\n 'newsletterOptOut': e.target.querySelector(\"input[name='newsletter']\").checked\n };\n dataLayer.push(sue);\n httpr(\"/umbraco/surface/membershipsurface/savebeforepayment\", function (paymentUrl) {\n console.log(paymentUrl);\n if (paymentUrl && paymentUrl.indexOf(\"https\") === 0) {\n document.location.href = paymentUrl;\n }\n else {\n alert(\"Betalingssystemet er i øjeblikket nede, vi arbejder på sagen, kontakt os eventuelt på tlf 33 32 31 21 eller email post@cyklistforbundet.dk\");\n }\n }, new FormData(e.target), e.target);\n return stopAll(e);\n });\n\n});\n\uFEFFfunction webPsupport(callback) {\n var webP = new Image();\n webP.src = 'data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA';\n webP.onload = webP.onerror = function () {\n callback(webP.height === 2);\n };\n}\n\naddDomReadyEventListener(() => {\n webPsupport(function (hasWebP) {\n let skipSteppingSize = [370, 570, 1170];\n forEach(\"img[data-src]\", function (img) {\n if (hasClass(img, \"lazy\")) return;\n if (!isVisible(img)) {\n addClass(img, \"lazy\");\n return;\n }\n let mode = img.closest(\".images\") ? \"max\" : \"crop\";\n let src = img.getAttribute(\"data-src\")?.toLowerCase();\n let isPNG = src.indexOf(\".png\") > 0;\n let height = img.clientHeight;\n let width = img.clientWidth;\n let uw = img.getAttribute(\"data-uw\");\n if (uw && width > uw) width = uw;\n let allowSizeSteps = true;\n if (hasClass(img, \"defaultAspect\")) {\n if (uw) {\n img.style.maxWidth = uw + \"px\";\n if (uw < width) {\n width = uw;\n allowSizeSteps = false;\n }\n }\n if (img.getAttribute(\"data-aspect\")) {\n height = width * img.getAttribute(\"data-aspect\");\n }\n else {\n height = \"\";\n }\n }\n if (hasClass(img, \"sizebyheight\")) {\n height = img.parentNode.clientHeight;\n width = \"\";\n }\n let pe = img.parentElement;\n if (width <= 1) {\n while (pe) {\n width = pe.offsetWidth;\n if (width > 1) {\n break;\n }\n else {\n pe = pe.parentElement;\n }\n }\n }\n\n if (allowSizeSteps && width && skipSteppingSize.indexOf(width) < 0) {\n let stepSize = 10;\n if (width > 1200) {\n stepSize = 200;\n }\n else if (width > 600) {\n stepSize = 100;\n }\n else if (width > 300) {\n stepSize = 50;\n }\n let steppedWidth = Math.ceil(width / stepSize) * stepSize;\n let steppedHeight = height ? Math.round(height / width * steppedWidth) : height;\n width = steppedWidth;\n height = steppedHeight;\n }\n\n if ((pe === img.parentElement) && pe.tagName !== 'DIV' && pe.closest('article')) height = 0;\n\n if (src.indexOf(\".svg\") < 0) {\n src = src.split('?')[0] + \"?quality=80&rmode=\" + mode + \"&width=\" + (width <= 0 ? \"\" : width) + \"&height=\" + (height <= 1 ? \"\" : height) + (img.getAttribute(\"data-center\") ? \"&rxy=\" + img.getAttribute(\"data-center\") : \"\") + (hasWebP && !isPNG ? \"&format=webp\" : \"\") + (hasClass(img, \"preflow\") ? \"&autorotate=true\" : \"\");\n }\n img.addEventListener(\"load\", function (e) {\n var parent = e.target.parentNode;\n if (parent) {\n setTimeout(function () { addClass(parent, \"hlc\"); }, 300);\n if (parent.classList.contains(\"img\")) addClass(parent, \"lazyloaded\");\n }\n img.removeAttribute(\"data-src\");\n addClass(img, \"lazyloaded\");\n });\n img.setAttribute(\"loading\", \"lazy\");\n img.setAttribute(\"src\", src);\n if (hasClass(img.parentNode, \"contain\")) {\n img.parentNode.setAttribute(\"data-bg\", \"url(\" + img.getAttribute(\"data-src\") + \")\");\n }\n });\n });\n});\n\nfunction injectSVG(el) {\n let src = el.src;\n let parent = el.parentNode;\n removeElement(el);\n loadInto(parent, src, function () { }, \"image/svg+xml\");\n}\n\uFEFFvar enableLog = true;\nvar enableLogDebug = true;\n\n//var videoAccept = '
Du skal acceptere marketing cookies for at se video.
';\n//$(function () {\n// if (window.videoAccept !== undefined) $(\"iframe[data-cookieconsent]\").closest(\".embed-container\").before(videoAccept);\n// $(\"iframe[data-cookieconsent]\").each(function () {\n// $(this).attr(\"src\", $(this).attr(\"data-src\"));\n// });\n//});\n\nfunction isIE() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf(\"MSIE \");\n return msie > 0 || !!navigator.userAgent.match(/Trident.*rv\\:11\\./) ? true : false;\n}\n\nwindow.addEventListener('resize', function () {\n forEach(\".preflow\", function (el) {\n el.removeAttribute(\"width\");\n el.removeAttribute(\"height\");\n });\n});\naddDomReadyEventListener((e) => {\n if (isIE()) {\n var h = document.querySelector(\"html\");\n addClass(h, \"ie\");\n cssVars({\n });\n //var h = document.querySelector(\".sticky\");\n //var warn = document.createElement(\"div\");\n //addClass(warn, \"ie\");\n //removeClass(h, \"sticky\");\n //warn.innerHTML = '

Cyklistforbundets hjemmeside kan ikke ses via Internet Explorer-browseren.

Vi anbefaler, at du tilgår vores hjemmeside via nyere versioner af Firefox, Chrome, Safari eller Edge for at få den bedste oplevelse.

';\n //h.parentNode.insertBefore(warn, h);\n }\n\n addEvents(\".gallery img\", \"click\", function (e) {\n let src = e.target.src;\n if (src) {\n src = src.split('?')[0] + '?quality=80&mode=crop&upscale=false&width=1200&format=webp';\n window.open(src);\n }\n });\n\n var someshare = document.querySelector(\"li.share\");\n if (someshare) {\n var url = window.location.href.split('?')[0].split('#')[0];\n var canonical = document.querySelector(\"link[rel='canonical']\");\n if (canonical) url = canonical.getAttribute(\"href\");\n\n let sh = someshare.querySelector(\".tw\");\n if (sh) sh.setAttribute(\"href\", \"http://twitter.com/share?text=&hashtags=cyklistforbundet&url=\" + encodeURIComponent(url));\n sh = someshare.querySelector(\".fb\");\n if (sh) sh.setAttribute(\"href\", \"https://www.facebook.com/sharer/sharer.php?u=\" + encodeURIComponent(url));\n }\n\n forEach(\".banner .bike\", function (el) {\n var url = cssVar(\"logocykel\" + el.getAttribute(\"data-bike\"));\n var svg = decodeURIComponent(url.substring(url.indexOf(\",\") + 1, url.indexOf(\")\") - 1));\n el.innerHTML = svg;\n });\n\n let mega = document.querySelector(\"nav.mega > ul\");\n if (mega) {\n forEach(\".stick a\", function (el) {\n if (!hasClass(el, \"button\") && !hasClass(el, \"search\") && el.innerHTML != '') {\n let li = document.createElement(\"li\");\n addClass(li, \"added\");\n li.innerHTML = el.outerHTML;\n mega.prepend(li);\n }\n });\n }\n\n addEvent(\"nav.mega\", \"click\", function (e) {\n e.stopPropagation();\n });\n\n addEvent(\".burger\", \"click\", function (e) {\n toggleClass(\"nav.mega\", \"showMobile\");\n document.getElementById(\"burger-check\").checked = !document.getElementById(\"burger-check\").checked;\n return stopAll(e);\n });\n\n addEvents(\".main a, .sub a:not(.search)\", \"click\", function (e) {\n if (hasClass(e.target, \"show\")) {\n hideMenu();\n }\n else {\n let mega = document.querySelector(\"nav.mega\");\n removeClass(mega, \"showMobile\");\n document.getElementById(\"burger-check\").checked = false;\n\n return showMenu(e.target, e);\n }\n return stopAll(e);\n });\n\n addEvents(\".toggler\", \"click\", function (e) {\n toggle(e);\n });\n\n addEvent(\".sub form\", \"click\", function (e) {\n e.stopPropagation();\n });\n\n addEvent(\"body\", \"click\", function (e) {\n removeClass(document.querySelector(\"a.search\"), \"out\");\n hideMenu();\n });\n\n forEach(\"div.limit\", function (el) {\n if (el.offsetHeight > 150) {\n addClass(el, \"limited\");\n el.addEventListener(\"click\", function (e) {\n removeClass(e.target, \"limited\");\n e.target.outerHTML = e.target.outerHTML;\n stopAll(e);\n });\n }\n });\n\n\n var pop = document.querySelector(\"div.pop\");\n if (pop) {\n let popId = pop.dataset.id;\n let popKey = \"pop\" + popId;\n let today = new Date().toISOString().split('T')[0];\n let lastShown = localStorage.getItem(popKey);\n if (!lastShown || lastShown != today) {\n localStorage.setItem(popKey, today);\n const dialog = document.getElementById('imageDialog');\n dialog.addEventListener(\"close\", (e) => {\n document.body.classList.remove(\"noscroll\");\n });\n dialog.querySelector(\"form\").insertAdjacentHTML(\"beforeend\", pop.outerHTML);\n\n let delay = pop.dataset.delay;\n if (delay) {\n setTimeout(function () { document.body.classList.add(\"noscroll\"); dialog.showModal(); }, delay * 1000);\n }\n else {\n document.body.classList.add(\"noscroll\");\n dialog.showModal();\n }\n }\n }\n\n if (window.gtmId !== undefined && window.gtmId !== '') {\n (function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = '//www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', gtmId);\n }\n});\n\nfunction toggle(e) {\n let toggle = e.target;\n if (hasClass(toggle, \"off\")) {\n removeClass(toggle, \"off\");\n }\n else {\n addClass(toggle, \"off\");\n }\n}\n\nfunction hideMenu() {\n let mega = document.querySelector(\"nav.mega\");\n addClass(mega, \"hidden\");\n removeClass(mega, \"showMobile\");\n document.getElementById(\"burger-check\").checked = false;\n\n forEach(\".main a, .sub a:not(.search)\", function (el) {\n removeClass(el, \"show\");\n });\n}\n\nfunction showMenu(el, e) {\n forEach(\".main a, .sub a:not(.search)\", function (el) {\n removeClass(el, \"show\");\n });\n addClass(el, \"show\");\n\n var href = el.getAttribute(\"href\");\n var myMenu = hasClass(el, \"myMenu\");\n var solo = false;\n forEach(\".mega > ul > li > a\", function (elx) {\n if (elx.getAttribute(\"href\") === href) {\n if (!solo && !myMenu) solo = hasClass(elx, \"solo\");\n removeClass(elx.parentNode, \"hidden\");\n }\n else {\n addClass(elx.parentNode, \"hidden\");\n }\n });\n if (solo) return;\n\n removeClass(document.querySelector(\"nav.mega\"), \"hidden\");\n\n if (e) return stopAll(e);\n}\n\n \n /*\nfunction showMenu(el, e) {\n forEach(\".main a, .sub a:not(.search)\", function (el) {\n removeClass(el, \"show\");\n });\n addClass(el, \"show\");\n\n try {\n var href = el.getAttribute(\"href\");\n var myMenu = hasClass(el, \"myMenu\");\n var solo = false;\n forEach(\".mega > ul > li > a\", function (elx) {\n if (elx.getAttribute(\"href\") === href) {\n if (!solo) solo = hasClass(elx, \"solo\");\n removeClass(elx.parentNode, \"hidden\");\n }\n else {\n if (myMenu) {\n removeClass(elx.parentNode, \"hidden\");\n }\n else {\n addClass(elx.parentNode, \"hidden\");\n }\n }\n });\n if (solo) return;\n\n removeClass(document.querySelector(\"nav.mega\"), \"hidden\");\n }\n catch (err) {\n console.error(err);\n }\n\n if (e) return stopAll(e);\n}\n\n\n\n\n let myMenu = el.classList.hasClass(\"myMenu\");\n var solo = false;\n forEach(\".mega > ul > li > a\", function (elx) {\n if (elx.getAttribute(\"href\") === href) {\n if (!solo) solo = hasClass(elx, \"solo\");\n removeClass(elx.parentNode, \"hidden\");\n }\n else {\n\n addClass(elx.parentNode, \"hidden\");\n }\n });\n console.log(el, href, myMenu, solo);\n\n */\n"], "mappings": "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", "names": ["savedTimes", "isVisible", "elem", "e", "el", "printError", "level", "args", "errors", "html", "a", "i", "isElement", "name", "results", "getCookie", "v", "parseTimeStampCookie", "u", "timeStamps", "getCookie", "parsed", "lc", "forEach", "ts", "showTimestamps", "exi", "customLog", "ex", "data", "heading", "_a", "pre", "e", "stopAll", "el", "s", "t", "handleResponse", "url", "result", "callback", "postdata", "source", "eventExtra", "isFetch", "goal", "postdataLength", "showApiError", "body", "div", "addClass", "removeClass", "scrollToElement", "handleError", "msg", "error", "genericError", "httpr", "_b", "savedTimes", "fetchAvailable", "aft", "afToken", "method", "responseUrl", "headers", "response", "request", "p", "isIE", "cssVar", "v", "forEach", "arr", "callback", "hasClass", "addClass", "removeClass", "el", "className", "addEvent", "path", "event", "func", "addEvents", "toggleClass", "stopAll", "e", "arr", "item", "argArr", "docFrag", "argItem", "isNode", "selector", "matches", "i", "s", "el", "customLog", "level", "args", "err", "a", "i", "error", "printError", "isElement", "o", "genericError", "showApiError", "internal", "extra", "addOverlayMessage", "msg", "body", "overlay", "addClass", "e", "hideMessageOverlay", "stopAll", "content", "removeClass", "location", "document", "scriptEl", "endpoint", "defaultEndpoint", "hasDomainLanguage", "onIgnoredEvent", "reason", "options", "el", "trigger", "eventName", "payload", "href", "referrer", "language", "propAttributes", "name", "props", "attribute", "propKey", "propValue", "url", "data", "callback", "xhr", "queue", "lastPage", "page", "his", "originalPushState", "handleVisibilityChange", "getLinkEl", "link", "isLink", "element", "shouldFollowLink", "event", "targetsCurrentWindow", "isRegularClick", "MIDDLE_MOUSE_BUTTON", "handleLinkClickEvent", "hrefWithoutQuery", "isElementOrParentTagged", "isOutboundLink", "sendLinkClickEvent", "isDownloadToTrack", "eventAttrs", "followedLink", "followLink", "defaultFileTypes", "fileTypesAttr", "addFileTypesAttr", "fileTypesToTrack", "fileType", "fileTypeToTrack", "getTaggedEventAttributes", "htmlElement", "taggedElement", "isTagged", "classList", "className", "matchList", "key", "value", "handleTaggedFormSubmitEvent", "form", "formSubmitted", "submitForm", "isForm", "PARENTS_TO_SEARCH_LIMIT", "handleTaggedElementClickEvent", "clicked", "clickedLink", "parentsChecked", "e", "elements", "invalidListener", "i", "addEvents", "autocompleteError", "formattedAddress", "stopAll", "httpr", "data", "url", "addEvent", "pw", "newpw", "pwe", "removeClass", "addClass", "v", "f", "d", "sue", "paymentUrl", "webPsupport", "callback", "webP", "hasWebP", "skipSteppingSize", "forEach", "img", "_a", "hasClass", "isVisible", "mode", "src", "isPNG", "height", "width", "uw", "allowSizeSteps", "pe", "stepSize", "steppedWidth", "steppedHeight", "parent", "isIE", "ua", "msie", "forEach", "el", "e", "h", "addClass", "addEvents", "src", "someshare", "url", "canonical", "sh", "cssVar", "svg", "mega", "hasClass", "li", "addEvent", "toggleClass", "stopAll", "hideMenu", "removeClass", "showMenu", "toggle", "pop", "popKey", "today", "lastShown", "dialog", "delay", "w", "d", "s", "l", "i", "f", "j", "dl", "href", "myMenu", "solo", "elx"] }