{"version":3,"file":"skagenMain.4e82d91f9c6ffb9677ea.js","mappings":"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","sources":["webpack://skagenfondene.no/webpack/runtime/chunk loaded","webpack://skagenfondene.no/./src/Fund/CurrencyUpdater.js","webpack://skagenfondene.no/./src/Fund/SimpleFundList.js","webpack://skagenfondene.no/./src/Pages/matchheight.js","webpack://skagenfondene.no/./src/Pages/theme-article-page.js","webpack://skagenfondene.no/./src/Pages/theme-page.js","webpack://skagenfondene.no/./src/ToolTip/toolTipSearch.js","webpack://skagenfondene.no/./src/jPaginate.js","webpack://skagenfondene.no/./src/components/GoogleTagManager.ts","webpack://skagenfondene.no/./src/Consent/consentUtil.ts","webpack://skagenfondene.no/./src/Apsis/ApsisTasks.js","webpack://skagenfondene.no/./src/Apsis/newsletterFlyout.js","webpack://skagenfondene.no/./src/Fund/FundPage.js","webpack://skagenfondene.no/./src/Block/campaignFormsBlock.ts","webpack://skagenfondene.no/./src/Pages/main.js","webpack://skagenfondene.no/./src/Common/SetupDatePicker.js","webpack://skagenfondene.no/./src/main.ts","webpack://skagenfondene.no/./src/megaMenu.js","webpack://skagenfondene.no/./src/placeholder.js","webpack://skagenfondene.no/./src/replaceText.js","webpack://skagenfondene.no/./src/responsive-tables.js","webpack://skagenfondene.no/./src/skagenweb.js","webpack://skagenfondene.no/webpack/bootstrap","webpack://skagenfondene.no/webpack/runtime/compat get default export","webpack://skagenfondene.no/webpack/runtime/define property getters","webpack://skagenfondene.no/webpack/runtime/global","webpack://skagenfondene.no/webpack/runtime/hasOwnProperty shorthand","webpack://skagenfondene.no/webpack/runtime/make namespace object","webpack://skagenfondene.no/webpack/runtime/sharing","webpack://skagenfondene.no/webpack/runtime/publicPath","webpack://skagenfondene.no/webpack/runtime/jsonp chunk loading","webpack://skagenfondene.no/webpack/runtime/nonce","webpack://skagenfondene.no/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","\"use strict\";\n// Object that contains currency functions\nwindow.currencyUpdater = {};\n$(function () {\n window.currencyUpdater.updateCurrency = function (currency) {\n if ($('.allfunds').length > 0) {\n updateAllFunds(currency);\n }\n if ($('.fundgraph').length > 0) {\n window.fundpage.refreshFundTable(currency);\n }\n if ($(\".fundpage\").length > 0) {\n updateFundHeader(currency);\n }\n if ($(\".fundfact\").length > 0) {\n updateFundFacts(currency);\n }\n // Update all currency pickers if any on the same page\n $('body').find('.currencypicker').each(function (i, item) {\n $(item).val(currency);\n });\n };\n function getServerData(apiUrl, postData, successfunction) {\n $.ajax({\n url: apiUrl,\n data: postData,\n dataType: \"json\",\n traditional: true,\n success: function (data) {\n successfunction(data);\n }\n });\n }\n //Refreshes all the data for the AllFunds block / Allfunds Tab block\n function updateAllFunds(currency) {\n var isins = $('#allfundscurrency').data('isins');\n var postData = { isins: isins, currency: currency };\n getServerData('/api/FundGathering/GetFundsPerformanceForIsins', postData, function (data) {\n updateAllFundsSuccess(data, currency);\n });\n }\n function updateAllFundsSuccess(data, currency) {\n $(data)\n .each(function (index, item) {\n $('.allfunds')\n .find('.fundrow')\n .each(function (j, fundrow) {\n var $fundRow = $(fundrow);\n var isin = $fundRow.data('isin');\n if (isin === item.isin) {\n $fundRow.find('.navDate').html(item.NavDate);\n $fundRow.find('.lastupdated').html(item.PerformanceDate);\n $fundRow.find('.price').html(item.Price);\n $fundRow.find('.thisyear').html(item.ThisYear);\n $fundRow.find('.lastyear').html(item.LastYear);\n $fundRow.find('.last3').html(item.Last3Years);\n $fundRow.find('.last5').html(item.Last5Years);\n $fundRow.find('.last5').html(item.Last5Years);\n // Set newly selected currency on the row\n $fundRow.data('currency', item.Currency);\n }\n });\n });\n // Blank all values that are no longer available in selected currency\n $('.allfunds')\n .find('.fundrow')\n .each(function (index, fundrow) {\n var $fundRow = $(fundrow);\n var rowCurrency = $fundRow.data('currency');\n if (rowCurrency !== currency) {\n $fundRow.find('.lastupdated').html('-');\n $fundRow.find('.price').html('-');\n $fundRow.find('.thisyear').html('-');\n $fundRow.find('.lastyear').html('-');\n $fundRow.find('.last3').html('-');\n $fundRow.find('.last5').html('-');\n }\n });\n }\n //Updates the data header data on the fundpage\n function updateFundHeader(currency) {\n var isin = $('.fundpage').data('isin');\n var postData = { isin: isin, currency: currency };\n getServerData('/api/FundGathering/GetFundheadingData', postData, updateFundHeaderSuccess);\n }\n function updateFundHeaderSuccess(data) {\n $('.fundheaderlatestprice').html(data.Price);\n if ($('.fundheaderlast3').length > 0) {\n $('.fundheaderlast3').html(data.Last3Years);\n }\n else if ($('.fundheaderlast5').length > 0) {\n $('.fundheaderlast5').html(data.Last5Years);\n }\n }\n // Updates the currency dependent data on the facts about the fund block\n function updateFundFacts(currency) {\n var isin = $('.fundpage').data('isin');\n var postData = { isin: isin, currency: currency };\n getServerData('/api/FundGathering/GetFundFact', postData, updateFundFactsSuccess);\n }\n // callback method for function above\n function updateFundFactsSuccess(data) {\n $('.aum').html(data.AUM);\n $('.aumcurrency').html(data.AUMCurrency);\n $('.minpurchase').html(data.Minpurchase);\n if ($('.totalcustomer').length > 0 && data.TotalCustomer !== null) {\n $('.totalcustomer').html(data.TotalCustomer);\n }\n }\n});\n","\"use strict\";\nrequire('tablesorter/dist/js/jquery.tablesorter');\n// Object that contains SimpleFundList functions\nwindow.SimpleFundList = {};\n$(function () {\n SimpleFundList.SetupTableSorter = function (selector) {\n // Add a custom sorter ( Make sure empty values - are last and remove % from numbers)\n $.tablesorter.addParser({\n // set a unique id\n id: 'percentage',\n is: function (s) {\n // return false so this parser is not auto detected\n return false;\n },\n format: function (s) {\n // format your data for normalization\n if (s.trim().length === 1) {\n // if no value, force low value to put in the end of the list\n return s.replace('-', '-100000');\n }\n return s.replace('%', '').replace('*', '').replace(/,/g, '').replace(/\\s/g, '');\n },\n // set type, either numeric or text\n type: 'numeric'\n });\n $(selector).find('table.tablesorter').tablesorter({\n sortList: [[0, 0]],\n usNumberFormat: true,\n sortInitialOrder: \"desc\",\n headers: {\n 3: {\n sorter: 'percentage'\n },\n 4: {\n sorter: 'percentage'\n },\n 5: {\n sorter: 'percentage'\n },\n 6: {\n sorter: 'percentage'\n },\n 7: {\n sorter: 'percentage'\n },\n 8: {\n sorter: 'percentage'\n },\n 9: {\n sorter: 'percentage'\n }\n }\n });\n };\n window.SimpleFundList.ReturnChanger = function (selector) {\n // Get new value from select element\n var selectedReturn = $(selector).val();\n // Find containter for value changes\n var $simpleFundListContainer = $(selector).closest('div.SimpleFundsListBlock');\n // Hide alle return values\n $simpleFundListContainer.find('.ReturnValueHeader').hide();\n $simpleFundListContainer.find('.ReturnValue').hide();\n // Show selected return value\n if (selectedReturn === 'Thisyear') {\n $simpleFundListContainer.find('.ThisYear').show();\n }\n else if (selectedReturn === 'Lastyear') {\n $simpleFundListContainer.find('.LastYear').show();\n }\n else if (selectedReturn === 'Last3') {\n $simpleFundListContainer.find('.Last3Years').show();\n }\n else if (selectedReturn === 'Last5') {\n $simpleFundListContainer.find('.Last5Years').show();\n }\n else if (selectedReturn === 'Last10') {\n $simpleFundListContainer.find('.Last10Years').show();\n }\n else if (selectedReturn === 'Alltime') {\n $simpleFundListContainer.find('.SinceStart').show();\n }\n // Will trigger a resort on the table just to make sure that sorting is correct with new values.\n $simpleFundListContainer.find('table.tablesorter').trigger('update');\n };\n if ($('.DistributionFeeListBlock').length > 0) {\n SimpleFundList.SetupTableSorter(this);\n }\n if ($('.SimpleFundsListBlock').length > 0) {\n SimpleFundList.SetupTableSorter(this);\n var select = $(this).find('select.returnChanger');\n // If multiple blocks on same page we need to setup all of them.\n select.each(function (index, selectItem) {\n window.SimpleFundList.ReturnChanger(selectItem);\n });\n }\n});\n","\"use strict\";\nrequire('jquery-match-height');\n$(function () {\n /* NumberedListBlock */\n $('.stepRoundArea .StepRoundItem').matchHeight();\n /* SimpleFundPage init */\n $('.fundsimple__profile--item').matchHeight();\n $('.container--fundsimple--fundcost .fundsimple-costItem').matchHeight();\n $('.container--fundsimple--documents .fundsimple-docItem').matchHeight();\n $('.simplefund .fundPageData .fundPageData--item').matchHeight();\n /* ThreeFundsListBlock */\n $('.container--three-funds-list .three-funds-item').matchHeight();\n /* ThreeFundsListBlock */\n $('.product--footer .footerdata div').matchHeight();\n /* Fundcategorypage */\n $('.categories--Items .categories--item').matchHeight();\n $('.officeLocationBlock .location').matchHeight();\n});\n","\"use strict\";\n$(function () {\n var $relatedArticles = $('.js-article-content .js-article-preview');\n if ($relatedArticles.length > 0) {\n var $firstRelatedArticle = $relatedArticles.first();\n var $lastRelatedArticle = $relatedArticles.last();\n $firstRelatedArticle.addClass('article--preview--first');\n $lastRelatedArticle.addClass('article--preview--last');\n }\n});\n","\"use strict\";\n$(function () {\n function showMoreArticles(listSelector, maxNumberOfArticlesToShow) {\n // Hide \"Show more articles\"-button when loading articles\n $(listSelector + ' .js-show-more-articles').addClass('hidden');\n var $hiddenThemeArticles = $(listSelector + ' .js-article-preview.hidden');\n var numberOfArticlesToShow = $hiddenThemeArticles.length < maxNumberOfArticlesToShow ? $hiddenThemeArticles.length : maxNumberOfArticlesToShow;\n for (var i = 0; i < numberOfArticlesToShow; i++) {\n $hiddenThemeArticles.eq(i).removeClass('hidden');\n }\n var numberOfHiddenArticlesLeft = $(listSelector + ' .js-article-preview.hidden').length;\n if (numberOfHiddenArticlesLeft > 0) {\n // Show \"Show more articles\"-button\n $(listSelector + ' .js-show-more-articles').removeClass('hidden');\n }\n }\n $('.js-show-more-theme-articles').click(function () {\n showMoreArticles('.js-theme-article-list', 4);\n });\n $('.js-show-more-advice-articles').click(function () {\n showMoreArticles('.js-advice-article-list', 3);\n });\n});\n","\"use strict\";\n$(function () {\n var query = \"\";\n var toolTipResults;\n $(\".article-content__main-body span.toolTip\").each(function (index, element) {\n query += \"toolTipNames=\" + $(element).text() + \"&\";\n });\n if (query) {\n $.get(\"/api/tooltips/?\" + query, function (data) {\n toolTipResults = data;\n $(\".article-content__main-body span.toolTip\").each(function (index, element) {\n var toolTipDescription = searchToolTips(element.textContent);\n if (toolTipDescription) {\n $(element).attr(\"title\", toolTipDescription);\n $(element).attr(\"data-toggle\", \"tooltip\");\n $(element).attr(\"data-html\", \"true\");\n $(element).attr(\"data-placement\", \"top\");\n $(element).attr(\"data-template\", '
');\n $(element).addClass(\"active\");\n }\n });\n // To ensure tooltips are shown\n $('[data-toggle=\"tooltip\"]').tooltip();\n });\n }\n function searchToolTips(query) {\n var result = \"\";\n $.each(toolTipResults, function (index, element) {\n result = \"\";\n if (element.Name.toLowerCase() === query.toLowerCase()) {\n result = element.Detail;\n return false;\n }\n });\n return result;\n }\n});\n","\"use strict\";\n// jPaginate Plugin for jQuery - Version 0.3\n// by Angel Grablev for Enavu Web Development network (enavu.com)\n// Dual license under MIT and GPL :) enjoy\n/*\n\nTo use simply call .paginate() on the element you wish like so:\n$(\"#content\").jPaginate();\n\nyou can specify the following options:\nitems = number of items to have per page on pagination\nnext = the text you want to have inside the text button\nprevious = the text you want in the previous button\nactive = the class you want the active paginaiton link to have\npagination_class = the class of the pagination element that is being generated for you to style\nminimize = minimizing will limit the overall number of elements in the pagination links\nnav_items = when minimize is set to true you can specify how many items to show\ncookies = if you want to use cookies to remember which page the user is on, true by default\nposition = specify the position of the pagination, possible options: \"before\", \"after\", or \"both\"\nequal = implements an equal height main element by using the highest possible element use true false\noffset = unfortunately calculating heights with javascript isn't always 100% accurate, so please use this value to make it perfect :) its defaultly set to 50\n\n*/\n(function ($) {\n $.fn.jPaginate = function (options) {\n var defaults = {\n items: 4,\n next: \"Next\",\n previous: \"Previous\",\n active: \"active\",\n pagination_class: \"pagination\",\n minimize: false,\n nav_items: 6,\n cookies: true,\n position: \"after\",\n equal: false,\n offset: 50\n };\n var options = $.extend(defaults, options);\n return this.each(function () {\n // object is the selected pagination element list\n obj = $(this);\n // this is how you call the option passed in by plugin of items\n var show_per_page = options.items;\n //getting the amount of elements inside parent element\n var number_of_items = obj.children().length;\n //calculate the number of pages we are going to have\n var number_of_pages = Math.ceil(number_of_items / show_per_page);\n //create the pages of the pagination\n var array_of_elements = [];\n var numP = 0;\n var nexP = show_per_page;\n var height = 0;\n var max_height = 0;\n //loop through all pages and assign elements into array\n for (i = 1; i <= number_of_pages; i++) {\n array_of_elements[i] = obj.children().slice(numP, nexP);\n if (options.equal) {\n obj.children().slice(numP, nexP).each(function () {\n height += $(this).outerHeight();\n });\n if (height > max_height)\n max_height = height;\n height = 0;\n }\n numP += show_per_page;\n nexP += show_per_page;\n }\n if (options.equal) {\n max_height += options.offset;\n obj.css({ \"height\": max_height });\n }\n // display first page and set first cookie\n if (options.cookies == true) {\n if (get_cookie(\"current\")) {\n showPage(get_cookie(\"current\"));\n createPagination(get_cookie(\"current\"));\n }\n else {\n set_cookie(\"current\", \"1\");\n showPage(get_cookie(\"current\"));\n createPagination(get_cookie(\"current\"));\n }\n }\n else {\n showPage(1);\n createPagination(1);\n }\n //show selected page\n function showPage(page) {\n obj.children().hide();\n array_of_elements[page].show();\n }\n // create the navigation for the pagination\n function createPagination(curr) {\n var start, items = \"\", end, nav = \"\";\n start = \"
\";\n var after = number_of_pages - options.after + 1;\n var pagi_range = paginationCalculator(curr);\n for (i = 1; i <= number_of_pages; i++) {\n if (options.minimize == true) {\n var half = Math.ceil(number_of_pages / 2);\n if (i >= pagi_range.start && i <= pagi_range.end) {\n if (i == curr) {\n items += '
  • ' + i + '
  • ';\n }\n else {\n items += '
  • ' + i + '
  • ';\n }\n }\n else if (curr <= half) {\n if (i >= (number_of_pages - 2)) {\n if (i == curr) {\n items += '
  • ' + i + '
  • ';\n }\n else {\n items += '
  • ' + i + '
  • ';\n }\n }\n }\n else if (curr >= half) {\n if (i <= 2) {\n if (i == curr) {\n items += '
  • ' + i + '
  • ';\n }\n else {\n items += '
  • ' + i + '
  • ';\n }\n }\n }\n }\n else {\n if (i == curr) {\n items += '
  • ' + i + '
  • ';\n }\n else {\n items += '
  • ' + i + '
  • ';\n }\n }\n }\n if (curr != 1 && curr != number_of_pages) {\n nav = start + previous + items + next + end;\n }\n else if (number_of_pages == 1) {\n nav = start + previous_inactive + items + next_inactive + end;\n }\n else if (curr == number_of_pages) {\n nav = start + previous + items + next_inactive + end;\n }\n else if (curr == 1) {\n nav = start + previous_inactive + items + next + end;\n }\n if (options.position == \"before\") {\n obj.before(nav);\n }\n else if (options.position == \"after\") {\n obj.after(nav);\n }\n else {\n obj.after(nav);\n obj.before(nav);\n }\n }\n /* code to handle cookies */\n /* code to handle cookies */\n function set_cookie(c_name, value) {\n var expiredays = 999;\n var exdate = new Date();\n exdate.setDate(exdate.getDate() + expiredays);\n document.cookie = c_name + \"=\" + escape(value) +\n ((expiredays == null) ? \"\" : \";expires=\" + exdate.toUTCString());\n }\n function get_cookie(c_name) {\n if (document.cookie.length > 0) {\n c_start = document.cookie.indexOf(c_name + \"=\");\n if (c_start != -1) {\n c_start = c_start + c_name.length + 1;\n c_end = document.cookie.indexOf(\";\", c_start);\n if (c_end == -1)\n c_end = document.cookie.length;\n return unescape(document.cookie.substring(c_start, c_end));\n }\n }\n return \"\";\n }\n function paginationCalculator(curr) {\n var half = Math.floor(options.nav_items / 2);\n var upper_limit = number_of_pages - options.nav_items;\n var start = curr > half ? Math.max(Math.min(curr - half, upper_limit), 0) : 0;\n var end = curr > half ? Math.min(curr + half + (options.nav_items % 2), number_of_pages) : Math.min(options.nav_items, number_of_pages);\n return { start: start, end: end };\n }\n // handle click on pagination\n $(\".col-lg-8\").on(\"click\", \".goto\", function (e) {\n console.log(\"hit1\");\n e.preventDefault();\n showPage($(this).attr(\"title\"));\n set_cookie(\"current\", $(this).attr(\"title\"));\n $(\".pagination\").remove();\n createPagination($(this).attr(\"title\"));\n $(\"html, body\").animate({ scrollTop: 0 }, \"slow\");\n });\n $(\".col-lg-8\").on(\"click\", \".goto_next\", function (e) {\n console.log(\"hit2\");\n e.preventDefault();\n var act = \".\" + options.active;\n var newcurr = parseInt($(\".pagination\").find(\".active\").attr(\"title\")) + 1;\n set_cookie(\"current\", newcurr);\n showPage(newcurr);\n $(\".pagination\").remove();\n createPagination(newcurr);\n $(\"html, body\").animate({ scrollTop: 0 }, \"slow\");\n });\n $(\".col-lg-8\").on(\"click\", \".goto_previous\", function (e) {\n console.log(\"hit3\");\n e.preventDefault();\n var act = \".\" + options.active;\n var newcurr = parseInt($(\".pagination\").find(\".active\").attr(\"title\")) - 1;\n set_cookie(\"current\", newcurr);\n showPage(newcurr);\n $(\".pagination\").remove();\n createPagination(newcurr);\n $(\"html, body\").animate({ scrollTop: 0 }, \"slow\");\n });\n });\n };\n})(jQuery);\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport Cookies from 'js-cookie';\nimport { getConsent } from '../Consent/consentUtil';\nexport var EventName;\n(function (EventName) {\n EventName[\"GaEvent\"] = \"web-ga-event\";\n EventName[\"PageView\"] = \"pageview\";\n})(EventName || (EventName = {}));\nexport var EventInfoCategory;\n(function (EventInfoCategory) {\n EventInfoCategory[\"SavingsCalculator\"] = \"SavingsCalculator\";\n EventInfoCategory[\"HistoricReturnCalculator\"] = \"HistoricReturnCalculator\";\n EventInfoCategory[\"Withdrawal\"] = \"WithdrawalCalculator\";\n EventInfoCategory[\"GobiBubbles\"] = \"GobiBubbles\";\n EventInfoCategory[\"Consent\"] = \"Consent\";\n EventInfoCategory[\"Newsletter\"] = \"Newsletter\";\n EventInfoCategory[\"Podcast\"] = \"Podcast\";\n EventInfoCategory[\"FundList\"] = \"FundList\";\n EventInfoCategory[\"Campaign\"] = \"Campaign\";\n EventInfoCategory[\"PerformanceCalculator\"] = \"PerformanceCalculator\";\n EventInfoCategory[\"GenesysChat\"] = \"GenesysChat\";\n EventInfoCategory[\"FundCostList\"] = \"FundCostList\";\n EventInfoCategory[\"SkagenForceEvent\"] = \"SkagenForceEvent\";\n EventInfoCategory[\"SliderContentBlock\"] = \"SliderContent\";\n EventInfoCategory[\"PortfolioOverviewBlockApp\"] = \"PortfolioOverviewBlockApp\";\n})(EventInfoCategory || (EventInfoCategory = {}));\nexport var EventInfoAction;\n(function (EventInfoAction) {\n EventInfoAction[\"Displayed\"] = \"Displayed\";\n EventInfoAction[\"None\"] = \"None\";\n EventInfoAction[\"Input\"] = \"Input\";\n EventInfoAction[\"Button\"] = \"Button\";\n})(EventInfoAction || (EventInfoAction = {}));\nvar language = document.documentElement.getAttribute('lang') || 'no';\nvar environment = document.documentElement.getAttribute('data-environment') || 'development';\nvar market = document.documentElement.getAttribute('data-market') || 'no';\nvar brand = document.documentElement.getAttribute('data-brand') || 'SKAGEN';\nvar cipId = Cookies.get('CIP-ID');\nvar consent = getConsent();\nvar gtmInternalEventData = {\n environmentInfo: { brand: brand, environment: environment, language: language, market: market },\n userInfo: { id: cipId, loggedIn: !!cipId },\n consent: consent,\n};\nexport var trackEvent = function (event) { return __awaiter(void 0, void 0, void 0, function () {\n var data, eventAsJson;\n return __generator(this, function (_a) {\n data = __assign(__assign({}, event), gtmInternalEventData);\n window.dataLayer.push(data);\n if (window.localStorage.getItem('webDebug') !== null) {\n eventAsJson = JSON.stringify(data);\n // eslint-disable-next-line no-console\n console.log('%c' + eventAsJson, 'color:#fff; background:#69f');\n }\n return [2 /*return*/];\n });\n}); };\n/**\n * Will track a predefined and open GA event.\n *\n * The event trigger in GTM is: web-ga-event.\n * The protocol is set ut to read:\n * eventInfo.category\n * eventInfo.action\n * eventInfo.title\n * eventInfo.value\n *\n * @param category - ends up as category in GA Event Tracking\n * @param action - ends up as action in GA Event Tracking\n * @param title - ends up as label in GA Event Tracking\n * @param value - ends up as value in GA Event Tracking\n */\nexport var trackTradidionalGaEvent = function (category, action, title, value) {\n trackEvent({\n event: EventName.GaEvent,\n eventInfo: {\n category: category,\n action: action,\n title: title,\n value: value,\n },\n });\n};\nexport var trackPageView = function () {\n trackEvent({\n event: EventName.PageView,\n });\n};\n","import Cookies from 'js-cookie';\nexport var consentCookieName = 'gdprconsent';\n// make sure to call this before store consentdata to cookie ( Not legal to store jsondata in cookie)\nvar makeStringForCookie = function (consentData) {\n var json = JSON.stringify(consentData);\n // will remove double quotes from string\n return json.replace(/\"([^\"]+)\":/g, '$1:');\n};\n// use this to convert cookie string to consent object\nvar makeConsentDataObjectFromString = function (cookieStringValue) {\n // will add double quotes back so JSON.parse will work\n return JSON.parse(cookieStringValue.replace(/(\\{|,)\\s*(.+?)\\s*:/g, '$1 \"$2\":'));\n};\nexport var isConsentGiven = function () {\n return Cookies.get(consentCookieName) ? true : false;\n};\nexport var hasMarketingConsent = function () {\n // Check if we have a consent cookie\n var consentCookie = Cookies.get(consentCookieName);\n if (consentCookie) {\n var consentCookieJson = makeConsentDataObjectFromString(consentCookie);\n // contains true if user has given consent, false if not.\n return consentCookieJson.marketing;\n }\n // Consent is enabled but user has not given reply (we can not show marketing content)\n return false;\n};\n// Check if skagenWeb is in simple mode\nexport var isSimpleMode = function () {\n return window.location.search.includes('Simple');\n};\n// Check if skagenWeb is in app mode (used for app)\nexport var isAppMode = function () {\n return window.location.search.includes('app=true');\n};\nexport var getConsent = function () {\n if (isSimpleMode() || isAppMode()) {\n return {\n basic: true,\n useful: true,\n analytics: true,\n marketing: true,\n };\n }\n var consentCookie = Cookies.get(consentCookieName);\n if (consentCookie) {\n return makeConsentDataObjectFromString(consentCookie);\n }\n // We have no reply on consent ( Default consent is everything off)\n return {\n basic: true,\n useful: false,\n analytics: false,\n marketing: false,\n };\n};\nexport var saveConsent = function (consentData) {\n var domain = getCurrentCookieDomain(window.location.hostname);\n var consentDataAsString = makeStringForCookie(consentData);\n Cookies.set(consentCookieName, consentDataAsString, {\n expires: 365,\n domain: domain,\n sameSite: 'Lax',\n });\n return true;\n};\nexport var getCurrentCookieDomain = function (hostname) {\n var hostNameAsArray = hostname.split('.');\n var hostlength = hostNameAsArray.length;\n // Special case for domains that does not start with www' or 'test-www'. Like skagenfondene.no and localhost\n if (hostlength > 1 &&\n hostNameAsArray[0] !== 'www' &&\n hostNameAsArray[0] !== 'test-www' &&\n hostNameAsArray[0] !== 'investor' &&\n hostNameAsArray[0] !== 'test-investor') {\n return '.' + hostname;\n }\n // Special case for domains with length 4 like www.skagenfunds.co.uk\n if (hostlength === 4) {\n return ('.' +\n hostNameAsArray[1] +\n '.' +\n hostNameAsArray[2] +\n '.' +\n hostNameAsArray[3]);\n }\n // For domains like www.skagenfondene.no or skagenfondene.no with lengt between 2 and 3\n if (hostlength === 2 || hostlength === 3) {\n return ('.' +\n hostNameAsArray[hostlength - 2] +\n '.' +\n hostNameAsArray[hostlength - 1]);\n }\n // For localhost\n return hostname;\n};\n","require('jquery-validation');\nimport { trackTradidionalGaEvent, EventInfoCategory, EventInfoAction, } from \"../components/GoogleTagManager\";\n$(function () {\n /* Apsis Subscribe to newsletter */\n $(\"#subscribtionform\").submit(function (event) {\n var $subscribeForm = $(this);\n var isvalidform = $subscribeForm.valid();\n if (isvalidform) {\n var email = $subscribeForm.find(\".email\").val();\n var Id = $subscribeForm.data(\"blockid\");\n var postData = { email: email, Id: Id };\n $.ajax({\n url: '/api/Apsis/Subscribe/',\n data: postData,\n dataType: \"json\",\n traditional: true,\n success: function (data) {\n $(\".inputarea form\").hide(1000);\n $(\".inputarea .messagearea .messageOk\").show();\n $(\".inputarea .messagearea .messageError\").hide();\n $(\".inputarea .messagearea\").slideDown();\n trackTradidionalGaEvent(EventInfoCategory.Newsletter, EventInfoAction.Button, \"Subscribtion form\", Id);\n },\n error: function (data) {\n $(\".inputarea form\").hide(1000);\n $(\".inputarea .messagearea .messageOk\").hide();\n $(\".inputarea .messagearea .messageError\").show();\n $(\".inputarea .messagearea\").slideDown();\n }\n });\n }\n event.preventDefault();\n });\n $('#subscribtionform').validate({\n highlight: function (element) {\n $(element).closest('.form-group').addClass('has-error');\n },\n unhighlight: function (element) {\n $(element).closest('.form-group').removeClass('has-error');\n }\n });\n // Subscription block in footer\n $('#FooterSubscription').validate({\n highlight: function (element) {\n $(element).closest('.form-group').addClass('has-error');\n },\n unhighlight: function (element) {\n $(element).closest('.form-group').removeClass('has-error');\n }\n });\n $(\"#FooterSubscription\").submit(function (event) {\n var $subscribeForm = $(this);\n var $inputArea = $subscribeForm.parent();\n var $messageArea = $inputArea.find('.messagearea');\n var $messageOk = $messageArea.find('.messageOk');\n var $messageError = $messageArea.find('.messageError');\n var isvalidform = $subscribeForm.valid();\n if (isvalidform) {\n var email = $subscribeForm.find(\".email\").val();\n var Id = $subscribeForm.data(\"blockid\");\n var postData = { email: email, Id: Id };\n $.ajax({\n url: '/api/Apsis/Subscribe/',\n data: postData,\n dataType: \"json\",\n traditional: true,\n success: function (data) {\n $subscribeForm.hide(1000);\n $messageOk.show();\n $messageError.hide();\n $messageArea.slideDown();\n },\n error: function (data) {\n // Happens when email is already subscribed\n $subscribeForm.hide(1000);\n $messageOk.hide();\n $messageError.show();\n $messageArea.slideDown();\n }\n });\n trackTradidionalGaEvent(EventInfoCategory.Newsletter, EventInfoAction.Button, \"Subscribtion footer\", Id);\n }\n event.preventDefault();\n });\n});\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { hasMarketingConsent } from '../Consent/consentUtil';\nimport { trackTradidionalGaEvent, EventInfoCategory, EventInfoAction, } from \"../components/GoogleTagManager\";\n/**\n * Shows a flyout used to sign up for newsletters.\n * - Flyouts should not show at the same time as or straight after cookie consent dialogs (handled by visitor groups).\n * - Flyouts should only appear to users that have consented to marketing.\n*/\n$(function () {\n var _this = this;\n // Form logic //\n var submitForm = function (form) { return __awaiter(_this, void 0, void 0, function () {\n var result;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n form.classList.add('collapsed');\n return [4 /*yield*/, postEmailAsync(form.email.value)];\n case 1:\n result = _a.sent();\n setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (result.status === 200) {\n showFeedback(form.parentElement, true);\n localStorage.setItem('flyout-signup-completed', true);\n trackTradidionalGaEvent(EventInfoCategory.Newsletter, EventInfoAction.Button, \"flyout-signup-completed\");\n }\n else {\n showFeedback(form.parentElement, false);\n trackTradidionalGaEvent(EventInfoCategory.Newsletter, EventInfoAction.Button, \"flyout-signup-failed\");\n }\n return [2 /*return*/];\n });\n }); }, 500);\n return [2 /*return*/];\n }\n });\n }); };\n var postEmailAsync = function (emailAddress) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, fetch('/api/apsis/flyout/subscribe/', {\n method: 'POST',\n body: JSON.stringify(emailAddress),\n headers: {\n 'Content-Type': 'application/json'\n }\n })];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n }); };\n var showFeedback = function (containerElement, success) { return __awaiter(_this, void 0, void 0, function () {\n var feedback;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n feedback = containerElement.querySelector('[data-newsletter-flyout-feedback]');\n if (!success) return [3 /*break*/, 3];\n return [4 /*yield*/, playCheckmarkAnimation(feedback, 2000)];\n case 1:\n _a.sent();\n return [4 /*yield*/, showMessage(feedback, 'success', 5000)];\n case 2:\n _a.sent();\n hideFlyouts();\n return [3 /*break*/, 5];\n case 3: return [4 /*yield*/, showMessage(feedback, 'error', 4000)];\n case 4:\n _a.sent();\n containerElement.querySelector('[data-newsletter-flyout-form]').classList\n .remove('collapsed');\n _a.label = 5;\n case 5: return [2 /*return*/];\n }\n });\n }); };\n var playCheckmarkAnimation = function (parentElement, duration) {\n return new Promise(function (resolve) {\n var checkmark = parentElement.querySelector('svg');\n checkmark.classList.add('show');\n setTimeout(function () {\n checkmark.classList.remove('show');\n resolve();\n }, duration);\n });\n };\n var showMessage = function (parentElement, messageType, duration) {\n return new Promise(function (resolve) {\n var message = parentElement.querySelector('.message.' + messageType);\n message.classList.add('show');\n setTimeout(function () {\n message.classList.remove('show');\n resolve();\n }, duration);\n });\n };\n // Init //\n var bindFlyoutButtons = function () {\n var flyoutButtons = document.querySelectorAll('[data-newsletter-flyout-button]');\n flyoutButtons.forEach(function (button) {\n button.addEventListener('click', function (event) {\n var flyout = event.target.closest('[data-newsletter-flyout]');\n flyout.classList.toggle('extended');\n var flyoutExtended = flyout.classList.contains('extended');\n trackTradidionalGaEvent(EventInfoCategory.Newsletter, EventInfoAction.Button, flyoutExtended ? \"user-opened-flyout\" : \"user-closed-flyout\");\n });\n });\n };\n var bindFlyoutForms = function () {\n var forms = document.querySelectorAll('[data-newsletter-flyout-form]');\n forms.forEach(function (f) { return f.addEventListener('submit', function (e) {\n e.preventDefault();\n submitForm(e.target);\n }); });\n };\n var showFlyouts = function () {\n document.querySelectorAll('[data-newsletter-flyout]').forEach(function (flyoutElement) {\n flyoutElement.classList.remove('flown-out');\n trackTradidionalGaEvent(EventInfoCategory.Newsletter, EventInfoAction.None, \"flyout-shown-to-user\");\n });\n };\n var hideFlyouts = function () {\n document.querySelectorAll('[data-newsletter-flyout]').forEach(function (flyoutElement) {\n flyoutElement.classList.add('flown-out');\n flyoutElement.classList.remove('extended');\n });\n };\n var getMinutesSinceFirstVisit = function () {\n var firstVisit = parseInt(localStorage.getItem('flyout-first-page-visit'));\n if (!firstVisit) {\n firstVisit = Date.now();\n localStorage.setItem('flyout-first-page-visit', firstVisit);\n }\n return (Date.now() - firstVisit) / 1000 / 60;\n };\n var getShowDelay = function () {\n try {\n return parseInt(document.querySelector('[data-flyout-delay-minutes]')\n .dataset['flyoutDelayMinutes']);\n }\n catch (_a) {\n return 0;\n }\n };\n var userHasSignedUp = function () { return !!localStorage.getItem('flyout-signup-completed'); };\n // Initialize if all conditions are met\n if (hasMarketingConsent() && !userHasSignedUp()\n && getMinutesSinceFirstVisit() > getShowDelay()) {\n bindFlyoutButtons();\n bindFlyoutForms();\n setTimeout(showFlyouts, 5000);\n }\n});\n","import Cookies from 'js-cookie';\nimport Highcharts from 'highcharts';\nimport stockInit from 'highcharts/modules/stock';\nstockInit(Highcharts);\nvar Handlebars = require('handlebars');\n// Object that contains fundpage functions\nwindow.fundpage = {};\n$(function () {\n /* Cip FundPage */\n if ($('.modulblock.fundmodul').length > 0) {\n var awardsDiv = $('#cipAwardsArea').html();\n var $div = $('.modulblock.fundmodul').parent();\n $(awardsDiv).appendTo($div);\n //Move Fundcost text to Fundmodul, after rating\n var costsDiv = $('#fund-costs').html();\n $(costsDiv).appendTo($div);\n //Move disclaimer to correct place on fundpage\n var DisclaimerText = $('.container.dislaimerTextArea.disclaimertext p').html();\n $('.container.dislaimerTextArea.disclaimertext').hide();\n $('#cipDisclaimerArea').html(DisclaimerText);\n }\n /* AllfundsTabBlock - Remembering the tab selection for next time*/\n $('.allfunds .nav-tabs a').click(function (e) {\n var activeTab = e.target.hash.substr(1);\n Cookies.set('allfundsactivetab2', activeTab, { path: window.location.pathname, expires: 365, });\n window.location.hash = e.target.hash;\n });\n /* AllfundsTabBlock - Make sure last active tab is current tab*/\n if ($('.allfunds .nav-tabs').length > 0) {\n var hash = window.location.hash;\n if (!hash) {\n var cookieTab = Cookies.get('allfundsactivetab2');\n if (cookieTab) {\n hash = \"#\" + cookieTab;\n }\n }\n if (hash && hash.match(\"^#fundTab\")) {\n $('.allfunds .nav-tabs a[href=\"' + hash + '\"]').tab('show');\n }\n else {\n // activate first tab by default\n $('.allfunds .nav-tabs a:first').tab('show');\n }\n }\n var graphtexts = {};\n var $container = $('#container');\n var fundpagechart;\n $(\"#fundsdd\").change(function () {\n refreshGraph(graphtexts);\n });\n /* Contains fundgraph data*/\n var json;\n function createChart(grapContainer, isin, currency, date) {\n var webMethod = '/api/FundGathering/GetGraphData?';\n var parameters = { isin: isin, currency: currency, date: date };\n $(\".fundtable\").addClass(\"spin\");\n $.getJSON(webMethod, parameters, function (jsontmp) {\n json = jsontmp;\n if (json.graph !== null && json.graph.length !== 0 && json.graph[1] !== undefined) {\n json.graph[1].name = graphtexts.index;\n }\n if ($(\"#graph-view\").hasClass(\"in\")) {\n drawGraph();\n $(\".choose-currency-area\").css(\"visibility\", \"hidden\");\n $(\".changeyearrangearea\").css(\"display\", \"block\");\n $(\".changedatetable\").css(\"display\", \"none\");\n }\n updateFundTableView(json);\n $(\".fundtable\").removeClass(\"spin\");\n $(\".cf .fund\").text(json.fundPerformanceTable.FundName);\n $(\".cf .index\").text(graphtexts.index);\n if ($(\"#rangedropdown option:selected\").val() !== 0) {\n window.fundpage.changeInDropdown();\n }\n if ($('a[href^=\"#graph-view\"]').attr(\"aria-expanded\") === \"true\") {\n drawGraph();\n window.fundpage.changeInDropdown();\n }\n // Will remove the option to select a date back in time for (data is not available)\n if (json.showReturnOnGivenDate) {\n $(\".changedateInputArea\").css(\"display\", \"block\");\n }\n else {\n $(\".changedateInputArea\").css(\"display\", \"none\");\n }\n });\n }\n function generateGraph(grapContainer) {\n fundpagechart = Highcharts.stockChart(grapContainer, {\n credits: {\n enabled: false,\n },\n colors: [\n \"#8b9e21\",\n \"#3b592a\",\n \"#8AC2E6\",\n \"#ACCA57\",\n \"#FFD444\",\n \"#50A025\",\n \"#C9E6F6\",\n \"#77a1e5\",\n \"#c42525\",\n \"#a6c96a\"\n ],\n rangeSelector: {\n enabled: false\n },\n chart: {\n type: \"spline\",\n },\n tooltip: {\n pointFormat: '{series.name}: {point.change} %
    ',\n valueDecimals: 2,\n split: true,\n },\n plotOptions: {\n spline: {\n turboThreshold: 20000,\n },\n series: {\n //compare: 'value',\n compare: \"percent\",\n showInNavigator: true,\n },\n },\n compareBase: 0,\n yAxis: {\n opposite: false,\n labels: {\n formatter: function () {\n return (this.value > 0 ? \" + \" : \"\") + this.value + \"%\";\n },\n },\n plotLines: [\n {\n value: 0,\n width: 2,\n color: \"silver\",\n },\n ],\n },\n navigator: {\n maskInside: true,\n series: {\n lineColor: \"#333\",\n type: \"areaspline\",\n color: \"#fff\",\n lineWidth: 2\n },\n maskFill: \"rgba(204, 204, 204, 0.40)\",\n enabled: true\n },\n legend: {\n enabled: false,\n borderRadius: 1,\n borderColor: \"#fff\",\n useHTML: true,\n verticalAlign: \"top\",\n x: \"screenLeft\"\n },\n series: json.graph\n });\n }\n window.fundpage.changeInDropdown = function () {\n var selectIndex = $(\"#rangedropdown option:selected\").index();\n var jsonfromdate = json.range[selectIndex].fromDate;\n var fromdate = new Date(jsonfromdate);\n var jsontodate = json.range[selectIndex].toDate;\n var todate = new Date(jsontodate);\n //Updates all the data-fields and inputs, also updates the graph\n changeofDate(fromdate, todate);\n };\n function updateFundTableView(json) {\n json = json.fundPerformanceTable || json;\n // Create viewmodel for handlebars template\n var startDate = json.StartDate;\n var hideSincestart = $(\".fundgraph\").data(\"hide-sincestart\");\n var vm = { rows: json.fundTabledata };\n $(vm.rows)\n .each(function () {\n this.displayText = graphtexts[this.text];\n if (this.text === \"alltime\" && !hideSincestart) {\n this.displayText += \" (\" + startDate + \")\";\n }\n this.displayTextHeading = graphtexts.period;\n this.fundName = json.FundName;\n this.indexName = graphtexts.index;\n });\n var source = $(\"#fundtable-template\").html();\n var template = Handlebars.compile(source);\n $(\".fundtable tbody\").html(template(vm));\n $(\".lastupdatedtable\").text(json.Lastupdated);\n $(\"#benchmarkDateTable\").text(json.BenchmarkLastupdated);\n if (json.Lastupdated !== json.BenchmarkLastupdated) {\n $(\"#displayBenchmarkUpdate\").slideDown();\n }\n else {\n $(\"#displayBenchmarkUpdate\").slideUp();\n }\n $(\"#latestprice\").text(json.Latestnav);\n }\n function changeofDate(fromdate, nowTemp) {\n var chart = fundpagechart;\n if (chart !== undefined) {\n chart.xAxis[0].setExtremes(Date.UTC(fromdate.getFullYear(), fromdate.getUTCMonth(), fromdate.getUTCDate()), Date.UTC(nowTemp.getFullYear(), nowTemp.getUTCMonth(), nowTemp.getUTCDate()));\n $(\"#fundnamecolor\").text(chart.series[0].name);\n if (json.graph[1] !== undefined) {\n $(\"#referencenamecolor\").text(chart.series[1].name);\n $(\"#referencenamecolor\").parent().show();\n }\n else {\n $(\"#referencenamecolor\").parent().hide();\n }\n }\n }\n function refreshGraph(graphtext) {\n //Check if fundgraph block is on page\n if ($(\".fundgraph\").length) {\n var grapContainerId = \"#container\";\n var isin = $(\".fundgraph\").data(\"isin\");\n var date = $(\"#tabledateinput\").val();\n var currency = $(\"select#currencydd option:selected\").val();\n $(\"#tabledateinput\").empty();\n createChart(grapContainerId, isin, currency, date);\n }\n }\n window.fundpage.refreshFundTable = function (currency) {\n var grapContainerId = \"#container\";\n var isin = $(\".fundgraph\").data(\"isin\");\n var date = $(\"#tabledateinput\").val();\n $(\"#tabledateinput\").empty();\n createChart(grapContainerId, isin, currency, date);\n };\n function drawGraph() {\n generateGraph(\"container\");\n }\n if ($('#container').length > 0) {\n //TODO: delete thisyearapril23 when we are in 2024\n ['thisyear', 'thisyearapril23', 'lastyear', 'last3', 'last5', 'last10', 'yield', 'duration',\n 'weightedaveragelife', 'accruedinterestrateprunit', 'alltime', 'alltimeapril23', 'alltime092022', 'period',\n 'asof', 'index'].forEach(function setUpText(key) {\n graphtexts[key] = $container.data(key);\n });\n refreshGraph(graphtexts);\n }\n $(\"#germanTaxForm\").submit(function (event) {\n var $Form = $(this);\n var isin = $Form.data(\"isin\");\n // We should validate form here and not this if check\n var date = $(\"#dateinput\").val();\n if (date.length > 0) {\n var webMethod = '/api/FundGathering/GermanTax?';\n var parameters = {\n isin: isin,\n date: date\n };\n $(\".has-germanspinner\").toggleClass('active');\n $.getJSON(webMethod, parameters, function (json) {\n $(\".asof\").css(\"color\", \"#1F9DC9\");\n $(\".dateasof\").text(date);\n $(\"#akg1\").text(json.akg1 + \" %\");\n $(\"#akg2\").text(json.akg2 + \" %\");\n $(\"#ip\").text(json.ip);\n $(\"#addi\").text(json.addi);\n $(\".has-germanspinner\").toggleClass('active');\n });\n }\n event.preventDefault();\n });\n // currency selector on fundgraph block\n $(\"#currencydd\").change(function () {\n var currency = $(\"select#currencydd option:selected\").val();\n window.currencyUpdater.updateCurrency(currency);\n });\n /* AllfundsBlock */\n $(\"#allfundscurrency\").change(function () {\n var currency = $(\"select#allfundscurrency option:selected\").val();\n window.currencyUpdater.updateCurrency(currency);\n });\n /* Currency picker on top of fundpage */\n $(\"#currencypickerFundpage\").change(function () {\n var currency = $('select#currencypickerFundpage option:selected').val();\n window.currencyUpdater.updateCurrency(currency);\n });\n /* ShareClass picker */\n $(\"#shareclasspicker\").change(function () {\n window.document.location.href = this.options[this.selectedIndex].value;\n });\n $('#graph-view-button').click(function (e) {\n e.preventDefault();\n if (!$(\"#graph-view\").hasClass(\"in\")) {\n $(\"#graph-view\").toggleClass(\"in\");\n $(\"#table-view\").toggleClass(\"in\");\n $(\"#graph-view-button\").toggleClass(\"collapsed\");\n $(\"#table-view-button\").toggleClass(\"collapsed\");\n //$(\".changedatearea\").css(\"visibility\", \"visible\");\n $(\".choose-currency-area\").css(\"visibility\", \"hidden\");\n $(\".changeyearrangearea\").css(\"display\", \"block\");\n $(\".changedatetable\").css(\"display\", \"none\");\n if (!fundpagechart) {\n drawGraph();\n setTimeout(function () {\n fundpagechart.reflow();\n window.fundpage.changeInDropdown();\n }, 100);\n }\n }\n });\n $('#table-view-button').click(function (e) {\n e.preventDefault();\n if (!$(\"#table-view\").hasClass(\"in\")) {\n $(\"#graph-view\").toggleClass(\"in\");\n $(\"#table-view\").toggleClass(\"in\");\n $(\"#graph-view-button\").toggleClass(\"collapsed\");\n $(\"#table-view-button\").toggleClass(\"collapsed\");\n //$(\".changedatearea\").css(\"visibility\", \"hidden\");\n $(\".choose-currency-area\").css(\"visibility\", \"visible\");\n $(\".changeyearrangearea\").css(\"display\", \"none\");\n $(\".changedatetable\").css(\"display\", \"block\");\n }\n });\n $('#tabledateinput').change(function () {\n $(\".fundtable\").addClass(\"spin\");\n $(\".fundtableText\").addClass(\"spin\");\n var currency = $('select#currencydd option:selected').val();\n var isin = $(\".fundgraph\").data(\"isin\");\n var date = $(\"#tabledateinput\").val();\n var webMethod = '/api/FundGathering/GetFundsPerformance?';\n var parameters = { isin: isin, date: date, currency: currency };\n $.getJSON(webMethod, parameters, function (json) {\n $(\"#tabledatechanged\").text(\"(\" + graphtexts.asof + \" \" + date + \")\");\n $(\"#tabledatechanged\").css(\"color\", \"#003363\");\n $(\".fundtable\").removeClass(\"spin\");\n $(\".fundtableText\").removeClass(\"spin\");\n updateFundTableView(json);\n });\n });\n});\n","import { trackTradidionalGaEvent, EventInfoCategory, EventInfoAction, } from '@/components/GoogleTagManager';\nvar campaignFormsBlock = document.getElementsByClassName('CampaignFormsBlock');\nif (campaignFormsBlock) {\n // loop through all campaign forms blocks on page (there can be more than one, but most likely only one)\n Array.from(campaignFormsBlock).forEach(function (element) {\n if (element) {\n // set height for image box to same as form box\n var hightBox = element.querySelector('.Formbox');\n var imageBox = element.querySelector('.image-box');\n if (hightBox && imageBox) {\n var clientHeightpx = hightBox.clientHeight + 'px';\n imageBox.setAttribute('style', \"height: \".concat(clientHeightpx));\n }\n }\n // check if form exist and add GA tracking event on submit\n var form = element.querySelector('.EPiServerForms');\n if (form) {\n // fetch value from h2 tag\n var h2Elem = element.querySelector('.Form__Title');\n var formTitle_1 = form.id; // default to form id (this is a guid)\n if (h2Elem && h2Elem.textContent) {\n formTitle_1 = h2Elem.textContent;\n }\n // add event listener to submit button and send GTM event\n var submitButton = form.querySelector('button[type=submit]');\n if (submitButton) {\n submitButton.addEventListener('click', function () {\n trackTradidionalGaEvent(EventInfoCategory.Campaign, EventInfoAction.Button, formTitle_1);\n });\n }\n }\n });\n}\n","import Cookies from 'js-cookie';\nimport './matchheight';\nimport \"../Block/campaignFormsBlock\";\n$(function () {\n // boostrap tooltips init\n $('[data-toggle=\"tooltip\"]').tooltip();\n /* Accordion panels. Adds css class to panel-heading for styling*/\n $('.panel-collapse').on('show.bs.collapse', function () {\n $(this).siblings('.panel-heading').addClass('opened');\n });\n $('.panel-collapse').on('hide.bs.collapse', function () {\n $(this).siblings('.panel-heading').removeClass('opened');\n });\n /* Header */\n $('.nav-main__toggle a').click(function () {\n $('.nav-main ul').slideToggle('fast');\n return false;\n });\n /* Popover prevent scroll to top of page*/\n $('a.tooltipbutton').on('click', function (e) {\n e.preventDefault();\n return true;\n });\n /* Cookiebar */\n if ($('#cookie-bar').length > 0) {\n if (!Cookies.get('cookiebar')) {\n $(\"#cookie-bar\").show();\n setHeightOnMainClass();\n }\n }\n $('#acceptCookie').click(function () {\n Cookies.set('cookiebar', 'yes', { expires: 365, path: '/' });\n $('#cookie-bar').hide();\n setHeightOnMainClass();\n });\n /* Alertblock */\n $('.container--alert .close').click(function (e) {\n e.preventDefault();\n var closedAlertId = $(e.target).parents('.container--alert').first().attr('id');\n Cookies.set(closedAlertId, 'closed', { path: '/' });\n $('#' + closedAlertId).hide();\n });\n /* APSIS Event block */\n $('#eventselect').change(function () {\n if (!($(this).find('option:first').val() === $(this).find('option:selected').val())) {\n $('.event').each(function () {\n var visible = false;\n $(this).find('.city').each(function () {\n var html = $(this).html().trim().replace(' ', '');\n if (html === $('#eventselect').val()) {\n visible = true;\n }\n });\n if (!visible) {\n $(this).attr('style', 'display:none;');\n }\n else {\n $(this).attr('style', 'display:block;');\n }\n });\n }\n else {\n $('.event').each(function () {\n $(this).attr('style', 'display:block;');\n });\n }\n });\n function setHeightOnMainClass() {\n if ($(window).width() > 767 && $('.cip-fund-bg').length === 0) {\n // -> We are on a large screen and NOT on the CIP fund pages. Let's adjust to make room for sticky header\n var height = $('.container--header').height() + 20;\n $('.main').css('padding-top', height + 'px');\n $('.blockanchor').css({ 'top': '-' + height + 'px' });\n }\n }\n function is_touch_device() {\n return 'ontouchstart' in window // works on most browsers\n || navigator.maxTouchPoints; // works on IE10/11 and Surface\n }\n /* PaintingDescriptionBlock */\n if ($('#paintingdescription').length > 0) {\n $('.container--paintinginfo__text').text($('#paintingdescription').text());\n $('.container--paintinginfo').show();\n }\n // login\n $('.loginbox input').keydown(function (e) {\n if (e.keyCode === 13) {\n $(\"#next\").focus().click();\n return false;\n }\n });\n /* Norwegian \"BankID mobil */\n if ($(\"#bankidmobilnorform\").length > 0) {\n /* Chrome version 68 and newer can not use iframe login */\n if (getChromeVersion() >= 68) {\n $(\"#bankidmobilnorform #useiframe\").val(\"false\");\n }\n }\n var chatwindowObjectReference = null;\n var callbackwindowObjectReference = null;\n /* TrioBlock old block (will delete this code when block is not in use anymore) */\n $('#TrioChatStart').click(function (e) {\n e.preventDefault();\n // Opens a new window or give focus to already opened window (will contain trio callback page)\n if (!chatwindowObjectReference\n || chatwindowObjectReference.closed) {\n chatwindowObjectReference = window.open($(this).attr('href'), 'SKAGENCHAT', 'width=560, height=572, status=0, scrollbars=0, location=0, toolbar=0, menubar=0, resizable=0');\n }\n else {\n chatwindowObjectReference.focus();\n }\n });\n $('#TrioCallbackStart').click(function (e) {\n e.preventDefault();\n // Opens a new window or give focus to already opened window (will contain trio callback page)\n if (!callbackwindowObjectReference\n || callbackwindowObjectReference.closed) {\n callbackwindowObjectReference = window.open($(this).attr('href'), 'SKAGENCALLBACK', 'width=574, height=600, status=0, scrollbars=0, location=0, toolbar=0, menubar=0, resizable=0');\n }\n else {\n callbackwindowObjectReference.focus();\n }\n });\n /* Contact block */\n $('.contactblock .TrioCallbackStart').click(function (e) {\n e.preventDefault();\n // Opens a new window or give focus to already opened window (will contain trio callback page)\n var url = $(this).data('url');\n if (callbackwindowObjectReference === null\n || callbackwindowObjectReference.closed) {\n callbackwindowObjectReference = window.open(url, 'SKAGENCALLBACK', 'width=574, height=400, status=0, scrollbars=0, location=0, toolbar=0, menubar=0, resizable=0');\n }\n else {\n callbackwindowObjectReference.focus();\n }\n });\n $('.contactblock .TrioChatStart').click(function (e) {\n e.preventDefault();\n // Opens a new window or give focus to already opened window (will contain trio chat page)\n var url = $(this).data('url');\n if (chatwindowObjectReference === null\n || chatwindowObjectReference.closed) {\n chatwindowObjectReference = window.open(url, 'SKAGENCHAT', 'width=560, height=572, status=0, scrollbars=0, location=0, toolbar=0, menubar=0, resizable=0');\n }\n else {\n chatwindowObjectReference.focus();\n }\n });\n /* TextMediaBlock */\n $('.TextMediaBlock .showFormButton').click(function (e) {\n e.preventDefault();\n var buttonClicked = this;\n var divId = $(buttonClicked).data('id');\n if (divId) {\n $(buttonClicked).hide();\n $('#' + divId).show();\n }\n });\n /* SocialMediaButtons */\n $('.shareIt').fadeIn();\n $('.shareIt a').click(function (e) {\n e.preventDefault();\n window.open($(this).attr(\"href\"), \"formpopup\", \"menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=400,width=600\");\n this.target = \"formpopup\";\n });\n /* Click event to scroll to top */\n $(window).scroll(function () {\n if ($(this).scrollTop() > 500) {\n $('.scrollToTop').fadeIn();\n }\n else {\n $('.scrollToTop').fadeOut();\n }\n });\n $('.scrollToTop').click(function () {\n $('html, body').animate({ scrollTop: 0 }, 400);\n return false;\n });\n function getChromeVersion() {\n var raw = navigator.userAgent.match(/Chrom(e|ium)\\/([0-9]+)\\./);\n return raw ? parseInt(raw[2], 10) : false;\n }\n});\n","// This file must only be imported once. If you need to use bootstrap datepick. init must be in this file.\n// TODO: stop using this version of bootstrap-datepicker\nimport 'bootstrap-datepicker/js/bootstrap-datepicker';\nimport 'bootstrap-datepicker/js/locales/bootstrap-datepicker.da.js';\nimport 'bootstrap-datepicker/js/locales/bootstrap-datepicker.fi.js';\nimport 'bootstrap-datepicker/js/locales/bootstrap-datepicker.no.js';\nimport 'bootstrap-datepicker/js/locales/bootstrap-datepicker.sv.js';\nvar setupDatePicker = function (selector) {\n // Find date format\n var dateFormat = \"dd/mm/yyyy\";\n var language = $(\"html\").attr(\"lang\");\n if (language === \"no\") {\n dateFormat = \"dd.mm.yyyy\";\n }\n else if (language === \"sv\") {\n dateFormat = \"dd-mm-yyyy\";\n }\n else if (language === \"da\") {\n dateFormat = \"dd-mm-yyyy\";\n }\n else if (language === \"fi\") {\n dateFormat = \"d.m.yyyy\";\n }\n var dateOptions = { language: language, autoclose: true, format: dateFormat };\n $(selector).datepicker(dateOptions);\n};\n$(function () {\n if ($('#dateinputto').length > 0) {\n setupDatePicker('#dateinputto');\n }\n // HistoricReturnCalculator\n if ($('#historicdateinputfrom').length > 0) {\n setupDatePicker('#historicdateinputfrom');\n }\n if ($('#historicdateinputto').length > 0) {\n setupDatePicker('#historicdateinputto');\n }\n /* GermanTaxBlock */\n if ($('#dateinput').length > 0) {\n setupDatePicker('#dateinput');\n }\n /*FundGraphBlock */\n if ($('#tabledateinput').length > 0) {\n setupDatePicker('#tabledateinput');\n }\n});\n","import '@babel/polyfill';\nimport '@mdi/font/css/materialdesignicons.css';\nimport './megaMenu';\nimport './Fund/CurrencyUpdater';\nimport './Apsis/ApsisTasks';\nimport './Apsis/newsletterFlyout';\nimport './Fund/FundPage';\nimport './Fund/SimpleFundList';\nimport './Pages/main';\nimport './Pages/theme-article-page';\nimport './Pages/theme-page';\nimport './ToolTip/toolTipSearch';\n// Moved an update scripts\nimport './skagenweb';\nimport './replaceText';\nimport './jPaginate';\nimport './responsive-tables';\nimport './placeholder';\nimport './Common/SetupDatePicker';\nimport { trackPageView } from './components/GoogleTagManager';\nrequire('jquery/dist/jquery');\nrequire('jquery-validation/dist/jquery.validate');\nrequire('jquery-ajax-unobtrusive');\nrequire('jquery-validation-unobtrusive');\nrequire('bootstrap-sass');\ntrackPageView();\n","\"use strict\";\nwindow.megaMenu = {\n openNav: openNav,\n closeNav: closeNav,\n toggleSubMenu: toggleSubMenu\n};\nfunction openNav() {\n // set class on body to hide scrollbar on mobile\n document.getElementsByTagName(\"body\")[0].classList.toggle(\"open\");\n // mark overlay menu as open\n document.getElementById(\"myNav\").classList.toggle(\"show\");\n // mark navbar as open\n document.getElementsByClassName(\"navbar\")[0].classList.toggle(\"menuOpen\");\n document.getElementsByClassName('headerblock')[0].classList.toggle(\"menuOpen\");\n // hide support chat button\n var chatButton = document.getElementsByClassName('genesys-banner');\n if (chatButton.length > 0) {\n chatButton[0].style.display = \"none\";\n }\n}\nfunction closeNav() {\n // set class on body to hide scrollbar on mobile\n document.getElementsByTagName(\"body\")[0].classList.toggle(\"open\");\n // mark overlay menu as closed\n document.getElementById(\"myNav\").classList.toggle(\"show\");\n // mark navbar as closed\n document.getElementsByClassName(\"navbar\")[0].classList.toggle(\"menuOpen\");\n document.getElementsByClassName('headerblock')[0].classList.toggle(\"menuOpen\");\n // show support bubble\n var chatButton = document.getElementsByClassName('genesys-banner');\n if (chatButton.length > 0) {\n chatButton[0].style.display = \"block\";\n }\n}\nfunction toggleSubMenu(subMenuId) {\n subMenuId.classList.toggle(\"show\");\n document.getElementsByClassName(\"megameny-nav\")[0].classList.toggle(\"subMenuOpen\");\n document.getElementsByClassName(\"megameny-bottom-nav\")[0].classList.toggle(\"subMenuOpen\");\n document.getElementById(\"mobileNavButtons\").classList.toggle(\"subMenuOpen\");\n // set back button to hide correct submenu\n document.getElementsByClassName(\"backToMenu\")[0].setAttribute(\"onClick\", \"megaMenu.toggleSubMenu(\" + subMenuId.id + \")\");\n}\n","\"use strict\";\n/*!\n * The MIT License\n *\n * Copyright (c) 2012 James Allardice\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n */\n(function (global) {\n 'use strict';\n //\n // Test for support. We do this as early as possible to optimise for browsers\n // that have native support for the attribute.\n //\n var test = document.createElement('input');\n var nativeSupport = test.placeholder !== void 0;\n global.Placeholders = {\n nativeSupport: nativeSupport,\n disable: nativeSupport ? noop : disablePlaceholders,\n enable: nativeSupport ? noop : enablePlaceholders\n };\n if (nativeSupport) {\n return;\n }\n //\n // If we reach this point then the browser does not have native support for\n // the attribute.\n //\n // The list of input element types that support the placeholder attribute.\n var validTypes = [\n 'text',\n 'search',\n 'url',\n 'tel',\n 'email',\n 'password',\n 'number',\n 'textarea'\n ];\n // The list of keycodes that are not allowed when the polyfill is configured\n // to hide-on-input.\n var badKeys = [\n // The following keys all cause the caret to jump to the end of the input\n // value.\n 27,\n 33,\n 34,\n 35,\n 36,\n // Arrow keys allow you to move the caret manually, which should be\n // prevented when the placeholder is visible.\n 37,\n 38,\n 39,\n 40,\n // The following keys allow you to modify the placeholder text by removing\n // characters, which should be prevented when the placeholder is visible.\n 8,\n 46 // Delete\n ];\n // Styling variables.\n var placeholderStyleColor = '#ccc';\n var placeholderClassName = 'placeholdersjs';\n var classNameRegExp = new RegExp('(?:^|\\\\s)' + placeholderClassName + '(?!\\\\S)');\n // The various data-* attributes used by the polyfill.\n var ATTR_CURRENT_VAL = 'data-placeholder-value';\n var ATTR_ACTIVE = 'data-placeholder-active';\n var ATTR_INPUT_TYPE = 'data-placeholder-type';\n var ATTR_FORM_HANDLED = 'data-placeholder-submit';\n var ATTR_EVENTS_BOUND = 'data-placeholder-bound';\n var ATTR_OPTION_FOCUS = 'data-placeholder-focus';\n var ATTR_OPTION_LIVE = 'data-placeholder-live';\n var ATTR_MAXLENGTH = 'data-placeholder-maxlength';\n // Various other variables used throughout the rest of the script.\n var UPDATE_INTERVAL = 100;\n var head = document.getElementsByTagName('head')[0];\n var root = document.documentElement;\n var Placeholders = global.Placeholders;\n var keydownVal;\n // Get references to all the input and textarea elements currently in the DOM\n // (live NodeList objects to we only need to do this once).\n var inputs = document.getElementsByTagName('input');\n var textareas = document.getElementsByTagName('textarea');\n // Get any settings declared as data-* attributes on the root element.\n // Currently the only options are whether to hide the placeholder on focus\n // or input and whether to auto-update.\n var hideOnInput = root.getAttribute(ATTR_OPTION_FOCUS) === 'false';\n var liveUpdates = root.getAttribute(ATTR_OPTION_LIVE) !== 'false';\n // Create style element for placeholder styles (instead of directly setting\n // style properties on elements - allows for better flexibility alongside\n // user-defined styles).\n var styleElem = document.createElement('style');\n styleElem.type = 'text/css';\n // Create style rules as text node.\n var styleRules = document.createTextNode('.' + placeholderClassName + ' {' +\n 'color:' + placeholderStyleColor + ';' +\n '}');\n // Append style rules to newly created stylesheet.\n if (styleElem.styleSheet) {\n styleElem.styleSheet.cssText = styleRules.nodeValue;\n }\n else {\n styleElem.appendChild(styleRules);\n }\n // Prepend new style element to the head (before any existing stylesheets,\n // so user-defined rules take precedence).\n head.insertBefore(styleElem, head.firstChild);\n // Set up the placeholders.\n var placeholder;\n var elem;\n for (var i = 0, len = inputs.length + textareas.length; i < len; i++) {\n // Find the next element. If we've already done all the inputs we move on\n // to the textareas.\n elem = i < inputs.length ? inputs[i] : textareas[i - inputs.length];\n // Get the value of the placeholder attribute, if any. IE10 emulating IE7\n // fails with getAttribute, hence the use of the attributes node.\n placeholder = elem.attributes.placeholder;\n // If the element has a placeholder attribute we need to modify it.\n if (placeholder) {\n // IE returns an empty object instead of undefined if the attribute is\n // not present.\n placeholder = placeholder.nodeValue;\n // Only apply the polyfill if this element is of a type that supports\n // placeholders and has a placeholder attribute with a non-empty value.\n if (placeholder && inArray(validTypes, elem.type)) {\n newElement(elem);\n }\n }\n }\n // If enabled, the polyfill will repeatedly check for changed/added elements\n // and apply to those as well.\n var timer = setInterval(function () {\n for (var i = 0, len = inputs.length + textareas.length; i < len; i++) {\n elem = i < inputs.length ? inputs[i] : textareas[i - inputs.length];\n // Only apply the polyfill if this element is of a type that supports\n // placeholders, and has a placeholder attribute with a non-empty value.\n placeholder = elem.attributes.placeholder;\n if (placeholder) {\n placeholder = placeholder.nodeValue;\n if (placeholder && inArray(validTypes, elem.type)) {\n // If the element hasn't had event handlers bound to it then add\n // them.\n if (!elem.getAttribute(ATTR_EVENTS_BOUND)) {\n newElement(elem);\n }\n // If the placeholder value has changed or not been initialised yet\n // we need to update the display.\n if (placeholder !== elem.getAttribute(ATTR_CURRENT_VAL) ||\n (elem.type === 'password' && !elem.getAttribute(ATTR_INPUT_TYPE))) {\n // Attempt to change the type of password inputs (fails in IE < 9).\n if (elem.type === 'password' &&\n !elem.getAttribute(ATTR_INPUT_TYPE) &&\n changeType(elem, 'text')) {\n elem.setAttribute(ATTR_INPUT_TYPE, 'password');\n }\n // If the placeholder value has changed and the placeholder is\n // currently on display we need to change it.\n if (elem.value === elem.getAttribute(ATTR_CURRENT_VAL)) {\n elem.value = placeholder;\n }\n // Keep a reference to the current placeholder value in case it\n // changes via another script.\n elem.setAttribute(ATTR_CURRENT_VAL, placeholder);\n }\n }\n }\n else if (elem.getAttribute(ATTR_ACTIVE)) {\n hidePlaceholder(elem);\n elem.removeAttribute(ATTR_CURRENT_VAL);\n }\n }\n // If live updates are not enabled cancel the timer.\n if (!liveUpdates) {\n clearInterval(timer);\n }\n }, UPDATE_INTERVAL);\n // Disabling placeholders before unloading the page prevents flash of\n // unstyled placeholders on load if the page was refreshed.\n addEventListener(global, 'beforeunload', function () {\n Placeholders.disable();\n });\n //\n // Utility functions\n //\n // No-op (used in place of public methods when native support is detected).\n function noop() { }\n // Avoid IE9 activeElement of death when an iframe is used.\n //\n // More info:\n // - http://bugs.jquery.com/ticket/13393\n // - https://github.com/jquery/jquery/commit/85fc5878b3c6af73f42d61eedf73013e7faae408\n function safeActiveElement() {\n try {\n return document.activeElement;\n }\n catch (err) { }\n }\n // Check whether an item is in an array. We don't use Array.prototype.indexOf\n // so we don't clobber any existing polyfills. This is a really simple\n // alternative.\n function inArray(arr, item) {\n for (var i = 0, len = arr.length; i < len; i++) {\n if (arr[i] === item) {\n return true;\n }\n }\n return false;\n }\n // Cross-browser DOM event binding\n function addEventListener(elem, event, fn) {\n if (elem.addEventListener) {\n return elem.addEventListener(event, fn, false);\n }\n if (elem.attachEvent) {\n return elem.attachEvent('on' + event, fn);\n }\n }\n // Move the caret to the index position specified. Assumes that the element\n // has focus.\n function moveCaret(elem, index) {\n var range;\n if (elem.createTextRange) {\n range = elem.createTextRange();\n range.move('character', index);\n range.select();\n }\n else if (elem.selectionStart) {\n elem.focus();\n elem.setSelectionRange(index, index);\n }\n }\n // Attempt to change the type property of an input element.\n function changeType(elem, type) {\n try {\n elem.type = type;\n return true;\n }\n catch (e) {\n // You can't change input type in IE8 and below.\n return false;\n }\n }\n function handleElem(node, callback) {\n // Check if the passed in node is an input/textarea (in which case it can't\n // have any affected descendants).\n if (node && node.getAttribute(ATTR_CURRENT_VAL)) {\n callback(node);\n }\n else {\n // If an element was passed in, get all affected descendants. Otherwise,\n // get all affected elements in document.\n var handleInputs = node ? node.getElementsByTagName('input') : inputs;\n var handleTextareas = node ? node.getElementsByTagName('textarea') : textareas;\n var handleInputsLength = handleInputs ? handleInputs.length : 0;\n var handleTextareasLength = handleTextareas ? handleTextareas.length : 0;\n // Run the callback for each element.\n var len = handleInputsLength + handleTextareasLength;\n var elem;\n for (var i = 0; i < len; i++) {\n elem = i < handleInputsLength ?\n handleInputs[i] :\n handleTextareas[i - handleInputsLength];\n callback(elem);\n }\n }\n }\n // Return all affected elements to their normal state (remove placeholder\n // value if present).\n function disablePlaceholders(node) {\n handleElem(node, hidePlaceholder);\n }\n // Show the placeholder value on all appropriate elements.\n function enablePlaceholders(node) {\n handleElem(node, showPlaceholder);\n }\n // Hide the placeholder value on a single element. Returns true if the\n // placeholder was hidden and false if it was not (because it wasn't visible\n // in the first place).\n function hidePlaceholder(elem, keydownValue) {\n var valueChanged = !!keydownValue && elem.value !== keydownValue;\n var isPlaceholderValue = elem.value === elem.getAttribute(ATTR_CURRENT_VAL);\n if ((valueChanged || isPlaceholderValue) &&\n elem.getAttribute(ATTR_ACTIVE) === 'true') {\n elem.removeAttribute(ATTR_ACTIVE);\n elem.value = elem.value.replace(elem.getAttribute(ATTR_CURRENT_VAL), '');\n elem.className = elem.className.replace(classNameRegExp, '');\n // Restore the maxlength value. Old FF returns -1 if attribute not set.\n // See GH-56.\n var maxLength = elem.getAttribute(ATTR_MAXLENGTH);\n if (parseInt(maxLength, 10) >= 0) {\n elem.setAttribute('maxLength', maxLength);\n elem.removeAttribute(ATTR_MAXLENGTH);\n }\n // If the polyfill has changed the type of the element we need to change\n // it back.\n var type = elem.getAttribute(ATTR_INPUT_TYPE);\n if (type) {\n elem.type = type;\n }\n return true;\n }\n return false;\n }\n // Show the placeholder value on a single element. Returns true if the\n // placeholder was shown and false if it was not (because it was already\n // visible).\n function showPlaceholder(elem) {\n var val = elem.getAttribute(ATTR_CURRENT_VAL);\n if (elem.value === '' && val) {\n elem.setAttribute(ATTR_ACTIVE, 'true');\n elem.value = val;\n elem.className += ' ' + placeholderClassName;\n // Store and remove the maxlength value.\n var maxLength = elem.getAttribute(ATTR_MAXLENGTH);\n if (!maxLength) {\n elem.setAttribute(ATTR_MAXLENGTH, elem.maxLength);\n elem.removeAttribute('maxLength');\n }\n // If the type of element needs to change, change it (e.g. password\n // inputs).\n var type = elem.getAttribute(ATTR_INPUT_TYPE);\n if (type) {\n elem.type = 'text';\n }\n else if (elem.type === 'password' && changeType(elem, 'text')) {\n elem.setAttribute(ATTR_INPUT_TYPE, 'password');\n }\n return true;\n }\n return false;\n }\n // Returns a function that is used as a focus event handler.\n function makeFocusHandler(elem) {\n return function () {\n // Only hide the placeholder value if the (default) hide-on-focus\n // behaviour is enabled.\n if (hideOnInput &&\n elem.value === elem.getAttribute(ATTR_CURRENT_VAL) &&\n elem.getAttribute(ATTR_ACTIVE) === 'true') {\n // Move the caret to the start of the input (this mimics the behaviour\n // of all browsers that do not hide the placeholder on focus).\n moveCaret(elem, 0);\n }\n else {\n // Remove the placeholder.\n hidePlaceholder(elem);\n }\n };\n }\n // Returns a function that is used as a blur event handler.\n function makeBlurHandler(elem) {\n return function () {\n showPlaceholder(elem);\n };\n }\n // Returns a function that is used as a submit event handler on form elements\n // that have children affected by this polyfill.\n function makeSubmitHandler(form) {\n return function () {\n // Turn off placeholders on all appropriate descendant elements.\n disablePlaceholders(form);\n };\n }\n // Functions that are used as a event handlers when the hide-on-input\n // behaviour has been activated - very basic implementation of the 'input'\n // event.\n function makeKeydownHandler(elem) {\n return function (e) {\n keydownVal = elem.value;\n // Prevent the use of the arrow keys (try to keep the cursor before the\n // placeholder).\n if (elem.getAttribute(ATTR_ACTIVE) === 'true' &&\n keydownVal === elem.getAttribute(ATTR_CURRENT_VAL) &&\n inArray(badKeys, e.keyCode)) {\n if (e.preventDefault) {\n e.preventDefault();\n }\n return false;\n }\n };\n }\n function makeKeyupHandler(elem) {\n return function () {\n hidePlaceholder(elem, keydownVal);\n // If the element is now empty we need to show the placeholder\n if (elem.value === '') {\n elem.blur();\n moveCaret(elem, 0);\n }\n };\n }\n function makeClickHandler(elem) {\n return function () {\n if (elem === safeActiveElement() &&\n elem.value === elem.getAttribute(ATTR_CURRENT_VAL) &&\n elem.getAttribute(ATTR_ACTIVE) === 'true') {\n moveCaret(elem, 0);\n }\n };\n }\n // Bind event handlers to an element that we need to affect with the\n // polyfill.\n function newElement(elem) {\n // If the element is part of a form, make sure the placeholder string is\n // not submitted as a value.\n var form = elem.form;\n if (form && typeof form === 'string') {\n // Get the real form.\n form = document.getElementById(form);\n // Set a flag on the form so we know it's been handled (forms can contain\n // multiple inputs).\n if (!form.getAttribute(ATTR_FORM_HANDLED)) {\n addEventListener(form, 'submit', makeSubmitHandler(form));\n form.setAttribute(ATTR_FORM_HANDLED, 'true');\n }\n }\n // Bind event handlers to the element so we can hide/show the placeholder\n // as appropriate.\n addEventListener(elem, 'focus', makeFocusHandler(elem));\n addEventListener(elem, 'blur', makeBlurHandler(elem));\n // If the placeholder should hide on input rather than on focus we need\n // additional event handlers\n if (hideOnInput) {\n addEventListener(elem, 'keydown', makeKeydownHandler(elem));\n addEventListener(elem, 'keyup', makeKeyupHandler(elem));\n addEventListener(elem, 'click', makeClickHandler(elem));\n }\n // Remember that we've bound event handlers to this element.\n elem.setAttribute(ATTR_EVENTS_BOUND, 'true');\n elem.setAttribute(ATTR_CURRENT_VAL, placeholder);\n // If the element doesn't have a value and is not focussed, set it to the\n // placeholder string.\n if (hideOnInput || elem !== safeActiveElement()) {\n showPlaceholder(elem);\n }\n }\n}(this));\n","\"use strict\";\n(function ($) {\n '$:nomunge'; // Used by YUI compressor.\n $.fn.replaceText = function (search, replace, text_only) {\n return this.each(function () {\n var node = this.firstChild, val, new_val, \n // Elements to be removed at the end.\n remove = [];\n // Only continue if firstChild exists.\n if (node) {\n // Loop over all childNodes.\n do {\n // Only process text nodes.\n if (node.nodeType === 3) {\n // The original node value.\n val = node.nodeValue;\n // The new value.\n new_val = val.replace(search, replace);\n // Only replace text if the new value is actually different!\n if (new_val !== val) {\n if (!text_only && / 767)) {\n switched = false;\n $(\"table.responsive\").each(function (i, element) {\n unsplitTable($(element));\n });\n }\n };\n $(window).on('load', updateTables);\n $(window).on(\"redraw\", function () { switched = false; updateTables(); }); // An event to listen for\n $(window).on(\"resize\", updateTables);\n function splitTable(original) {\n original.wrap(\"
    \");\n var copy = original.clone();\n copy.find(\"td:not(:first-child), th:not(:first-child)\").css(\"display\", \"none\");\n copy.removeClass(\"responsive\");\n original.closest(\".table-wrapper\").append(copy);\n copy.wrap(\"
    \");\n original.wrap(\"
    \");\n setCellHeights(original, copy);\n }\n function unsplitTable(original) {\n original.closest(\".table-wrapper\").find(\".pinned\").remove();\n original.unwrap();\n original.unwrap();\n }\n function setCellHeights(original, copy) {\n var tr = original.find('tr'), tr_copy = copy.find('tr'), heights = [];\n tr.each(function (index) {\n var self = $(this), tx = self.find('th, td');\n tx.each(function () {\n var height = $(this).outerHeight(true);\n heights[index] = heights[index] || 0;\n if (height > heights[index])\n heights[index] = height;\n });\n });\n tr_copy.each(function (index) {\n $(this).height(heights[index]);\n });\n }\n});\n","\"use strict\";\n$(function () {\n window.skagenweb = {\n changeInPeriodDropdown: changeInPeriodDropdown\n };\n // Replaces all m2 words globally to m-squared\n $(\"body *\").replaceText(/\\b(m2)\\b/gi, \"m2\");\n /* FundPageListBlock */\n function changeInPeriodDropdown(selector) {\n var $selectDropDown = $(selector);\n var dropDownText = $selectDropDown.find(\"option:selected\").text().toLowerCase();\n var returnText = $selectDropDown.data(\"return-text\") + \" \" + dropDownText;\n var fundsDiv = $selectDropDown.data(\"tiles-id\");\n var $fundsDiv = $(\"#\" + fundsDiv);\n var isins = $selectDropDown.data(\"isins\");\n var currency = $selectDropDown.data(\"currency\");\n var period = $selectDropDown.val();\n var webMethod = \"/api/FundGathering/GetReturnForPeriod?\";\n var parameters = { isins: isins, currency: currency, period: period };\n $.getJSON(webMethod, parameters, function (json) {\n $.each(json.FundTileItems, function (i, item) {\n //Find fund tile\n var $fundDiv = $fundsDiv.find(\"div[data-fund-tile-isin='\" + item.Isin + \"']\");\n //Change values on fund tile\n $fundDiv.find(\"[data-contentkey='returnDesc']\").text(returnText);\n $fundDiv.find(\"[data-contentkey='fundReturn']\").text(item.FundReturn);\n $fundDiv.find(\"[data-contentkey='benchmarkReturn']\").text(item.BenchmarkReturn);\n });\n });\n }\n});\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// expose the module cache\n__webpack_require__.c = __webpack_module_cache__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.S = {};\nvar initPromises = {};\nvar initTokens = {};\n__webpack_require__.I = (name, initScope) => {\n\tif(!initScope) initScope = [];\n\t// handling circular init calls\n\tvar initToken = initTokens[name];\n\tif(!initToken) initToken = initTokens[name] = {};\n\tif(initScope.indexOf(initToken) >= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = (msg) => (typeof console !== \"undefined\" && console.warn && console.warn(msg));\n\tvar uniqueName = \"skagenfondene.no\";\n\tvar register = (name, version, factory, eager) => {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = (id) => {\n\t\tvar handleError = (err) => (warn(\"Initialization of sharing external failed: \" + err));\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t8788: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkskagenfondene_no\"] = self[\"webpackChunkskagenfondene_no\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// module cache are used so entry inlining is disabled\n// startup\n// Load entry module and return exports\nvar __webpack_exports__ = __webpack_require__.O(undefined, [9755,8840,496,177,8056], () => (__webpack_require__(64973)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","window","currencyUpdater","$","getServerData","apiUrl","postData","successfunction","ajax","url","data","dataType","traditional","success","updateFundHeaderSuccess","html","Price","length","Last3Years","Last5Years","updateFundFactsSuccess","AUM","AUMCurrency","Minpurchase","TotalCustomer","updateCurrency","currency","isins","each","index","item","find","j","fundrow","$fundRow","isin","NavDate","PerformanceDate","ThisYear","LastYear","Currency","updateAllFundsSuccess","updateAllFunds","fundpage","refreshFundTable","updateFundHeader","updateFundFacts","i","val","SimpleFundList","SetupTableSorter","selector","tablesorter","addParser","id","is","s","format","trim","replace","type","sortList","usNumberFormat","sortInitialOrder","headers","sorter","ReturnChanger","selectedReturn","$simpleFundListContainer","closest","hide","show","trigger","this","selectItem","matchHeight","$relatedArticles","$firstRelatedArticle","first","$lastRelatedArticle","last","addClass","showMoreArticles","listSelector","maxNumberOfArticlesToShow","$hiddenThemeArticles","numberOfArticlesToShow","eq","removeClass","click","toolTipResults","query","element","text","get","toolTipDescription","result","Name","toLowerCase","Detail","searchToolTips","textContent","attr","tooltip","jQuery","fn","jPaginate","options","extend","items","next","previous","active","pagination_class","minimize","nav_items","cookies","position","equal","offset","obj","show_per_page","number_of_items","children","number_of_pages","Math","ceil","array_of_elements","numP","nexP","height","max_height","slice","outerHeight","showPage","page","createPagination","curr","start","end","nav","previous_inactive","next_inactive","after","pagi_range","half","floor","upper_limit","max","min","paginationCalculator","before","set_cookie","c_name","value","exdate","Date","setDate","getDate","document","cookie","escape","toUTCString","get_cookie","c_start","indexOf","c_end","unescape","substring","css","on","e","console","log","preventDefault","remove","animate","scrollTop","newcurr","parseInt","EventName","EventInfoCategory","EventInfoAction","consentCookieName","makeConsentDataObjectFromString","cookieStringValue","JSON","parse","__assign","Object","assign","t","n","arguments","p","prototype","hasOwnProperty","call","apply","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","rejected","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","TypeError","pop","push","language","documentElement","getAttribute","environment","market","brand","cipId","gtmInternalEventData","environmentInfo","userInfo","loggedIn","consent","location","search","includes","basic","useful","analytics","marketing","consentCookie","getConsent","trackEvent","event","eventAsJson","_a","dataLayer","localStorage","getItem","stringify","trackTradidionalGaEvent","category","action","title","GaEvent","eventInfo","submit","$subscribeForm","valid","email","Id","slideDown","Newsletter","Button","error","validate","highlight","unhighlight","$messageArea","parent","$messageOk","$messageError","firstVisit","_this","postEmailAsync","emailAddress","fetch","method","showFeedback","containerElement","feedback","querySelector","playCheckmarkAnimation","showMessage","hideFlyouts","classList","parentElement","duration","checkmark","add","setTimeout","messageType","message","querySelectorAll","forEach","flyoutElement","now","setItem","dataset","getShowDelay","button","addEventListener","flyout","target","toggle","flyoutExtended","contains","form","status","None","Handlebars","awardsDiv","$div","appendTo","costsDiv","DisclaimerText","activeTab","hash","substr","path","pathname","expires","cookieTab","match","tab","fundpagechart","json","graphtexts","$container","createChart","grapContainer","date","parameters","getJSON","jsontmp","graph","undefined","name","hasClass","drawGraph","updateFundTableView","fundPerformanceTable","FundName","changeInDropdown","showReturnOnGivenDate","startDate","StartDate","hideSincestart","vm","rows","fundTabledata","displayText","displayTextHeading","period","fundName","indexName","source","template","compile","Lastupdated","BenchmarkLastupdated","slideUp","Latestnav","refreshGraph","graphtext","empty","credits","enabled","colors","rangeSelector","chart","pointFormat","valueDecimals","split","plotOptions","spline","turboThreshold","series","compare","showInNavigator","compareBase","yAxis","opposite","labels","formatter","plotLines","width","color","navigator","maskInside","lineColor","lineWidth","maskFill","legend","borderRadius","borderColor","useHTML","verticalAlign","x","change","selectIndex","jsonfromdate","range","fromDate","fromdate","jsontodate","toDate","nowTemp","xAxis","setExtremes","UTC","getFullYear","getUTCMonth","getUTCDate","changeofDate","key","toggleClass","akg1","akg2","ip","addi","href","selectedIndex","reflow","asof","campaignFormsBlock","getElementsByClassName","Array","from","hightBox","imageBox","clientHeightpx","clientHeight","setAttribute","concat","h2Elem","formTitle_1","submitButton","Campaign","setHeightOnMainClass","raw","siblings","slideToggle","closedAlertId","parents","visible","keydown","keyCode","focus","userAgent","chatwindowObjectReference","callbackwindowObjectReference","closed","open","divId","fadeIn","scroll","fadeOut","setupDatePicker","dateFormat","dateOptions","autoclose","datepicker","PageView","megaMenu","openNav","getElementsByTagName","getElementById","chatButton","style","display","closeNav","toggleSubMenu","subMenuId","global","nativeSupport","createElement","placeholder","Placeholders","disable","noop","disablePlaceholders","enable","node","handleElem","showPlaceholder","keydownVal","validTypes","badKeys","placeholderClassName","classNameRegExp","RegExp","ATTR_CURRENT_VAL","ATTR_ACTIVE","ATTR_INPUT_TYPE","ATTR_FORM_HANDLED","ATTR_EVENTS_BOUND","ATTR_MAXLENGTH","head","root","inputs","textareas","hideOnInput","liveUpdates","styleElem","elem","styleRules","createTextNode","styleSheet","cssText","nodeValue","appendChild","insertBefore","firstChild","len","attributes","inArray","newElement","timer","setInterval","changeType","hidePlaceholder","removeAttribute","clearInterval","safeActiveElement","activeElement","err","arr","attachEvent","moveCaret","createTextRange","move","select","selectionStart","setSelectionRange","callback","handleInputs","handleTextareas","handleInputsLength","keydownValue","valueChanged","isPlaceholderValue","className","maxLength","makeSubmitHandler","makeFocusHandler","makeBlurHandler","makeKeydownHandler","blur","makeKeyupHandler","makeClickHandler","replaceText","text_only","new_val","nodeType","test","nextSibling","ready","switched","updateTables","original","wrap","copy","clone","append","tr","tr_copy","heights","setCellHeights","splitTable","unwrap","skagenweb","changeInPeriodDropdown","$selectDropDown","dropDownText","returnText","fundsDiv","$fundsDiv","FundTileItems","$fundDiv","Isin","FundReturn","BenchmarkReturn","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","m","c","O","chunkIds","priority","notFulfilled","Infinity","keys","every","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","globalThis","Function","prop","toStringTag","S","initPromises","initTokens","I","initScope","initToken","promises","all","scriptUrl","importScripts","currentScript","src","scripts","Error","b","baseURI","self","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","bind","nc","__webpack_exports__"],"sourceRoot":""}