{"version":3,"sources":["TinySlider.js","Overlay.js","Button.js","ModalDialog.js","ReadMoreSpot.js","TabsComponent.js","Pagination.js","Dropdown.js","JackpotWinners.js","PageNavHeader.js","PageHelper.js","CustomNavigation.js","TableListFooter.js","BingoApi.js","TableList.js","TableListHeader.js","GameFeed.js","GameCardContent.js","GameRoomTeaser.js","FeaturedGame.js","AnimateBackground.js","IntersectionObservers.js","AddToHomeScreen.js","FlipClock.js","EloquaForm.js","AppDictionary.js","VersionSelector.js","TutorialFooter.js","TutorialNavigation.js","TutorialHero.js","TutorialSearchBar.js","TutorialFrontPage.js","TutorialAvalonPage.js","TutorialSlidePage.js","TutorialTipsSystemPage.js","TutorialSimplePage.js","Tutorial.js","SpillehjoernetApi.js","GameLauncherIframeWrapper.js","GvcGameLauncher.js"],"names":["defineDs","t","window","Ai","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","setTimeout","e","Ni","cancelAnimationFrame","mozCancelAnimationFrame","clearTimeout","Li","n","i","arguments","a","r","length","Bi","indexOf","JSON","parse","Si","setItem","Hi","document","body","createElement","fake","documentElement","Oi","style","overflow","background","appendChild","Di","remove","offsetHeight","ki","insertRule","addRule","Ri","cssRules","rules","Ii","call","Pi","classList","contains","className","zi","add","Wi","replace","qi","hasAttribute","Fi","getAttribute","item","ji","Array","Object","prototype","toString","setAttribute","Vi","removeAttribute","Gi","push","Qi","display","Xi","Yi","getComputedStyle","Ki","charAt","toUpperCase","substr","forEach","Ji","test","toLowerCase","o","defineProperty","get","addEventListener","u","passive","Ui","_i","removeEventListener","Zi","topics","on","this","off","splice","emit","type","keys","hasOwnProperty","Element","parentNode","removeChild","$i","H","container","mode","axis","items","gutter","edgePadding","fixedWidth","autoWidth","viewportMax","slideBy","center","controls","controlsPosition","controlsText","controlsContainer","prevButton","nextButton","nav","navPosition","navContainer","navAsThumbnails","arrowKeys","speed","autoplay","autoplayPosition","autoplayTimeout","autoplayDirection","autoplayText","autoplayHoverPause","autoplayButton","autoplayButtonOutput","autoplayResetOnVisibility","animateIn","animateOut","animateNormal","animateDelay","loop","rewind","autoHeight","responsive","lazyload","lazyloadSelector","touch","mouseDrag","swipeAngle","nested","preventActionWhenRunning","preventScrollOnTouch","freezable","onInit","useLocalStorage","nonce","O","m","ENTER","SPACE","LEFT","RIGHT","navigator","userAgent","Date","localStorage","getItem","removeItem","tnsApp","y","tC","l","width","offsetWidth","g","tPL","innerHTML","Math","abs","getBoundingClientRect","left","children","D","tMQ","matchMedia","msMatchMedia","styleSheet","cssText","createTextNode","position","currentStyle","tTf","t3D","slice","insertBefore","getPropertyValue","x","tTDu","tTDe","b","tADu","tADe","s","tTE","c","tAE","f","console","warn","d","v","querySelector","nodeName","M","q","k","R","I","p","h","w","P","z","C","W","N","L","B","S","K","J","_","Z","F","T","j","V","E","A","outerHTML","G","Q","X","rn","Y","En","ge","$","tt","sn","et","nt","it","un","at","rt","floor","ot","ut","fixedWidthViewportWidth","lt","st","ct","ft","dt","vt","pt","ht","mt","yt","gt","xt","bt","wt","Ct","Mt","sheet","Tt","Et","At","Nt","ceil","min","apply","max","ln","Lt","Bt","St","_n","Ht","Ot","Dt","kt","Rt","It","en","Pt","zt","tn","Wt","qt","Ft","jt","Vt","Gt","Qt","Xt","Yt","id","tnsId","Kt","Jt","Ut","_t","Tn","Zt","$t","click","oi","keydown","pi","keyCode","we","disabled","Ce","te","ai","hi","Ae","Se","Number","Le","ri","le","He","Pe","fi","activeElement","vi","Ee","ee","mouseover","li","ze","mouseout","ui","ne","visibilitychange","hidden","qe","ie","ae","touchstart","xi","touchmove","bi","touchend","wi","touchcancel","re","mousedown","mousemove","mouseup","mouseleave","oe","ue","se","ce","fe","de","ve","pe","he","load","kn","error","Rn","me","ye","xe","be","Me","Te","We","Ne","Mi","Be","an","Oe","De","ke","Re","Ie","Xe","Fe","je","Ve","Ge","Qe","Ye","Ke","Je","Ue","$e","tabindex","createDocumentFragment","cloneNode","firstChild","fontSize","marginLeft","hn","cn","fn","dn","vn","mn","parseInt","yn","_e","Ze","Jn","ti","Zn","Ci","ei","version","getInfo","Ei","events","goTo","play","ci","pause","isOn","updateSliderHeight","Fn","refresh","destroy","ownerNode","resize","Cn","di","clearInterval","previousElementSibling","nextElementSibling","firstElementChild","rebuild","nn","innerWidth","clientWidth","right","pn","substring","querySelectorAll","src","zn","In","gn","$n","bn","wn","xn","jn","Vn","insertAdjacentHTML","Hn","Ti","Qn","Kn","An","Mn","Pn","Dn","Bn","Ln","Wn","Nn","margin","height","Sn","deleteRule","removeRule","On","parseFloat","stopPropagation","srcset","complete","qn","Gn","Xn","Yn","Un","ni","ii","target","propertyName","isNaN","setInterval","si","focus","mi","event","changedTouches","srcElement","yi","preventDefault","returnValue","gi","atan2","PI","clientX","clientY","cancelable","slideItems","navItems","hasControls","cloneCount","slideCount","slideCountNew","index","indexCached","displayIndex","navCurrentIndex","navCurrentIndexCached","pages","pagesCached","activeOverlays","template","$container","prop","$wrapper","getElementById","$overlayElement","clear","deferred","startComputation","removeOverlay","lowerOverlay","class","endComputation","resolve","bind","redraw","promise","handleClose","render","$component","component","controller","view","mount","show","$overlay","otherOverlay","Utils","options","extend","eventId","uiTestId","classes","default","loading","text","href","onclick","onkeydown","args","config","elem","size","color","Button","Svg","buttons","map","button","callback","close","ModalDialogObj","shouldBeComponent","closable","stackButtons","readMore","subText","renderKey","ctrlOrHandleClose","registerElementOrVnode","obj","iosPositionFix","registerElement","scroll","top","behavior","ignoredError","concat","join","element","isArray","filter","url","title","DOMUtils","ready","$spot","_$spot$querySelector","toggle","buttonText","textContent","$tabComponents","$tabComponent","$tabContent","$tabNavLink","$content","$title","prepend","tabId","$tabLinkTitle","ev","$link","currentTarget","parentElement","$tabElem","logDeprecated","Render","maxNumbersToShow","numbersOnLeftSide","numbersOnRightSide","paginationContainerWidth","changePage","activePage","innerText","previousPage","page","nextPage","list","calculateMaxNumbersToShow","numbersToShow","then","nodes","pagination","$element","node","rendered","ctrl","depend","fill","viewBox","ignoreListItem","OutsideClick","visible","getSelected","lookForSelectedItem","selected","setSelected","option","name","action","renderListItems","context","Component","ApiRequest","Dropdown","Pagination","GameLauncher","route","settings","games","allWinners","applicationContext","winners","currentPage","region","ctaText","isSmallScreen","matches","showMoreTotal","hideShowMoreCta","location","search","match","getCasinoLink","winner","gameUrlApp","gameUrl","gameUrlMobile","amountFormatter","amount","numberFormat","dateFormatter","toLocaleString","year","month","day","loadWinners","sortWinnersByDate","method","DS","Config","JACKPOTWINNERS_BINGO","JACKPOTWINNERS_SPILLEHJOERNET","data","createWinners","handleWinners","showMore","groupWinnersInBlocksOfTen","sortWinnersByPrize","sort","prize","date","sortWinnersByName","alias","block","reduce","prev","curr","winnerData","jackpotWinners","gameDetails","gameConfigurationId","gameName","displayName","gameLogo","playerAlias","gameId","superJackpotAmount","jackpotAmount","wonAt","launchGame","launch","dropdownOptions","navigation","jackpotType","targets","targetsArray","scrollPage","$topNavigation","scrollTarget","$scrollTargetElement","offsetTop","scrollY","scrollTopValue","scrollTop","scrollTo","pageIsReady","addHeaderHeightFix","nthIndexOf","string","subString","split","isNormalMode","getRootUrl","customNavigationOptions","labels","key","selectedTab","hideDetails","state","totalGamesToParticipateIn","totalPrice","purchaseReset","purchase","baseURL","login","getLaunchUrl","keepAlive","getStandaloneLobbyLaunchUrl","getGameFeed","localCacheTTL","getGameRoom","getPreBuyList","purchasePreBuy","content","emptyText","noOfTickets","inputs","input","roundId","purchaseInput","time","roomImg","alt","roomText","ballIcon","cardCost","pool","purchasedCards","minimumTickets","purchaseSubtract","placeholder","onblur","oninput","value","maximumTickets","purchaseAdd","Event","BingoApi","nextUpdateDate","updateInterval","gameFeedInitialized","feedIsLoading","currencyCode","brandId","_data$result","newDate","result","games_list","fire","setSeconds","getSeconds","start","scheduledUpdate","getTime","TinySlider","roomSliders","getRoomId","room","dataset","handleSliderButtons","slider","card","closest","shouldHidePrev","shouldHideNext","createPriceSlide","contentSlider","slide","label","valueWrapper","makeSlider","roomHasSlider","_room$querySelector","roomId","thisSlider","cardClassList","cta","arrow","ctaRect","roomRect","leftPosition","initializeSlider","GameFeed","TimeUtils","Content","gameFeed","$rooms","isGameFeedFirstLoad","removeInitialLoadingSpinner","jackpotAmounts","jackpotAmountsLoaders","cardLoading","jackpotLoader","linkToDirectGameLaunch","launchData","launchUrl","parent","postMessage","showFallbackPage","potsize","players","getTimeLeft","startStr","diff","getServerDateTime","compound","getCompoundTimeObject","days","formatTime","hours","setRoomPlayers","playersField","setRoomPotSize","potSize","setRoomJackpot","jackpot","setRoomPrice","feedPrice","price","formatCurrency","isFree","disableLink","subscribe","standalone","getElementsByClassName","setRoomDetails","feed","_nextGame$pot_in_play","_nextGame$pjps_in_pla","nextGame","game","status","nextGameStartTime","state_end_time","nextGameDuration","state_start_time","gamePlayers","number_of_players","gamePotAmount","pot_in_player_currency","Cash","pjps_in_player_currency","overridePrice","card_price_in_player_currency","feedRoomDetails","feedRoom","updateGameRooms","startDate","timer","secondsLeft","getSecondsFromExtendedTimeFormat","secondsTotal","timerWidth","gamePrice","estimatedNextGameStart","setRoomCountdown","jackpotText","cardPriceText","currencyLabel","updateGame","$room","cardPrice","$cardPrice","init","firstBg","secondBg","setOpacities","randFloat","random","opacity","latestGameContainer","campaignContainer","casinoSpot","casinoSpotArrow","heroSpotHost","heroSpotHostArrow","heroSpotGameTitle","heroSpotGameTitleArrow","seoSpot","seoSpotBg","seoSpotTitle","seoSpotTitleArrow","seoSpotCta","seoSpotCtaArrow","seoSpotLabel","seoSpotLabelArrow","heroCampaignSpotArrow","heroCampaignSpot","observe","observeEl","timeout","triggerEl","fullElementInView","modifier","IntersectionObserver","entries","observer","entry","isIntersecting","unobserve","rootMargin","threshold","Ensighten","storageKey","addToHomeScreen","popup","popupChromeIOS","popupCta","popupClose","popupGuide","popupGuideClose","popupChromeIOSClose","deferredPrompt","sitecoreItemName","handleTracking","popupSeenCount","pushGaEvent","getOS","maxTouchPoints","browserIsChromeOnIOS","popupLogic","addedToHome","hasSeenPopup","stringify","closedCount","lastClosed","now","visitCount","hidePopup","hideBackground","hidePopupGuide","hideAddToHomeScreen","hidePopupChromeIOS","handlePopupClose","handlePopupCTA","os","showPopupChromeIOS","showPopupGuide","addToAndroidHomeScreen","showPopup","prompt","initializePopupLogic","initialize","addLinkToPwaIcons","link1","link2","link3","link4","link","rel","head","addOsToPopup","isTrusted","_asyncToGenerator","loggedIn","undefined","Promise","reject","handleEvent","unsubscribe","Error","isUserLoggedIn","resizeClocks","$clock","breakPoints","parentWidth","invertColors","xlarge","large","small","domCounter","counter","val","_ul$querySelector$tex","_ul$querySelector","valUp","ul","beforeVal","valDown","_$flipper","$flipper","$jsUpActive","$jsDownActive","$jsUpBefore","$jsDownBefore","_ul$querySelectorAll","$el","_ul$querySelectorAll2","flipClock","DOMParser","parseFromString","deadline","secs","mins","flipPlay","Api","form","inputFields","selectFields","_ref4","fieldValues","canSubmit","email","inputIsValid","checkValidity","select","selectIsValid","sendCampaignForm","_ref2","_ref3","checked","_x","Dictionary","placeHolderText","toggleSelector","property","optionsWrapper","deviceSelectorLabel","selectedOption","optionsList","deviceSelectorUpdate","selectOption","_ref5","footerElements","activate","trust","footerElement","image","helpLink","Url","Text","currentUrl","param","mostVisitedList","mostVisitedLabel","onscroll","cave","scrollLeft","tutorial","safeTitle","urlPrefix","_ref6","isButtonVisible","updateSearchQuery","searchQuery","filteredTutorials","allTutorials","matchTutorialTitleWithSearchQuery","collapseCategories","category","textToSearch","subtitle","richText","firstOpeningParagraphTagIndex","lastClosingParagraphTagIndex","lastIndexOf","searchableRichText","elements","firstOpeningDivTagIndex","lastClosingDivTagIndex","searchableText","trim","every","word","RegExp","xmlns","cx","cy","searchBarPlaceholder","TutorialFooter","Navigation","Searchbar","Hero","categories","headerImage","tutorials","titleCssStyle","relatedHelpText","frontpageHeroTitle","jointList","slideTutorials","avalonTutorials","richTextTutorials","tipsSystemTutorial","nullResultHelpText","searchResultNull","latestSearches","footerSettings","categoryClickHandler","showTutorialCategories","isFiltered","_tutorial$imageFilter","_tutorial$imageFilter2","_tutorial$image$Sourc2","_tutorial$image2","_tutorial$image$Sourc","_tutorial$image","saveToLocalStorage","Source","imageFiltered","getFromLocalStorage","currentLocalStorage","acc","storage","matchRelatedTutorialsWithFilteredTutorials","filtratedTutorialsCategories","includes","filteredTutorial","getCategoryDOM","getTutorialDOM","onStepRendered","_tutorial$image$Sourc3","_tutorial$image3","_objectSpread","decodeURI","getTextWithHighligt","avalonContent","onRender","_this$tutorial$conten","_this$tutorial$conten2","contentWithoutComments","activateHeader","useFullWidth","activateFooter","safeTutorialName","heroTitle","heroText","elementsCount","slidepageRelatedHelpTitle","relatedHelpTutorials","heroImage","actionButton","activeSlide","showPrevArrow","showNextArrow","isSliderActive","desktopSlider","vimeoReady","vimeoPlayers","addPlayers","iframe","player","Vimeo","Player","isPlaying","ignoredElement","isInitialized","itemNumber","interval","setCurrentTime","steps","include","footerHelpText","mobileVideo","allowFullScreen","Title","desktopVideo","Overlay","ModalDialog","consts","U","DESCRIPTION","GUARANTEE","KEY","freeze","systems","selectedSystem","selectedCombination","dropdownOpen","selectedTable","rSystemFolder","tipsSystems","system","uSystemFolder","showOverlay","popupHeader","popupText","popupImage","AlternameText","firstHeader","rSystemButtonText","uSystemButtonText","subButtonsText","secondHeader","combinationKey","TutorialFrontpage","TutorialSlidepage","TutorialSimplePage","TutorialAvalonPage","TutorialTipsSystemPage","ignoredRoute","ignoredProperty","rootctrl","footer","order","accumulator","finalText","openingTags","from","matchAll","closingTags","searchRegexPrep","searchRegex","indexOffset","exec","closestPreviousOpeningTag","current","LaunchBaseURL","SPILLEHJOERNET_GVC_CLIENTURL","LaunchBaseMobileURL","CONTEXTPREFIX","getGameSession","unwrapSuccess","response","gameLaunchUrl","UrlParameters","isMobile","getGameUrlSpigo","GameConfigurationId","HideChat","hideChat","origin","hostname","Clock","_controller$cssClassF","lobbyLink","iframeSrc","setContainerSize","iframeScrollingEnabled","swipeOverlay","buttonSet1Visible","buttonSet2Visible","wrapperClass","cssClassForGameStart","hasGameNameOnMobileOverlay","hasClockOnMobileOverlay","hasCloseButtonOnMobileOverlay","hasGameNameOnDesktopOverlay","hasClockOnDesktopOverlay","closeFullscreen","exitFullscreen","fullscreenElement","mozCancelFullScreen","webkitExitFullscreen","msExitFullscreen","resetWrapper","toggleIframe","wrapper","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","mozFullScreenElement","webkitFullscreenElement","goToLobby","backgroundContainer","backgroundImage","updateClock","isDesktop","isTabletDevice","dispatchEvent","CustomEvent","svg","assetURI","scrolling","PageHelper","SpillehjoernetApi","GameLauncherIframeWrapper","LoginCache","LoginController","$parentElement","$loadingElement","isMobileOrTablet","iframelement","isLoggedIn","sso","ssoKey","mobileGameId","gameVariantName","langId","invokerProduct","channelId","lobbyType","keepAliveInterval","demo","lobbyURL","encodeURIComponent","keepAliveURL","depositURL","SPILLEHJOERNET_PAYMENTURL","rgURL","BASE_HOST","pLang","frontend","showInGameMenu","connector","hideeznavmenu","gamename","invokerChannel","lang","launchType","lobbytype","currency","sessionKey","lobbyRes","hostUrl","multiGame","isFavoritesEnabled","bgtransparent","brand","isOverlay","hidecontrolpanel","mobileGameIsLoadedInIframe","openLogin","cancelUrl","pathname"],"mappings":"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","file":"region-avalon-bingo-slingo.js","sourcesContent":["/* eslint-disable */\r\n\r\n// Documentation: https://github.com/ganlanyuan/tiny-slider\r\n\r\ndefineDs('Common/Framework/ScriptLibraries/Scripts/TinySlider', function () {\r\n \r\n return function () {\r\n var t = window;\r\n var Ai = t.requestAnimationFrame || t.webkitRequestAnimationFrame || t.mozRequestAnimationFrame || t.msRequestAnimationFrame || function (t) {\r\n return setTimeout(t, 16);\r\n };\r\n var e = window;\r\n var Ni = e.cancelAnimationFrame || e.mozCancelAnimationFrame || function (t) {\r\n clearTimeout(t);\r\n };\r\n\r\n function Li() {\r\n for (var t, e, n, i = arguments[0] || {}, a = 1, r = arguments.length; a < r; a++) if (null !== (t = arguments[a])) for (e in t) i !== (n = t[e]) && void 0 !== n && (i[e] = n);\r\n return i;\r\n }\r\n\r\n function Bi(t) {\r\n return 0 <= ['true', 'false'].indexOf(t) ? JSON.parse(t) : t;\r\n }\r\n\r\n function Si(t, e, n, i) {\r\n if (i) try {\r\n t.setItem(e, n);\r\n } catch (t) {\r\n }\r\n return n;\r\n }\r\n\r\n function Hi() {\r\n var t = document;\r\n var e = t.body;\r\n return e || ((e = t.createElement('body')).fake = !0), e;\r\n }\r\n\r\n var n = document.documentElement;\r\n\r\n function Oi(t) {\r\n var e = '';\r\n return t.fake && (e = n.style.overflow, t.style.background = '', t.style.overflow = n.style.overflow = 'hidden', n.appendChild(t)), e;\r\n }\r\n\r\n function Di(t, e) {\r\n t.fake && (t.remove(), n.style.overflow = e, n.offsetHeight);\r\n }\r\n\r\n function ki(t, e, n, i) {\r\n 'insertRule' in t ? t.insertRule(e + '{' + n + '}', i) : t.addRule(e, n, i);\r\n }\r\n\r\n function Ri(t) {\r\n return ('insertRule' in t ? t.cssRules : t.rules).length;\r\n }\r\n\r\n function Ii(t, e, n) {\r\n for (var i = 0, a = t.length; i < a; i++) e.call(n, t[i], i);\r\n }\r\n\r\n var i = 'classList' in document.createElement('_');\r\n var Pi = i ? function (t, e) {\r\n return t.classList.contains(e);\r\n } : function (t, e) {\r\n return 0 <= t.className.indexOf(e);\r\n };\r\n var zi = i ? function (t, e) {\r\n Pi(t, e) || t.classList.add(e);\r\n } : function (t, e) {\r\n Pi(t, e) || (t.className += ' ' + e);\r\n };\r\n var Wi = i ? function (t, e) {\r\n Pi(t, e) && t.classList.remove(e);\r\n } : function (t, e) {\r\n Pi(t, e) && (t.className = t.className.replace(e, ''));\r\n };\r\n\r\n function qi(t, e) {\r\n return t.hasAttribute(e);\r\n }\r\n\r\n function Fi(t, e) {\r\n return t.getAttribute(e);\r\n }\r\n\r\n function r(t) {\r\n return void 0 !== t.item;\r\n }\r\n\r\n function ji(t, e) {\r\n if (t = r(t) || t instanceof Array ? t : [t], '[object Object]' === Object.prototype.toString.call(e)) for (var n = t.length; n--;) for (var i in e) t[n].setAttribute(i, e[i]);\r\n }\r\n\r\n function Vi(t, e) {\r\n t = r(t) || t instanceof Array ? t : [t];\r\n for (var n = (e = e instanceof Array ? e : [e]).length, i = t.length; i--;) for (var a = n; a--;) t[i].removeAttribute(e[a]);\r\n }\r\n\r\n function Gi(t) {\r\n for (var e = [], n = 0, i = t.length; n < i; n++) e.push(t[n]);\r\n return e;\r\n }\r\n\r\n function Qi(t, e) {\r\n 'none' !== t.style.display && (t.style.display = 'none');\r\n }\r\n\r\n function Xi(t, e) {\r\n 'none' === t.style.display && (t.style.display = '');\r\n }\r\n\r\n function Yi(t) {\r\n return 'none' !== window.getComputedStyle(t).display;\r\n }\r\n\r\n function Ki(e) {\r\n if ('string' == typeof e) {\r\n var n = [e];\r\n var i = e.charAt(0).toUpperCase() + e.substr(1);\r\n ['Webkit', 'Moz', 'ms', 'O'].forEach(function (t) {\r\n 'ms' === t && 'transform' !== e || n.push(t + i);\r\n }), e = n;\r\n }\r\n for (var t = document.createElement('fakeelement'), a = (e.length, 0); a < e.length; a++) {\r\n var r = e[a];\r\n if (void 0 !== t.style[r]) return r;\r\n }\r\n return !1;\r\n }\r\n\r\n function Ji(t, e) {\r\n var n = !1;\r\n return /^Webkit/.test(t) ? n = 'webkit' + e + 'End' : /^O/.test(t) ? n = 'o' + e + 'End' : t && (n = e.toLowerCase() + 'end'), n;\r\n }\r\n\r\n var a = !1;\r\n try {\r\n var o = Object.defineProperty({}, 'passive', {\r\n get: function () {\r\n a = !0;\r\n }\r\n });\r\n window.addEventListener('test', null, o);\r\n } catch (t) {\r\n }\r\n var u = !!a && {passive: !0};\r\n\r\n function Ui(t, e, n) {\r\n for (var i in e) {\r\n var a = 0 <= ['touchstart', 'touchmove'].indexOf(i) && !n && u;\r\n t.addEventListener(i, e[i], a);\r\n }\r\n }\r\n\r\n function _i(t, e) {\r\n for (var n in e) {\r\n var i = 0 <= ['touchstart', 'touchmove'].indexOf(n) && u;\r\n t.removeEventListener(n, e[n], i);\r\n }\r\n }\r\n\r\n function Zi() {\r\n return {\r\n topics: {}, on: function (t, e) {\r\n this.topics[t] = this.topics[t] || [], this.topics[t].push(e);\r\n }, off: function (t, e) {\r\n if (this.topics[t]) for (var n = 0; n < this.topics[t].length; n++) if (this.topics[t][n] === e) {\r\n this.topics[t].splice(n, 1);\r\n break;\r\n }\r\n }, emit: function (e, n) {\r\n n.type = e, this.topics[e] && this.topics[e].forEach(function (t) {\r\n t(n, e);\r\n });\r\n }\r\n };\r\n }\r\n\r\n Object.keys || (Object.keys = function (t) {\r\n var e = [];\r\n for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && e.push(n);\r\n return e;\r\n }), 'remove' in Element.prototype || (Element.prototype.remove = function () {\r\n this.parentNode && this.parentNode.removeChild(this);\r\n });\r\n var $i = function (H) {\r\n H = Li({\r\n container: '.slider',\r\n mode: 'carousel',\r\n axis: 'horizontal',\r\n items: 1,\r\n gutter: 0,\r\n edgePadding: 0,\r\n fixedWidth: !1,\r\n autoWidth: !1,\r\n viewportMax: !1,\r\n slideBy: 1,\r\n center: !1,\r\n controls: !0,\r\n controlsPosition: 'top',\r\n controlsText: ['prev', 'next'],\r\n controlsContainer: !1,\r\n prevButton: !1,\r\n nextButton: !1,\r\n nav: !0,\r\n navPosition: 'top',\r\n navContainer: !1,\r\n navAsThumbnails: !1,\r\n arrowKeys: !1,\r\n speed: 300,\r\n autoplay: !1,\r\n autoplayPosition: 'top',\r\n autoplayTimeout: 5e3,\r\n autoplayDirection: 'forward',\r\n autoplayText: ['start', 'stop'],\r\n autoplayHoverPause: !1,\r\n autoplayButton: !1,\r\n autoplayButtonOutput: !0,\r\n autoplayResetOnVisibility: !0,\r\n animateIn: 'tns-fadeIn',\r\n animateOut: 'tns-fadeOut',\r\n animateNormal: 'tns-normal',\r\n animateDelay: !1,\r\n loop: !0,\r\n rewind: !1,\r\n autoHeight: !1,\r\n responsive: !1,\r\n lazyload: !1,\r\n lazyloadSelector: '.tns-lazy-img',\r\n touch: !0,\r\n mouseDrag: !1,\r\n swipeAngle: 15,\r\n nested: !1,\r\n preventActionWhenRunning: !1,\r\n preventScrollOnTouch: !1,\r\n freezable: !0,\r\n onInit: !1,\r\n useLocalStorage: !0,\r\n nonce: !1\r\n }, H || {});\r\n var O = document;\r\n var m = window;\r\n var a = {ENTER: 13, SPACE: 32, LEFT: 37, RIGHT: 39};\r\n var e = {};\r\n var n = H.useLocalStorage;\r\n if (n) {\r\n var t = navigator.userAgent;\r\n var i = new Date;\r\n try {\r\n (e = m.localStorage) ? (e.setItem(i, i), n = e.getItem(i) == i, e.removeItem(i)) : n = !1, n || (e = {});\r\n } catch (t) {\r\n n = !1;\r\n }\r\n n && (e.tnsApp && e.tnsApp !== t && ['tC', 'tPL', 'tMQ', 'tTf', 't3D', 'tTDu', 'tTDe', 'tADu', 'tADe', 'tTE', 'tAE'].forEach(function (t) {\r\n e.removeItem(t);\r\n }), localStorage.tnsApp = t);\r\n }\r\n var y = e.tC ? Bi(e.tC) : Si(e, 'tC', function () {\r\n var t = document;\r\n var e = Hi();\r\n var n = Oi(e);\r\n var i = t.createElement('div');\r\n var a = !1;\r\n e.appendChild(i);\r\n try {\r\n for (var r, o = '(10px * 10)', u = ['calc' + o, '-moz-calc' + o, '-webkit-calc' + o], l = 0; l < 3; l++) if (r = u[l], i.style.width = r, 100 === i.offsetWidth) {\r\n a = r.replace(o, '');\r\n break;\r\n }\r\n } catch (t) {\r\n }\r\n return e.fake ? Di(e, n) : i.remove(), a;\r\n }(), n);\r\n var g = e.tPL ? Bi(e.tPL) : Si(e, 'tPL', function () {\r\n var t;\r\n var e = document;\r\n var n = Hi();\r\n var i = Oi(n);\r\n var a = e.createElement('div');\r\n var r = e.createElement('div');\r\n var o = '';\r\n a.className = 'tns-t-subp2', r.className = 'tns-t-ct';\r\n for (var u = 0; u < 70; u++) o += '
';\r\n return r.innerHTML = o, a.appendChild(r), n.appendChild(a), t = Math.abs(a.getBoundingClientRect().left - r.children[67].getBoundingClientRect().left) < 2, n.fake ? Di(n, i) : a.remove(), t;\r\n }(), n);\r\n var D = e.tMQ ? Bi(e.tMQ) : Si(e, 'tMQ', function () {\r\n if (window.matchMedia || window.msMatchMedia) return !0;\r\n var t;\r\n var e = document;\r\n var n = Hi();\r\n var i = Oi(n);\r\n var a = e.createElement('div');\r\n var r = e.createElement('style');\r\n var o = '@media all and (min-width:1px){.tns-mq-test{position:absolute}}';\r\n return r.type = 'text/css', a.className = 'tns-mq-test', n.appendChild(r), n.appendChild(a), r.styleSheet ? r.styleSheet.cssText = o : r.appendChild(e.createTextNode(o)), t = window.getComputedStyle ? window.getComputedStyle(a).position : a.currentStyle.position, n.fake ? Di(n, i) : a.remove(), 'absolute' === t;\r\n }(), n);\r\n var r = e.tTf ? Bi(e.tTf) : Si(e, 'tTf', Ki('transform'), n);\r\n var o = e.t3D ? Bi(e.t3D) : Si(e, 't3D', function (t) {\r\n if (!t) return !1;\r\n if (!window.getComputedStyle) return !1;\r\n var e;\r\n var n = document;\r\n var i = Hi();\r\n var a = Oi(i);\r\n var r = n.createElement('p');\r\n var o = 9 < t.length ? '-' + t.slice(0, -9).toLowerCase() + '-' : '';\r\n return o += 'transform', i.insertBefore(r, null), r.style[t] = 'translate3d(1px,1px,1px)', e = window.getComputedStyle(r).getPropertyValue(o), i.fake ? Di(i, a) : r.remove(), void 0 !== e && 0 < e.length && 'none' !== e;\r\n }(r), n);\r\n var x = e.tTDu ? Bi(e.tTDu) : Si(e, 'tTDu', Ki('transitionDuration'), n);\r\n var u = e.tTDe ? Bi(e.tTDe) : Si(e, 'tTDe', Ki('transitionDelay'), n);\r\n var b = e.tADu ? Bi(e.tADu) : Si(e, 'tADu', Ki('animationDuration'), n);\r\n var l = e.tADe ? Bi(e.tADe) : Si(e, 'tADe', Ki('animationDelay'), n);\r\n var s = e.tTE ? Bi(e.tTE) : Si(e, 'tTE', Ji(x, 'Transition'), n);\r\n var c = e.tAE ? Bi(e.tAE) : Si(e, 'tAE', Ji(b, 'Animation'), n);\r\n var f = m.console && 'function' == typeof m.console.warn;\r\n var d = ['container', 'controlsContainer', 'prevButton', 'nextButton', 'navContainer', 'autoplayButton'];\r\n var v = {};\r\n if (d.forEach(function (t) {\r\n if ('string' == typeof H[t]) {\r\n var e = H[t];\r\n var n = O.querySelector(e);\r\n if (v[t] = e, !n || !n.nodeName) return void (f && console.warn('Can\\'t find', H[t]));\r\n H[t] = n;\r\n }\r\n }), !(H.container.children.length < 1)) {\r\n var k = H.responsive;\r\n var R = H.nested;\r\n var I = 'carousel' === H.mode;\r\n if (k) {\r\n 0 in k && (H = Li(H, k[0]), delete k[0]);\r\n var p = {};\r\n for (var h in k) {\r\n var w = k[h];\r\n w = 'number' == typeof w ? {items: w} : w, p[h] = w;\r\n }\r\n k = p, p = null;\r\n }\r\n if (I || function t(e) {\r\n for (var n in e) I || ('slideBy' === n && (e[n] = 'page'), 'edgePadding' === n && (e[n] = !1), 'autoHeight' === n && (e[n] = !1)), 'responsive' === n && t(e[n]);\r\n }(H), !I) {\r\n H.axis = 'horizontal', H.slideBy = 'page', H.edgePadding = !1;\r\n var P = H.animateIn;\r\n var z = H.animateOut;\r\n var C = H.animateDelay;\r\n var W = H.animateNormal;\r\n }\r\n var M;\r\n var q;\r\n var F = 'horizontal' === H.axis;\r\n var T = O.createElement('div');\r\n var j = O.createElement('div');\r\n var V = H.container;\r\n var E = V.parentNode;\r\n var A = V.outerHTML;\r\n var G = V.children;\r\n var Q = G.length;\r\n var X = rn();\r\n var Y = !1;\r\n k && En(), I && (V.className += ' tns-vpfix');\r\n var N;\r\n var L;\r\n var B;\r\n var S;\r\n var K;\r\n var J;\r\n var U;\r\n var _;\r\n var Z;\r\n var $ = H.autoWidth;\r\n var tt = sn('fixedWidth');\r\n var et = sn('edgePadding');\r\n var nt = sn('gutter');\r\n var it = un();\r\n var at = sn('center');\r\n var rt = $ ? 1 : Math.floor(sn('items'));\r\n var ot = sn('slideBy');\r\n var ut = H.viewportMax || H.fixedWidthViewportWidth;\r\n var lt = sn('arrowKeys');\r\n var st = sn('speed');\r\n var ct = H.rewind;\r\n var ft = !ct && H.loop;\r\n var dt = sn('autoHeight');\r\n var vt = sn('controls');\r\n var pt = sn('controlsText');\r\n var ht = sn('nav');\r\n var mt = sn('touch');\r\n var yt = sn('mouseDrag');\r\n var gt = sn('autoplay');\r\n var xt = sn('autoplayTimeout');\r\n var bt = sn('autoplayText');\r\n var wt = sn('autoplayHoverPause');\r\n var Ct = sn('autoplayResetOnVisibility');\r\n var Mt = (U = null, _ = sn('nonce'), Z = document.createElement('style'), U && Z.setAttribute('media', U), _ && Z.setAttribute('nonce', _), document.querySelector('head').appendChild(Z), Z.sheet ? Z.sheet : Z.styleSheet);\r\n var Tt = H.lazyload;\r\n var Et = H.lazyloadSelector;\r\n var At = [];\r\n var Nt = ft ? (K = function () {\r\n {\r\n if ($ || tt && !ut) return Q - 1;\r\n var t = tt ? 'fixedWidth' : 'items';\r\n var e = [];\r\n if ((tt || H[t] < Q) && e.push(H[t]), k) for (var n in k) {\r\n var i = k[n][t];\r\n i && (tt || i < Q) && e.push(i);\r\n }\r\n return e.length || e.push(0), Math.ceil(tt ? ut / Math.min.apply(null, e) : Math.max.apply(null, e));\r\n }\r\n }(), J = I ? Math.ceil((5 * K - Q) / 2) : 4 * K - Q, J = Math.max(K, J), ln('edgePadding') ? J + 1 : J) : 0;\r\n var Lt = I ? Q + 2 * Nt : Q + Nt;\r\n var Bt = !(!tt && !$ || ft);\r\n var St = tt ? _n() : null;\r\n var Ht = !I || !ft;\r\n var Ot = F ? 'left' : 'top';\r\n var Dt = '';\r\n var kt = '';\r\n var Rt = tt ? function () {\r\n return at && !ft ? Q - 1 : Math.ceil(-St / (tt + nt));\r\n } : $ ? function () {\r\n for (var t = 0; t < Lt; t++) if (N[t] >= -St) return t;\r\n } : function () {\r\n return at && I && !ft ? Q - 1 : ft || I ? Math.max(0, Lt - Math.ceil(rt)) : Lt - 1;\r\n };\r\n var It = en(sn('startIndex'));\r\n var Pt = It;\r\n var zt = (tn(), 0);\r\n var Wt = $ ? null : Rt();\r\n var qt = H.preventActionWhenRunning;\r\n var Ft = H.swipeAngle;\r\n var jt = !Ft || '?';\r\n var Vt = !1;\r\n var Gt = H.onInit;\r\n var Qt = new Zi;\r\n var Xt = ' tns-slider tns-' + H.mode;\r\n var Yt = V.id || (S = window.tnsId, window.tnsId = S ? S + 1 : 1, 'tns' + window.tnsId);\r\n var Kt = sn('disable');\r\n var Jt = !1;\r\n var Ut = H.freezable;\r\n var _t = !(!Ut || $) && Tn();\r\n var Zt = !1;\r\n var $t = {\r\n click: oi, keydown: function (t) {\r\n t = pi(t);\r\n var e = [a.LEFT, a.RIGHT].indexOf(t.keyCode);\r\n 0 <= e && (0 === e ? we.disabled || oi(t, -1) : Ce.disabled || oi(t, 1));\r\n }\r\n };\r\n var te = {\r\n click: function (t) {\r\n if (Vt) {\r\n if (qt) return;\r\n ai();\r\n }\r\n var e = hi(t = pi(t));\r\n for (; e !== Ae && !qi(e, 'data-nav');) e = e.parentNode;\r\n if (qi(e, 'data-nav')) {\r\n var n = Se = Number(Fi(e, 'data-nav'));\r\n var i = tt || $ ? n * Q / Le : n * rt;\r\n var a = le ? n : Math.min(Math.ceil(i), Q - 1);\r\n ri(a, t), He === n && (Pe && fi(), Se = -1);\r\n }\r\n }, keydown: function (t) {\r\n t = pi(t);\r\n var e = O.activeElement;\r\n if (!qi(e, 'data-nav')) return;\r\n var n = [a.LEFT, a.RIGHT, a.ENTER, a.SPACE].indexOf(t.keyCode);\r\n var i = Number(Fi(e, 'data-nav'));\r\n 0 <= n && (0 === n ? 0 < i && vi(Ee[i - 1]) : 1 === n ? i < Le - 1 && vi(Ee[i + 1]) : ri(Se = i, t));\r\n }\r\n };\r\n var ee = {\r\n mouseover: function () {\r\n Pe && (li(), ze = !0);\r\n }, mouseout: function () {\r\n ze && (ui(), ze = !1);\r\n }\r\n };\r\n var ne = {\r\n visibilitychange: function () {\r\n O.hidden ? Pe && (li(), qe = !0) : qe && (ui(), qe = !1);\r\n }\r\n };\r\n var ie = {\r\n keydown: function (t) {\r\n t = pi(t);\r\n var e = [a.LEFT, a.RIGHT].indexOf(t.keyCode);\r\n 0 <= e && oi(t, 0 === e ? -1 : 1);\r\n }\r\n };\r\n var ae = {touchstart: xi, touchmove: bi, touchend: wi, touchcancel: wi};\r\n var re = {mousedown: xi, mousemove: bi, mouseup: wi, mouseleave: wi};\r\n var oe = ln('controls');\r\n var ue = ln('nav');\r\n var le = !!$ || H.navAsThumbnails;\r\n var se = ln('autoplay');\r\n var ce = ln('touch');\r\n var fe = ln('mouseDrag');\r\n var de = 'tns-slide-active';\r\n var ve = 'tns-slide-cloned';\r\n var pe = 'tns-complete';\r\n var he = {\r\n load: function (t) {\r\n kn(hi(t));\r\n }, error: function (t) {\r\n e = hi(t), zi(e, 'failed'), Rn(e);\r\n var e;\r\n }\r\n };\r\n var me = 'force' === H.preventScrollOnTouch;\r\n if (oe) var ye;\r\n var ge;\r\n var xe = H.controlsContainer;\r\n var be = H.controlsContainer ? H.controlsContainer.outerHTML : '';\r\n var we = H.prevButton;\r\n var Ce = H.nextButton;\r\n var Me = H.prevButton ? H.prevButton.outerHTML : '';\r\n var Te = H.nextButton ? H.nextButton.outerHTML : '';\r\n if (ue) var Ee;\r\n var Ae = H.navContainer;\r\n var Ne = H.navContainer ? H.navContainer.outerHTML : '';\r\n var Le = $ ? Q : Mi();\r\n var Be = 0;\r\n var Se = -1;\r\n var He = an();\r\n var Oe = He;\r\n var De = 'tns-nav-active';\r\n var ke = 'Carousel Page ';\r\n var Re = ' (Current Slide)';\r\n if (se) var Ie;\r\n var Pe;\r\n var ze;\r\n var We;\r\n var qe;\r\n var Fe = 'forward' === H.autoplayDirection ? 1 : -1;\r\n var je = H.autoplayButton;\r\n var Ve = H.autoplayButton ? H.autoplayButton.outerHTML : '';\r\n var Ge = ['', ' animation'];\r\n if (ce || fe) var Qe;\r\n var Xe;\r\n var Ye = {};\r\n var Ke = {};\r\n var Je = !1;\r\n var Ue = F ? function (t, e) {\r\n return t.x - e.x;\r\n } : function (t, e) {\r\n return t.y - e.y;\r\n };\r\n $ || $e(Kt || _t), r && (Ot = r, Dt = 'translate', o ? (Dt += F ? '3d(' : '3d(0px, ', kt = F ? ', 0px, 0px)' : ', 0px)') : (Dt += F ? 'X(' : 'Y(', kt = ')')), I && (V.className = V.className.replace('tns-vpfix', '')), function () {\r\n ln('gutter');\r\n T.className = 'tns-outer', j.className = 'tns-inner', T.id = Yt + '-ow', j.id = Yt + '-iw', '' === V.id && (V.id = Yt);\r\n Xt += g || $ ? ' tns-subpixel' : ' tns-no-subpixel', Xt += y ? ' tns-calc' : ' tns-no-calc', $ && (Xt += ' tns-autowidth');\r\n Xt += ' tns-' + H.axis, V.className += Xt, I ? ((M = O.createElement('div')).id = Yt + '-mw', M.className = 'tns-ovh', T.appendChild(M), M.appendChild(j)) : T.appendChild(j);\r\n if (dt) {\r\n var t = M || j;\r\n t.className += ' tns-ah';\r\n }\r\n if (E.insertBefore(T, V), j.appendChild(V), Ii(G, function (t, e) {\r\n zi(t, 'tns-item'), t.id || (t.id = Yt + '-item' + e), !I && W && zi(t, W), ji(t, {\r\n 'aria-hidden': 'true',\r\n tabindex: '-1'\r\n });\r\n }), Nt) {\r\n for (var e = O.createDocumentFragment(), n = O.createDocumentFragment(), i = Nt; i--;) {\r\n var a = i % Q;\r\n var r = G[a].cloneNode(!0);\r\n if (zi(r, ve), Vi(r, 'id'), n.insertBefore(r, n.firstChild), I) {\r\n var o = G[Q - 1 - a].cloneNode(!0);\r\n zi(o, ve), Vi(o, 'id'), e.appendChild(o);\r\n }\r\n }\r\n V.insertBefore(e, V.firstChild), V.appendChild(n), G = V.children;\r\n }\r\n }(), function () {\r\n if (!I) for (var t = It, e = It + Math.min(Q, rt); t < e; t++) {\r\n var n = G[t];\r\n n.style.left = 100 * (t - It) / rt + '%', zi(n, P), Wi(n, W);\r\n }\r\n F && (g || $ ? (ki(Mt, '#' + Yt + ' > .tns-item', 'font-size:' + m.getComputedStyle(G[0]).fontSize + ';', Ri(Mt)), ki(Mt, '#' + Yt, 'font-size:0;', Ri(Mt))) : I && Ii(G, function (t, e) {\r\n var n;\r\n t.style.marginLeft = (n = e, y ? y + '(' + 100 * n + '% / ' + Lt + ')' : 100 * n / Lt + '%');\r\n }));\r\n if (D) {\r\n if (x) {\r\n var i = M && H.autoHeight ? hn(H.speed) : '';\r\n ki(Mt, '#' + Yt + '-mw', i, Ri(Mt));\r\n }\r\n i = cn(H.edgePadding, H.gutter, H.fixedWidth, H.speed, H.autoHeight), ki(Mt, '#' + Yt + '-iw', i, Ri(Mt)), I && (i = F && !$ ? 'width:' + fn(H.fixedWidth, H.gutter, H.items) + ';' : '', x && (i += hn(st)), ki(Mt, '#' + Yt, i, Ri(Mt))), i = F && !$ ? dn(H.fixedWidth, H.gutter, H.items) : '', H.gutter && (i += vn(H.gutter)), I || (x && (i += hn(st)), b && (i += mn(st))), i && ki(Mt, '#' + Yt + ' > .tns-item', i, Ri(Mt));\r\n } else {\r\n I && dt && (M.style[x] = st / 1e3 + 's'), j.style.cssText = cn(et, nt, tt, dt), I && F && !$ && (V.style.width = fn(tt, nt, rt));\r\n var i = F && !$ ? dn(tt, nt, rt) : '';\r\n nt && (i += vn(nt)), i && ki(Mt, '#' + Yt + ' > .tns-item', i, Ri(Mt));\r\n }\r\n if (k && D) for (var a in k) {\r\n a = parseInt(a);\r\n var r = k[a];\r\n var i = '';\r\n var o = '';\r\n var u = '';\r\n var l = '';\r\n var s = '';\r\n var c = $ ? null : sn('items', a);\r\n var f = sn('fixedWidth', a);\r\n var d = sn('speed', a);\r\n var v = sn('edgePadding', a);\r\n var p = sn('autoHeight', a);\r\n var h = sn('gutter', a);\r\n x && M && sn('autoHeight', a) && 'speed' in r && (o = '#' + Yt + '-mw{' + hn(d) + '}'), ('edgePadding' in r || 'gutter' in r) && (u = '#' + Yt + '-iw{' + cn(v, h, f, d, p) + '}'), I && F && !$ && ('fixedWidth' in r || 'items' in r || tt && 'gutter' in r) && (l = 'width:' + fn(f, h, c) + ';'), x && 'speed' in r && (l += hn(d)), l && (l = '#' + Yt + '{' + l + '}'), ('fixedWidth' in r || tt && 'gutter' in r || !I && 'items' in r) && (s += dn(f, h, c)), 'gutter' in r && (s += vn(h)), !I && 'speed' in r && (x && (s += hn(d)), b && (s += mn(d))), s && (s = '#' + Yt + ' > .tns-item{' + s + '}'), (i = o + u + l + s) && Mt.insertRule('@media (min-width: ' + a / 16 + 'em) {' + i + '}', Mt.cssRules.length);\r\n }\r\n }(), yn();\r\n var _e = ft ? I ? function () {\r\n var t = zt;\r\n var e = Wt;\r\n t += ot, e -= ot, et ? (t += 1, e -= 1) : tt && (it + nt) % (tt + nt) && (e -= 1), Nt && (e < It ? It -= Q : It < t && (It += Q));\r\n } : function () {\r\n if (Wt < It) for (; zt + Q <= It;) It -= Q; else if (It < zt) for (; It <= Wt - Q;) It += Q;\r\n } : function () {\r\n It = Math.max(zt, Math.min(Wt, It));\r\n };\r\n var Ze = I ? function () {\r\n var e;\r\n var n;\r\n var i;\r\n var a;\r\n var t;\r\n var r;\r\n var o;\r\n var u;\r\n var l;\r\n var s;\r\n var c;\r\n Jn(V, ''), x || !st ? (ti(), st && Yi(V) || ai()) : (e = V, n = Ot, i = Dt, a = kt, t = Zn(), r = st, o = ai, u = Math.min(r, 10), l = 0 <= t.indexOf('%') ? '%' : 'px', t = t.replace(l, ''), s = Number(e.style[n].replace(i, '').replace(a, '').replace(l, '')), c = (t - s) / r * u, setTimeout(function t() {\r\n r -= u, s += c, e.style[n] = i + s + l + a, 0 < r ? setTimeout(t, u) : o();\r\n }, u)), F || Ci();\r\n } : function () {\r\n At = [];\r\n var t = {};\r\n t[s] = t[c] = ai, _i(G[Pt], t), Ui(G[It], t), ei(Pt, P, z, !0), ei(It, W, P), s && c && st && Yi(V) || ai();\r\n };\r\n return {\r\n version: '2.9.3', getInfo: Ei, events: Qt, goTo: ri, play: function () {\r\n gt && !Pe && (ci(), We = !1);\r\n }, pause: function () {\r\n Pe && (fi(), We = !0);\r\n }, isOn: Y, updateSliderHeight: Fn, refresh: yn, destroy: function () {\r\n if (Mt.disabled = !0, Mt.ownerNode && Mt.ownerNode.remove(), _i(m, {resize: Cn}), lt && _i(O, ie), xe && _i(xe, $t), Ae && _i(Ae, te), _i(V, ee), _i(V, ne), je && _i(je, {click: di}), gt && clearInterval(Ie), I && s) {\r\n var t = {};\r\n t[s] = ai, _i(V, t);\r\n }\r\n mt && _i(V, ae), yt && _i(V, re);\r\n var r = [A, be, Me, Te, Ne, Ve];\r\n for (var e in d.forEach(function (t, e) {\r\n var n = 'container' === t ? T : H[t];\r\n if ('object' == typeof n && n) {\r\n var i = !!n.previousElementSibling && n.previousElementSibling;\r\n var a = n.parentNode;\r\n n.outerHTML = r[e], H[t] = i ? i.nextElementSibling : a.firstElementChild;\r\n }\r\n }), d = P = z = C = W = F = T = j = V = E = A = G = Q = q = X = $ = tt = et = nt = it = rt = ot = ut = lt = st = ct = ft = dt = Mt = Tt = N = At = Nt = Lt = Bt = St = Ht = Ot = Dt = kt = Rt = It = Pt = zt = Wt = Ft = jt = Vt = Gt = Qt = Xt = Yt = Kt = Jt = Ut = _t = Zt = $t = te = ee = ne = ie = ae = re = oe = ue = le = se = ce = fe = de = pe = he = L = vt = pt = xe = be = we = Ce = ye = ge = ht = Ae = Ne = Ee = Le = Be = Se = He = Oe = De = ke = Re = gt = xt = Fe = bt = wt = je = Ve = Ct = Ge = Ie = Pe = ze = We = qe = Ye = Ke = Qe = Je = Xe = Ue = mt = yt = null, this) 'rebuild' !== e && (this[e] = null);\r\n Y = !1;\r\n }, rebuild: function () {\r\n return $i(Li(H, v));\r\n }\r\n };\r\n }\r\n\r\n function $e(t) {\r\n t && (vt = ht = mt = yt = lt = gt = wt = Ct = !1);\r\n }\r\n\r\n function tn() {\r\n for (var t = I ? It - Nt : It; t < 0;) t += Q;\r\n return t % Q + 1;\r\n }\r\n\r\n function en(t) {\r\n return t = t ? Math.max(0, Math.min(ft ? Q - 1 : Q - rt, t)) : 0, I ? t + Nt : t;\r\n }\r\n\r\n function nn(t) {\r\n for (null == t && (t = It), I && (t -= Nt); t < 0;) t += Q;\r\n return Math.floor(t % Q);\r\n }\r\n\r\n function an() {\r\n var t;\r\n var e = nn();\r\n return t = le ? e : tt || $ ? Math.ceil((e + 1) * Le / Q - 1) : Math.floor(e / rt), !ft && I && It === Wt && (t = Le - 1), t;\r\n }\r\n\r\n function rn() {\r\n return m.innerWidth || O.documentElement.clientWidth || O.body.clientWidth;\r\n }\r\n\r\n function on(t) {\r\n return 'top' === t ? 'afterbegin' : 'beforeend';\r\n }\r\n\r\n function un() {\r\n var t = et ? 2 * et - nt : 0;\r\n return function t(e) {\r\n if (null != e) {\r\n var n;\r\n var i;\r\n var a = O.createElement('div');\r\n return e.appendChild(a), i = (n = a.getBoundingClientRect()).right - n.left, a.remove(), i || t(e.parentNode);\r\n }\r\n }(E) - t;\r\n }\r\n\r\n function ln(t) {\r\n if (H[t]) return !0;\r\n if (k) for (var e in k) if (k[e][t]) return !0;\r\n return !1;\r\n }\r\n\r\n function sn(t, e) {\r\n if (null == e && (e = X), 'items' === t && tt) return Math.floor((it + nt) / (tt + nt)) || 1;\r\n var n = H[t];\r\n if (k) for (var i in k) e >= parseInt(i) && t in k[i] && (n = k[i][t]);\r\n return 'slideBy' === t && 'page' === n && (n = sn('items')), I || 'slideBy' !== t && 'items' !== t || (n = Math.floor(n)), n;\r\n }\r\n\r\n function cn(t, e, n, i, a) {\r\n var r = '';\r\n if (void 0 !== t) {\r\n var o = t;\r\n e && (o -= e), r = F ? 'margin: 0 ' + o + 'px 0 ' + t + 'px;' : 'margin: ' + t + 'px 0 ' + o + 'px 0;';\r\n } else if (e && !n) {\r\n var u = '-' + e + 'px';\r\n r = 'margin: 0 ' + (F ? u + ' 0 0' : '0 ' + u + ' 0') + ';';\r\n }\r\n return !I && a && x && i && (r += hn(i)), r;\r\n }\r\n\r\n function fn(t, e, n) {\r\n return t ? (t + e) * Lt + 'px' : y ? y + '(' + 100 * Lt + '% / ' + n + ')' : 100 * Lt / n + '%';\r\n }\r\n\r\n function dn(t, e, n) {\r\n var i;\r\n if (t) i = t + e + 'px'; else {\r\n I || (n = Math.floor(n));\r\n var a = I ? Lt : n;\r\n i = y ? y + '(100% / ' + a + ')' : 100 / a + '%';\r\n }\r\n return i = 'width:' + i, 'inner' !== R ? i + ';' : i + ' !important;';\r\n }\r\n\r\n function vn(t) {\r\n var e = '';\r\n !1 !== t && (e = (F ? 'padding-' : 'margin-') + (F ? 'right' : 'bottom') + ': ' + t + 'px;');\r\n return e;\r\n }\r\n\r\n function pn(t, e) {\r\n var n = t.substring(0, t.length - e).toLowerCase();\r\n return n && (n = '-' + n + '-'), n;\r\n }\r\n\r\n function hn(t) {\r\n return pn(x, 18) + 'transition-duration:' + t / 1e3 + 's;';\r\n }\r\n\r\n function mn(t) {\r\n return pn(b, 17) + 'animation-duration:' + t / 1e3 + 's;';\r\n }\r\n\r\n function yn() {\r\n if (ln('autoHeight') || $ || !F) {\r\n var t = V.querySelectorAll('img');\r\n Ii(t, function (t) {\r\n var e = t.src;\r\n Tt || (e && e.indexOf('data:image') < 0 ? (t.src = '', Ui(t, he), zi(t, 'loading'), t.src = e) : kn(t));\r\n }), Ai(function () {\r\n zn(Gi(t), function () {\r\n L = !0;\r\n });\r\n }), ln('autoHeight') && (t = In(It, Math.min(It + rt - 1, Lt - 1))), Tt ? gn() : Ai(function () {\r\n zn(Gi(t), gn);\r\n });\r\n } else I && $n(), bn(), wn();\r\n }\r\n\r\n function gn() {\r\n if ($ && 1 < Q) {\r\n var i = ft ? It : Q - 1;\r\n !function t() {\r\n var e = G[i].getBoundingClientRect().left;\r\n var n = G[i - 1].getBoundingClientRect().right;\r\n Math.abs(e - n) <= 1 ? xn() : setTimeout(function () {\r\n t();\r\n }, 16);\r\n }();\r\n } else xn();\r\n }\r\n\r\n function xn() {\r\n F && !$ || (jn(), $ ? (St = _n(), Ut && (_t = Tn()), Wt = Rt(), $e(Kt || _t)) : Ci()), I && $n(), bn(), wn();\r\n }\r\n\r\n function bn() {\r\n if (Vn(), T.insertAdjacentHTML('afterbegin', '
slide ' + Hn() + ' of ' + Q + '
'), B = T.querySelector('.tns-liveregion .current'), se) {\r\n var t = gt ? 'stop' : 'start';\r\n je ? ji(je, {'data-action': t}) : H.autoplayButtonOutput && (T.insertAdjacentHTML(on(H.autoplayPosition), ''), je = T.querySelector('[data-action]')), je && Ui(je, {click: di}), gt && (ci(), wt && Ui(V, ee), Ct && Ui(V, ne));\r\n }\r\n if (ue) {\r\n if (Ae) ji(Ae, {'aria-label': 'Carousel Pagination'}), Ii(Ee = Ae.children, function (t, e) {\r\n ji(t, {'data-nav': e, tabindex: '-1', 'aria-label': ke + (e + 1), 'aria-controls': Yt});\r\n }); else {\r\n for (var e = '', n = le ? '' : 'style=\"display:none\"', i = 0; i < Q; i++) e += '';\r\n e = '
' + e + '
', T.insertAdjacentHTML(on(H.navPosition), e), Ae = T.querySelector('.tns-nav'), Ee = Ae.children;\r\n }\r\n if (Ti(), x) {\r\n var a = x.substring(0, x.length - 18).toLowerCase();\r\n var r = 'transition: all ' + st / 1e3 + 's';\r\n a && (r = '-' + a + '-' + r), ki(Mt, '[aria-controls^=' + Yt + '-item]', r, Ri(Mt));\r\n }\r\n ji(Ee[He], {'aria-label': ke + (He + 1) + Re}), Vi(Ee[He], 'tabindex'), zi(Ee[He], De), Ui(Ae, te);\r\n }\r\n oe && (xe || we && Ce || (T.insertAdjacentHTML(on(H.controlsPosition), '
'), xe = T.querySelector('.tns-controls')), we && Ce || (we = xe.children[0], Ce = xe.children[1]), H.controlsContainer && ji(xe, {\r\n 'aria-label': 'Carousel Navigation',\r\n tabindex: '0'\r\n }), (H.controlsContainer || H.prevButton && H.nextButton) && ji([we, Ce], {\r\n 'aria-controls': Yt,\r\n tabindex: '-1'\r\n }), (H.controlsContainer || H.prevButton && H.nextButton) && (ji(we, {'data-controls': 'prev'}), ji(Ce, {'data-controls': 'next'})), ye = Qn(we), ge = Qn(Ce), Kn(), xe ? Ui(xe, $t) : (Ui(we, $t), Ui(Ce, $t))), An();\r\n }\r\n\r\n function wn() {\r\n if (I && s) {\r\n var t = {};\r\n t[s] = ai, Ui(V, t);\r\n }\r\n mt && Ui(V, ae, H.preventScrollOnTouch), yt && Ui(V, re), lt && Ui(O, ie), 'inner' === R ? Qt.on('outerResized', function () {\r\n Mn(), Qt.emit('innerLoaded', Ei());\r\n }) : (k || tt || $ || dt || !F) && Ui(m, {resize: Cn}), dt && ('outer' === R ? Qt.on('innerLoaded', Pn) : Kt || Pn()), Dn(), Kt ? Bn() : _t && Ln(), Qt.on('indexChanged', Wn), 'inner' === R && Qt.emit('innerLoaded', Ei()), 'function' == typeof Gt && Gt(Ei()), Y = !0;\r\n }\r\n\r\n function Cn(t) {\r\n Ai(function () {\r\n Mn(pi(t));\r\n });\r\n }\r\n\r\n function Mn(t) {\r\n if (Y) {\r\n 'outer' === R && Qt.emit('outerResized', Ei(t)), X = rn();\r\n var e;\r\n var n = q;\r\n var i = !1;\r\n k && (En(), (e = n !== q) && Qt.emit('newBreakpointStart', Ei(t)));\r\n var a;\r\n var r;\r\n var o;\r\n var u;\r\n var l = rt;\r\n var s = Kt;\r\n var c = _t;\r\n var f = lt;\r\n var d = vt;\r\n var v = ht;\r\n var p = mt;\r\n var h = yt;\r\n var m = gt;\r\n var y = wt;\r\n var g = Ct;\r\n var x = It;\r\n if (e) {\r\n var b = tt;\r\n var w = dt;\r\n var C = pt;\r\n var M = at;\r\n var T = bt;\r\n if (!D) var E = nt;\r\n var A = et;\r\n }\r\n if (lt = sn('arrowKeys'), vt = sn('controls'), ht = sn('nav'), mt = sn('touch'), at = sn('center'), yt = sn('mouseDrag'), gt = sn('autoplay'), wt = sn('autoplayHoverPause'), Ct = sn('autoplayResetOnVisibility'), e && (Kt = sn('disable'), tt = sn('fixedWidth'), st = sn('speed'), dt = sn('autoHeight'), pt = sn('controlsText'), bt = sn('autoplayText'), xt = sn('autoplayTimeout'), D || (et = sn('edgePadding'), nt = sn('gutter'))), $e(Kt), it = un(), F && !$ || Kt || (jn(), F || (Ci(), i = !0)), (tt || $) && (St = _n(), Wt = Rt()), (e || tt) && (rt = sn('items'), ot = sn('slideBy'), (r = rt !== l) && (tt || $ || (Wt = Rt()), _e())), e && Kt !== s && (Kt ? Bn() : function () {\r\n if (!Jt) return;\r\n if (Mt.disabled = !1, V.className += Xt, $n(), ft) for (var t = Nt; t--;) I && Xi(G[t]), Xi(G[Lt - t - 1]);\r\n if (!I) for (var e = It, n = It + Q; e < n; e++) {\r\n var i = G[e];\r\n var a = e < It + rt ? P : W;\r\n i.style.left = 100 * (e - It) / rt + '%', zi(i, a);\r\n }\r\n Nn(), Jt = !1;\r\n }()), Ut && (e || tt || $) && (_t = Tn()) !== c && (_t ? (ti(Zn(en(0))), Ln()) : (!function () {\r\n if (!Zt) return;\r\n et && D && (j.style.margin = '');\r\n if (Nt) for (var t = 'tns-transparent', e = Nt; e--;) I && Wi(G[e], t), Wi(G[Lt - e - 1], t);\r\n Nn(), Zt = !1;\r\n }(), i = !0)), $e(Kt || _t), gt || (wt = Ct = !1), lt !== f && (lt ? Ui(O, ie) : _i(O, ie)), vt !== d && (vt ? xe ? Xi(xe) : (we && Xi(we), Ce && Xi(Ce)) : xe ? Qi(xe) : (we && Qi(we), Ce && Qi(Ce))), ht !== v && (ht ? (Xi(Ae), Ti()) : Qi(Ae)), mt !== p && (mt ? Ui(V, ae, H.preventScrollOnTouch) : _i(V, ae)), yt !== h && (yt ? Ui(V, re) : _i(V, re)), gt !== m && (gt ? (je && Xi(je), Pe || We || ci()) : (je && Qi(je), Pe && fi())), wt !== y && (wt ? Ui(V, ee) : _i(V, ee)), Ct !== g && (Ct ? Ui(O, ne) : _i(O, ne)), e) {\r\n if (tt === b && at === M || (i = !0), dt !== w && (dt || (j.style.height = '')), vt && pt !== C && (we.innerHTML = pt[0], Ce.innerHTML = pt[1]), je && bt !== T) {\r\n var N = gt ? 1 : 0;\r\n var L = je.innerHTML;\r\n var B = L.length - T[N].length;\r\n L.substring(B) === T[N] && (je.innerHTML = L.substring(0, B) + bt[N]);\r\n }\r\n } else at && (tt || $) && (i = !0);\r\n if ((r || tt && !$) && (Le = Mi(), Ti()), (a = It !== x) ? (Qt.emit('indexChanged', Ei()), i = !0) : r ? a || Wn() : (tt || $) && (Dn(), Vn(), Sn()), r && !I && function () {\r\n for (var t = It + Math.min(Q, rt), e = Lt; e--;) {\r\n var n = G[e];\r\n It <= e && e < t ? (zi(n, 'tns-moving'), n.style.left = 100 * (e - It) / rt + '%', zi(n, P), Wi(n, W)) : n.style.left && (n.style.left = '', zi(n, W), Wi(n, P)), Wi(n, z);\r\n }\r\n setTimeout(function () {\r\n Ii(G, function (t) {\r\n Wi(t, 'tns-moving');\r\n });\r\n }, 300);\r\n }(), !Kt && !_t) {\r\n if (e && !D && (et === A && nt === E || (j.style.cssText = cn(et, nt, tt, st, dt)), F)) {\r\n I && (V.style.width = fn(tt, nt, rt));\r\n var S = dn(tt, nt, rt) + vn(nt);\r\n u = Ri(o = Mt) - 1, 'deleteRule' in o ? o.deleteRule(u) : o.removeRule(u), ki(Mt, '#' + Yt + ' > .tns-item', S, Ri(Mt));\r\n }\r\n dt && Pn(), i && ($n(), Pt = It);\r\n }\r\n e && Qt.emit('newBreakpointEnd', Ei(t));\r\n }\r\n }\r\n\r\n function Tn() {\r\n if (!tt && !$) return Q <= (at ? rt - (rt - 1) / 2 : rt);\r\n var t = tt ? (tt + nt) * Q : N[Q];\r\n var e = et ? it + 2 * et : it + nt;\r\n return at && (e -= tt ? (it - tt) / 2 : (it - (N[It + 1] - N[It] - nt)) / 2), t <= e;\r\n }\r\n\r\n function En() {\r\n for (var t in q = 0, k) (t = parseInt(t)) <= X && (q = t);\r\n }\r\n\r\n function An() {\r\n !gt && je && Qi(je), !ht && Ae && Qi(Ae), vt || (xe ? Qi(xe) : (we && Qi(we), Ce && Qi(Ce)));\r\n }\r\n\r\n function Nn() {\r\n gt && je && Xi(je), ht && Ae && Xi(Ae), vt && (xe ? Xi(xe) : (we && Xi(we), Ce && Xi(Ce)));\r\n }\r\n\r\n function Ln() {\r\n if (!Zt) {\r\n if (et && (j.style.margin = '0px'), Nt) for (var t = 'tns-transparent', e = Nt; e--;) I && zi(G[e], t), zi(G[Lt - e - 1], t);\r\n An(), Zt = !0;\r\n }\r\n }\r\n\r\n function Bn() {\r\n if (!Jt) {\r\n if (Mt.disabled = !0, V.className = V.className.replace(Xt.substring(1), ''), Vi(V, ['style']), ft) for (var t = Nt; t--;) I && Qi(G[t]), Qi(G[Lt - t - 1]);\r\n if (F && I || Vi(j, ['style']), !I) for (var e = It, n = It + Q; e < n; e++) {\r\n var i = G[e];\r\n Vi(i, ['style']), Wi(i, P), Wi(i, W);\r\n }\r\n An(), Jt = !0;\r\n }\r\n }\r\n\r\n function Sn() {\r\n var t = Hn();\r\n B.innerHTML !== t && (B.innerHTML = t);\r\n }\r\n\r\n function Hn() {\r\n var t = On();\r\n var e = t[0] + 1;\r\n var n = t[1] + 1;\r\n return e === n ? e + '' : e + ' to ' + n;\r\n }\r\n\r\n function On(t) {\r\n null == t && (t = Zn());\r\n var n;\r\n var i;\r\n var a;\r\n var r = It;\r\n if (at || et ? ($ || tt) && (i = -(parseFloat(t) + et), a = i + it + 2 * et) : $ && (i = N[It], a = i + it), $) N.forEach(function (t, e) {\r\n e < Lt && ((at || et) && t <= i + .5 && (r = e), .5 <= a - t && (n = e));\r\n }); else {\r\n if (tt) {\r\n var e = tt + nt;\r\n at || et ? (r = Math.floor(i / e), n = Math.ceil(a / e - 1)) : n = r + Math.ceil(it / e) - 1;\r\n } else if (at || et) {\r\n var o = rt - 1;\r\n if (at ? (r -= o / 2, n = It + o / 2) : n = It + o, et) {\r\n var u = et * rt / it;\r\n r -= u, n += u;\r\n }\r\n r = Math.floor(r), n = Math.ceil(n);\r\n } else n = r + rt - 1;\r\n r = Math.max(r, 0), n = Math.min(n, Lt - 1);\r\n }\r\n return [r, n];\r\n }\r\n\r\n function Dn() {\r\n if (Tt && !Kt) {\r\n var t = On();\r\n t.push(Et), In.apply(null, t).forEach(function (t) {\r\n if (!Pi(t, pe)) {\r\n var e = {};\r\n e[s] = function (t) {\r\n t.stopPropagation();\r\n }, Ui(t, e), Ui(t, he), t.src = Fi(t, 'data-src');\r\n var n = Fi(t, 'data-srcset');\r\n n && (t.srcset = n), zi(t, 'loading');\r\n }\r\n });\r\n }\r\n }\r\n\r\n function kn(t) {\r\n zi(t, 'loaded'), Rn(t);\r\n }\r\n\r\n function Rn(t) {\r\n zi(t, pe), Wi(t, 'loading'), _i(t, he);\r\n }\r\n\r\n function In(t, e, n) {\r\n var i = [];\r\n for (n || (n = 'img'); t <= e;) Ii(G[t].querySelectorAll(n), function (t) {\r\n i.push(t);\r\n }), t++;\r\n return i;\r\n }\r\n\r\n function Pn() {\r\n var t = In.apply(null, On());\r\n Ai(function () {\r\n zn(t, Fn);\r\n });\r\n }\r\n\r\n function zn(n, t) {\r\n return L ? t() : (n.forEach(function (t, e) {\r\n !Tt && t.complete && Rn(t), Pi(t, pe) && n.splice(e, 1);\r\n }), n.length ? void Ai(function () {\r\n zn(n, t);\r\n }) : t());\r\n }\r\n\r\n function Wn() {\r\n Dn(), Vn(), Sn(), Kn(), function () {\r\n if (ht && (He = 0 <= Se ? Se : an(), Se = -1, He !== Oe)) {\r\n var t = Ee[Oe];\r\n var e = Ee[He];\r\n ji(t, {\r\n tabindex: '-1',\r\n 'aria-label': ke + (Oe + 1)\r\n }), Wi(t, De), ji(e, {'aria-label': ke + (He + 1) + Re}), Vi(e, 'tabindex'), zi(e, De), Oe = He;\r\n }\r\n }();\r\n }\r\n\r\n function qn(t, e) {\r\n for (var n = [], i = t, a = Math.min(t + e, Lt); i < a; i++) n.push(G[i].offsetHeight);\r\n return Math.max.apply(null, n);\r\n }\r\n\r\n function Fn() {\r\n var t = dt ? qn(It, rt) : qn(Nt, Q);\r\n var e = M || j;\r\n e.style.height !== t && (e.style.height = t + 'px');\r\n }\r\n\r\n function jn() {\r\n N = [0];\r\n var n = F ? 'left' : 'top';\r\n var i = F ? 'right' : 'bottom';\r\n var a = G[0].getBoundingClientRect()[n];\r\n Ii(G, function (t, e) {\r\n e && N.push(t.getBoundingClientRect()[n] - a), e === Lt - 1 && N.push(t.getBoundingClientRect()[i] - a);\r\n });\r\n }\r\n\r\n function Vn() {\r\n var t = On();\r\n var n = t[0];\r\n var i = t[1];\r\n Ii(G, function (t, e) {\r\n n <= e && e <= i ? qi(t, 'aria-hidden') && (Vi(t, ['aria-hidden', 'tabindex']), zi(t, de)) : qi(t, 'aria-hidden') || (ji(t, {\r\n 'aria-hidden': 'true',\r\n tabindex: '-1'\r\n }), Wi(t, de));\r\n });\r\n }\r\n\r\n function Gn(t) {\r\n return t.nodeName.toLowerCase();\r\n }\r\n\r\n function Qn(t) {\r\n return 'button' === Gn(t);\r\n }\r\n\r\n function Xn(t) {\r\n return 'true' === t.getAttribute('aria-disabled');\r\n }\r\n\r\n function Yn(t, e, n) {\r\n t ? e.disabled = n : e.setAttribute('aria-disabled', n.toString());\r\n }\r\n\r\n function Kn() {\r\n if (vt && !ct && !ft) {\r\n var t = ye ? we.disabled : Xn(we);\r\n var e = ge ? Ce.disabled : Xn(Ce);\r\n var n = It <= zt;\r\n var i = !ct && Wt <= It;\r\n n && !t && Yn(ye, we, !0), !n && t && Yn(ye, we, !1), i && !e && Yn(ge, Ce, !0), !i && e && Yn(ge, Ce, !1);\r\n }\r\n }\r\n\r\n function Jn(t, e) {\r\n x && (t.style[x] = e);\r\n }\r\n\r\n function Un(t) {\r\n return null == t && (t = It), $ ? (it - (et ? nt : 0) - (N[t + 1] - N[t] - nt)) / 2 : tt ? (it - tt) / 2 : (rt - 1) / 2;\r\n }\r\n\r\n function _n() {\r\n var t = it + (et ? nt : 0) - (tt ? (tt + nt) * Lt : N[Lt]);\r\n return at && !ft && (t = tt ? -(tt + nt) * (Lt - 1) - Un() : Un(Lt - 1) - N[Lt - 1]), 0 < t && (t = 0), t;\r\n }\r\n\r\n function Zn(t) {\r\n var e;\r\n if (null == t && (t = It), F && !$) if (tt) e = -(tt + nt) * t, at && (e += Un()); else {\r\n var n = r ? Lt : rt;\r\n at && (t -= Un()), e = 100 * -t / n;\r\n } else e = -N[t], at && $ && (e += Un());\r\n return Bt && (e = Math.max(e, St)), e += !F || $ || tt ? 'px' : '%';\r\n }\r\n\r\n function $n(t) {\r\n Jn(V, '0s'), ti(t);\r\n }\r\n\r\n function ti(t) {\r\n null == t && (t = Zn()), V.style[Ot] = Dt + t + kt;\r\n }\r\n\r\n function ei(t, e, n, i) {\r\n var a = t + rt;\r\n ft || (a = Math.min(a, Lt));\r\n for (var r = t; r < a; r++) {\r\n var o = G[r];\r\n i || (o.style.left = 100 * (r - It) / rt + '%'), C && u && (o.style[u] = o.style[l] = C * (r - t) / 1e3 + 's'), Wi(o, e), zi(o, n), i && At.push(o);\r\n }\r\n }\r\n\r\n function ni(t, e) {\r\n Ht && _e(), (It !== Pt || e) && (Qt.emit('indexChanged', Ei()), Qt.emit('transitionStart', Ei()), dt && Pn(), Pe && t && 0 <= ['click', 'keydown'].indexOf(t.type) && fi(), Vt = !0, Ze());\r\n }\r\n\r\n function ii(t) {\r\n return t.toLowerCase().replace(/-/g, '');\r\n }\r\n\r\n function ai(t) {\r\n if (I || Vt) {\r\n if (Qt.emit('transitionEnd', Ei(t)), !I && 0 < At.length) for (var e = 0; e < At.length; e++) {\r\n var n = At[e];\r\n n.style.left = '', l && u && (n.style[l] = '', n.style[u] = ''), Wi(n, z), zi(n, W);\r\n }\r\n if (!t || !I && t.target.parentNode === V || t.target === V && ii(t.propertyName) === ii(Ot)) {\r\n if (!Ht) {\r\n var i = It;\r\n _e(), It !== i && (Qt.emit('indexChanged', Ei()), $n());\r\n }\r\n 'inner' === R && Qt.emit('innerLoaded', Ei()), Vt = !1, Pt = It;\r\n }\r\n }\r\n }\r\n\r\n function ri(t, e) {\r\n if (!_t) if ('prev' === t) oi(e, -1); else if ('next' === t) oi(e, 1); else {\r\n if (Vt) {\r\n if (qt) return;\r\n ai();\r\n }\r\n var n = nn();\r\n var i = 0;\r\n if ('first' === t ? i = -n : 'last' === t ? i = I ? Q - rt - n : Q - 1 - n : ('number' != typeof t && (t = parseInt(t)), isNaN(t) || (e || (t = Math.max(0, Math.min(Q - 1, t))), i = t - n)), !I && i && Math.abs(i) < rt) {\r\n var a = 0 < i ? 1 : -1;\r\n i += zt <= It + i - Q ? Q * a : 2 * Q * a * -1;\r\n }\r\n It += i, I && ft && (It < zt && (It += Q), Wt < It && (It -= Q)), nn(It) !== nn(Pt) && ni(e);\r\n }\r\n }\r\n\r\n function oi(t, e) {\r\n if (Vt) {\r\n if (qt) return;\r\n ai();\r\n }\r\n var n;\r\n if (!e) {\r\n for (var i = hi(t = pi(t)); i !== xe && [we, Ce].indexOf(i) < 0;) i = i.parentNode;\r\n var a = [we, Ce].indexOf(i);\r\n 0 <= a && (n = !0, e = 0 === a ? -1 : 1);\r\n }\r\n if (ct) {\r\n if (It === zt && -1 === e) return void ri('last', t);\r\n if (It === Wt && 1 === e) return void ri('first', t);\r\n }\r\n e && (It += ot * e, $ && (It = Math.floor(It)), ni(n || t && 'keydown' === t.type ? t : null));\r\n }\r\n\r\n function ui() {\r\n Ie = setInterval(function () {\r\n oi(null, Fe);\r\n }, xt), Pe = !0;\r\n }\r\n\r\n function li() {\r\n clearInterval(Ie), Pe = !1;\r\n }\r\n\r\n function si(t, e) {\r\n ji(je, {'data-action': t}), je.innerHTML = Ge[0] + t + Ge[1] + e;\r\n }\r\n\r\n function ci() {\r\n ui(), je && si('stop', bt[1]);\r\n }\r\n\r\n function fi() {\r\n li(), je && si('start', bt[0]);\r\n }\r\n\r\n function di() {\r\n Pe ? (fi(), We = !0) : (ci(), We = !1);\r\n }\r\n\r\n function vi(t) {\r\n t.focus();\r\n }\r\n\r\n function pi(t) {\r\n return mi(t = t || m.event) ? t.changedTouches[0] : t;\r\n }\r\n\r\n function hi(t) {\r\n return t.target || m.event.srcElement;\r\n }\r\n\r\n function mi(t) {\r\n return 0 <= t.type.indexOf('touch');\r\n }\r\n\r\n function yi(t) {\r\n t.preventDefault ? t.preventDefault() : t.returnValue = !1;\r\n }\r\n\r\n function gi() {\r\n return a = Ke.y - Ye.y, r = Ke.x - Ye.x, t = Math.atan2(a, r) * (180 / Math.PI), e = Ft, n = !1, i = Math.abs(90 - Math.abs(t)), 90 - e <= i ? n = 'horizontal' : i <= e && (n = 'vertical'), n === H.axis;\r\n var t;\r\n var e;\r\n var n;\r\n var i;\r\n var a;\r\n var r;\r\n }\r\n\r\n function xi(t) {\r\n if (Vt) {\r\n if (qt) return;\r\n ai();\r\n }\r\n gt && Pe && li(), Je = !0, Xe && (Ni(Xe), Xe = null);\r\n var e = pi(t);\r\n Qt.emit(mi(t) ? 'touchStart' : 'dragStart', Ei(t)), !mi(t) && 0 <= ['img', 'a'].indexOf(Gn(hi(t))) && yi(t), Ke.x = Ye.x = e.clientX, Ke.y = Ye.y = e.clientY, I && (Qe = parseFloat(V.style[Ot].replace(Dt, '')), Jn(V, '0s'));\r\n }\r\n\r\n function bi(t) {\r\n if (Je) {\r\n var e = pi(t);\r\n Ke.x = e.clientX, Ke.y = e.clientY, I ? Xe || (Xe = Ai(function () {\r\n !function t(e) {\r\n if (!jt) return void (Je = !1);\r\n Ni(Xe);\r\n Je && (Xe = Ai(function () {\r\n t(e);\r\n }));\r\n '?' === jt && (jt = gi());\r\n if (jt) {\r\n !me && mi(e) && (me = !0);\r\n try {\r\n e.type && Qt.emit(mi(e) ? 'touchMove' : 'dragMove', Ei(e));\r\n } catch (t) {\r\n }\r\n var n = Qe;\r\n var i = Ue(Ke, Ye);\r\n if (!F || tt || $) n += i, n += 'px'; else {\r\n var a = r ? i * rt * 100 / ((it + nt) * Lt) : 100 * i / (it + nt);\r\n n += a, n += '%';\r\n }\r\n V.style[Ot] = Dt + n + kt;\r\n }\r\n }(t);\r\n })) : ('?' === jt && (jt = gi()), jt && (me = !0)), ('boolean' != typeof t.cancelable || t.cancelable) && me && t.preventDefault();\r\n }\r\n }\r\n\r\n function wi(i) {\r\n if (Je) {\r\n Xe && (Ni(Xe), Xe = null), I && Jn(V, ''), Je = !1;\r\n var t = pi(i);\r\n Ke.x = t.clientX, Ke.y = t.clientY;\r\n var a = Ue(Ke, Ye);\r\n if (Math.abs(a)) {\r\n if (!mi(i)) {\r\n var n = hi(i);\r\n Ui(n, {\r\n click: function t(e) {\r\n yi(e), _i(n, {click: t});\r\n }\r\n });\r\n }\r\n I ? Xe = Ai(function () {\r\n if (F && !$) {\r\n var t = -a * rt / (it + nt);\r\n t = 0 < a ? Math.floor(t) : Math.ceil(t), It += t;\r\n } else {\r\n var e = -(Qe + a);\r\n if (e <= 0) It = zt; else if (e >= N[Lt - 1]) It = Wt; else for (var n = 0; n < Lt && e >= N[n];) e > N[It = n] && a < 0 && (It += 1), n++;\r\n }\r\n ni(i, a), Qt.emit(mi(i) ? 'touchEnd' : 'dragEnd', Ei(i));\r\n }) : jt && oi(i, 0 < a ? -1 : 1);\r\n }\r\n }\r\n 'auto' === H.preventScrollOnTouch && (me = !1), Ft && (jt = '?'), gt && !Pe && ui();\r\n }\r\n\r\n function Ci() {\r\n (M || j).style.height = N[It + rt] - N[It] + 'px';\r\n }\r\n\r\n function Mi() {\r\n var t = tt ? (tt + nt) * Q / it : Q / rt;\r\n return Math.min(Math.ceil(t), Q);\r\n }\r\n\r\n function Ti() {\r\n if (ht && !le && Le !== Be) {\r\n var t = Be;\r\n var e = Le;\r\n var n = Xi;\r\n for (Le < Be && (t = Le, e = Be, n = Qi); t < e;) n(Ee[t]), t++;\r\n Be = Le;\r\n }\r\n }\r\n\r\n function Ei(t) {\r\n return {\r\n container: V,\r\n slideItems: G,\r\n navContainer: Ae,\r\n navItems: Ee,\r\n controlsContainer: xe,\r\n hasControls: oe,\r\n prevButton: we,\r\n nextButton: Ce,\r\n items: rt,\r\n slideBy: ot,\r\n cloneCount: Nt,\r\n slideCount: Q,\r\n slideCountNew: Lt,\r\n index: It,\r\n indexCached: Pt,\r\n displayIndex: tn(),\r\n navCurrentIndex: He,\r\n navCurrentIndexCached: Oe,\r\n pages: Le,\r\n pagesCached: Be,\r\n sheet: Mt,\r\n isOn: Y,\r\n event: t || {}\r\n };\r\n }\r\n\r\n f && console.warn('No slides found in', H.container);\r\n };\r\n return $i;\r\n }();\r\n});\r\n","defineDs('Shared/Framework/Mithril/Scripts/Templates/Overlay',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n\r\n var activeOverlays = [];\r\n\r\n // Context:\r\n var Overlay = function (template) {\r\n\r\n // Variables:\r\n this.template = template;\r\n this.$container = m.prop();\r\n this.$wrapper = m.prop(document.getElementById('wrapper'));\r\n this.$wrapper().classList.add('modal-wrapper');\r\n\r\n var $overlayElement = m.prop();\r\n\r\n this.$overlayElement = $overlayElement;\r\n\r\n // Functions:\r\n this.clear = function () {\r\n var $container = this.$container();\r\n var $wrapper = this.$wrapper();\r\n var deferred = m.deferred();\r\n m.startComputation();\r\n\r\n var removeOverlay = function () {\r\n if ($container && $container.parentNode) {\r\n $container.parentNode.removeChild($container);\r\n if (activeOverlays.length > 0) {\r\n var lowerOverlay = activeOverlays[this.index - 1];\r\n if (lowerOverlay && lowerOverlay.template) {\r\n lowerOverlay.template.class('');\r\n }\r\n }\r\n }\r\n m.endComputation();\r\n deferred.resolve();\r\n }.bind(this);\r\n\r\n // Remove overlay from collection\r\n activeOverlays.splice(this.index, 1);\r\n\r\n removeOverlay();\r\n m.redraw(true);\r\n\r\n if (activeOverlays.length === 0) {\r\n $wrapper.className = $wrapper.className.replace('overlay-active', '');\r\n }\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n var handleClose = function () {\r\n return this.clear();\r\n }.bind(this);\r\n\r\n this.handleClose = handleClose;\r\n\r\n this.render = function () {\r\n var $component = m.component({\r\n controller: template.controller ? template.controller : function () {\r\n this.handleClose = handleClose;\r\n this.$overlayElement = $overlayElement;\r\n },\r\n view: template.view ? template.view : function () {\r\n return template.render(this.handleClose, this.$overlayElement);\r\n }.bind(this)\r\n }, { handleClose: this.handleClose });\r\n\r\n m.mount(this.$container(), $component);\r\n\r\n }.bind(this);\r\n\r\n this.show = function (e) {\r\n if (e) e.preventDefault();\r\n\r\n var $overlay = document.createElement('div');\r\n this.$container($overlay);\r\n document.body.appendChild(this.$container());\r\n this.render();\r\n\r\n activeOverlays.push(this);\r\n this.index = activeOverlays.length - 1;\r\n\r\n this.$wrapper().classList.add('overlay-active');\r\n /*\r\n This takes all overlays, if there is more than 1,\r\n then take all other overlays in array and add\r\n specific class to it, if the current is the one on top\r\n */\r\n if (activeOverlays.indexOf(this) === activeOverlays[activeOverlays.length - 1].index && activeOverlays.length > 1) {\r\n var otherOverlays = activeOverlays.slice(0, activeOverlays.length - 1);\r\n otherOverlays.forEach(function (otherOverlay) {\r\n otherOverlay.template.class('is--behind-other-modal');\r\n });\r\n m.redraw(true);\r\n }\r\n }.bind(this);\r\n\r\n return this;\r\n };\r\n\r\n // Public functions:\r\n return Overlay;\r\n });\r\n","defineDs('DanskeSpil/Framework/PlayerAccountManagement/Scripts/Components/Button', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils'\r\n], function (m, Utils) {\r\n 'use strict';\r\n\r\n var Button = {\r\n\r\n controller: function (options) {\r\n /**\r\n * The Button does the boilerplate part of loading state (Controller still handles state)\r\n * @param eventId {String}\r\n * @param classes {Object} (default, disabled, loading)\r\n * @param text {Object} (default, disabled, loading)\r\n * @param type {String} (button, submit)\r\n * @param disabled {Boolean}\r\n * @param loading {Boolean}\r\n * @param onclick {Function} (Callback to Controller function)\r\n * @example Button({\r\n text: { default: controller.d('CreateSubscription/SelectPayment/Button') },\r\n classes: { default: 'button-full-width', disabled: 'button-full-width--disabled', loading: 'button-full-width--processing' },\r\n loading: controller.buttonLoading,\r\n disabled: controller.model().fields.boolean,\r\n onclick: function() { controller.nextStep(); }\r\n })\r\n */\r\n this.options = Utils.extend(true, {\r\n id: null,\r\n eventId: null,\r\n uiTestId: null,\r\n classes: {\r\n default: 'pam__button',\r\n disabled: 'pam__button--disabled',\r\n loading: 'pam__button--loading'\r\n },\r\n text: {\r\n default: ''\r\n },\r\n href: '#',\r\n disabled: false,\r\n loading: false,\r\n onclick: null,\r\n onkeydown: null,\r\n }, options);\r\n\r\n },\r\n\r\n view: function (controller, args) {\r\n\r\n var options = controller.options;\r\n\r\n options.disabled = args.disabled != null ? args.disabled : options.disabled;\r\n options.loading = args.loading != null ? args.loading : options.loading;\r\n\r\n var setClasses = function () {\r\n var classList = options.classes.default;\r\n classList += options.eventId ? ' pam__button--' + options.eventId : '';\r\n classList += options.disabled && !options.loading ? ' ' + options.classes.disabled : '';\r\n classList += options.loading ? ' ' + options.classes.loading : '';\r\n classList += options.size ? ' pam__button--' + options.size : '';\r\n classList += options.color ? ' pam__button--' + options.color : '';\r\n classList += options.class ? ' ' + options.class : '';\r\n\r\n return classList;\r\n };\r\n\r\n return m('a', {\r\n config: function (elem) {\r\n if (options.id) {\r\n elem.setAttribute('id', options.id);\r\n }\r\n\r\n if (options.uiTestId) {\r\n elem.setAttribute('data-uitest-id', options.uiTestId);\r\n }\r\n },\r\n href: options.href,\r\n class: setClasses(),\r\n disabled: options.disabled || options.loading,\r\n onclick: function (e) {\r\n if (options.disabled || options.loading) {\r\n e.preventDefault();\r\n return;\r\n }\r\n if (!options.loading && options.onclick) {\r\n e.preventDefault();\r\n options.onclick(e);\r\n }\r\n },\r\n onkeydown: options.onkeydown\r\n }, [\r\n options.loading ?\r\n m('span', { class: 'pam__button__loader button__text' }, [\r\n m('span.pam__button__loader-text', options.text.loading ? options.text.loading : options.text.default),\r\n m('span.pam__button__loader-animation', [\r\n m('span', { class: 'pam__button__loader-dot' }),\r\n m('span', { class: 'pam__button__loader-dot' }),\r\n m('span', { class: 'pam__button__loader-dot' })\r\n ]),\r\n ])\r\n : m('span.pam__button__text', options.disabled && options.text.disabled ? options.text.disabled : options.text.default)\r\n ]);\r\n }\r\n };\r\n\r\n return Button;\r\n});\r\n","defineDs('DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/ModalDialog', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Components/Button',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/Svg'\r\n], function (m, Utils, Button, Svg) {\r\n 'use strict';\r\n\r\n var ModalDialog = function (template, options) {\r\n\r\n options.buttons = options.buttons ? options.buttons.map(function (button) {\r\n return Utils.extend(true, {\r\n text: 'Test button',\r\n callback: function (close) {\r\n close();\r\n },\r\n size: 'large',\r\n color: 'primary',\r\n disabled: m.prop(false)\r\n }, button);\r\n }) : options.buttons;\r\n\r\n options = Utils.extend(true, {\r\n shouldBeComponent: false,\r\n closable: true,\r\n stackButtons: false,\r\n buttons: [],\r\n readMore: {},\r\n subText: null,\r\n class: [],\r\n controller: options.controller ? options.controller : null\r\n }, options);\r\n\r\n var renderFunction = function (ctrlOrHandleClose, registerElementOrVnode) {\r\n\r\n var handleClose = function () {\r\n options.iosPositionFix = false;\r\n return (options.shouldBeComponent ? ctrlOrHandleClose.handleClose() : ctrlOrHandleClose());\r\n };\r\n var registerElement = options.shouldBeComponent ? ctrlOrHandleClose.$overlayElement : registerElementOrVnode;\r\n\r\n if (options.iosPositionFix) {\r\n try {\r\n window.scroll({\r\n top: 0,\r\n behavior: 'smooth'\r\n });\r\n } catch (ignoredError) {\r\n // Older browsers does not support the object signature.\r\n window.scroll(0, 0);\r\n }\r\n }\r\n\r\n return m('div', (function () {\r\n var obj = {\r\n class: [\r\n 'ds-modal-frame',\r\n 'is--shown',\r\n (options.iosPositionFix ? 'ds-modal-frame--ios-position-fix' : '')\r\n ].concat(options.class, ModalDialogObj.class()).join(' '),\r\n config: function (element) {\r\n registerElement(element);\r\n }\r\n };\r\n if (options.id) {\r\n obj.id = options.id;\r\n }\r\n return obj;\r\n })(), [\r\n m('div', {\r\n class: 'ds-modal-wrap'\r\n }, [\r\n options.closable ?\r\n Svg('close', {\r\n onclick: handleClose,\r\n width: '18px',\r\n height: '18px',\r\n class: 'ds-modal--close sprite-symbol'\r\n }) : '',\r\n m('div', {\r\n class: 'ds-modal-content'\r\n }, [\r\n m('div', {\r\n class: 'ds-modal-html'\r\n }, Array.isArray(template) ? template : [template]),\r\n\r\n m('.button-row', { class: options.stackButtons ? 'button-row--stack' : '' }, options.buttons ? options.buttons.filter(function (button) {\r\n return button != null;\r\n }).map(function (button) {\r\n return m(Button, {\r\n uiTestId: button.uiTestId,\r\n id: button.id,\r\n loading: button.loading,\r\n color: button.color,\r\n size: button.size,\r\n class: button.class,\r\n disabled: button.disabled(),\r\n text: { default: button.text },\r\n eventId: button.eventId,\r\n onclick: function () {\r\n if (!button.disabled()) {\r\n button.callback.bind(this, handleClose)();\r\n }\r\n }\r\n });\r\n }) : ''),\r\n (options.readMore.url && options.readMore.title) ? m('a', { href: options.readMore.url, class: 'ds-modal-link' }, [\r\n options.readMore.title\r\n ]) : null,\r\n options.subText ? m('small', {\r\n class: 'ds-modal-subtext'\r\n }, options.subText) : ''\r\n ])\r\n ])\r\n ]);\r\n };\r\n\r\n var ModalDialogObj = {\r\n controller: options.controller ? options.controller : null,\r\n class: m.prop('ds-modal-frame')\r\n };\r\n\r\n var renderKey = options.shouldBeComponent ? 'view' : 'render';\r\n\r\n ModalDialogObj[renderKey] = renderFunction;\r\n\r\n return ModalDialogObj;\r\n };\r\n\r\n return ModalDialog;\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/ReadMoreSpot', [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/DOMUtils',\r\n], function (DOMUtils) {\r\n\r\n var readMore = function () {\r\n var $readMoreSpots = document.querySelectorAll('.js-read-more-spot');\r\n\r\n $readMoreSpots.forEach(($spot) => {\r\n $spot.querySelector('.js-read-more-cta')?.addEventListener('click', () => {\r\n $spot.classList.toggle('is-open');\r\n const buttonText = $spot.classList.contains('is-open') ? 'Skjul' : 'Læs mere';\r\n $spot.querySelector('.js-read-more-text').textContent = buttonText;\r\n });\r\n });\r\n };\r\n DOMUtils.ready(function () {\r\n readMore();\r\n\r\n });\r\n});\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/TabsComponent', [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils'\r\n], function (Utils) {\r\n\r\n const initTabsNavigation = () => {\r\n const $tabComponents = document.querySelectorAll('.js-tabs-component');\r\n\r\n if (!$tabComponents.length) {\r\n return;\r\n }\r\n\r\n $tabComponents.forEach(($tabComponent, i) => {\r\n const $tabContent = $tabComponent.querySelectorAll('.js-tab-frame');\r\n const $tabNavLink = $tabComponent.querySelectorAll('.js-tab-nav-link');\r\n\r\n if (!$tabContent.length) {\r\n return;\r\n }\r\n\r\n $tabContent[0].classList.add('is-active');\r\n\r\n if ($tabContent.length === 1) {\r\n const $content = $tabContent[0];\r\n const $title = document.createElement('h2');\r\n\r\n $title.classList.add('avalon-tabs-component__frame-title');\r\n $title.textContent = $content.getAttribute('data-tabname');\r\n\r\n $content.prepend($title);\r\n\r\n $tabComponent.classList.add('tabs-component--tabs-disabled');\r\n } else {\r\n $tabContent.forEach(($content, index) => {\r\n const tabId = `tab-${i.toString()}_${index.toString()}`;\r\n const $tabLinkTitle = $tabNavLink[index].querySelector('.js-tab-link-title');\r\n\r\n if ($tabLinkTitle) {\r\n $tabLinkTitle.textContent = $content.getAttribute('data-tabname');\r\n }\r\n\r\n $content.setAttribute('id', tabId);\r\n\r\n $tabNavLink[index].setAttribute('href', `#${tabId}`);\r\n $tabNavLink[index].addEventListener('click', (ev) => {\r\n ev.preventDefault();\r\n\r\n $tabNavLink.forEach(($link) => {\r\n if ($link === ev.currentTarget) return;\r\n $link.parentElement.classList.remove('is-selected');\r\n });\r\n\r\n ev.currentTarget.parentElement.classList.add('is-selected');\r\n\r\n $tabContent.forEach(($tabElem) => {\r\n $tabElem.classList.remove('is-active');\r\n });\r\n\r\n $content.classList.add('is-active');\r\n });\r\n });\r\n }\r\n });\r\n };\r\n\r\n initTabsNavigation();\r\n\r\n if (document.querySelector('.js-tabs-component')) {\r\n Utils.logDeprecated('TabsComponent.js - ..js-tabs-component found'); // Added by MIPE 2024-05-14\r\n }\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/Components/Pagination',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n ],\r\n function (m, Render) {\r\n var render = Render();\r\n\r\n return {\r\n controller: function (options) {\r\n options.maxNumbersToShow = m.prop(10);\r\n options.numbersOnLeftSide = m.prop(Math.ceil(options.maxNumbersToShow() / 2) - 1);\r\n options.numbersOnRightSide = m.prop(Math.floor(options.maxNumbersToShow() / 2));\r\n options.paginationContainerWidth = m.prop(0);\r\n\r\n options.changePage = function (e) {\r\n options.activePage(e.target.innerText - 1);\r\n m.redraw();\r\n }.bind(options);\r\n\r\n options.previousPage = function () {\r\n var page = options.activePage() - 1;\r\n if (page >= 0) {\r\n options.activePage(page);\r\n m.redraw();\r\n }\r\n }.bind(options);\r\n\r\n options.nextPage = function () {\r\n var page = options.activePage() + 1;\r\n if (page < options.list().length) {\r\n options.activePage(page);\r\n m.redraw();\r\n }\r\n }.bind(options);\r\n\r\n options.calculateMaxNumbersToShow = function (width) {\r\n var allocatedPixelsForEachNumber = 45;\r\n\r\n var numbersToShow = Math.floor(width / allocatedPixelsForEachNumber);\r\n numbersToShow = Math.min(numbersToShow, 10);\r\n\r\n options.maxNumbersToShow(numbersToShow);\r\n options.numbersOnLeftSide = m.prop(Math.ceil(options.maxNumbersToShow() / 2) - 1);\r\n options.numbersOnRightSide = m.prop(Math.floor(options.maxNumbersToShow() / 2));\r\n m.redraw();\r\n };\r\n\r\n\r\n render.ready.then(function (nodes) {\r\n var pagination = nodes['pagination'];\r\n\r\n if (!pagination.$element) {\r\n return;\r\n }\r\n\r\n options.calculateMaxNumbersToShow(pagination.$element.offsetWidth);\r\n\r\n // trigger a redraw\r\n setTimeout(function () {\r\n m.redraw();\r\n }, 0);\r\n\r\n window.addEventListener('resize', function () {\r\n pagination = nodes['pagination'];\r\n pagination.forEach(function (node) {\r\n if (node.rendered) {\r\n options.calculateMaxNumbersToShow(node.$element.offsetWidth);\r\n }\r\n }.bind(options));\r\n }.bind(options));\r\n }.bind(options));\r\n\r\n return options;\r\n },\r\n\r\n view: function (ctrl) {\r\n return m('.pagination', { config: render.depend('pagination') },\r\n [\r\n m('.pagination__arrow', {\r\n onclick: ctrl.previousPage\r\n }, m('svg', { fill: 'none', viewBox: '0 0 14 14' },\r\n m('path', { d: 'M1 4L7 10L13 4', 'stroke-width': 2, })\r\n )),\r\n\r\n ctrl.list().map(function (ignoreListItem, index, list) {\r\n\r\n if ((ctrl.activePage() > index + ctrl.numbersOnLeftSide()) && ((list.length - ctrl.maxNumbersToShow()) > index)) {\r\n return;\r\n }\r\n\r\n if (index + 1 > ctrl.maxNumbersToShow() && index > ctrl.activePage() + ctrl.numbersOnRightSide()) {\r\n return;\r\n }\r\n\r\n return m('span.pagination__number', {\r\n onclick: ctrl.changePage,\r\n class: ctrl.activePage() === index ? 'active' : ''\r\n }, index + 1);\r\n }),\r\n\r\n m('.pagination__arrow', {\r\n onclick: ctrl.nextPage\r\n }, m('svg', { fill: 'none', viewBox: '0 0 14 14' },\r\n m('path', { d: 'M1 4L7 10L13 4', 'stroke-width': 2, })\r\n )),\r\n ]\r\n );\r\n }\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/Components/Dropdown',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'Common/Framework/EventHandling/Scripts/OutsideClick',\r\n ],\r\n function (m, Render, OutsideClick) {\r\n var render = Render();\r\n\r\n return {\r\n controller: function (options) {\r\n options.visible = m.prop(false);\r\n\r\n options.show = function () {\r\n options.visible(!options.visible());\r\n };\r\n\r\n options.getSelected = function () {\r\n var lookForSelectedItem = options.list.filter(function (item) {\r\n return item.selected;\r\n })[0];\r\n return lookForSelectedItem ? lookForSelectedItem : options.list[0];\r\n };\r\n\r\n options.setSelected = function (option) {\r\n options.list.forEach(function (item) {\r\n if (item.name === option.name) {\r\n item.selected = true;\r\n item.action();\r\n } else {\r\n item.selected = false;\r\n }\r\n });\r\n };\r\n\r\n options.renderListItems = function () {\r\n return m('ul.dropdown__menu',\r\n options.list.map(function (item) {\r\n return m(\r\n 'li.dropdown__menu-item',\r\n {\r\n onclick: options.setSelected.bind(null, item),\r\n class: item.selected ? 'selected' : ''\r\n },\r\n item.name\r\n );\r\n })\r\n );\r\n };\r\n\r\n render.ready.then(function (nodes) {\r\n if (nodes && nodes['dropdown'] && nodes['dropdown'].$element) {\r\n OutsideClick(nodes['dropdown'].$element, nodes['dropdown'].context, function () {\r\n options.visible(false);\r\n });\r\n }\r\n });\r\n\r\n return options;\r\n },\r\n\r\n view: function (ctrl) {\r\n return m('.avalon-dropdown',\r\n {\r\n onclick: ctrl.show,\r\n class: ctrl.visible() ? 'open' : ''\r\n },\r\n m('.dropdown__content', { config: render.depend('dropdown') },\r\n m('.dropdown__label', [\r\n m('.dropdown__arrow', m('svg', { fill: 'none', viewBox: '0 0 14 14' },\r\n m('path', { d: 'M1 4L7 10L13 4', 'stroke-width': 2, })\r\n )),\r\n ctrl.getSelected().name\r\n ]),\r\n ctrl.renderListItems()\r\n )\r\n );\r\n }\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/Components/JackpotWinners',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/ApiRequest',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/AvalonComponents/Scripts/Components/Dropdown',\r\n 'DanskeSpil/Domain/AvalonComponents/Scripts/Components/Pagination',\r\n 'DanskeSpil/Domain/AvalonComponents/Scripts/Utilities/SpillehjoernetGameLauncher',\r\n ],\r\n function (Component, ApiRequest, Utils, Dropdown, Pagination, GameLauncher) {\r\n\r\n Component('jackpot-winners', function (m, route, settings) {\r\n\r\n var root = {\r\n controller: function () {\r\n var games = settings.games;\r\n var allWinners = [];\r\n var applicationContext = m.prop();\r\n this.winners = m.prop([]);\r\n this.currentPage = m.prop(0);\r\n this.region = m.prop(settings.region);\r\n this.ctaText = m.prop(settings.ctaText);\r\n this.isSmallScreen = window.matchMedia('(max-width: 767px)').matches;\r\n var showMoreTotal = 5;\r\n this.hideShowMoreCta = m.prop(true);\r\n\r\n if (!this.region()) return;\r\n\r\n // detect in which context we are viewing the winner component\r\n if (location.search.toLowerCase().match(/dsapplicationid=.*mobilenative/g)) {\r\n applicationContext('app');\r\n this.isSmallScreen = true;\r\n } else if (document.querySelector('body.is-mobile-detected')) {\r\n applicationContext('mobile');\r\n this.isSmallScreen = true;\r\n }\r\n\r\n this.getCasinoLink = function (winner) {\r\n if (applicationContext() === 'app') return winner.gameUrlApp || winner.gameUrl || '';\r\n if (applicationContext() === 'mobile') return winner.gameUrlMobile || winner.gameUrl || '';\r\n return winner.gameUrl || '';\r\n };\r\n\r\n this.amountFormatter = function (amount) {\r\n return Utils.numberFormat(amount, 0, ',', '.') + ' kr.';\r\n };\r\n\r\n this.dateFormatter = function (d) {\r\n return new Date(d).toLocaleString('da-DK', {\r\n year: 'numeric',\r\n month: 'long',\r\n day: 'numeric'\r\n });\r\n };\r\n\r\n var loadWinners = function () {\r\n if (this.region() === 'casino-manual' || this.region() === 'bingo-manual') {\r\n allWinners = games;\r\n this.sortWinnersByDate();\r\n } else {\r\n ApiRequest({\r\n method: 'GET',\r\n url: this.region() === 'bingo'\r\n ? DS.Config.JACKPOTWINNERS_BINGO\r\n : DS.Config.JACKPOTWINNERS_SPILLEHJOERNET\r\n\r\n }).then(function (data) {\r\n if (data) {\r\n allWinners = createWinners(data);\r\n this.sortWinnersByDate();\r\n }\r\n }.bind(this), function (error) {\r\n console.error('error', error);\r\n }.bind(this));\r\n }\r\n }.bind(this);\r\n\r\n // Depending on screen size we use different ways to paginate.\r\n var handleWinners = function () {\r\n if (this.isSmallScreen) {\r\n this.showMore();\r\n } else {\r\n this.winners(groupWinnersInBlocksOfTen());\r\n }\r\n }.bind(this);\r\n\r\n this.sortWinnersByPrize = function () {\r\n allWinners = allWinners.sort(function (a, b) {\r\n if (parseInt(a.prize, 10) < parseInt(b.prize, 10)) {\r\n return 1;\r\n }\r\n if (parseInt(a.prize, 10) > parseInt(b.prize, 10)) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n handleWinners();\r\n m.redraw();\r\n }.bind(this);\r\n\r\n this.sortWinnersByDate = function () {\r\n allWinners = allWinners.sort(function (a, b) {\r\n if (a.date < b.date) {\r\n return 1;\r\n }\r\n if (a.date > b.date) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n handleWinners();\r\n m.redraw();\r\n }.bind(this);\r\n\r\n this.sortWinnersByName = function () {\r\n allWinners = allWinners.sort(function (a, b) {\r\n if (a.alias.toLowerCase() < b.alias.toLowerCase()) {\r\n return -1;\r\n }\r\n if (a.alias.toLowerCase() > b.alias.toLowerCase()) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n handleWinners();\r\n m.redraw();\r\n }.bind(this);\r\n\r\n var groupWinnersInBlocksOfTen = function () {\r\n var winners = allWinners;\r\n var block = -1;\r\n this.currentPage(0);\r\n return winners.reduce(function (prev, curr, index) {\r\n if (index % 7 === 0) {\r\n block++;\r\n prev[block] = [];\r\n }\r\n prev[block].push(curr);\r\n return prev;\r\n }, []);\r\n }.bind(this);\r\n\r\n // Adds 5 more winners to this.winners().\r\n this.showMore = function (ev) {\r\n if (ev && ev.type === 'click') showMoreTotal += 5;\r\n this.hideShowMoreCta(showMoreTotal >= allWinners.length);\r\n this.winners([allWinners.slice(0, showMoreTotal)]);\r\n }.bind(this);\r\n\r\n var createWinners = function (data) {\r\n var winnerData;\r\n\r\n if (this.region() === 'spillehjoernet') {\r\n winnerData = data.jackpotWinners;\r\n } else if (this.region() === 'bingo') {\r\n winnerData = data;\r\n }\r\n\r\n var gameDetails = games.reduce(function (prev, curr) {\r\n prev[curr.gameConfigurationId] = {\r\n gameName: curr.displayName,\r\n gameLogo: curr.gameLogo,\r\n gameUrl: curr.gameUrl\r\n };\r\n return prev;\r\n }, {});\r\n\r\n return winnerData.filter(function (winner) {\r\n if (gameDetails[winner.gameConfigurationId]) {\r\n winner.alias = winner.playerAlias || '[Anonym]';\r\n winner.gameId = winner.gameConfigurationId;\r\n winner.gameName = gameDetails[winner.gameConfigurationId].gameName;\r\n winner.gameLogo = gameDetails[winner.gameConfigurationId].gameLogo;\r\n winner.gameUrl = gameDetails[winner.gameConfigurationId].gameUrl || '#';\r\n winner.prize = winner.superJackpotAmount || winner.jackpotAmount || 0;\r\n winner.date = winner.wonAt;\r\n return winner;\r\n }\r\n });\r\n }.bind(this);\r\n\r\n this.launchGame = function (ev) {\r\n if (settings.region === 'spillehjoernet') {\r\n ev.preventDefault();\r\n GameLauncher.launch(this);\r\n } else {\r\n // bingo and casino launches directly from url\r\n }\r\n };\r\n\r\n loadWinners();\r\n\r\n this.dropdownOptions = [\r\n { name: 'Dato', selected: true, action: this.sortWinnersByDate },\r\n { name: 'Gevinst', selected: false, action: this.sortWinnersByPrize },\r\n { name: 'Brugernavn', selected: false, action: this.sortWinnersByName },\r\n ];\r\n\r\n this.navigation = function () {\r\n if (this.isSmallScreen && !this.hideShowMoreCta()) {\r\n return m('.jackpot-winners__nav', { 'data-uitest-id': 'JackpotWinners__pagination' },\r\n m('.jackpot-winners__show-more', { onclick: this.showMore }, 'Vis flere'));\r\n }\r\n\r\n if (this.winners().length > 1) {\r\n return m('.jackpot-winners__nav', { 'data-uitest-id': 'JackpotWinners__pagination' },\r\n m.component(Pagination, { list: this.winners, activePage: this.currentPage }));\r\n }\r\n };\r\n },\r\n\r\n view: function (ctrl) {\r\n if (!ctrl.region()) return;\r\n\r\n return m('div', {\r\n class: 'jackpot-winners--' + ctrl.region(),\r\n 'data-uitest-id': 'JackpotWinners'\r\n }, [\r\n m('.jackpot-winners__sort', [\r\n m('.jackpot-winners__sort-label', 'Sorter efter'),\r\n m('.jackpot-winners__sort-dropdown', { 'data-uitest-id': 'JackpotWinners__dropdown' },\r\n m.component(Dropdown, { list: ctrl.dropdownOptions }))\r\n ]),\r\n\r\n ctrl.winners().length > 0 ?\r\n m('.jackpot-winners__winners',\r\n\r\n ctrl.winners()[ctrl.currentPage()].map(function (winner) {\r\n winner.prize = winner.prize || 0;\r\n\r\n return m('a.jackpot-winners__winner', {\r\n href: ctrl.region() === 'casino-manual' ? ctrl.getCasinoLink(winner) : winner.gameUrl,\r\n 'data-game-id': winner.gameId,\r\n 'data-uitest-id': 'JackpotWinners__winner'\r\n }, [\r\n m('.jackpot-winners__winner-img', { style: 'background-image: url(' + winner.gameLogo + ')' }),\r\n m('.jackpot-winners__winner-game', winner.gameName),\r\n m('.jackpot-winners__winner-player', winner.alias),\r\n m('.jackpot-winners__winner-date', ctrl.dateFormatter(winner.date)),\r\n m('.jackpot-winners__winner-prize', [\r\n m('.jackpot-winners__winner-prize-amount', ctrl.amountFormatter(winner.prize)),\r\n m('.jackpot-winners__winner-prize-type', winner.jackpotType || ''),\r\n ]),\r\n m('.jackpot-winners__winner-cta', ctrl.ctaText() || 'Spil nu'),\r\n ]);\r\n\r\n })\r\n )\r\n : '',\r\n\r\n ctrl.navigation()\r\n ]);\r\n\r\n\r\n }\r\n };\r\n\r\n route('/', root);\r\n });\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/Components/PageNavHeader',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils'\r\n ],\r\n function (Component, Utils) {\r\n\r\n Component('page-nav-header', function (m, route) {\r\n\r\n var elem = this.$element;\r\n\r\n var root = {\r\n\r\n controller: function () {\r\n // Detect all target elements on the page\r\n var targets = document.querySelectorAll('.js-page-nav-header-target');\r\n // Convert them to a real array\r\n this.targetsArray = [].slice.call(targets);\r\n\r\n /**\r\n * Scroll the page to the target of the clicked element\r\n */\r\n this.scrollPage = function scrollPage(event) {\r\n event.preventDefault();\r\n\r\n const $topNavigation = document.querySelector('.top-navigation');\r\n const scrollTarget = event.target.getAttribute('href');\r\n const $scrollTargetElement = document.querySelector(scrollTarget);\r\n const offsetTop = $scrollTargetElement?.getBoundingClientRect().top + window.scrollY;\r\n var currentScrollTop = document.documentElement.scrollTop;\r\n\r\n // set an offset if we are scrolling up on the page, to accomodate the height of the header\r\n var offset = currentScrollTop > offsetTop ? $topNavigation.getBoundingClientRect().height : 0;\r\n var scrollTopValue = offsetTop - offset;\r\n\r\n window.scrollTo({ top: scrollTopValue, behavior: 'smooth' });\r\n }.bind(this);\r\n\r\n this.pageIsReady = function pageIsReady() {\r\n // Set class to show the nav bar\r\n elem.classList.add('is-ready');\r\n\r\n // Clean up event listener\r\n document.removeEventListener('DOMContentLoaded', this.pageIsReady, false);\r\n\r\n }.bind(this);\r\n\r\n /**\r\n * Add height fix to the header, if it is not already there\r\n */\r\n this.addHeaderHeightFix = function addHeaderHeightFix() {\r\n\r\n if (!document.querySelector('.page-nav-header-static-fix')) {\r\n var insertTarget = document.querySelector('.container .header-static-fix');\r\n insertTarget.insertAdjacentHTML('afterend', '
');\r\n }\r\n };\r\n\r\n // Setup event listener\r\n document.addEventListener('DOMContentLoaded', this.pageIsReady.bind(this), false);\r\n this.addHeaderHeightFix();\r\n\r\n },\r\n\r\n view: function (ctrl) {\r\n return m('.page-nav-header__content', [\r\n // Build items\r\n ctrl.targetsArray.map(function (item) {\r\n return m('a.page-nav-header__item', {\r\n href: item.getAttribute('data-nav-UrlLink') === 'True' ? item.id : '#' + item.id,\r\n onclick: item.getAttribute('data-nav-UrlLink') === 'True' ? '' : ctrl.scrollPage\r\n }, item.getAttribute('data-nav-name'));\r\n })\r\n\r\n ]);\r\n }\r\n\r\n };\r\n\r\n // route\r\n route('/', root);\r\n\r\n Utils.logDeprecated('PageNavHeader.js - component loaded'); // Added by MIPE 2024-05-14\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/Helpers/PageHelper',\r\n [],\r\n function () {\r\n var isNormalMode = function () {\r\n return document.body.classList.contains('mode-normal');\r\n };\r\n\r\n var nthIndexOf = function (string, subString, index) {\r\n return string.split(subString, index).join(subString).length;\r\n };\r\n\r\n var getRootUrl = function () {\r\n var index = nthIndexOf(window.location.href, '/', 4);\r\n if (index === window.location.href.length) {\r\n index = nthIndexOf(window.location.href, '?', 1);\r\n }\r\n return window.location.href.substring(0, index);\r\n };\r\n\r\n // Public functions:\r\n return {\r\n isNormalMode: isNormalMode,\r\n getRootUrl: getRootUrl\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/GameVendorGVC/Scripts/Components/CustomNavigation', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n],\r\nfunction (m) {\r\n var CustomNavigation = function (controller) {\r\n return m('div', { class: 'custom-navigation' }, [\r\n m('div', { class: 'custom-navigation__container' }, [\r\n m('ul', { class: 'custom-navigation__list' }, [\r\n controller.customNavigationOptions.labels.map(function (item, key) {\r\n return m('li', {\r\n 'data-selected-id': key,\r\n class: 'custom-navigation__list-item' + (controller.selectedTab() === key ? ' custom-navigation__list-item--selected' : ''),\r\n onclick: function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (item.callback) {\r\n item.callback(e);\r\n }\r\n }\r\n }, [item.text]);\r\n })\r\n ])\r\n ])\r\n ]);\r\n };\r\n return CustomNavigation;\r\n});\r\n","defineDs('DanskeSpil/Domain/GameVendorGVC/Scripts/Templates/TableListFooter', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n], function (m) {\r\n\r\n var TableListFooter = function (options, controller) {\r\n var d = controller.d;\r\n\r\n return m('.table__footer', m('.table__footer-inner', [\r\n !options.hideDetails ? m('.table__footer-details', [\r\n m('.table__footer-detail.table__footer-detail--bought', d('FooterTitle') + ': ' + controller.state.totalGamesToParticipateIn()),\r\n m('.table__footer-detail.table__footer-detail--price', d('FooterPriceTitle') + ': ' + controller.state.totalPrice()),\r\n ]) : '',\r\n m('.table__footer-buttons', [\r\n\r\n m('.table__footer-button', {\r\n onclick: options.purchaseReset\r\n }, d('FooterCancelButtonText')),\r\n\r\n m('.table__footer-button.table__footer-button--primary', {\r\n onclick: options.purchase,\r\n class: controller.state.totalGamesToParticipateIn() < 1 ? 'table__footer-button--disabled' : ''\r\n }, d('FooterBuyButtonText')),\r\n ]),\r\n ]));\r\n };\r\n\r\n return TableListFooter;\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/GameVendorGVC/Scripts/Helpers/BingoApi', [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/ApiRequest'\r\n], (ApiRequest) => {\r\n\r\n const baseURL = '/dli/scapi/danskespil/gamevendorgvc/';\r\n\r\n\r\n const getGameFeed = (args) => {\r\n return ApiRequest({\r\n method: 'GET',\r\n data: args,\r\n url: `${baseURL}lobby`,\r\n localCacheTTL: 10\r\n });\r\n };\r\n\r\n\r\n const getGameRoom = (id) => {\r\n return ApiRequest({\r\n method: 'GET',\r\n url: `${baseURL}lobby/${id}`,\r\n localCacheTTL: 10\r\n });\r\n };\r\n\r\n\r\n const login = () => {\r\n return ApiRequest({\r\n method: 'POST',\r\n url: `${baseURL}login`\r\n });\r\n };\r\n\r\n\r\n const getLaunchUrl = (args) => {\r\n return ApiRequest({\r\n method: 'GET',\r\n data: args,\r\n url: `${baseURL}launchUrl`\r\n });\r\n };\r\n\r\n\r\n const getStandaloneLobbyLaunchUrl = (args) => {\r\n return ApiRequest({\r\n method: 'GET',\r\n data: args,\r\n url: `${baseURL}standaloneLobbyLaunchUrl`\r\n });\r\n };\r\n\r\n\r\n const getPreBuyList = () => {\r\n return ApiRequest({\r\n method: 'GET',\r\n url: `${baseURL}preBuyList`,\r\n localCacheTTL: 5\r\n });\r\n };\r\n\r\n\r\n const purchasePreBuy = (args) => {\r\n return ApiRequest({\r\n method: 'POST',\r\n data: args,\r\n url: `${baseURL}purchasePreBuy`\r\n });\r\n };\r\n\r\n\r\n const keepAlive = () => {\r\n return ApiRequest({\r\n method: 'GET',\r\n url: `${baseURL}keepAlive`\r\n });\r\n };\r\n\r\n\r\n return {\r\n login,\r\n getLaunchUrl,\r\n keepAlive,\r\n getStandaloneLobbyLaunchUrl,\r\n getGameFeed,\r\n getGameRoom,\r\n getPreBuyList,\r\n purchasePreBuy,\r\n };\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/GameVendorGVC/Scripts/Templates/TableList', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n], function (m) {\r\n\r\n var TableList = function (controller, content, emptyText, loading) {\r\n var d = controller.d;\r\n\r\n if (loading) {\r\n return m('.table__loader');\r\n }\r\n\r\n if (!content || content.length === 0) {\r\n return m('.table__empty', emptyText);\r\n }\r\n\r\n return content.map(function (item) {\r\n\r\n var noOfTickets = controller.state.inputs().filter(function (input) {\r\n return input.roundId === item.purchaseInput.id;\r\n }).map(function (input) {\r\n return input.noOfTickets;\r\n })[0] || 0;\r\n\r\n return m('.table__row', [\r\n\r\n m('.table__cell.table__cell--start', [\r\n m('.table__cell--label', d('ColumnLabels/GameStarts')),\r\n m('.table__cell--value', [\r\n m('span', item.time),\r\n m('span', item.date),\r\n ]),\r\n ]),\r\n\r\n m('.table__cell.table__cell--room-img', item.roomImg ? m('img', {\r\n src: item.roomImg,\r\n alt: item.roomText,\r\n }) : ''),\r\n\r\n m('.table__cell.table__cell--ball-icon', item.ballIcon ? m('img', {\r\n src: item.ballIcon,\r\n alt: '',\r\n }) : ''),\r\n\r\n m('.table__cell.table__cell--game', item.roomText),\r\n\r\n m('.table__cell.table__cell--price', [\r\n m('.table__cell--label', d('ColumnLabels/PricePerTicket')),\r\n m('.table__cell--value', item.cardCost),\r\n ]),\r\n\r\n m('.table__cell.table__cell--pool', [\r\n m('.table__cell--label', d('ColumnLabels/Pool')),\r\n m('.table__cell--value', item.pool),\r\n ]),\r\n\r\n m('.table__cell.table__cell--bought', [\r\n m('.table__cell--label', d('ColumnLabels/Bought')),\r\n m('.table__cell--value', item.purchasedCards),\r\n ]),\r\n\r\n m('.table__cell.table__cell--choose', [\r\n m('.table__button.table__button--subtract', {\r\n class: noOfTickets < item.purchaseInput.minimumTickets ? 'table__button--disabled' : '',\r\n onclick: item.purchaseSubtract,\r\n }),\r\n\r\n m('input.table__input', {\r\n class: noOfTickets < 1 ? 'table__input--disabled' : '',\r\n id: item.purchaseInput.id,\r\n placeholder: item.purchaseInput.placeholder,\r\n onblur: function (ev) {\r\n item.purchaseInput.onblur(ev);\r\n },\r\n oninput: function (ev) {\r\n item.purchaseInput.oninput(ev);\r\n },\r\n value: noOfTickets < 1 ? '' : noOfTickets\r\n }),\r\n\r\n m('.table__button.table__button--add', {\r\n class: noOfTickets >= item.purchaseInput.maximumTickets ? 'table__button--disabled' : '',\r\n onclick: item.purchaseAdd,\r\n }),\r\n ]),\r\n\r\n ]);\r\n });\r\n\r\n };\r\n return TableList;\r\n});\r\n","defineDs('DanskeSpil/Domain/GameVendorGVC/Scripts/Templates/TableListHeader', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n], function (m) {\r\n\r\n var TableListHeader = function (controller) {\r\n var d = controller.d;\r\n return m('.table__header', [\r\n m('.table__header-info', d('TableHeaderInformation')),\r\n m('.table__header-columns', [\r\n m('.table__header-column.table__header-column--game-start', d('ColumnLabels/GameStarts')),\r\n m('.table__header-column.table__header-column--game', d('ColumnLabels/Game')),\r\n m('.table__header-column.table__header-column--price', d('ColumnLabels/PricePerTicket')),\r\n m('.table__header-column.table__header-column--pool', d('ColumnLabels/Pool')),\r\n m('.table__header-column.table__header-column--bought', d('ColumnLabels/Bought')),\r\n m('.table__header-column.table__header-column--choose', d('ColumnLabels/Choose')),\r\n ]),\r\n ]);\r\n };\r\n\r\n return TableListHeader;\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/Avalon.Bingo/Scripts/GVC/GameFeed', [\r\n 'Common/Framework/EventHandling/Scripts/Event',\r\n 'DanskeSpil/Domain/GameVendorGVC/Scripts/Helpers/BingoApi'\r\n], function (Event, BingoApi) {\r\n var gameFeedInitialized = false;\r\n var feedIsLoading = false;\r\n var nextUpdateDate;\r\n var updateInterval;\r\n var failUpdateInterval = 5;\r\n\r\n function start() {\r\n // if an instance already exist, don't bother setting up another\r\n if (gameFeedInitialized) return;\r\n\r\n // tell the world the game feed is initialized\r\n gameFeedInitialized = true;\r\n\r\n // set update interval 30 seconds\r\n updateInterval = 30;\r\n\r\n // setup timer event listener\r\n setInterval(function () {\r\n var scheduledUpdate = nextUpdateDate;\r\n var currentDate = new Date().getTime();\r\n if (currentDate > scheduledUpdate || !scheduledUpdate) {\r\n load();\r\n }\r\n }, 5000);\r\n\r\n // init\r\n load();\r\n }\r\n\r\n function load() {\r\n // already loading game feed, no need to load again\r\n if (feedIsLoading) return;\r\n\r\n // tell the world we're loading the game feed\r\n feedIsLoading = true;\r\n\r\n // get the game feed\r\n BingoApi.getGameFeed({ currencyCode: 'DKK', brandId: 'DANSKESPIL' }).then(function (data) {\r\n var newDate = new Date();\r\n\r\n if (data?.result?.games_list?.length > 0) {\r\n // send new data notification event\r\n Event.fire('game-feed-updated--gvc', data);\r\n nextUpdateDate = newDate.setSeconds(newDate.getSeconds() + updateInterval);\r\n } else {\r\n // 'Game feed > Empty response, retrying...\r\n Event.fire('game-feed-broken--gvc');\r\n nextUpdateDate = newDate.setSeconds(newDate.getSeconds() + failUpdateInterval);\r\n }\r\n feedIsLoading = false;\r\n }, function (error) {\r\n var newDate = new Date();\r\n nextUpdateDate = newDate.setSeconds(newDate.getSeconds() + failUpdateInterval);\r\n console.error('Game feed > Failed to update, ', error);\r\n Event.fire('game-feed-broken--gvc');\r\n feedIsLoading = false;\r\n });\r\n }\r\n\r\n // public interface\r\n return {\r\n start: start,\r\n load: load\r\n };\r\n});\r\n","defineDs('DanskeSpil/Domain/Avalon.Bingo/Scripts/GVC/GameCardContent', [\r\n 'Common/Framework/ScriptLibraries/Scripts/TinySlider',\r\n], function (TinySlider) {\r\n\r\n const roomSliders = {};\r\n const getRoomId = (room) => room.dataset['roomId'];\r\n const roomHasSlider = (room) => !!roomSliders[getRoomId(room)];\r\n\r\n\r\n // Handles the visibility of slider navigation buttons\r\n const handleSliderButtons = (slider) => {\r\n let pages;\r\n let index;\r\n let container;\r\n\r\n if (!slider.getInfo) {\r\n // During onInit of the slider\r\n pages = slider.pages;\r\n index = slider.index;\r\n container = slider.container;\r\n } else {\r\n // After initialization of the slider\r\n pages = slider.getInfo().pages;\r\n index = slider.getInfo().index;\r\n container = slider.getInfo().container;\r\n }\r\n\r\n const card = container.closest('.bingo-game-card');\r\n const shouldHidePrev = index === 0;\r\n const shouldHideNext = index === (pages - 1);\r\n\r\n // Toggle the visibility of the previous button based on if the current slide is the first one\r\n card.classList.toggle('bingo-game-card--hide-content-slide-prev', shouldHidePrev);\r\n\r\n // Toggle the visibility of the next button based on if the current slide is the last one\r\n card.classList.toggle('bingo-game-card--hide-content-slide-next', shouldHideNext);\r\n };\r\n\r\n\r\n // Initializes the slider functionality within a room\r\n const initializeSlider = (room) => {\r\n const container = room.querySelector('.js-content-slider');\r\n const numberOfSlides = container.querySelectorAll('.bingo-card__content-slide').length;\r\n\r\n if (numberOfSlides === 0) {\r\n return;\r\n }\r\n\r\n const roomId = getRoomId(room);\r\n\r\n // Initialize a new TinySlider instance with the specified options\r\n const slider = TinySlider({\r\n container,\r\n controls: false,\r\n nav: false,\r\n loop: false,\r\n center: true,\r\n // Custom previous and next buttons are defined but not used here directly\r\n prevButton: '.bingo-card__content-slide-prev',\r\n nextButton: '.bingo-card__content-slide-next',\r\n // Once initialized, handle the visibility of slider buttons\r\n onInit: (thisSlider) => {\r\n handleSliderButtons(thisSlider);\r\n },\r\n });\r\n\r\n // Add click event listeners to the custom previous and next buttons\r\n room.querySelector('.bingo-card__content-slide-next').addEventListener('click', (ev) => {\r\n ev.preventDefault();\r\n const cardClassList = ev.target.closest('.bingo-game-card').classList;\r\n\r\n if (\r\n cardClassList.contains('bingo-game-card--has-custom-info')\r\n && cardClassList.contains('bingo-game-card--hide-content-slide-next')\r\n ) {\r\n const cta = document.querySelector('.bingo-card__jackpot-value-info');\r\n const arrow = document.querySelector('.bingo-card__info-text-arrow');\r\n const ctaRect = cta.getBoundingClientRect();\r\n const roomRect = room.getBoundingClientRect();\r\n const leftPosition = ctaRect.left - roomRect.left;\r\n arrow.style.left = Math.min(leftPosition - 16, 185) + 'px';\r\n cardClassList.add('bingo-game-card--custom-info-open');\r\n } else {\r\n slider.goTo('next');\r\n }\r\n });\r\n\r\n window.addEventListener('resize', () => {\r\n room.classList.remove('bingo-game-card--custom-info-open');\r\n });\r\n\r\n room.querySelector('.bingo-card__content-slide-prev').addEventListener('click', (ev) => {\r\n ev.preventDefault();\r\n slider.goTo('prev');\r\n });\r\n\r\n room.querySelector('.bingo-card__info-text')?.addEventListener('click', (ev) => {\r\n ev.preventDefault();\r\n room.classList.remove('bingo-game-card--custom-info-open');\r\n });\r\n\r\n // On every slide transition start, ensure correct button visibility\r\n slider.events.on('transitionStart', () => {\r\n handleSliderButtons(slider);\r\n });\r\n\r\n roomSliders[roomId] = slider;\r\n };\r\n\r\n\r\n // Make a slider for a given room\r\n const makeSlider = (room) => {\r\n if (!roomHasSlider(room) || !room.querySelector('.tns-outer')) {\r\n initializeSlider(room);\r\n }\r\n };\r\n\r\n\r\n // Creates a new price slide element or updates the existing one with the new amount\r\n const createPriceSlide = (room, type, amount) => {\r\n\r\n // Select the slider within the room\r\n const contentSlider = room.querySelector('.js-content-slider');\r\n // Look for an existing slide of the specified type, or create a new one\r\n let slide = contentSlider.querySelector(`.js-content-slide-${type}`);\r\n\r\n if (!slide) {\r\n // If the slide doesn't exist, create and configure it\r\n slide = document.createElement('div');\r\n slide.classList.add('bingo-card__content-slide', `js-content-slide-${type}`);\r\n\r\n // Create and add the label element to the slide\r\n let label = document.createElement('div');\r\n label.classList.add('bingo-card__jackpot-title');\r\n // Set the label based on the type of the price slide\r\n label.innerHTML = type === 'pot-size' ? room.dataset['labelPotSize'] : room.dataset['labelJackpot'];\r\n\r\n slide.appendChild(label);\r\n\r\n // Create a wrapper for the value to keep the markup clean and styled\r\n let valueWrapper = document.createElement('div');\r\n valueWrapper.classList.add('bingo-card__jackpot-value-wrapper');\r\n slide.appendChild(valueWrapper);\r\n\r\n // Create the value element that will display the price amount\r\n let value = document.createElement('div');\r\n value.classList.add('bingo-card__jackpot-value');\r\n valueWrapper.appendChild(value);\r\n\r\n // Append the new slide to the slider container\r\n contentSlider.prepend(slide);\r\n }\r\n\r\n // Update the value of the price on the slide\r\n slide.querySelector('.bingo-card__jackpot-value').innerHTML = amount + ' kr.';\r\n };\r\n\r\n\r\n return {\r\n createPriceSlide,\r\n makeSlider,\r\n };\r\n});\r\n","defineDs('DanskeSpil/Domain/Avalon.Bingo/Scripts/GVC/GameRoomTeaser', [\r\n 'Common/Framework/EventHandling/Scripts/Event',\r\n 'DanskeSpil/Domain/Avalon.Bingo/Scripts/GVC/GameFeed',\r\n 'DanskeSpil/Framework/TimeUtils/Scripts/TimeUtils',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/GameVendorGVC/Scripts/Helpers/BingoApi',\r\n 'DanskeSpil/Domain/Avalon.Bingo/Scripts/GVC/GameCardContent',\r\n], function (Event, GameFeed, TimeUtils, Utils, BingoApi, Content) {\r\n var gameFeed = [];\r\n var $rooms = document.querySelectorAll('.js-bingo-card--gvc');\r\n var isGameFeedFirstLoad = true;\r\n\r\n function init() {\r\n if (document.querySelector('.mode-edit')) return;\r\n\r\n // if we have rooms, update them\r\n if ($rooms?.length > 0) {\r\n GameFeed.start();\r\n }\r\n\r\n // Game feed updated, so update game room details\r\n Event.subscribe('game-feed-updated--gvc', function (data) {\r\n if ($rooms?.length > 0) {\r\n gameFeed = data;\r\n updateGameRooms();\r\n }\r\n });\r\n\r\n // Game feed dead, show fallback page\r\n Event.subscribe('game-feed-broken--gvc', function () {\r\n showFallBackOnRooms();\r\n });\r\n\r\n // Timer activated, so update time to when next game begins\r\n setInterval(function () {\r\n if ($rooms?.length > 0) {\r\n $rooms.forEach(function (room) {\r\n setRoomCountdown(room);\r\n });\r\n }\r\n }, 1000);\r\n }\r\n\r\n function removeInitialLoadingSpinner() {\r\n isGameFeedFirstLoad = false;\r\n\r\n var jackpotAmounts = document.querySelectorAll('.js-bingo-card-jackpot');\r\n var jackpotAmountsLoaders = document.querySelectorAll('.bingo-game-card .js-cube-loader');\r\n var cardsLoading = document.querySelectorAll('.bingo-game-card');\r\n\r\n cardsLoading.forEach(function (cardLoading) {\r\n cardLoading.classList.remove('bingo-game-card--loading');\r\n });\r\n\r\n jackpotAmountsLoaders.forEach(function (jackpotLoader) {\r\n jackpotLoader.style.display = false;\r\n });\r\n\r\n jackpotAmounts.forEach(function (jackpotAmount) {\r\n jackpotAmount.classList.remove('bingo-card__jackpot-value--hidden');\r\n });\r\n }\r\n\r\n function linkToDirectGameLaunch(event) {\r\n event.preventDefault();\r\n var parentElement = event.target.parentNode.parentNode;\r\n var roomId;\r\n if (parentElement.dataset && parentElement.dataset.roomId) {\r\n roomId = parentElement.dataset.roomId;\r\n }\r\n\r\n // do getlaunch Url for standalonelobby\r\n BingoApi.getStandaloneLobbyLaunchUrl({ gameId: roomId }).then(function (data) { // beware that roomId is used as gameId\r\n BingoApi.getLaunchUrl({ gameId: roomId }).then(function (launchData) {\r\n data.launchData += '&Launchurl=' + launchData.launchUrl;\r\n window.parent.postMessage({ type: 'LaunchGame', data: data.launchData }, '*');\r\n });\r\n });\r\n }\r\n\r\n // Show fallback on all cards\r\n function showFallBackOnRooms() {\r\n var standalone = document.getElementsByClassName('js-bingo-game-list-view-standalone');\r\n if (isGameFeedFirstLoad) {\r\n removeInitialLoadingSpinner();\r\n }\r\n\r\n $rooms.forEach(function (room) {\r\n var roomId = room.dataset['roomId'];\r\n\r\n if (!room.dataset['ignoreFeed'] || room.dataset['ignoreFeed'] !== 'true') {\r\n if (roomId) {\r\n showFallbackPage(room);\r\n if (standalone.length > 0) {\r\n room.querySelector('.bingo-card__wrapper').addEventListener('click', linkToDirectGameLaunch, false);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n // show fallback page\r\n function showFallbackPage(room) {\r\n\r\n room.dataset['ignoreFeed'] = true;\r\n\r\n room.querySelector('.bingo-card__curved-text-icons--left').remove();\r\n room.querySelector('.bingo-card__curved-text-icons--right').remove();\r\n let potsize = room.querySelector('.js-bingo-card-potsize');\r\n if (potsize) {\r\n potsize.remove();\r\n }\r\n let players = room.querySelector('.js-bingo-card-players');\r\n if (players) {\r\n players.remove();\r\n }\r\n room.querySelector('.js-bingo-card-nofeedcta').style.display = 'block';\r\n }\r\n\r\n // get game details from feed, set on DOM\r\n function updateGameRooms() {\r\n var standalone = document.getElementsByClassName('js-bingo-game-list-view-standalone');\r\n if (gameFeed.result) {\r\n if (isGameFeedFirstLoad) removeInitialLoadingSpinner();\r\n\r\n $rooms.forEach(function (room) {\r\n var roomId = room.dataset['roomId'];\r\n\r\n if (roomId) {\r\n // get details for the specific room\r\n var feedRoomDetails = gameFeed.result.games_list.filter(function (feedRoom) {\r\n\r\n // filter out specific the games with a specific id\r\n return parseInt(roomId, 10) === parseInt(feedRoom.id, 10);\r\n });\r\n\r\n // sort after time defined in feedRoom.status.state_end_time\r\n feedRoomDetails.sort(function (a, b) {\r\n // Turn your strings into dates, and then subtract them\r\n // to get a value that is either negative, positive, or zero.\r\n return new Date(b.status.state_end_time) - new Date(a.status.state_end_time);\r\n });\r\n\r\n setRoomDetails(room, feedRoomDetails);\r\n if (standalone.length > 0) {\r\n room.querySelector('.bingo-card__wrapper').addEventListener('click', linkToDirectGameLaunch, false);\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n // set room details\r\n function setRoomDetails(room, feed) {\r\n\r\n if (room.dataset['ignoreFeed'] && room.dataset['ignoreFeed'] === 'true') {\r\n return;\r\n }\r\n\r\n // next waiting games is the next upcoming game of that id\r\n var nextGame = feed.filter(function (game) {\r\n return game.status.state === 'waiting';\r\n })[0];\r\n\r\n // if feed is somehow broken, do nothing\r\n if (!nextGame) {\r\n showFallbackPage(room);\r\n return;\r\n }\r\n\r\n // state start time is when state changed. We need to add time remaining to actaully get gamestart epoch\r\n var nextGameStartTime = nextGame.status.state_end_time;\r\n\r\n var nextGameDuration = nextGame.status.state_end_time - nextGame.status.state_start_time;\r\n // set next game start time on DOM\r\n if (room.dataset['gameStart'] !== (nextGameStartTime)) {\r\n room.dataset['gameStart'] = nextGameStartTime;\r\n }\r\n\r\n // set game duration on DOM\r\n if (room.dataset['gameDuration'] !== nextGameDuration) {\r\n room.dataset['gameDuration'] = nextGameDuration;\r\n }\r\n\r\n // set number of game players (set to zero if game is closed)\r\n var gamePlayers = room.querySelector('.bingo-card__closed') ? 0 : nextGame.number_of_players;\r\n setRoomPlayers(room, gamePlayers);\r\n\r\n // set game potsize\r\n const gamePotAmount = nextGame?.pot_in_player_currency?.Cash;\r\n setRoomPotSize(room, gamePotAmount);\r\n\r\n // get a valid jackpot\r\n const jackpot = nextGame.pjps_in_player_currency?.[0]?.value?.Cash;\r\n setRoomJackpot(room, jackpot);\r\n\r\n // see if price is defined in sitecore\r\n const overridePrice = room.dataset['overridePrice'].toString();\r\n\r\n if (overridePrice?.length > 0) {\r\n // use price defined in sitecore\r\n setRoomPrice(room, overridePrice);\r\n } else {\r\n // use price defined in feed\r\n setRoomPrice(room, nextGame.card_price_in_player_currency.Cash.toString());\r\n }\r\n\r\n Content.makeSlider(room);\r\n }\r\n }\r\n\r\n var getTimeLeft = function (startStr) {\r\n startStr = startStr * 1000;\r\n var diff = new Date(startStr).getTime() - TimeUtils.getServerDateTime().getTime();\r\n var compound = TimeUtils.getCompoundTimeObject(diff);\r\n\r\n if (compound.days > 0) return TimeUtils.formatTime('d:hh:mm:ss', compound);\r\n if (compound.hours > 0) return TimeUtils.formatTime('h:mm:ss', compound);\r\n return TimeUtils.formatTime('mm:ss', compound);\r\n };\r\n\r\n // update game start counter\r\n function setRoomCountdown(room) {\r\n // make sure room details show\r\n var startDate = room.dataset['gameStart'];\r\n\r\n if (startDate) {\r\n var timer = getTimeLeft(startDate);\r\n\r\n // set time on DOM element, strip leading zero\r\n room.querySelector('.js-bingo-card-start').innerText = timer.replace(/^0/, '');\r\n\r\n // set timer width\r\n var secondsLeft = TimeUtils.getSecondsFromExtendedTimeFormat(timer);\r\n var secondsTotal = room.dataset['gameDuration'] || 1;\r\n\r\n\r\n var timerWidth = 100 - ((secondsLeft / secondsTotal) * 100);\r\n if (timerWidth > 100) timerWidth = 100;\r\n if (timerWidth < 0) timerWidth = 0;\r\n\r\n room.querySelector('.js-bingo-card-timer').style.width = timerWidth + '%';\r\n room.querySelector('.js-bingo-card-timer').style.display = 'block';\r\n\r\n // nudge countdown at the edges, so it doesn't bleed too much out over the edges\r\n if (timerWidth < 16) {\r\n room.querySelector('.js-bingo-card-start').style.right = (timerWidth - 16) + 'px';\r\n } else if (timerWidth > 84) {\r\n room.querySelector('.js-bingo-card-start').style.right = ((timerWidth - 100) + 16) + 'px';\r\n } else {\r\n room.querySelector('.js-bingo-card-start').style.right = '';\r\n }\r\n\r\n // mark game as closed if more than 30 minutes to start if game is not free. If the game is free we do not want to grey out the game\r\n if (room.dataset.gamePrice !== '0,00 kr.') {\r\n if (secondsLeft > (60 * 30)) {\r\n room.classList.add('bingo-card__closed');\r\n\r\n room.querySelector('.bingo-card__wrapper').addEventListener('click', disableLink, false);\r\n setRoomPlayers(room, 0);\r\n } else {\r\n room.classList.remove('bingo-card__closed');\r\n room.querySelector('.bingo-card__wrapper').removeEventListener('click', disableLink, false);\r\n }\r\n }\r\n\r\n // blink when time left is 10 seconds\r\n if (secondsLeft <= 10 && !room.dataset['game-countdown-blink']) {\r\n room.dataset['gameCountdownBlink'] = true;\r\n room.querySelector('.js-bingo-card-timer').classList.add('bingo-card__timer-status-countdown--alert');\r\n }\r\n\r\n // remove blink when time left is higher than 10 seconds\r\n if (secondsLeft > 10 && room.dataset['gameCountdownBlink']) {\r\n room.dataset['gameCountdownBlink'] = false;\r\n room.querySelector('.js-bingo-card-timer').classList.remove('bingo-card__timer-status-countdown--alert');\r\n }\r\n\r\n // if game started, set estimated start time and request the real start times\r\n\r\n if (secondsLeft === 0) {\r\n // add time difference between games\r\n var estimatedNextGameStart = new Date(startDate);\r\n estimatedNextGameStart.setSeconds(estimatedNextGameStart.getSeconds() + secondsTotal);\r\n\r\n // set game start time directly on DOM\r\n room.dataset['gameStart'] = estimatedNextGameStart.toString();\r\n\r\n // request new start times and values\r\n GameFeed.load();\r\n }\r\n } else {\r\n // seems like we don't have a start time\r\n room.querySelector('.js-bingo-card-start').innerText = '0:00';\r\n GameFeed.load();\r\n }\r\n }\r\n\r\n function setRoomPlayers(room, players) {\r\n // don't change DOM if values have not changed\r\n if (room.dataset['gamePlayers'] !== players) {\r\n room.dataset['gamePlayers'] = players;\r\n let playersField = room.querySelector('.js-bingo-card-players');\r\n if (playersField) {\r\n playersField.innerHTML = players || 0;\r\n }\r\n }\r\n }\r\n\r\n const setRoomPotSize = (room, potSize) => {\r\n if (potSize && room.dataset['gamePotSize'] !== potSize) {\r\n room.dataset['gamePotSize'] = potSize;\r\n potSize = Utils.numberFormat(potSize, 0, ',', '.');\r\n const curvedPotSizeText = room.querySelector('.bingo-card__curved-text');\r\n curvedPotSizeText.classList.remove('bingo-card__curved-text--pot-size-hidden');\r\n let potsize = room.querySelector('.js-bingo-card-potsize');\r\n if (potsize) {\r\n potsize.innerHTML = potSize + ' kr.';\r\n }\r\n Content.createPriceSlide(room, 'pot-size', potSize);\r\n }\r\n };\r\n\r\n const setRoomJackpot = (room, jackpot) => {\r\n if (jackpot && room.dataset['gameJackpot'] !== jackpot) {\r\n room.dataset['gameJackpot'] = jackpot;\r\n jackpot = Utils.numberFormat(jackpot, 0, ',', '.');\r\n Content.createPriceSlide(room, 'jackpot', jackpot);\r\n }\r\n };\r\n\r\n\r\n function setRoomPrice(room, feedPrice) {\r\n // if price is invalid, set price to zero\r\n let price = feedPrice ? Utils.formatCurrency(feedPrice.replace(',', '.')) : '0';\r\n\r\n // show price if price is greater than zero, otherwise show only label\r\n if (room.dataset['gamePrice'] !== price) {\r\n room.dataset['gamePrice'] = price;\r\n\r\n let isFree = !feedPrice || feedPrice === '0';\r\n room.querySelector('.js-bingo-card-free').style.display = isFree ? 'block' : 'none';\r\n room.querySelector('.js-bingo-card-not-free').style.display = isFree ? 'none' : 'block';\r\n\r\n if (!isFree) {\r\n room.querySelector('.js-bingo-card-price').innerText = price;\r\n }\r\n }\r\n }\r\n\r\n\r\n function disableLink(ev) {\r\n ev.preventDefault();\r\n }\r\n\r\n init();\r\n});\r\n","defineDs('DanskeSpil/Domain/Avalon.Bingo/Scripts/GVC/FeaturedGame', [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/GameVendorGVC/Scripts/Helpers/BingoApi'\r\n], function (Utils, BingoApi) {\r\n\r\n var gameId;\r\n var jackpotText;\r\n var cardPriceText;\r\n var currencyLabel = ' kr.';\r\n\r\n function init() {\r\n if (document.querySelector('.mode-edit')) return;\r\n\r\n var $room = document.querySelector('.js-bingo-featuredgame');\r\n if ($room && $room.dataset['gameId']) {\r\n gameId = $room.dataset['gameId'];\r\n jackpotText = $room.dataset['jackpotText'];\r\n cardPriceText = $room.dataset['cardpriceText'];\r\n updateGame();\r\n setInterval(function () {\r\n updateGame();\r\n }, 30000);\r\n }\r\n }\r\n var updateGame = function () {\r\n BingoApi.getGameRoom(gameId).then(function (data) {\r\n if (data) {\r\n var $room = document.querySelector('.js-bingo-featuredgame');\r\n\r\n if ($room) {\r\n if (data.jackpot) {\r\n $room.innerHTML = jackpotText.replace('{jackpot}', Utils.numberFormat(data.jackpot, 0, ',', '.'));\r\n }\r\n if (data.cardPrice) {\r\n if (data.cardPrice < 1) {\r\n data.cardPrice *= 100;\r\n currencyLabel = ' øre';\r\n }\r\n var $cardPrice = document.querySelector('.js-bingo-featuredgame-cardprice');\r\n if ($cardPrice) {\r\n $cardPrice.innerHTML = cardPriceText.replace('{cardPrice}', Utils.numberFormat(data.cardPrice, 0, ',', '.') + currencyLabel);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n };\r\n init();\r\n});\r\n","defineDs('DanskeSpil/Domain/Avalon.Bingo/Scripts/AnimateBackground', function () {\r\n\r\n // Get reference to background elements\r\n var firstBg = null;\r\n var secondBg = null;\r\n if (document.getElementsByClassName('bingo-games__bg--1').length > 0 && document.getElementsByClassName('bingo-games__bg--2').length > 0) {\r\n firstBg = document.getElementsByClassName('bingo-games__bg--1')[0];\r\n secondBg = document.getElementsByClassName('bingo-games__bg--2')[0];\r\n }\r\n\r\n function randomFromInterval(max) {\r\n return Math.random() * max;\r\n }\r\n\r\n function setOpacities() {\r\n var maxRand = 0.6;\r\n var randFloat = randomFromInterval(maxRand);\r\n firstBg.style.opacity = randFloat;\r\n secondBg.style.opacity = (maxRand - randFloat);\r\n }\r\n\r\n function startAnimation() {\r\n setOpacities();\r\n\r\n setInterval(function () {\r\n setOpacities();\r\n }, 1600);\r\n }\r\n\r\n if (document.getElementsByClassName('bingo-games__bg--1').length > 0 && document.getElementsByClassName('bingo-games__bg--2').length > 0) {\r\n startAnimation();\r\n }\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/Avalon.Bingo/Scripts/IntersectionObservers', function () {\r\n document.addEventListener('DOMContentLoaded', function () {\r\n function init() {\r\n var latestGameContainer = document.querySelector('.hero-spot__latest-game-container');\r\n var campaignContainer = document.querySelector('.hero-spot__campaign-container');\r\n var casinoSpot = document.querySelector('.casino-spot__wrapper');\r\n var casinoSpotArrow = document.querySelector('.casino-spot__wrapper .casino-spot__arrow');\r\n var heroSpotHost = document.querySelector('.hero-spot-with-game-and-chat-host .hero__host');\r\n var heroSpotHostArrow = document.querySelector('.hero-spot-with-game-and-chat-host .hero__host .animated-arrow');\r\n var heroSpotGameTitle = document.querySelector('.hero-spot-with-game-and-chat-host .hero__game-title');\r\n var heroSpotGameTitleArrow = document.querySelector('.hero-spot-with-game-and-chat-host .hero__game-title .animated-arrow');\r\n var seoSpot = document.querySelector('.seo-spot');\r\n var seoSpotBg = document.querySelector('.seo-spot .curve');\r\n var seoSpotTitle = document.querySelector('.seo-spot .seo__box-title');\r\n var seoSpotTitleArrow = document.querySelector('.seo-spot .seo__box-title .animated-arrow');\r\n var seoSpotCta = document.querySelector('.seo-spot .seo__box-cta-arrow');\r\n var seoSpotCtaArrow = document.querySelector('.seo-spot .seo__box-cta-arrow .animated-arrow');\r\n var seoSpotLabel = document.querySelector('.seo-spot .seo__description-text--column-2');\r\n var seoSpotLabelArrow = document.querySelector('.seo-spot .seo__description-text--column-2 .animated-arrow');\r\n var heroCampaignSpotArrow = document.querySelector('.bingo-hero-campaign-spot .animated-arrow');\r\n var heroCampaignSpot = document.querySelector('.hero__chat-host');\r\n\r\n observe(latestGameContainer, 1000);\r\n observe(campaignContainer, 1500);\r\n observe(casinoSpotArrow, 500, casinoSpot, true);\r\n observe(heroSpotHostArrow, 500, heroSpotHost, true);\r\n observe(heroSpotGameTitleArrow, 500, heroSpotGameTitle, true);\r\n observe(seoSpot, 200, seoSpotBg, false);\r\n observe(seoSpotTitleArrow, 500, seoSpotTitle, true);\r\n observe(seoSpotCtaArrow, 500, seoSpotCta, true);\r\n observe(seoSpotLabelArrow, 500, seoSpotLabel, false);\r\n observe(heroCampaignSpotArrow, 200, heroCampaignSpot);\r\n }\r\n\r\n var observe = function (observeEl, timeout, triggerEl, fullElementInView, modifier) {\r\n // \"fullElementInView\" should only be set when the whole element can fit on the screen\r\n fullElementInView = fullElementInView ? 1 : 0;\r\n triggerEl = triggerEl || observeEl;\r\n timeout = timeout || 0;\r\n modifier = modifier || 'animate';\r\n\r\n if (!observeEl || !triggerEl) {\r\n return;\r\n }\r\n\r\n if (!window.IntersectionObserver) {\r\n triggerEl.classList.add(modifier);\r\n return;\r\n }\r\n\r\n var callback = function (entries, observer) {\r\n entries.forEach(function (entry) {\r\n if (entry.isIntersecting) {\r\n setTimeout(function () {\r\n triggerEl.classList.add(modifier);\r\n }, timeout);\r\n observer.unobserve(entry.target);\r\n }\r\n });\r\n };\r\n\r\n var observerOptions = {\r\n rootMargin: '0px',\r\n threshold: [fullElementInView]\r\n };\r\n\r\n var observer = new IntersectionObserver(callback, observerOptions); // eslint-disable-line compat/compat\r\n observer.observe(observeEl);\r\n };\r\n\r\n init();\r\n\r\n });\r\n});\r\n","defineDs('DanskeSpil/Domain/Avalon.Bingo/Scripts/Components/AddToHomeScreen', [\r\n 'Common/Framework/EventHandling/Scripts/Event',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n], function (Event, Ensighten) {\r\n const storageKey = 'add-to-home-screen-bingo';\r\n\r\n\r\n /**\r\n * The `element` object will store references to various DOM elements related to the \"Add to Home Screen\" feature.\r\n */\r\n const element = {};\r\n element.addToHomeScreen = document.querySelector('.js-add-to-home-screen');\r\n\r\n if (!element.addToHomeScreen) return;\r\n\r\n element.background = element.addToHomeScreen.querySelector('.js-background');\r\n element.popup = element.addToHomeScreen.querySelector('.js-popup');\r\n element.popupChromeIOS = element.addToHomeScreen.querySelector('.js-popup-chrome-ios');\r\n element.popupCta = element.popup.querySelector('.js-cta');\r\n element.popupClose = element.popup.querySelector('.js-close');\r\n element.popupGuide = element.addToHomeScreen.querySelector('.js-guide');\r\n element.popupGuideClose = element.popupGuide.querySelector('.js-close');\r\n element.popupChromeIOSClose = element.popupChromeIOS.querySelector('.js-close');\r\n const sitecoreItemName = element.addToHomeScreen.getAttribute('data-item-name');\r\n\r\n\r\n /**\r\n * Handles the tracking of user interactions with the \"Add to Home Screen\" popup.\r\n * Sends tracking events to Ensighten.\r\n *\r\n * @param {string} action - The action performed by the user ('shown', 'close', 'add', etc.)\r\n */\r\n const handleTracking = (action) => {\r\n // Fetch data from local storage using the specified storage key.\r\n // If no data is found, default to an empty object.\r\n const data = JSON.parse(localStorage.getItem(storageKey)) || {};\r\n\r\n // If there's a count of how many times the popup has been seen, send a tracking event.\r\n if (data.popupSeenCount) {\r\n // Push the event to Ensighten with the category 'smartbanner', the provided action, and the popup seen count.\r\n Ensighten.pushGaEvent('smartbanner', action, data.popupSeenCount, sitecoreItemName);\r\n }\r\n };\r\n\r\n\r\n // Initialize deferredPrompt for use later to show browser install prompt.\r\n let deferredPrompt;\r\n\r\n\r\n /**\r\n * Determines the operating system of the user's device based on the user agent.\r\n * @returns {string} - Returns the OS type ('android', 'ipad', 'ios', or 'unknown').\r\n */\r\n const getOS = () => {\r\n const userAgent = navigator.userAgent;\r\n\r\n if (/android/i.test(userAgent)) return 'android';\r\n\r\n // Checks for macOS devices with touch capability, which indicates an iPad.\r\n if (/Macintosh/i.test(userAgent) && navigator.maxTouchPoints && navigator.maxTouchPoints > 1) return 'ipad';\r\n\r\n if (/iPad|iPhone|iPod/.test(userAgent)) return 'ios';\r\n\r\n return 'unknown'; // If none of the above, the OS is unknown.\r\n };\r\n\r\n\r\n /**\r\n * Determines if the user's browser is Safari.\r\n * @returns {boolean} - Returns true if the browser is Safari, otherwise false.\r\n */\r\n const browserIsSafari = () => {\r\n const userAgent = window.navigator.userAgent;\r\n return /safari/i.test(userAgent) && !/chrome/i.test(userAgent); // Safari's user agent contains 'Safari' but Chrome's contains both 'Safari' and 'Chrome'.\r\n };\r\n\r\n\r\n /**\r\n * Determines if the user's browser is Chrome on iOS.\r\n * @returns {boolean} - Returns true if the browser is Chrome on iOS, otherwise false.\r\n */\r\n const browserIsChromeOnIOS = () => {\r\n const userAgent = window.navigator.userAgent;\r\n const isIOS = getOS() === 'ios';\r\n return isIOS && /CriOS/i.test(userAgent);\r\n };\r\n\r\n\r\n /**\r\n * Checks if the web app is being viewed in standalone mode.\r\n * Standalone mode means the web app is launched from the user's home screen, not from a browser.\r\n * @returns {boolean} - Returns true if in standalone mode, otherwise false.\r\n */\r\n const isInStandaloneMode = () => window.matchMedia('(display-mode: standalone)').matches;\r\n\r\n\r\n /**\r\n * Utility function that determines if the user is logged in.\r\n * If the user's login status is not immediately determinable,\r\n * the function waits for the 'pageload-auth-synced' event to be fired.\r\n *\r\n * @returns {Promise} - Resolves with true if the user is logged in, otherwise false.\r\n */\r\n const isUserLoggedIn = (timeout = 30000) => {\r\n return new Promise((resolve, reject) => {\r\n // Check if the body element has the 'is-logged-in' class\r\n if (document.querySelector('body.is-logged-in')) {\r\n // If the class is present, resolve the promise with true\r\n resolve(true);\r\n } else {\r\n // If the class is not present, set up an event handler for the 'pageload-auth-synced' event\r\n const handleEvent = () => {\r\n // Once the event is fired, unsubscribe from it to avoid any potential memory leaks\r\n Event.unsubscribe('pageload-auth-synced', handleEvent);\r\n // Check again if the body element has the 'is-logged-in' class and resolve the promise accordingly\r\n resolve(!!document.querySelector('body.is-logged-in'));\r\n };\r\n\r\n // Subscribe to the 'pageload-auth-synced' event\r\n Event.subscribe('pageload-auth-synced', handleEvent);\r\n\r\n // Set up a timeout to reject the promise if the event doesn't fire within the specified time\r\n setTimeout(() => {\r\n Event.unsubscribe('pageload-auth-synced', handleEvent); // Cleanup the event listener\r\n reject(new Error('Login status check timed out'));\r\n }, timeout);\r\n }\r\n });\r\n };\r\n\r\n\r\n const popupLogic = {\r\n\r\n /**\r\n * Determines whether the popup should be shown to the user based on past interactions.\r\n * This is decided using various conditions such as whether the user has added the app to the home screen,\r\n * how many times the popup has been seen, and when it was last closed.\r\n * @returns {boolean} - Returns true if the popup should be shown, otherwise false.\r\n */\r\n shouldShow: function () {\r\n const data = JSON.parse(localStorage.getItem(storageKey)) || {};\r\n\r\n // If the app has already been added to the home screen, no need to show the popup\r\n if (data.addedToHome) {\r\n return false;\r\n }\r\n\r\n // If the user hasn't seen the popup, increment the seen count and show the popup\r\n if (!data.hasSeenPopup) {\r\n data.popupSeenCount = (data.popupSeenCount || 0) + 1;\r\n localStorage.setItem(storageKey, JSON.stringify(data));\r\n return true;\r\n }\r\n\r\n // If the user has closed the popup at least twice,\r\n // check the time elapsed since the last closure\r\n if (data.closedCount >= 2) {\r\n if (data.lastClosed) {\r\n const twoMonthsInMillis = 2 * 30 * 24 * 60 * 60 * 1000;\r\n\r\n // If it's been less than two months since the last closure, don't show the popup\r\n if (Date.now() - data.lastClosed < twoMonthsInMillis) {\r\n return false;\r\n } else {\r\n data.popupSeenCount = (data.popupSeenCount || 0) + 1;\r\n localStorage.setItem(storageKey, JSON.stringify(data));\r\n return true;\r\n }\r\n }\r\n } else if (typeof data.visitCount === 'undefined' || data.visitCount >= 5) {\r\n data.popupSeenCount = (data.popupSeenCount || 0) + 1;\r\n localStorage.setItem(storageKey, JSON.stringify(data));\r\n return true;\r\n }\r\n\r\n return false;\r\n },\r\n\r\n\r\n /**\r\n * Registers a visit to the site or app, incrementing the visit count.\r\n * Resets the visit count if it reaches a threshold.\r\n */\r\n registerVisit: function () {\r\n const data = JSON.parse(localStorage.getItem(storageKey)) || {};\r\n\r\n data.hasSeenPopup = true;\r\n data.visitCount = (data.visitCount || 0) + 1;\r\n\r\n // Reset the visit count after the user has visited six times\r\n if (data.visitCount >= 6) {\r\n data.visitCount = 0;\r\n }\r\n\r\n localStorage.setItem(storageKey, JSON.stringify(data));\r\n },\r\n\r\n\r\n /**\r\n * Registers the user's action of closing the popup.\r\n * This function updates various values in the local storage to track user interactions\r\n * with the popup, including whether they've seen it, how many times they've visited,\r\n * and how many times they've closed it.\r\n */\r\n registerClose: function () {\r\n const data = JSON.parse(localStorage.getItem(storageKey)) || {};\r\n\r\n data.hasSeenPopup = true;\r\n data.visitCount = 1;\r\n data.closedCount = (data.closedCount || 0) + 1;\r\n\r\n // If the user has closed the popup at least twice, record the timestamp of the latest closure\r\n if (data.closedCount >= 2) {\r\n data.lastClosed = Date.now();\r\n }\r\n\r\n localStorage.setItem(storageKey, JSON.stringify(data));\r\n },\r\n\r\n\r\n /**\r\n * Registers the user's action of adding the web app to their home screen.\r\n * This function updates a value in the local storage to track that the user has\r\n * chosen to add the app to their home screen.\r\n */\r\n registerAddToHome: function () {\r\n // Retrieve the existing data from local storage\r\n // If there's no data, default to an empty object\r\n const data = JSON.parse(localStorage.getItem(storageKey)) || {};\r\n\r\n // Update the data object to indicate that the app has been added to the home screen\r\n data.addedToHome = true;\r\n\r\n // Save the updated data back to local storage\r\n localStorage.setItem(storageKey, JSON.stringify(data));\r\n },\r\n };\r\n\r\n\r\n // Hides the main popup from the user\r\n const hidePopup = () =>\r\n element.popup.classList.add('add-to-home-screen__popup--hidden');\r\n\r\n\r\n // Hides the background\r\n const hideBackground = () =>\r\n element.background.classList.add('add-to-home-screen__bg--hidden');\r\n\r\n\r\n // Displays the background\r\n const showBackground = () =>\r\n element.background.classList.remove('add-to-home-screen__bg--hidden');\r\n\r\n\r\n /**\r\n * Hides the popup guide that provides instructions or additional details.\r\n * This function not only hides the guide itself but also hides the background overlay and\r\n * the \"Add to Home Screen\" UI component.\r\n */\r\n const hidePopupGuide = () => {\r\n element.popupGuide.classList.add('add-to-home-screen__guide--hidden');\r\n hideBackground();\r\n hideAddToHomeScreen();\r\n };\r\n\r\n\r\n // Hides the Chrome IOS popup that provides instructions or additional details.\r\n const hidePopupChromeIOS = () => {\r\n element.popupChromeIOS.classList.add('add-to-home-screen__chrome-ios--hidden');\r\n hideBackground();\r\n hideAddToHomeScreen();\r\n };\r\n\r\n\r\n // Displays the \"Add to Home Screen\" UI element\r\n const showAddToHomeScreen = () =>\r\n element.addToHomeScreen.classList.remove('add-to-home-screen--hidden');\r\n\r\n\r\n // Hides the \"Add to Home Screen\" UI element\r\n const hideAddToHomeScreen = () =>\r\n element.addToHomeScreen.classList.add('add-to-home-screen--hidden');\r\n\r\n\r\n /**\r\n * Handles the user's action to close the popup.\r\n * This function defines the steps to take once the user decides to close\r\n * or dismiss the popup, such as hiding the popup, registering the close event,\r\n * and tracking the user's action.\r\n */\r\n const handlePopupClose = () => {\r\n // Hide the currently displayed popup\r\n hidePopup();\r\n\r\n // Register the event of the user closing the popup\r\n popupLogic.registerClose();\r\n\r\n // Handle the tracking for the close action\r\n handleTracking('close');\r\n };\r\n\r\n\r\n /**\r\n * Handles the user interaction with the popup's Call To Action (CTA) button.\r\n * This function determines the logic that follows once a user clicks on the CTA,\r\n * which may include hiding the current popup, showing further instructions, or\r\n * prompting to add the app to the home screen, based on the operating system.\r\n */\r\n const handlePopupCTA = () => {\r\n // Hide the current popup from view\r\n hidePopup();\r\n\r\n // Register the event of the user interacting with the \"Add to Home Screen\" CTA\r\n popupLogic.registerAddToHome();\r\n\r\n // Handle tracking for the event when the CTA is clicked\r\n handleTracking('add');\r\n\r\n // Get the user's operating system to determine the next set of actions\r\n const os = getOS();\r\n\r\n // If the user's device is an iOS device (either iPhone or iPad)\r\n if (os === 'ios' || os === 'ipad') {\r\n // Check if the user's browser is Chrome on iOS\r\n const isChromeOnIOS = browserIsChromeOnIOS();\r\n\r\n if (!isChromeOnIOS) {\r\n // Display further instructions or a guide for manually adding the app to the home screen on Safari iOS\r\n showPopupGuide();\r\n } else {\r\n // Display further instructions or a guide for manually adding the app to the home screen on Chrome iOS\r\n showPopupChromeIOS();\r\n }\r\n\r\n // Display a backdrop to emphasize the popup guide and de-emphasize other parts of the page\r\n showBackground();\r\n }\r\n\r\n // If the user's device is an Android device\r\n if (os === 'android') {\r\n // Prompt the user to add the web app to the home screen on Android\r\n addToAndroidHomeScreen();\r\n\r\n // Hide the \"Add to Home Screen\" element, as it's no longer necessary\r\n hideAddToHomeScreen();\r\n }\r\n };\r\n\r\n\r\n /**\r\n * Displays a popup for the user.\r\n * This function is responsible for showing the main popup, setting up event listeners\r\n * for interaction elements within the popup, and handling tracking.\r\n */\r\n const showPopup = () => {\r\n // Display the \"Add to Home Screen\" popup\r\n showAddToHomeScreen();\r\n\r\n // Listen for the 'click' event on the 'Close' button\r\n element.popupClose.addEventListener('click', handlePopupClose);\r\n\r\n // Listen for the 'click' event on the 'Add' button\r\n element.popupCta.addEventListener('click', handlePopupCTA);\r\n\r\n // Remove the 'hidden' class from the 'popup' element to make it visible to the user\r\n element.popup.classList.remove('add-to-home-screen__popup--hidden');\r\n\r\n // Handle tracking for the event when the popup is shown\r\n handleTracking('shown');\r\n };\r\n\r\n\r\n /**\r\n * Displays a popup guide for the user.\r\n * This function is responsible for showing the popup and setting up event listeners\r\n * to close the popup when specific elements are clicked.\r\n */\r\n const showPopupGuide = () => {\r\n // Listen for the 'click' event on the 'popupGuideClose' button\r\n // When the user clicks on this button, the popup guide will be hidden\r\n element.popupGuideClose.addEventListener('click', hidePopupGuide);\r\n\r\n // Listen for the 'click' event on the 'background' element\r\n // Clicking outside the popup (on the background) will also hide the popup\r\n element.background.addEventListener('click', hidePopupGuide);\r\n\r\n // Remove the 'hidden' class from the 'popupGuide' element to make it visible\r\n element.popupGuide.classList.remove('add-to-home-screen__popup--hidden');\r\n\r\n // Register the event of showing the add-to-home-screen popup guide\r\n popupLogic.registerAddToHome();\r\n };\r\n\r\n\r\n /**\r\n * Displays a Chrome guide for the IOS user.\r\n * This function is responsible for showing the guide and setting up event listeners\r\n * to close the popup when specific elements are clicked.\r\n */\r\n const showPopupChromeIOS = () => {\r\n // Listen for the 'click' event on the 'popupChromeIOSClose' button\r\n // When the user clicks on this button, the popup guide will be hidden\r\n element.popupChromeIOSClose.addEventListener('click', hidePopupChromeIOS);\r\n\r\n // Listen for the 'click' event on the 'background' element\r\n // Clicking outside the popup (on the background) will also hide the popup\r\n element.background.addEventListener('click', hidePopupChromeIOS);\r\n\r\n // Remove the 'hidden' class from the 'popupChromeIOS' element to make it visible\r\n element.popupChromeIOS.classList.remove('add-to-home-screen__popup--hidden');\r\n\r\n // Register the event of showing the add-to-home-screen Chrome IOS guide\r\n popupLogic.registerAddToHome();\r\n };\r\n\r\n\r\n /**\r\n * Facilitates the process of adding the web app to the Android home screen.\r\n * This function listens for the app's installation and displays an install prompt.\r\n */\r\n const addToAndroidHomeScreen = () => {\r\n // Listen for the 'appinstalled' event on the window object\r\n // This event is fired when the app has been successfully installed\r\n window.addEventListener('appinstalled', () => {\r\n // Register the event of adding the app to the home screen\r\n popupLogic.registerAddToHome();\r\n });\r\n\r\n // Trigger the previously deferred installation prompt\r\n // This prompt asks the user if they want to add the app to their home screen\r\n deferredPrompt.prompt();\r\n\r\n // After using the deferred prompt, it cannot be reused\r\n // Therefore, nullify it to ensure it's not called again\r\n deferredPrompt = null;\r\n };\r\n\r\n\r\n const addLinkToPwaIcons = () => {\r\n const link1 = document.createElement('link');\r\n const link2 = document.createElement('link');\r\n const link3 = document.createElement('link');\r\n const link4 = document.createElement('link');\r\n link1.rel = 'apple-touch-icon';\r\n link2.rel = 'apple-touch-icon';\r\n link3.rel = 'apple-touch-icon';\r\n link4.rel = 'apple-touch-icon';\r\n link1.href = '/Components/DanskeSpil/Domain/Avalon.Bingo/Graphics/AddToHomeScreen/add-to-homescreen-512.png';\r\n link2.href = '/Components/DanskeSpil/Domain/Avalon.Bingo/Graphics/AddToHomeScreen/add-to-homescreen-167.png';\r\n link3.href = '/Components/DanskeSpil/Domain/Avalon.Bingo/Graphics/AddToHomeScreen/add-to-homescreen-152.png';\r\n link4.href = '/Components/DanskeSpil/Domain/Avalon.Bingo/Graphics/AddToHomeScreen/add-to-homescreen-120.png';\r\n document.head.appendChild(link1);\r\n document.head.appendChild(link2);\r\n document.head.appendChild(link3);\r\n document.head.appendChild(link4);\r\n };\r\n\r\n\r\n /**\r\n * Adds a link to the web app manifest to the page's head.\r\n * The web app manifest provides metadata used when the web app\r\n * is added to the home screen of a user's device, transforming the web app\r\n * into a Progressive Web App (PWA).\r\n */\r\n const addLinkToManifest = () => {\r\n // Create a new 'link' element\r\n const link = document.createElement('link');\r\n\r\n // Set the 'rel' attribute to specify the relationship between the current document and the linked document/resource\r\n link.rel = 'manifest';\r\n\r\n // Set the 'href' attribute to point to the location of the web app manifest file\r\n link.href = '/bingo/manifest.json';\r\n\r\n // Append the created 'link' element to the head of the document, effectively adding the manifest link to the page\r\n document.head.appendChild(link);\r\n };\r\n\r\n\r\n const addOsToPopup = (os) => {\r\n element.addToHomeScreen.classList.add(`add-to-home-screen--${os}`);\r\n };\r\n\r\n\r\n /**\r\n * Initializes the logic for displaying a popup.\r\n */\r\n const initializePopupLogic = () => {\r\n // Check if the popup should be displayed\r\n if (popupLogic.shouldShow()) {\r\n // Display the popup if conditions are met\r\n showPopup();\r\n } else {\r\n // If the popup shouldn't be shown, register this visit\r\n popupLogic.registerVisit();\r\n }\r\n };\r\n\r\n\r\n /**\r\n * Initializes the logic for Android's install prompt.\r\n * This function is used to handle the 'beforeinstallprompt' event,\r\n * which gets fired right before the browser displays its install prompt to the user.\r\n */\r\n const initializeAndroidInstallPrompt = () => {\r\n // Listen for the 'beforeinstallprompt' event on the window object\r\n window.addEventListener('beforeinstallprompt', (ev) => {\r\n\r\n // Prevent the default behavior, which is to show the mini-infobar on mobile\r\n // This allows us to provide a custom install experience\r\n ev.preventDefault();\r\n\r\n // Check if the event was generated by a user gesture and not scripted\r\n // This ensures the prompt is genuine and not a result of a malicious action\r\n if (!ev.isTrusted) return;\r\n\r\n // Store the event in 'deferredPrompt' so it can be triggered later on-demand\r\n // This provides flexibility in deciding when to show the install prompt\r\n deferredPrompt = ev;\r\n\r\n // Initialize the logic to potentially show a custom popup related to the install process\r\n initializePopupLogic();\r\n });\r\n };\r\n\r\n\r\n // Initializes the logic for the \"Add to Home Screen\" functionality\r\n const initialize = () => {\r\n // Check if the 'addToHomeScreen' element exists and if the page is not already in standalone mode\r\n if (isInStandaloneMode()) return;\r\n\r\n // Add a link to the icons used in web app manifest\r\n addLinkToPwaIcons();\r\n\r\n // Add a link to the web app manifest\r\n addLinkToManifest();\r\n\r\n // Get the operating system of the device\r\n const os = getOS();\r\n\r\n addOsToPopup(os);\r\n\r\n // Handle the logic based on the detected operating system\r\n switch (os) {\r\n // For iOS devices (both iPhones and iPads)\r\n case 'ios':\r\n case 'ipad':\r\n // Check if the browser is Safari\r\n if (browserIsSafari() || browserIsChromeOnIOS) {\r\n // Initialize logic for displaying the popup for adding to home screen on iOS\r\n initializePopupLogic();\r\n }\r\n break;\r\n // For Android devices\r\n case 'android':\r\n // Initialize the Android-specific install prompt logic\r\n initializeAndroidInstallPrompt();\r\n break;\r\n }\r\n };\r\n\r\n\r\n /**\r\n * This immediately-invoked function expression (IIFE) checks if the user is logged in\r\n * and initializes the application accordingly.\r\n */\r\n (async () => {\r\n // Wait for the isUserLoggedIn utility function to determine the login status\r\n const loggedIn = await isUserLoggedIn();\r\n\r\n if (loggedIn) {\r\n // If the user is logged in, initialize the application\r\n initialize();\r\n } else {\r\n // If the user is not logged in, no further action is taken\r\n }\r\n })();\r\n\r\n\r\n});","defineDs('DanskeSpil/Framework/FlipClock/Scripts/FlipClock', [\r\n 'DanskeSpil/Framework/TimeUtils/Scripts/TimeUtils',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/DOMUtils',\r\n], function (TimeUtils, Utils, DOMUtils) {\r\n\r\n var resizeClocks = function () {\r\n if (document.querySelector('.js-flip-clock')) {\r\n Utils.logDeprecated('Framework/FlipClock/Scripts/FlipClock.js - .js-flip-clock found'); // Added by MIPE 2022-08-04\r\n }\r\n\r\n document.querySelectorAll('.js-flip-clock').forEach(function ($clock) {\r\n var breakPoints = $clock.dataset['breakPoints'];\r\n var parentWidth = $clock.parentNode.getBoundingClientRect().width;\r\n var invertColors = $clock.dataset['invertColor'];\r\n\r\n $clock.classList.remove('flip-clock--xsmall', 'flip-clock--small', 'flip-clock--default', 'flip-clock--large', 'flip-clock--xlarge', 'flip-clock--invert');\r\n\r\n if (invertColors === 'True') {\r\n $clock.classList.add('flip-clock--invert');\r\n }\r\n\r\n if (breakPoints.xlarge && parentWidth >= breakPoints.xlarge) {\r\n $clock.classList.add('flip-clock--xlarge');\r\n } else if (breakPoints.large && parentWidth >= breakPoints.large) {\r\n $clock.classList.add('flip-clock--large');\r\n } else if (breakPoints.default && parentWidth >= breakPoints.default) {\r\n $clock.classList.add('flip-clock--default');\r\n } else if (breakPoints.small && parentWidth >= breakPoints.small) {\r\n $clock.classList.add('flip-clock--small');\r\n } else {\r\n $clock.classList.add('flip-clock--xsmall');\r\n }\r\n });\r\n };\r\n\r\n var domCounter = function ($clock, counter, val) {\r\n var ul = $clock.querySelectorAll('ul')[counter];\r\n\r\n var beforeVal = ul.querySelector('.before .js-up')?.textContent ?? '';\r\n var valUp;\r\n var valDown = val;\r\n\r\n if (counter === 0) {\r\n // days\r\n if (val > 99) {\r\n valUp = 99;\r\n valDown = 99;\r\n } else {\r\n valUp = val === 99 ? 99 : val + 1;\r\n }\r\n } else if (counter === 1) {\r\n // hours\r\n valUp = val === 23 ? 0 : val + 1;\r\n } else {\r\n // mins and secs\r\n valUp = val === 59 ? 0 : val + 1;\r\n }\r\n\r\n // prefix with zero for value 0-9\r\n valUp = ('0' + valUp).slice(-2);\r\n valDown = ('0' + valDown).slice(-2);\r\n\r\n if (beforeVal !== valUp) {\r\n var $flipper = ul.querySelector('li.active');\r\n\r\n const $jsUpActive = ul.querySelector('.active .js-up');\r\n const $jsDownActive = ul.querySelector('.active .js-down');\r\n const $jsUpBefore = ul.querySelector('.before .js-up');\r\n const $jsDownBefore = ul.querySelector('.before .js-down');\r\n\r\n if ($jsUpActive && $jsDownActive && $jsUpBefore && $jsDownBefore) {\r\n $jsUpActive.textContent = valUp;\r\n $jsDownActive.textContent = valUp;\r\n $jsUpBefore.textContent = valDown;\r\n $jsDownBefore.textContent = valDown;\r\n }\r\n\r\n if (!$flipper?.innerHTML) {\r\n $flipper = ul.querySelectorAll('li')[0];\r\n $flipper.classList.add('before');\r\n $flipper.classList.remove('active');\r\n $flipper.nextElementSibling.classList.add('active');\r\n } else if ($flipper.nextElementSibling === null) {\r\n ul.querySelectorAll('li')?.forEach(($el) => {\r\n $el.classList.remove('before');\r\n });\r\n $flipper.classList.add('before');\r\n $flipper.classList.remove('active');\r\n $flipper = ul.querySelectorAll('li')[0];\r\n $flipper.classList.add('active');\r\n $flipper.closest('.flip-clock').classList.add('play');\r\n } else {\r\n ul.querySelectorAll('li')?.forEach(($el) => {\r\n $el.classList.remove('before');\r\n });\r\n $flipper.classList.add('before');\r\n $flipper.classList.remove('active');\r\n $flipper.nextElementSibling.classList.add('active');\r\n $flipper.closest('.flip-clock').classList.add('play');\r\n }\r\n }\r\n };\r\n\r\n var flipPlay = function ($clock) {\r\n var deadline = new Date(parseInt($clock.dataset['endDate'], 10));\r\n var diff = new Date(deadline) - TimeUtils.getServerDateTime();\r\n var t = TimeUtils.getCompoundTimeObject(diff);\r\n domCounter($clock, 3, t.secs);\r\n domCounter($clock, 2, t.mins);\r\n domCounter($clock, 1, t.hours);\r\n domCounter($clock, 0, t.days);\r\n };\r\n\r\n var init = function () {\r\n document.querySelectorAll('.js-flip-clock').forEach(function ($clock) {\r\n const parser = new DOMParser();\r\n const flipClock = parser.parseFromString('', 'text/html').body.firstChild;\r\n\r\n $clock.appendChild(flipClock.cloneNode(true));\r\n $clock.appendChild(flipClock.cloneNode(true));\r\n $clock.appendChild(flipClock.cloneNode(true));\r\n $clock.appendChild(flipClock.cloneNode(true));\r\n\r\n setInterval(function () {\r\n flipPlay($clock);\r\n }, 1000);\r\n });\r\n\r\n resizeClocks();\r\n\r\n window.addEventListener('resize', () => {\r\n setTimeout(resizeClocks, 100);\r\n });\r\n };\r\n\r\n DOMUtils.ready(function () {\r\n init();\r\n });\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/ContentHub/Scripts/EloquaForm', [\r\n 'DanskeSpil/Domain/ContentHub/Scripts/Helpers/ContentHubApi',\r\n], function (Api) {\r\n const form = document.querySelector('.eloqua-form');\r\n if (!form) return;\r\n\r\n const cta = form.querySelector('.eloqua-form__cta');\r\n if (!cta) return;\r\n\r\n const inputFields = form.querySelectorAll('.eloqua-form__form-group input');\r\n const selectFields = form.querySelectorAll('.eloqua-form__form-group select');\r\n\r\n const validateEmail = (email) => {\r\n // Validation from https://emailregex.com/\r\n return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/.test(email);\r\n };\r\n\r\n const getFieldValues = () => {\r\n const id = form.getAttribute('data-form-id');\r\n const fieldValues = [...inputFields, ...selectFields]\r\n .filter(({ id, value }) => id && value)\r\n .map(({ type, id, checked, value }) => {\r\n\r\n if (type === 'checkbox') {\r\n return {\r\n id,\r\n value: checked ? 1 : 0\r\n };\r\n }\r\n\r\n return {\r\n id,\r\n value\r\n };\r\n });\r\n\r\n return { id, fieldValues };\r\n };\r\n\r\n const getContext = () => {\r\n return form.getAttribute('data-form-context') || 'dli';\r\n };\r\n\r\n const initialize = () => {\r\n cta.addEventListener('click', async (ev) => {\r\n\r\n ev.preventDefault();\r\n let canSubmit = true;\r\n\r\n inputFields.forEach((input) => {\r\n let inputIsValid = input.checkValidity();\r\n\r\n if (input.type === 'email' && inputIsValid) {\r\n // Make sure our email input field contains a domain.\r\n inputIsValid = validateEmail(input.value);\r\n }\r\n\r\n if (!inputIsValid) {\r\n canSubmit = false;\r\n }\r\n\r\n input.parentElement.classList.toggle('eloqua-form__field--error', !inputIsValid);\r\n });\r\n\r\n selectFields.forEach((select) => {\r\n let selectIsValid = select.checkValidity();\r\n\r\n if (!selectIsValid) {\r\n canSubmit = false;\r\n }\r\n\r\n select.parentElement.classList.toggle('eloqua-form__field--error', !selectIsValid);\r\n });\r\n\r\n if (!canSubmit) return;\r\n\r\n await Api.sendCampaignForm(getFieldValues(), getContext());\r\n window.scrollTo(0, 0);\r\n form.classList.add('eloqua-form--submitted');\r\n });\r\n };\r\n\r\n initialize();\r\n\r\n});\r\n","defineDs('DanskeSpil/Framework/AppUniverse/Scripts/AppUniverse/Helpers/AppDictionary',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Dictionary'\r\n ],\r\n function (Dictionary) {\r\n return new Dictionary('/AppUniverse');\r\n });\r\n","defineDs('DanskeSpil/Framework/AppUniverse/Scripts/AppUniverse/Components/VersionSelector',\r\n [\r\n 'Common/Framework/EventHandling/Scripts/OutsideClick',\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render'\r\n ],\r\n function (OutsideClick, m, Render) {\r\n\r\n // Template:\r\n var VersionSelector = function (controller) {\r\n // Variables:\r\n var render = Render();\r\n\r\n // Functions:\r\n var toggleSelector = function (state) {\r\n controller.property('toggleSelector', {\r\n name: 'device',\r\n state: state || !controller.property('toggleSelector')['state']\r\n });\r\n };\r\n\r\n var selectOption = function (option) {\r\n controller.selectedOption = option;\r\n controller.deviceSelectorUpdate(option);\r\n controller.property('swipperInit', false);\r\n toggleSelector(false);\r\n\r\n };\r\n\r\n var isActiveOption = function () {\r\n return controller.optionsList &&\r\n controller.optionsList.length &&\r\n controller.property('toggleSelector')['name'] === 'device' &&\r\n controller.property('toggleSelector')['state'];\r\n };\r\n\r\n var selectorDOM = function (label) {\r\n var placeHolderText = controller.selectedOption.displayName || controller.selectedOption;\r\n\r\n return m('.selector-wrapper', [\r\n m('span.selector-label', label),\r\n m('.options-wrapper', {\r\n class: isActiveOption() ? 'active' : '',\r\n config: render.depend('options-wrapper')\r\n }, [\r\n m('.options-placeholder-wrapper', {\r\n onclick: function () {\r\n toggleSelector();\r\n }\r\n }, [\r\n m('span.placeholder-text', placeHolderText),\r\n m('span.placeholder-icon')\r\n ]),\r\n m('.options-list-wrapper',\r\n controller.optionsList.map(function (option) {\r\n if (option.name) {\r\n return m('.option-item-wrapper', {\r\n class: controller.selectedOption === option ? 'selected' : '',\r\n onclick: function () {\r\n selectOption(option);\r\n }\r\n }, [\r\n m('span.option-item-text', option.displayName),\r\n m('span.option-item-icon')\r\n ]);\r\n }\r\n })\r\n )\r\n ])\r\n ]);\r\n };\r\n\r\n // Render:\r\n render.ready.then(function (nodes) {\r\n var optionsWrapper = nodes['options-wrapper'];\r\n if (optionsWrapper) {\r\n var option = optionsWrapper;\r\n if (option.$element.classList.contains('active')) {\r\n OutsideClick(option.$element, option.context, function () {\r\n if (option.$element.classList.contains('active')) {\r\n controller.property('toggleSelector')['state'] = false;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n\r\n // Return:\r\n return m('.app-installation-guide__version-selector',\r\n {\r\n config: render.depend('app-installation-guide__version-selector')\r\n },\r\n controller.deviceSelectorLabel() ? selectorDOM(controller.deviceSelectorLabel()) : null);\r\n };\r\n\r\n // Public functions:\r\n return VersionSelector;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n return function ({ title, text, footerElements, style, activate = true }) {\r\n return m('.tutorial-footer', {\r\n class: activate ? '' : 'tutorial-footer--disable'\r\n },\r\n m('.tutorial-footer-inner', [\r\n m('.tutorial-footer__text-wrapper', [\r\n m('.tutorial-footer__title', { style }, title),\r\n m('.tutorial-footer__text', m.trust(text))\r\n ]),\r\n m('.tutorial-footer__footerElement', footerElements ? footerElements.map(function (footerElement) {\r\n return m('.tutorial-footer__footerElement-wrapper', [\r\n m('.tutorial-footer__footerElement-image-wrapper',\r\n m('img.tutorial-footer__footerElement-image', {\r\n src: footerElement.image\r\n })\r\n ),\r\n m('a.tutorial-footer__footerElement-text-wrapper', {\r\n href: footerElement.helpLink.Url\r\n }, [\r\n m('.tutorial-footer__footerElement-title', footerElement.title),\r\n m('.tutorial-footer__footerElement-text', footerElement.helpLink.Text)\r\n ]),\r\n ]);\r\n }) : null)\r\n ])\r\n );\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n return function (settings) {\r\n var currentUrl = m.route.param('tutorial');\r\n return settings.mostVisitedList.length > 0 ? m('.tutorial-navbar', [\r\n m('.tutorial-navbar-label', settings.mostVisitedLabel),\r\n m('.tutorial-navbar-cave',\r\n m('.tutorial-navbar-cave-inner')\r\n ),\r\n m('.tutorial-navbar-container', {\r\n onscroll: function (event) {\r\n var container = event.target;\r\n var cave = document.querySelector('.tutorial-navbar-cave');\r\n if (container.scrollLeft) cave.classList.add('tutorial-navbar-cave--open');\r\n else cave.classList.remove('tutorial-navbar-cave--open');\r\n }\r\n }, [\r\n m('.tutorial-navbar-navs', settings.mostVisitedList.map(function (tutorial) {\r\n return m('a.tutorial-navbar-nav', {\r\n class: currentUrl === tutorial.safeTitle ? 'tutorial-navbar-nav--hide' : '',\r\n href: tutorial.urlPrefix + '/' + tutorial.safeTitle,\r\n config: m.route\r\n }, tutorial.title);\r\n }))\r\n ])\r\n ]) : null;\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n return function ({ title, style, isButtonVisible = true, activate = true, onclick = () => {} }) {\r\n return m('.tutorial__hero', {\r\n class: activate ? '' : 'tutorial__hero--disable'\r\n }, [\r\n isButtonVisible ? m('a.tutorial__hero-arrow', {\r\n href: '/',\r\n config: m.route,\r\n onclick\r\n }) : null,\r\n m('.tutorial__hero-title', { style }, m.trust(title)),\r\n ]);\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialSearchBar',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n return function (controller) {\r\n\r\n var updateSearchQuery = function (value) {\r\n controller.searchQuery(value);\r\n controller.filteredTutorials(controller.allTutorials.filter(matchTutorialTitleWithSearchQuery));\r\n }.bind(this);\r\n\r\n var collapseCategories = function () {\r\n document.querySelectorAll('.tutorial__category--show').forEach(function (category) {\r\n category.classList.remove('tutorial__category--show');\r\n });\r\n }.bind(this);\r\n\r\n var matchTutorialTitleWithSearchQuery = function (tutorial) {\r\n if (!controller.searchQuery()) return false;\r\n\r\n var textToSearch = tutorial.title + tutorial.subtitle;\r\n if (tutorial.urlPrefix === '/simple' && tutorial.richText) {\r\n var firstOpeningParagraphTagIndex = tutorial.richText.indexOf('

');\r\n var lastClosingParagraphTagIndex = tutorial.richText.lastIndexOf('

');\r\n var searchableRichText = tutorial.richText.slice(firstOpeningParagraphTagIndex, lastClosingParagraphTagIndex);\r\n searchableRichText = searchableRichText.replace(/(<([^>]+)>)/gi, '');\r\n textToSearch += searchableRichText;\r\n } else if (tutorial.elements) {\r\n textToSearch += tutorial.elements.map(function (element) {\r\n return element.title + element.text.replace(/(<([^>]+)>)/gi, '');\r\n }).join('');\r\n } else if (tutorial.urlPrefix === '/avalon' && tutorial.content) {\r\n var content = tutorial.content.outerHTML;\r\n var firstOpeningDivTagIndex = content.indexOf('');\r\n var searchableText = content.slice(firstOpeningDivTagIndex, lastClosingDivTagIndex);\r\n searchableText = searchableText.replace(/(<([^>]+)>)/gi, '');\r\n textToSearch += searchableText;\r\n }\r\n\r\n return controller.searchQuery().trim().split(' ').every(function (word) {\r\n return new RegExp('(?=.*' + word + ')', 'gmi').test(textToSearch);\r\n });\r\n }.bind(this);\r\n\r\n return m('.tutorial__searchbar', [\r\n m('svg.tutorial__searchbar-loop', {\r\n height: '20', width: '20', xmlns: 'http://www.w3.org/2000/svg'\r\n }, [\r\n m('g', [\r\n m('circle', {\r\n cx: '12', cy: '9', r: '7'\r\n }),\r\n m('path', {\r\n d: 'm7 14.5 -6 6'\r\n }),\r\n ])\r\n ]),\r\n m('input.tutorial__searchbar-input', {\r\n oninput: function (event) {\r\n if (event.target.value.length > -1) {\r\n updateSearchQuery(event.target.value);\r\n collapseCategories();\r\n }\r\n },\r\n value: controller.searchQuery(),\r\n placeholder: controller.searchBarPlaceholder\r\n }),\r\n m('.tutorial__searchbar-clear', {\r\n onclick: () => {\r\n controller.searchQuery('');\r\n }\r\n })\r\n ]);\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialFrontpage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialSearchBar',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero'\r\n ], function (m, TutorialFooter, Navigation, Searchbar, Hero) {\r\n\r\n return {\r\n controller: function (args) {\r\n window.scrollTo(0, 0);\r\n\r\n this.categories = args.settings.categories;\r\n this.headerImage = args.settings.headerImage;\r\n this.searchQuery = args.searchQuery;\r\n this.tutorials = args.tutorials;\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.filteredTutorials = args.filteredTutorials;\r\n this.relatedHelpText = args.settings.relatedHelpText;\r\n this.frontpageHeroTitle = args.settings.frontpageHeroTitle;\r\n this.categories.forEach(function (category) {\r\n category.jointList = category.slideTutorials.concat(category.avalonTutorials).concat(category.richTextTutorials).concat(category.tipsSystemTutorial);\r\n category.jointList.forEach(function (tutorial) {\r\n tutorial['category'] = category.category;\r\n });\r\n });\r\n this.nullResultHelpText = args.settings.nullResultHelpText;\r\n this.searchResultNull = args.settings.searchResultNull;\r\n this.searchBarPlaceholder = args.settings.searchBarPlaceholder;\r\n this.mostVisitedLabel = args.settings.mostVisitedLabel;\r\n this.mostVisitedList = args.settings.mostVisitedList;\r\n this.latestSearches = args.settings.latestSearches;\r\n this.footerSettings = args.footerSettings;\r\n this.jointList = args.jointList;\r\n this.allTutorials = args.allTutorials;\r\n\r\n // Toggles the html class that shows tutorial categories\r\n this.categoryClickHandler = function (event) {\r\n event.currentTarget.classList.toggle('tutorial__category--show');\r\n };\r\n\r\n // Shows tutorial columns depending on if they're filtered or not\r\n this.showTutorialCategories = function (tutorials, isFiltered) {\r\n return tutorials.map(function (tutorial) {\r\n return m('a.tutorial__category-tutorials-wrapper', {\r\n onclick: function (event) {\r\n this.saveToLocalStorage(event.currentTarget.id, tutorial.image?.Source ?? '');\r\n }.bind(this),\r\n class: isFiltered ? 'tutorial__category-tutorials-wrapper--filtered' : '',\r\n href: tutorial.urlPrefix + '/' + tutorial.safeTitle,\r\n config: m.route,\r\n id: tutorial.title\r\n }, [\r\n m('.tutorial__category-tutorials-image-wrapper', [\r\n m('img.tutorial__category-tutorials-image', {\r\n src: (isFiltered ? (tutorial.imageFiltered?.Source ?? '') : (tutorial.image?.Source ?? ''))\r\n })\r\n ]),\r\n m('.tutorial__category-tutorials-text-wrapper', [\r\n m('.tutorial__category-tutorials-title', { style: this.titleCssStyle }, isFiltered\r\n ? m.trust(tutorial.title.replace(new RegExp(this.searchQuery(), 'ig'), function (match) {\r\n return '' + match + '';\r\n }.bind(this)))\r\n : m.trust(tutorial.title)),\r\n m('.tutorial__category-tutorials-text', tutorial.subtitle)\r\n ]),\r\n m('.tutorial__category-tutorials-arrow')\r\n ]);\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n // Gets saved tutorials the user has clicked on in an array\r\n this.getFromLocalStorage = function () {\r\n return JSON.parse(localStorage.getItem('tutorial-latest-searched')) || [];\r\n };\r\n\r\n // Saves the 5 newest tutorials the user clicks on in an array in local storage and checks if it's already saved\r\n this.saveToLocalStorage = function (title, image) {\r\n var currentLocalStorage = this.getFromLocalStorage();\r\n currentLocalStorage = currentLocalStorage.reduce(function (acc, storage) {\r\n if (storage.title !== title) acc.push(storage);\r\n return acc;\r\n }, []);\r\n var storage = { title: title, image: image };\r\n currentLocalStorage.push(storage);\r\n currentLocalStorage.slice(-5);\r\n localStorage.setItem('tutorial-latest-searched', JSON.stringify(currentLocalStorage));\r\n }.bind(this);\r\n\r\n // Gets tutorials in same category\r\n this.matchRelatedTutorialsWithFilteredTutorials = function () {\r\n var filtratedTutorialsCategories = [];\r\n this.filteredTutorials().forEach(function (tutorial) {\r\n filtratedTutorialsCategories.push(tutorial.category);\r\n });\r\n var x = this.categories.filter(function (category) {\r\n return filtratedTutorialsCategories.includes(category.category);\r\n });\r\n var y = x.map(function (category) {\r\n return this.showTutorialCategories(category.jointList.filter(function (tutorial) {\r\n return this.filteredTutorials().every(function (filteredTutorial) {\r\n return filteredTutorial.title !== tutorial.title;\r\n });\r\n }.bind(this)));\r\n }.bind(this));\r\n return y;\r\n }.bind(this);\r\n\r\n this.getCategoryDOM = function (category) {\r\n return m('.tutorial__category', {\r\n onclick: this.categoryClickHandler\r\n }, [\r\n m('.tutorial__category-wrapper', [\r\n m('.tutorial__category-text-wrapper', [\r\n m('.tutorial__category-title', { style: this.titleCssStyle }, category.title),\r\n m('.tutorial__category-label', category.subtitle),\r\n ]),\r\n m('.tutorial__category-cross')\r\n ]),\r\n m('.tutorial__category-tutorials', this.showTutorialCategories(category.jointList))\r\n ]);\r\n }.bind(this);\r\n\r\n this.getTutorialDOM = function (tutorial) {\r\n return m('a.tutorial__category', {\r\n href: tutorial.urlPrefix + '/' + tutorial.safeTitle,\r\n config: m.route,\r\n }, [\r\n m('.tutorial__category-wrapper.tutorial__category-wrapper--tutorial', [\r\n m('.tutorial__category-text-wrapper', [\r\n m('.tutorial__category-title', { style: this.titleCssStyle }, m.trust(tutorial.title)),\r\n m('.tutorial__category-label', tutorial.subtitle),\r\n ]),\r\n m('.tutorial__category-tutorials-arrow')\r\n ])\r\n ]);\r\n }.bind(this);\r\n },\r\n\r\n view: function (controller) {\r\n return m('.tutorial-frontpage', {\r\n config: controller.onStepRendered\r\n }, [\r\n Navigation(controller), // eslint-disable-line compat/compat\r\n m('.tutorial-frontpage__hero', [\r\n Hero({ title: controller.frontpageHeroTitle, style: controller.titleCssStyle, isButtonVisible: !!controller.searchQuery(), onclick: () => controller.searchQuery('') }),\r\n Searchbar(controller)\r\n ]),\r\n m('.tutorial__frontpage-wrapper',\r\n m('.tutorial__content-box.tutorial__frontpage-inner-wrapper.tutorial__frontpage-animation', {\r\n class: controller.searchQuery() ? 'tutorial__frontpage-inner-wrapper--hide' : ''\r\n },\r\n [\r\n m('.tutorial__categories', controller.jointList.map(function (entry) {\r\n return !entry.hasOwnProperty('urlPrefix') ? controller.getCategoryDOM(entry) : controller.getTutorialDOM(entry);\r\n })),\r\n controller.mostVisitedList.length > 0\r\n ? m('.tutorial__most-visited',\r\n m('.tutorial__most-visited-title', { style: controller.titleCssStyle }, controller.mostVisitedLabel),\r\n controller.mostVisitedList.map(function (tutorial) {\r\n return m('a.tutorial__most-visited-wrapper', {\r\n href: tutorial.urlPrefix + '/' + tutorial.safeTitle,\r\n config: m.route\r\n },\r\n m('.tutorial__most-visited-element-wrapper', [\r\n m('.tutorial__most-visited-element-image-wrapper',\r\n m('img.tutorial__most-visited-element-image', {\r\n src: tutorial.image?.Source ?? ''\r\n })\r\n ),\r\n m('.tutorial__most-visited-element-text-wrapper', [\r\n m('.tutorial__most-visited-element-title', { style: controller.titleCssStyle }, m.trust(tutorial.title)),\r\n m('.tutorial__most-visited-element-text', tutorial.subtitle),\r\n ]),\r\n m('.tutorial__most-visited-element-arrow')\r\n ])\r\n );\r\n }))\r\n : null\r\n ]),\r\n controller.filteredTutorials().length > 0\r\n ? m('.tutorial__search-result.tutorial__frontpage-animation', {\r\n class: controller.searchQuery() ? 'tutorial__search-result--show' : '',\r\n },\r\n [\r\n m('.tutorial__search-result-wrapper', [\r\n controller.showTutorialCategories(controller.filteredTutorials(), true),\r\n ]),\r\n m('.tutorial__content-box.tutorial__search-result-related-wrapper', [\r\n m('.tutorial__search-result-related-inner-wrapper', [\r\n m('.tutorial__search-result-related-help-text', controller.relatedHelpText),\r\n m('.tutorial__search-result-related-help-categories', controller.matchRelatedTutorialsWithFilteredTutorials())\r\n ]),\r\n ]),\r\n ])\r\n : m('.tutorial__search-result-null-wrapper.tutorial__frontpage-animation', {\r\n class: controller.searchQuery() ? 'tutorial__search-result-null-wrapper--show' : ''\r\n },\r\n m('.tutorial__search-result-null-inner-wrapper', [\r\n m('.tutorial__search-result-null-title', { style: controller.titleCssStyle }, controller.searchResultNull),\r\n m('.tutorial__search-result-null-search-query', '\\'' + controller.searchQuery() + '\\''),\r\n m('.tutorial__search-result-null-text', m.trust(controller.nullResultHelpText)),\r\n controller.getFromLocalStorage().length > 0 ?\r\n m('.tutorial__search-last-visited-wrapper', [\r\n m('.tutorial__search-last-visited-title', { style: controller.titleCssStyle }, controller.latestSearches),\r\n m('.tutorial__search-last-visited-element-wrapper', controller.getFromLocalStorage().map(function (storage) {\r\n return m('a.tutorial__search-last-visited-element-innerwrapper', {\r\n href: storage.urlPrefix + storage.title,\r\n config: m.route\r\n }, [\r\n m('img.tutorial__search-last-visited-element-image', {\r\n src: storage.image\r\n }),\r\n m('.tutorial__search-last-visited-element-title', { style: controller.titleCssStyle }, storage.title)\r\n ]);\r\n }).slice(-5)\r\n )\r\n ]) : null\r\n ]))),\r\n controller.footerSettings ? TutorialFooter({ style: controller.titleCssStyle, ...controller.footerSettings }) : null\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialAvalonPage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero'\r\n ], function (m, TutorialFooter, Navigation, Hero) {\r\n\r\n return {\r\n controller: function (args) {\r\n window.scrollTo(0, 0);\r\n\r\n this.safeTitle = decodeURI(m.route.param('tutorial'));\r\n this.mostVisitedLabel = args.mostVisitedLabel;\r\n this.mostVisitedList = args.mostVisitedList;\r\n this.footerSettings = args.footerSettings;\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.getTextWithHighligt = args.getTextWithHighligt;\r\n this.tutorial = args.allTutorials.filter(function (tutorial) {\r\n return tutorial.safeTitle === this.safeTitle;\r\n }.bind(this))[0];\r\n this.avalonContent = null;\r\n\r\n this.onRender = function () {\r\n var contentWithoutComments = this.tutorial.content?.outerHTML?.replace(//g, '') ?? '';\r\n this.avalonContent = m.trust(this.getTextWithHighligt(contentWithoutComments));\r\n\r\n setTimeout(function () {\r\n m.redraw();\r\n }, 0);\r\n }.bind(this);\r\n },\r\n\r\n view: function (controller) {\r\n return m('.tutorial__avalon', [\r\n Navigation(controller), // eslint-disable-line compat/compat\r\n Hero({ title: controller.tutorial.title, style: controller.titleCssStyle, activate: controller.tutorial.activateHeader }),\r\n m('.tutorial__content-box.tutorial__avalon-content', {\r\n class: [\r\n controller.tutorial.useFullWidth ? 'tutorial__content-box--full-width' : '',\r\n controller.tutorial.useFullWidth && !controller.tutorial.activateHeader ? 'tutorial__content-box--no-radius' : ''\r\n ].join(' '),\r\n config: controller.onRender\r\n }, controller.avalonContent),\r\n controller.footerSettings ? TutorialFooter({ style: controller.titleCssStyle, activate: controller.tutorial.activateFooter, ...controller.footerSettings }) : null\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialSlidepage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'Common/Framework/ScriptLibraries/Scripts/TinySlider',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero'\r\n ], function (m, Render, TinySlider, TutorialFooter, Navigation, Hero) {\r\n var render = Render();\r\n\r\n return {\r\n controller: function (args) {\r\n window.scrollTo(0, 0);\r\n\r\n this.safeTutorialName = decodeURI(m.route.param('tutorial'));\r\n this.tutorial = args.allTutorials.filter(function (entry) {\r\n return entry.safeTitle === this.safeTutorialName;\r\n }.bind(this))[0];\r\n\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.mostVisitedList = args.mostVisitedList;\r\n this.mostVisitedLabel = args.mostVisitedLabel;\r\n this.heroTitle = args.settings.heroTitle;\r\n this.heroText = args.settings.heroText;\r\n this.elementsCount = this.tutorial.elements.length;\r\n this.slidepageRelatedHelpTitle = args.settings.slidepageRelatedHelpTitle;\r\n this.relatedHelpTutorials = this.tutorial.relatedHelpTutorials;\r\n this.heroImage = this.tutorial.heroImage;\r\n this.actionButton = this.tutorial.actionButton;\r\n this.footerSettings = args.footerSettings;\r\n this.searchQuery = args.searchQuery;\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.activeSlide = 0;\r\n this.showPrevArrow = m.prop(false);\r\n this.showNextArrow = m.prop(true);\r\n this.isSliderActive = false;\r\n this.desktopSlider = null;\r\n this.vimeoReady = false;\r\n this.vimeoPlayers = [];\r\n this.getTextWithHighligt = args.getTextWithHighligt;\r\n\r\n this.addPlayers = function () {\r\n document.querySelectorAll('.slidepage__slider--desktop iframe').forEach(function (iframe, i) {\r\n var player = new window.Vimeo.Player(iframe);\r\n if (i !== 0) {\r\n player.isPlaying = false;\r\n player.pause();\r\n }\r\n this.vimeoPlayers.push(player);\r\n }.bind(this));\r\n };\r\n\r\n this.onStepRendered = function (ignoredElement, isInitialized) {\r\n if (!isInitialized) {\r\n this.isSliderActive = true;\r\n this.desktopSlider = TinySlider({\r\n container: '.slidepage__slider--desktop',\r\n center: true,\r\n controlsContainer: '.slidepage__controls',\r\n prevButton: '.slidepage__arrow--prev',\r\n nextButton: '.slidepage__arrow--next',\r\n loop: false,\r\n nav: false,\r\n responsive: {\r\n 768: {\r\n gutter: 100,\r\n fixedWidth: 730,\r\n },\r\n 1024: {\r\n gutter: 350,\r\n fixedWidth: 730,\r\n },\r\n 1440: {\r\n gutter: 220,\r\n fixedWidth: 900,\r\n }\r\n }\r\n });\r\n\r\n this.desktopSlider.events.on('indexChanged', function (event) {\r\n document.querySelector('.slidepage__current-slide').innerHTML = event.displayIndex > 9 ? event.displayIndex : '0' + event.displayIndex;\r\n var items = document.querySelectorAll('.slidepage__slider--desktop .slidepage__steps');\r\n var itemNumber = event.displayIndex - 1; // index er 1-baseret - itemNumber 0.\r\n\r\n items.forEach(function (item, index) {\r\n item.classList[index === itemNumber ? 'remove' : 'add']('slidepage__steps--fade');\r\n });\r\n\r\n this.vimeoPlayers.forEach(function (player, index) {\r\n if (index === itemNumber) {\r\n if (!player.isPlaying) {\r\n var interval = setInterval(function () {\r\n player.play().then(function () {\r\n player.isPlaying = true;\r\n });\r\n if (player.isPlaying) {\r\n clearInterval(interval);\r\n }\r\n }, 500);\r\n }\r\n } else {\r\n player.pause().then(function () {\r\n player.isPlaying = false;\r\n player.setCurrentTime(0);\r\n });\r\n }\r\n });\r\n\r\n if (itemNumber === 0) {\r\n // First slide\r\n this.showPrevArrow(false);\r\n this.showNextArrow(true);\r\n } else if (itemNumber === items.length - 1) {\r\n // Last slide\r\n this.showPrevArrow(true);\r\n this.showNextArrow(false);\r\n } else {\r\n // All other slides\r\n this.showPrevArrow(true);\r\n this.showNextArrow(true);\r\n }\r\n m.redraw(true);\r\n }.bind(this));\r\n\r\n m.redraw(true);\r\n\r\n var mobileSliders = document.querySelectorAll('.slidepage__slider--mobile');\r\n mobileSliders.forEach(function (slider) {\r\n var tns = TinySlider({\r\n container: slider.querySelector('.slidepage__steps'),\r\n navContainer: slider.querySelector('.slidepage__radio-buttons'),\r\n controls: false,\r\n loop: false,\r\n fixedWidth: 240,\r\n edgePadding: 40,\r\n mouseDrag: true,\r\n });\r\n\r\n tns.events.on('indexChanged', function (event) {\r\n var steps = slider.querySelectorAll('.slidepage__step');\r\n if (event.displayIndex === 1) {\r\n steps[0].classList.add('slidepage__step--selected');\r\n steps[1].classList.remove('slidepage__step--selected');\r\n } else {\r\n steps[1].classList.add('slidepage__step--selected');\r\n steps[0].classList.remove('slidepage__step--selected');\r\n }\r\n });\r\n });\r\n }\r\n }.bind(this);\r\n\r\n render.ready.then(function () {\r\n if (!this.vimeoReady) {\r\n include('https://player.vimeo.com/api/player.js', function () {\r\n this.vimeoReady = true;\r\n this.addPlayers();\r\n }.bind(this));\r\n }\r\n }.bind(this));\r\n },\r\n\r\n view: function (controller) {\r\n return m('.slidepage', { config: render.depend('container') }, [\r\n Navigation(controller), // eslint-disable-line compat/compat\r\n Hero({ title: controller.tutorial.title, style: controller.titleCssStyle }),\r\n m('.tutorial__content-box.slidepage__content.slidepage__content--mobile',\r\n controller.tutorial.elements.map(function (element, i) {\r\n return m('.slidepage__slider.slidepage__slider--mobile',\r\n {\r\n config: render.depend('mobileContainer')\r\n },\r\n m('.slidepage__steps',\r\n m('.slidepage__step.slidepage__step-description.slidepage__step--selected',\r\n m('.slidepage__step-text-wrapper', [\r\n m('.slidepage__step-header', { style: controller.titleCssStyle }, element.title),\r\n m('.slidepage__step-text', m.trust(controller.getTextWithHighligt(element.text))),\r\n m('.slidepage__step-number', ('0' + (i + 1)).slice(-2)),\r\n i === 0 ? m('.slidepage__step-help-wrapper', [\r\n m('.slidepage__step-help-circle'),\r\n m('.slidepage__step-help-text', element.footerHelpText)\r\n ]) : null,\r\n ])\r\n ),\r\n element.mobileVideo ? m('iframe.slidepage__step.slidepage__step-illustration', {\r\n src: element.mobileVideo,\r\n allowFullScreen: true\r\n }) : null\r\n ),\r\n m('.slidepage__radio-buttons', [\r\n m('.slidepage__radio'),\r\n m('.slidepage__radio')\r\n ])\r\n );\r\n }),\r\n controller.actionButton.Url && controller.actionButton.Title\r\n ? m('a.slidepage__action-button-wrapper', {\r\n href: controller.actionButton.Url\r\n }, m('.slidepage__action-button', controller.actionButton.Title))\r\n : null\r\n ),\r\n m('.tutorial__content-box.slidepage__content.slidepage__content--desktop',\r\n m('.slidepage__slider.slidepage__slider--desktop', {\r\n config: controller.onStepRendered,\r\n class: !controller.isSliderActive ? 'slidepage__slider--loading' : '',\r\n }, controller.tutorial.elements.map(function (element, i) {\r\n return m('.slidepage__steps',\r\n {\r\n class: i !== 0 ? 'slidepage__steps--fade' : ''\r\n },\r\n m('.slidepage__step.slidepage__step-description',\r\n m('.slidepage__step-text-wrapper', [\r\n m('.slidepage__step-header', { style: controller.titleCssStyle }, element.title),\r\n m('.slidepage__step-text', m.trust(controller.getTextWithHighligt(element.text))),\r\n m('.slidepage__step-number', ('0' + (i + 1)).slice(-2))\r\n ])\r\n ),\r\n element.desktopVideo ? m('iframe.slidepage__step.slidepage__step-illustration', {\r\n src: element.desktopVideo\r\n }) : null\r\n );\r\n })),\r\n m('.slidepage__controls', [\r\n m('.slidepage__arrow.slidepage__arrow--prev', {\r\n class: !controller.showPrevArrow() ? 'slidepage__arrow--hide' : ''\r\n }),\r\n m('.slidepage__slide-counter',\r\n m('.slidepage__current-slide', '01'),\r\n m('.slidepage__separator', '/'),\r\n m('.slidepage__number-of-slides', controller.elementsCount < 10 ? '0' + controller.elementsCount : controller.elementsCount.toString())\r\n ),\r\n m('.slidepage__arrow.slidepage__arrow--next', {\r\n class: !controller.showNextArrow() ? 'slidepage__arrow--hide' : ''\r\n })\r\n ]),\r\n controller.actionButton.Url && controller.actionButton.Title\r\n ?\r\n m('a.slidepage__action-button-wrapper', {\r\n href: controller.actionButton.Url\r\n }, m('.slidepage__action-button', controller.actionButton.Title))\r\n : null\r\n ),\r\n controller.relatedHelpTutorials.length > 0 ?\r\n m('.slidepage__related-help',\r\n m('.slidepage__related-help-title', { style: controller.titleCssStyle }, controller.slidepageRelatedHelpTitle),\r\n m('.slidepage__related-help-wrapper',\r\n controller.relatedHelpTutorials.map(function (tutorial) {\r\n return m('a.slidepage__related-help-wrapper-block', {\r\n href: `/${tutorial.urlPrefix}/${tutorial.safeTitle}`,\r\n config: m.route\r\n }, [\r\n m('.slidepage__related-help-image-wrapper',\r\n m('img.slidepage__related-help-image', {\r\n src: tutorial.image\r\n })\r\n ),\r\n m('.slidepage__related-help-text-wrapper', [\r\n m('.slidepage__related-help-element-title', { style: controller.titleCssStyle }, tutorial.title),\r\n m('.slidepage__related-help-element-text', tutorial.text)\r\n ]),\r\n m('.slidepage__related-help-arrow')\r\n ]);\r\n })\r\n )\r\n ) : null,\r\n controller.footerSettings ? TutorialFooter({ style: controller.titleCssStyle, ...controller.footerSettings }) : null\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialTipsSystemPage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Templates/Overlay',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/ModalDialog',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero'\r\n ], function (m, Overlay, ModalDialog, TutorialFooter, Navigation, Hero) {\r\n\r\n return {\r\n controller: function (args) {\r\n // Variables\r\n this.consts = {\r\n R: 'r',\r\n U: 'u',\r\n DESCRIPTION: 'description',\r\n GUARANTEE: 'guarantee',\r\n KEY: 'systemKey'\r\n };\r\n Object.freeze(this.consts);\r\n\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.safeTitle = decodeURI(m.route.param('tutorial'));\r\n this.mostVisitedLabel = args.mostVisitedLabel;\r\n this.mostVisitedList = args.mostVisitedList;\r\n this.footerSettings = args.footerSettings;\r\n this.tutorial = args.tipsSystemTutorial[0];\r\n this.systems = {\r\n r: {},\r\n u: {}\r\n };\r\n this.selectedSystem = this.consts.R;\r\n this.selectedCombination = null;\r\n this.dropdownOpen = false;\r\n this.selectedTable = this.consts.DESCRIPTION;\r\n\r\n window.scrollTo(0, 0);\r\n\r\n this.tutorial.rSystemFolder.tipsSystems.forEach(function (system) {\r\n this.systems.r[system.name] = system;\r\n }.bind(this));\r\n this.tutorial.uSystemFolder.tipsSystems.forEach(function (system) {\r\n this.systems.u[system.name] = system;\r\n }.bind(this));\r\n\r\n this.showOverlay = function () {\r\n new Overlay(new ModalDialog([\r\n m('.tutorial-overlay', [\r\n m('.tutorial-overlay__title', { style: this.titleCssStyle }, this.tutorial.popupHeader),\r\n m('.tutorial-overlay__text', m.trust(this.tutorial.popupText)),\r\n m('img.tutorial-overlay__image', {\r\n src: this.tutorial.popupImage.Source,\r\n alt: this.tutorial.popupImage.AlternameText\r\n })\r\n ])\r\n ], {\r\n buttons: []\r\n })).show();\r\n }.bind(this);\r\n\r\n },\r\n\r\n view: function (controller) {\r\n return m('.tutorial-tips', [\r\n Navigation(controller), // eslint-disable-line compat/compat\r\n Hero({ title: controller.tutorial.title, style: controller.titleCssStyle }),\r\n m('.tutorial__content-box.tutorial-tips__content', [\r\n m('.tutorial-tips__content-inner', [\r\n m('.tutorial-tips__header', { style: controller.titleCssStyle }, controller.tutorial.firstHeader),\r\n m('.tutorial-tips__button-wrapper', [\r\n m('.tutorial-tips__button', {\r\n class: controller.selectedSystem === controller.consts.R ? 'tutorial-tips__button--selected' : '',\r\n onclick: function () {\r\n controller.selectedSystem = controller.consts.R;\r\n controller.selectedCombination = null;\r\n }\r\n }, controller.tutorial.rSystemButtonText),\r\n m('.tutorial-tips__button', {\r\n class: controller.selectedSystem === controller.consts.U ? 'tutorial-tips__button--selected' : '',\r\n onclick: function () {\r\n controller.selectedSystem = controller.consts.U;\r\n controller.selectedCombination = null;\r\n }\r\n }, controller.tutorial.uSystemButtonText)\r\n ]),\r\n m('.tutorial-tips__read-more', m.trust(controller.tutorial.subButtonsText)),\r\n m('.tutorial-tips__header', { style: controller.titleCssStyle }, [\r\n controller.tutorial.secondHeader,\r\n m('span.tutorial-tips__popup-trigger', {\r\n onclick: controller.showOverlay\r\n }, '?')\r\n ]),\r\n m('.tutorial-tips__dropdown', {\r\n class: [\r\n controller.dropdownOpen ? 'tutorial-tips__dropdown--open' : '',\r\n controller.selectedCombination ? 'tutorial-tips__dropdown--selected' : ''\r\n ].join(' ').trim(),\r\n onclick: function () {\r\n controller.dropdownOpen = !controller.dropdownOpen;\r\n }\r\n }, [\r\n m('.tutorial-tips__label', controller.selectedCombination || 'KOMBINATION'),\r\n m('.tutorial-tips__dropdown-content', Object.keys(controller.systems[controller.selectedSystem]).map(function (combinationKey) {\r\n return m('.tutorial-tips__combination-key', {\r\n id: combinationKey,\r\n class: combinationKey === controller.selectedCombination ? 'tutorial-tips__combination-key--selected' : '',\r\n onclick: function (event) {\r\n if (controller.selectedCombination === event.currentTarget.id) {\r\n controller.selectedCombination = null;\r\n } else {\r\n controller.selectedCombination = event.currentTarget.id;\r\n }\r\n window.scrollTo(0, 0);\r\n }\r\n }, combinationKey);\r\n }))\r\n ])\r\n ]),\r\n\r\n controller.selectedCombination ? m('.tutorial-tips__table-wrapper', [\r\n m('.tutorial-tips__table-selectors', [\r\n m('.tutorial-tips__table-selector', {\r\n class: controller.selectedTable === controller.consts.DESCRIPTION ? 'tutorial-tips__table-selector--active' : '',\r\n onclick: function () {\r\n controller.selectedTable = controller.consts.DESCRIPTION;\r\n }\r\n }, 'BESKRIVELSE'),\r\n m('.tutorial-tips__table-selector', {\r\n class: controller.selectedTable === controller.consts.GUARANTEE ? 'tutorial-tips__table-selector--active' : '',\r\n onclick: function () {\r\n controller.selectedTable = controller.consts.GUARANTEE;\r\n }\r\n }, 'GARANTI'),\r\n m('.tutorial-tips__table-selector', {\r\n class: controller.selectedTable === controller.consts.KEY ? 'tutorial-tips__table-selector--active' : '',\r\n onclick: function () {\r\n controller.selectedTable = controller.consts.KEY;\r\n }\r\n }, 'NØGLE')\r\n ]),\r\n m('.tutorial-tips__table', {\r\n class: 'tutorial-tips__table--' + controller.selectedTable\r\n }, [\r\n controller.selectedTable === controller.consts.DESCRIPTION ? m('.tutorial-tips__table-title', controller.selectedCombination) : null,\r\n m.trust(controller.systems[controller.selectedSystem][controller.selectedCombination][controller.selectedTable])\r\n ])\r\n ]) : null,\r\n ]),\r\n controller.footerSettings ? TutorialFooter({ style: controller.titleCssStyle, ...controller.footerSettings }) : null\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialSimplePage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero'\r\n ], function (m, TutorialFooter, Navigation, Hero) {\r\n\r\n return {\r\n controller: function (args) {\r\n window.scrollTo(0, 0);\r\n\r\n this.safeTutorialName = decodeURI(m.route.param('tutorial'));\r\n this.mostVisitedLabel = args.mostVisitedLabel;\r\n this.mostVisitedList = args.mostVisitedList;\r\n this.footerSettings = args.footerSettings;\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.getTextWithHighligt = args.getTextWithHighligt;\r\n this.tutorial = args.allTutorials.filter(function (entry) {\r\n return entry.safeTitle === this.safeTutorialName;\r\n }.bind(this))[0];\r\n },\r\n\r\n view: function (controller) {\r\n return m('.tutorial__simple', [\r\n Navigation(controller), // eslint-disable-line compat/compat\r\n Hero({ title: controller.tutorial.title, style: controller.titleCssStyle, activate: controller.tutorial.activateHeader }),\r\n m('.tutorial__content-box.tutorial__simple-content', {\r\n class: [\r\n controller.tutorial.useFullWidth ? 'tutorial__content-box--full-width' : '',\r\n controller.tutorial.useFullWidth && !controller.tutorial.activateHeader ? 'tutorial__content-box--no-radius' : ''\r\n ].join(' ')\r\n },\r\n m.trust(controller.getTextWithHighligt(controller.tutorial.richText))),\r\n controller.footerSettings ? TutorialFooter({ style: controller.titleCssStyle, activate: controller.tutorial.activateFooter, ...controller.footerSettings }) : null\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Tutorial.js',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialFrontpage',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialSlidepage',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialSimplePage',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialAvalonPage',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialTipsSystemPage',\r\n ], function (Component, TutorialFrontpage, TutorialSlidepage, TutorialSimplePage, TutorialAvalonPage, TutorialTipsSystemPage) {\r\n\r\n Component('tutorial', function (m, ignoredRoute, settings, ignoredProperty, element) {\r\n\r\n var controller = function () {\r\n this.settings = settings;\r\n this.footerSettings = settings.footer;\r\n this.mostVisitedLabel = settings.mostVisitedLabel;\r\n this.searchQuery = m.prop('');\r\n this.filteredTutorials = m.prop([]);\r\n this.mostVisitedList = settings.mostVisitedList;\r\n this.titleCssStyle = settings.titleCssStyle;\r\n\r\n this.categories = settings.categories;\r\n this.slideTutorials = settings.slideTutorials;\r\n this.avalonTutorials = settings.avalonTutorials;\r\n this.tipsSystemTutorial = settings.tipsSystemTutorial;\r\n this.richTextTutorials = settings.richTextTutorials;\r\n\r\n this.jointList = this.categories.concat(this.slideTutorials).concat(this.richTextTutorials).concat(this.avalonTutorials).concat(this.tipsSystemTutorial).sort(function (a, b) {\r\n return a.order - b.order;\r\n });\r\n this.allTutorials = this.categories.reduce(function (accumulator, category) {\r\n accumulator = accumulator.concat(category.slideTutorials).concat(category.richTextTutorials).concat(category.avalonTutorials).concat(category.tipsSystemTutorial);\r\n return accumulator;\r\n }, []).concat(this.slideTutorials).concat(this.avalonTutorials).concat(this.tipsSystemTutorial).concat(this.richTextTutorials);\r\n\r\n // Populate avalon-tutorials with content from DOM\r\n this.allTutorials.forEach(function (tutorial) {\r\n if (tutorial.urlPrefix !== '/avalon') return;\r\n\r\n var content = document.getElementById(tutorial.id);\r\n\r\n if (content) {\r\n tutorial.content = content.cloneNode(true);\r\n content.id = content.id + '-added-to-js';\r\n tutorial.content.classList.remove('u-hidden');\r\n }\r\n });\r\n\r\n this.getTextWithHighligt = function (text) {\r\n var finalText = text;\r\n if (!this.searchQuery()) return finalText;\r\n\r\n var openingTags = Array.from(text.matchAll(new RegExp('|', 'gi'))).map(function (match) {\r\n return match.index;\r\n });\r\n\r\n if (openingTags.length === 0) openingTags.push(-1);\r\n if (closingTags.length === 0) closingTags.push(-1);\r\n\r\n var searchRegexPrep = this.searchQuery().split(' ').join('|');\r\n var searchRegex = new RegExp(searchRegexPrep, 'gmi');\r\n\r\n var match;\r\n var indexOffset = 0;\r\n while ((match = searchRegex.exec(text)) !== null) {\r\n\r\n var closestPreviousOpeningTag = openingTags.reduce(function (prev, current, index) {\r\n var closest = Math.abs(current - match.index) < Math.abs(prev.val - match.index) && current <= match.index ? current : prev.val;\r\n var isNew = closest !== prev.val;\r\n return { val: closest, index: isNew ? index : prev.index };\r\n }, { val: -1, index: -1 });\r\n\r\n if ((match.index < closestPreviousOpeningTag.val || match.index > closingTags[closestPreviousOpeningTag.index]) || closestPreviousOpeningTag.val === -1) {\r\n finalText = finalText.slice(0, match.index + indexOffset) + '' + match[0] + '' + finalText.slice(match.index + match[0].length + indexOffset);\r\n indexOffset += ''.length;\r\n }\r\n }\r\n\r\n return finalText;\r\n }.bind(this);\r\n };\r\n\r\n var rootctrl = new controller();\r\n\r\n m.route.mode = 'hash';\r\n m.route(element, '/', {\r\n '/': m.component(TutorialFrontpage, rootctrl),\r\n '/slide/:tutorial': m.component(TutorialSlidepage, rootctrl),\r\n '/richtext/:tutorial': m.component(TutorialSimplePage, rootctrl),\r\n '/avalon/:tutorial': m.component(TutorialAvalonPage, rootctrl),\r\n '/tipssystem/:ignore': m.component(TutorialTipsSystemPage, rootctrl),\r\n });\r\n });\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonSpillehjoernet/Scripts/Helpers/SpillehjoernetApi',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/ApiRequest'\r\n ],\r\n function (ApiRequest) {\r\n // Variables:\r\n var LaunchBaseURL = DS.Config.SPILLEHJOERNET_GVC_CLIENTURL + '/fcasino/da_DK/gamelaunch.html';\r\n var LaunchBaseMobileURL = DS.Config.SPILLEHJOERNET_GVC_CLIENTURL + '/fcasino/da_DK/fcgames/vendorgames/mobile.html';\r\n\r\n var baseURL = DS.Config.CONTEXTPREFIX + '/scapi/danskespil/spillehjoernet';\r\n\r\n var getGameSession = function () {\r\n var requestUrl = baseURL + '/gvcgamesession';\r\n\r\n return ApiRequest({\r\n url: requestUrl,\r\n localCacheTTL: 2,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var gameLaunchUrl = function (args) {\r\n var UrlParameters = '';\r\n Object.keys(args).forEach(function (key) {\r\n UrlParameters += key + '=' + args[key] + '&';\r\n });\r\n\r\n if (args.isMobile) {\r\n return LaunchBaseMobileURL + '?' + UrlParameters;\r\n }\r\n\r\n return LaunchBaseURL + '?' + UrlParameters; // + '?gameVariantName='+ args.gameId +'&peerName='+ args.gameId +'&gameType='+ args.gameId +'&invokerProduct=CASINO&width=1024&height=826&lobbyRes=NORMAL&catId=featured&IW=true&SL=da_DK&HOSTURL='+args.hostUrl+'>ID='+ args.ssoKey +'&ssoKey='+ args.ssoKey +'&sessionKey='+ args.ssoKey +'&ACTION=10&isInitResizeReq=true&LOBBYTYPE=default&contollername=VendorController.swf&launchType=IL&channelId='+args.invokerChannel+'&invokerChannel='+args.invokerChannel+'&keepAlive=1&keepAlivePing=20&gameScale=100&brand=DANSKESPIL&frontend=ds&mode=REAL&isLoginValidated=true&productSessionkey='+ args.ssoKey +'&isUnifinishedGameReq=true&isFavoritesEnabled=True&isFavoriteGame=False&multiGame=true&bgtransparent=false&overlayMode=false&gamename='+ args.gameId +'&lang=da_DK&langId=da_DK¤cy=DKK&realmoney=true&lobbyURL='+ args.lobbyURL +'&keepAliveURL='+ args.keepaliveURL +'&depositURL='+ args.depositURL +'&cashierURL='+ args.depositURL +'&responsibleGamingURL='+ args.rgURL +'&realmoney=true';\r\n };\r\n\r\n var getGameUrlSpigo = function (args) {\r\n\r\n var requestUrl = baseURL + '/gameurl';\r\n return ApiRequest({\r\n url: requestUrl,\r\n method: 'post',\r\n data: { GameConfigurationId: args.gameId, HideChat: args.hideChat },\r\n localCacheTTL: 10,\r\n origin: window.location.hostname,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n // Public functions:\r\n return {\r\n getGameSession: getGameSession,\r\n gameLaunchUrl: gameLaunchUrl,\r\n getGameUrlSpigo: getGameUrlSpigo\r\n };\r\n });\r\n","defineDs('DanskeSpil/Framework/GameVendors/Scripts/Components/GameLauncherIframeWrapper', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'DanskeSpil/Framework/TimeUtils/Scripts/Clock',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils'\r\n], function (m, Render, Clock, Utils) {\r\n\r\n var render = Render();\r\n\r\n return {\r\n controller: function (controller) {\r\n this.lobbyLink = controller.lobbyLink;\r\n this.gameName = controller.gameName;\r\n this.iframeSrc = controller.iframeSrc;\r\n this.setContainerSize = controller.setContainerSize;\r\n this.iframeScrollingEnabled = m.prop(controller.iframeScrollingEnabled ? controller.iframeScrollingEnabled() : false);\r\n this.swipeOverlay = m.prop(controller.swipeOverlay ? controller.swipeOverlay() : false);\r\n this.buttonSet1Visible = m.prop(true);\r\n this.buttonSet2Visible = m.prop(false);\r\n this.wrapperClass = m.prop(controller.cssClassForGameStart()?.toLowerCase().trim() || 'minimized');\r\n this.hasGameNameOnMobileOverlay = m.prop(controller.hasGameNameOnMobileOverlay ? controller.hasGameNameOnMobileOverlay() : false);\r\n this.hasClockOnMobileOverlay = m.prop(controller.hasClockOnMobileOverlay ? controller.hasClockOnMobileOverlay() : false);\r\n this.hasCloseButtonOnMobileOverlay = m.prop(controller.hasCloseButtonOnMobileOverlay ? controller.hasCloseButtonOnMobileOverlay() : false);\r\n this.hasGameNameOnDesktopOverlay = m.prop(controller.hasGameNameOnDesktopOverlay ? controller.hasGameNameOnDesktopOverlay() : false);\r\n this.hasClockOnDesktopOverlay = m.prop(controller.hasClockOnDesktopOverlay ? controller.hasClockOnDesktopOverlay() : false);\r\n\r\n /* View in fullscreen */\r\n var openFullscreen = function () {\r\n var elem = document.documentElement;\r\n if (elem && elem.requestFullscreen) {\r\n elem.requestFullscreen();\r\n } else if (elem && elem.mozRequestFullScreen) { /* Firefox */\r\n elem.mozRequestFullScreen();\r\n } else if (elem && elem.webkitRequestFullscreen) { /* Chrome, Safari and Opera */\r\n elem.webkitRequestFullscreen();\r\n } else if (elem && elem.msRequestFullscreen) { /* IE */\r\n elem.msRequestFullscreen();\r\n }\r\n };\r\n\r\n /* Close fullscreen */\r\n var closeFullscreen = function () {\r\n if (document.exitFullscreen && document.fullscreenElement) {\r\n document.exitFullscreen();\r\n } else if (document.mozCancelFullScreen) { /* Firefox */\r\n document.mozCancelFullScreen();\r\n } else if (document.webkitExitFullscreen) { /* Chrome, Safari and Opera */\r\n document.webkitExitFullscreen();\r\n } else if (document.msExitFullscreen) { /* IE */\r\n document.msExitFullscreen();\r\n }\r\n };\r\n\r\n /* reset function for reseting vars used in view */\r\n var resetWrapper = function () {\r\n this.buttonSet1Visible(false);\r\n this.buttonSet2Visible(false);\r\n }.bind(this);\r\n\r\n /* function that is run when clicking enlarge/fullscreen */\r\n this.toggleIframe = function (event) {\r\n var container = document.getElementsByClassName('js-gamelauncher-wrapper')[0];\r\n var wrapper = document.getElementsByClassName('js-gamelauncher-iframe-outer-wrapper')[0];\r\n\r\n container.classList.remove('minimized');\r\n\r\n if (this.setContainerSize) {\r\n this.setContainerSize();\r\n }\r\n\r\n if (event.type === 'click' && event.srcElement.classList.contains('fullscreen') && !wrapper.classList.contains('fullscreen')) { // if user clicks fullscreen on a view not in fullscreen\r\n resetWrapper();\r\n this.buttonSet2Visible(true);\r\n this.wrapperClass('fullscreen');\r\n openFullscreen();\r\n } else if (event.type === 'click' && wrapper.classList.contains('fullscreen')) { // if in fullscreen and clicks for going out of fullscreen\r\n resetWrapper();\r\n this.wrapperClass('maximized');\r\n this.buttonSet1Visible(true);\r\n closeFullscreen();\r\n } else if (event.type === 'click' && wrapper.classList.contains('maximized')) { // if user clicks and goes into minimized version\r\n resetWrapper();\r\n\r\n container.classList.add('minimized');\r\n this.wrapperClass('minimized');\r\n this.buttonSet1Visible(true);\r\n\r\n } else if (event.type === 'click' && wrapper.classList.contains('minimized')) { // if user clicks and goe to maximized version\r\n resetWrapper();\r\n this.wrapperClass('maximized');\r\n this.buttonSet1Visible(true);\r\n } else if (event.type === 'resize' && wrapper.classList.contains('fullscreen')) { // exit from fulscreen (escape button)\r\n var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;\r\n if (fullscreenElement === null) {\r\n resetWrapper();\r\n closeFullscreen();\r\n\r\n this.wrapperClass('maximized');\r\n this.buttonSet1Visible(true);\r\n }\r\n }\r\n\r\n }.bind(this);\r\n\r\n this.goToLobby = function () {\r\n closeFullscreen();\r\n window.location = controller.lobbyLink().url;\r\n };\r\n\r\n this.className = function () {\r\n var className = 'gamelauncher-iframe-outer-wrapper js-gamelauncher-iframe-outer-wrapper ' + this.wrapperClass();\r\n\r\n if (controller.property('isIframeMaximized') === true) {\r\n className += ' maximized';\r\n } else if (controller.property('isIframeMaximized') === false) {\r\n className += ' minimize';\r\n }\r\n return className;\r\n }.bind(this);\r\n\r\n\r\n if (Utils.isMobile()) {\r\n window.addEventListener('touchend', function () {\r\n this.swipeOverlay(false);\r\n\r\n }.bind(this));\r\n }\r\n\r\n // Render:\r\n render.ready.then(function (nodes) {\r\n var backgroundContainer = document.getElementsByClassName('animated-background__image animated-background__image--animate-primary')[0];\r\n if (backgroundContainer && backgroundContainer.style) {\r\n document.getElementsByClassName('iframe-container')[0].style.backgroundImage = backgroundContainer.style.backgroundImage;\r\n }\r\n if (nodes['clock-init']) {\r\n if (!Utils.isMobile()) {\r\n Clock.updateClock(document.getElementsByClassName('js-timeutils-clock'));\r\n }\r\n }\r\n });\r\n\r\n if (Utils.isDesktop() || Utils.isTabletDevice()) {\r\n window.addEventListener('resize', this.toggleIframe);\r\n }\r\n\r\n if (Utils.isMobile()) {\r\n document.dispatchEvent(new CustomEvent('navigation:hide'));\r\n document.dispatchEvent(new CustomEvent('footer:remove'));\r\n }\r\n\r\n },\r\n view: function (ctrl) {\r\n return m('', [\r\n m('div', { id: 'gamelauncher-iframe-outer-wrapper', class: ctrl.className() }, [\r\n m('div', { class: 'iframe-outer-wrapper-background' }),\r\n m('div', { class: 'iframe-panel-wrapper' }, [\r\n m('div', { class: 'panel-header-wrapper' }, [\r\n ctrl.lobbyLink() !== '' ? m('div', {\r\n onclick: ctrl.goToLobby,\r\n class: ctrl.lobbyLink().className\r\n }, [(ctrl.lobbyLink().svg ? m('svg', { class: ctrl.lobbyLink().svg.className, onclick: ctrl.toggleIframe }, [\r\n m('use', { href: ctrl.lobbyLink().svg.assetURI })\r\n ]) : ''), ctrl.lobbyLink().text]) : null,\r\n m('div', { class: 'panel-button-wrapper' }, [\r\n\r\n ctrl.buttonSet1Visible()\r\n ? (\r\n m('div', { class: 'icon-wrapper icon-wrapper--right' }, [\r\n m('div', { title: ctrl.wrapperClass() === 'maximized' ? 'Formindsk vindue' : 'Udvid vindue' },\r\n m('svg', { class: 'avalon-icon icon maximize', onclick: ctrl.toggleIframe },\r\n m('use', { href: (ctrl.wrapperClass() === 'maximized' ? '/Components/DanskeSpil/Framework/GameVendors/Graphics/SpriteSheets/UiIcons.svg#icon-condensing-arrows' : '/Components/DanskeSpil/Framework/GameVendors/Graphics/SpriteSheets/UiIcons.svg#icon-expand-arrows') })\r\n )),\r\n m('div', { title: 'Fuld skærm' },\r\n m('svg', { class: 'avalon-icon icon fullscreen', onclick: ctrl.toggleIframe },\r\n m('use', { href: '/Components/DanskeSpil/Framework/GameVendors/Graphics/SpriteSheets/UiIcons.svg#icon-fullscreen' })\r\n )),\r\n ])\r\n )\r\n : '',\r\n\r\n ctrl.buttonSet2Visible() ? m('div', { class: 'icon-wrapper icon-wrapper--right' },\r\n m('div', { title: 'Afslut fuld skærm' },\r\n m('svg', { class: 'avalon-icon icon fullscreen', onclick: ctrl.toggleIframe },\r\n m('use', { href: '/Components/DanskeSpil/Framework/GameVendors/Graphics/SpriteSheets/UiIcons.svg#icon-fullscreen-minimize' })\r\n )),\r\n ) : '',\r\n\r\n ])\r\n ]),\r\n m('div', { class: 'iframe-container' }, [\r\n ctrl.swipeOverlay() ? m('div', { class: 'iframe-swipe-wrapper' }, [\r\n m('div', { class: 'swipe-image' }),\r\n m('div', { class: 'swipe-text' }, 'Swipe op for at spille')\r\n ]) : '',\r\n m('iframe', {\r\n class: 'iframe-element',\r\n scrolling: ctrl.iframeScrollingEnabled() ? 'yes' : 'no',\r\n src: ctrl.iframeSrc()\r\n }),\r\n Utils.isMobile() ? m('div', {\r\n class: 'iframe-overlay'\r\n }, [\r\n (ctrl.hasGameNameOnMobileOverlay() ? m('div', { class: 'iframe-overlay__icons iframe-overlay__icons-name' }, [\r\n m('div', { class: 'iframe-overlay__game-name' }, ctrl.gameName())\r\n ]) : ''),\r\n (ctrl.hasCloseButtonOnMobileOverlay() ? m('div', { class: 'iframe-overlay__icons iframe-overlay__icons--right' }, [\r\n m('svg', { class: 'avalon-icon avalon-icon--sm icon close', onclick: ctrl.goToLobby }, [\r\n m('use', { href: '/Components/DanskeSpil/Framework/GameVendors/Graphics/SpriteSheets/UiIcons.svg#icon-x' })\r\n ])\r\n ]) : ''),\r\n (ctrl.hasClockOnMobileOverlay() ? m('div', { class: 'iframe-overlay__icons iframe-overlay__icons--right iframe-overlay__icons-clock' }, [\r\n m('div', { class: 'clock-wrapper js-timeutils-clock', config: render.depend('clock-init') })\r\n ]) : '')\r\n ]) : '',\r\n !Utils.isMobile() ? m('div', {\r\n class: 'iframe-overlay'\r\n }, [\r\n (ctrl.hasGameNameOnDesktopOverlay() ? m('div', { class: 'iframe-overlay__icons iframe-overlay__icons-name' }, [\r\n m('div', { class: 'iframe-overlay__game-name' }, ctrl.gameName())\r\n ]) : ''),\r\n (ctrl.hasClockOnDesktopOverlay() ? m('div', { class: 'iframe-overlay__icons iframe-overlay__icons--right iframe-overlay__icons-clock' }, [\r\n m('div', { class: 'clock-wrapper js-timeutils-clock', config: render.depend('clock-init') })\r\n ]) : '')\r\n ]) : ''\r\n ])\r\n ])\r\n ])\r\n ]);\r\n }\r\n };\r\n});\r\n","defineDs('DanskeSpil/Domain/Avalon.Bingo/Scripts/GvcGameLauncher', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/AvalonComponents/Scripts/Helpers/PageHelper',\r\n 'DanskeSpil/Domain/AvalonSpillehjoernet/Scripts/Helpers/SpillehjoernetApi',\r\n 'DanskeSpil/Framework/GameVendors/Scripts/Components/GameLauncherIframeWrapper',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginCache',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginController'\r\n],\r\nfunction (Component, Utils, PageHelper, SpillehjoernetApi, GameLauncherIframeWrapper, LoginCache, LoginController) {\r\n\r\n Component('game-launcher-gvc', [], function (m, route, settings, property, element) {\r\n var root = {\r\n controller: function () {\r\n this.iframeSrc = m.prop(false);\r\n this.swipeOverlay = m.prop(false);\r\n this.lobbyLink = settings.lobbyLink ? m.prop({\r\n url: settings.lobbyLink.Url,\r\n text: settings.lobbyLink.Text,\r\n className: 'panel-header-wrapper__cta',\r\n svg: {\r\n className: 'avalon-icon avalon-icon--sm',\r\n assetURI: '/Components/DanskeSpil/Domain/AvalonComponents/Assets/SpriteSheets/Icons.svg#icon-arrow-left'\r\n }\r\n }) : m.prop('');\r\n this.cssClassForGameStart = m.prop(settings.cssClassForGameStart);\r\n this.hasGameNameOnMobileOverlay = m.prop(settings.hasGameNameOnMobileOverlay);\r\n this.hasClockOnMobileOverlay = m.prop(settings.hasClockOnMobileOverlay);\r\n this.hasCloseButtonOnMobileOverlay = m.prop(settings.hasCloseButtonOnMobileOverlay);\r\n this.hasGameNameOnDesktopOverlay = m.prop(settings.hasGameNameOnDesktopOverlay);\r\n this.hasClockOnDesktopOverlay = m.prop(settings.hasClockOnDesktopOverlay);\r\n this.property = property;\r\n this.$parentElement = element;\r\n this.$loadingElement = m.prop(this.$parentElement.innerHTML);\r\n this.gameName = m.prop(settings.gameName);\r\n var gameId = settings.gameId || '';\r\n var isMobileOrTablet = Utils.isMobile() || Utils.isTabletDevice();\r\n\r\n this.setContainerSize = function () {\r\n var container = document.getElementsByClassName('iframe-container')[0];\r\n var iframelement = document.getElementsByClassName('iframe-element')[0];\r\n\r\n if (container && iframelement) {\r\n var wrapper = document.getElementsByClassName('js-gamelauncher-iframe-outer-wrapper')[0];\r\n\r\n // this forces the iframe inside to re render its width and height, even if timing value is 0 seconds */\r\n wrapper.style.display = 'table';\r\n setTimeout(function () {\r\n wrapper.style.display = 'block';\r\n }, 0);\r\n\r\n }\r\n }.bind(this);\r\n\r\n if (LoginCache.isLoggedIn()) {\r\n SpillehjoernetApi.getGameSession().then(function (data) {\r\n if (data && data.sso) {\r\n var ssoKey = data.sso;\r\n var args;\r\n\r\n if (isMobileOrTablet && settings.mobileGameId && settings.mobileGameId !== '') {\r\n gameId = settings.mobileGameId;\r\n\r\n args = {\r\n gameVariantName: gameId,\r\n langId: 'da_DK',\r\n invokerProduct: 'CASINO',\r\n channelId: 'IW',\r\n brandId: 'DANSKESPIL',\r\n lobbyType: '',\r\n keepAliveInterval: 180000,\r\n mode: 'real',\r\n demo: false,\r\n ssoKey: ssoKey,\r\n lobbyURL: encodeURIComponent(PageHelper.getRootUrl()),\r\n keepAliveURL: '',\r\n depositURL: encodeURIComponent(DS.Config.SPILLEHJOERNET_PAYMENTURL),\r\n rgURL: DS.Config.BASE_HOST + '/regler--a--vilkaar/vilkaar/ansvarlighed',\r\n pLang: 'da_DK',\r\n frontend: 'ds',\r\n showInGameMenu: true,\r\n connector: 'web2proxy',\r\n isMobile: isMobileOrTablet,\r\n hideeznavmenu: true\r\n };\r\n } else {\r\n args = {\r\n gamename: gameId,\r\n invokerProduct: 'CASINO',\r\n invokerChannel: 'FC',\r\n lang: 'da_DK',\r\n launchType: 'IL',\r\n lobbytype: '',\r\n currency: 'DKK',\r\n sessionKey: ssoKey,\r\n lobbyRes: 'NORMAL',\r\n hostUrl: encodeURIComponent(settings.hostUrl),\r\n multiGame: false,\r\n isFavoritesEnabled: false,\r\n bgtransparent: false,\r\n brand: 'DANSKESPIL',\r\n isOverlay: false,\r\n frontend: 'ds',\r\n connector: 'web2proxy',\r\n isMobile: isMobileOrTablet,\r\n hidecontrolpanel: true\r\n };\r\n }\r\n\r\n if (isMobileOrTablet && settings && !settings.mobileGameIsLoadedInIframe) {\r\n window.location.href = SpillehjoernetApi.gameLaunchUrl(args);\r\n }\r\n\r\n this.iframeSrc(SpillehjoernetApi.gameLaunchUrl(args));\r\n\r\n if (isMobileOrTablet) {\r\n if (Utils.isMobile()) {\r\n this.swipeOverlay(true);\r\n window.addEventListener('touchend', function () { // this adds a swipeoverlay to the mobile games, and then adjust the container after the overlay has been removed\r\n this.swipeOverlay(false);\r\n setTimeout(function () {\r\n this.setContainerSize();\r\n }.bind(this), 3000);\r\n }.bind(this));\r\n }\r\n window.addEventListener('resize', this.setContainerSize);\r\n }\r\n\r\n }\r\n }.bind(this), false);\r\n\r\n\r\n } else {\r\n LoginController.openLogin({\r\n cancelUrl: PageHelper.getRootUrl()\r\n });\r\n }\r\n\r\n document.body.setAttribute('data-override-logout-return-url', '/' + window.location.pathname.split('/')[1]);\r\n },\r\n view: function (controller) {\r\n return controller.iframeSrc() ? m(GameLauncherIframeWrapper, controller) : m.trust(controller.$loadingElement());\r\n }\r\n };\r\n route('/', root);\r\n });\r\n});\r\n\r\n"]}