{"version":3,"sources":["webpack://Casino.Mobile/./Scripts/analytics.js","webpack://Casino.Mobile/./Scripts/pozzito.js","webpack://Casino.Mobile/./reactapp/repositories/Category.js","webpack://Casino.Mobile/./reactapp/repositories/PokerSSOPLTurniri.js","webpack://Casino.Mobile/./Scripts/conffeti-animation.js","webpack://Casino.Mobile/./reactapp/repositories/Base.js","webpack://Casino.Mobile/./reactapp/repositories/CasinoBonusPobjednici.js","webpack://Casino.Mobile/./reactapp/repositories/CasinoDobitci.js","webpack://Casino.Mobile/./reactapp/repositories/CasinoLiveDobitci.js","webpack://Casino.Mobile/./reactapp/repositories/CasinoMaraton.js","webpack://Casino.Mobile/./reactapp/repositories/CasinoMaratonHappyHour.js","webpack://Casino.Mobile/./reactapp/repositories/Event.js","webpack://Casino.Mobile/./reactapp/repositories/Favorites.js","webpack://Casino.Mobile/./reactapp/repositories/Game.js","webpack://Casino.Mobile/./reactapp/repositories/GamesForFilter.js","webpack://Casino.Mobile/./reactapp/repositories/Jackpots.js","webpack://Casino.Mobile/./reactapp/repositories/Notifikacije.js","webpack://Casino.Mobile/./reactapp/repositories/Obavijesti.js","webpack://Casino.Mobile/./reactapp/repositories/PlayerGameDetails.js","webpack://Casino.Mobile/./reactapp/repositories/PlayerGames.js","webpack://Casino.Mobile/./reactapp/repositories/PlayerTransactions.js","webpack://Casino.Mobile/./reactapp/repositories/PobjedniciDana.js","webpack://Casino.Mobile/./reactapp/repositories/PokerBonusPobjednici.js","webpack://Casino.Mobile/./reactapp/repositories/PokerLiveInfo.js","webpack://Casino.Mobile/./reactapp/repositories/PokerPobjednici.js","webpack://Casino.Mobile/./reactapp/repositories/PokerSSOPLPobjednici.js","webpack://Casino.Mobile/./reactapp/repositories/PokerTurniri.js","webpack://Casino.Mobile/./reactapp/repositories/PrekidSamoiskljucenja.js","webpack://Casino.Mobile/./reactapp/repositories/Promotion.js","webpack://Casino.Mobile/./reactapp/repositories/Session.js","webpack://Casino.Mobile/./reactapp/repositories/TransactionTypes.js","webpack://Casino.Mobile/./reactapp/repositories/Wallet.js","webpack://Casino.Mobile/./reactapp/utils.js"],"names":["i","s","o","r","a","m","script","categoriesPromise","turniriPromise","window","document","q","push","arguments","l","Date","createElement","getElementsByTagName","async","src","parentNode","insertBefore","ga","onload","body","appendChild","ConfettiAnimation","canvas","ctx","W","H","reactivationTimerHandler","animationHandler","particles","angle","confettiActive","animationComplete","particleColors","colorOptions","colorIndex","colorIncrementer","colorThreshold","getColor","this","length","confettiParticle","color","from","to","x","Math","random","y","floor","d","tilt","tiltAngleIncremental","tiltAngle","draw","beginPath","lineWidth","strokeStyle","moveTo","lineTo","stroke","SetGlobals","id","getElementById","getContext","computedStyle","getComputedStyle","getPropertyValue","replace","width","height","InitializeConfetti","particleColor","Draw","clearRect","j","results","particle","remainingFlakes","stepParticle","CheckForReposition","StopConfetti","Update","index","repositionParticle","sin","particleIndex","cos","xCoordinate","yCoordinate","StartConfetti","animloop","requestAnimFrame","ClearTimers","clearTimeout","undefined","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","callback","setTimeout","DeactivateConfetti","InitAndStart","casino","repos","base","headers","config","antiForgeryToken","credentials","serializeGetParams","obj","Object","keys","reduce","k","encodeURIComponent","join","checkResponse","response","status","handleNetworkException","error","networkErrorsListener","casinoBonusPobjedniciRepo","list","bonusSifra","nadimak","najveciBrojSpinovaID","podebljajNajveciDobitakID","aktivno","fetch","sifra","najveciBrojSpinova","podebljajNajveciDobitak","then","json","casinoDobitciRepo","get","casinoLiveDobitciRepo","casinoMaratonRepo","sveRezultate","casinoMaratonHappyHourRepo","lmsRezultate","categoryRepo","eventRepo","create","eventId","location","method","JSON","stringify","casinoEvent","casinoLokacija","url","favoritesRepo","igra","remove","urlGame","igrePromise","gameRepo","forFun","selectedTab","utils","getGameBackUrl","backUrl","gamesForFilterRepo","jackpotsRepo","notifikacijeRepo","notifikacija","obavijestiRepo","naziv","playerGameDetailsRepo","providerId","sessionId","page","provider","playerGamesRepo","datumOd","datumDo","tip","gameId","playerTransactionsRepo","vrsta","pobjedniciDanaRepo","pokerBonusPobjedniciRepo","pokerLiveInfoRepo","pokerTurnirPobjedniciRepo","dbNaziv","params","pokerSSPOLTurnirPobjedniciRepo","turnir","pokerSSOPLTurniriRepo","pokerTurniriRepo","prekidSamoiskljucenjaRepo","urlPromotion","promotionRepo","promocija","sessionRepo","sesija","username","password","login","odjava","transactionTypesRepo","walletRepo","iznos","naCasino","moreData","assign","lazyImageObserver","nameToUrl","name","normal","split","toLowerCase","isIos","userAgent","navigator","vendor","opera","test","MSStream","makeCancelablePromise","promise","hasCanceled_","Promise","resolve","reject","val","isCanceled","cancel","clearToNumberChars","value","filter","char","indexOf","numberToKune","number","numberToLocaleString","numberToString","formatCurrency","trim","round","toFixed","toString","Intl","NumberFormat","toLocaleString","style","currency","stringToNumber","string","Number","stringToDate","pxToNumber","dateToTimeString","date","getHours","slice","getMinutes","dateToTimeString2","getSeconds","dateToShortDateString","getDate","getMonth","dateToDateString","getFullYear","dateToFullDateString","dateToIso","date1","pad","scroolTopAnimation","top","start","pageYOffset","scrollTo","capitalizeFirstLetter","charAt","toUpperCase","selectText","element","select","setSelectionRange","parseQuery","search","arg","kvp","key","args","substring","argsParsed","decodeURIComponent","getKeyByValue","object","find","lazyImages","mountEventLazyLoadImages","disconnect","IntersectionObserver","entries","observer","forEach","entry","isIntersecting","lazyImage","target","dataset","srcset","classList","unobserve","threshold","rootMargin","call","querySelectorAll","lazyImageDivs","observe","lazyDiv","generateRandomNumbers","seed","count","myRandomFunction","mask","m_w","m_z","result","mathSeed","generateTodayRandomNumber","today","tt","dateToUTCShortDateString","getUTCFullYear","getUTCMonth","getUTCDate","addDays","days","setDate","lastGameId","href","endsWith","lasttab","lastgame","lastFrom","getBaseUrl","setLocalStorageWithExpiry","ttl","item","expiry","getTime","localStorage","setItem","getLocalStorageWithExpiry","itemStr","getItem","parse","removeItem","canIUseWebP","elem","toDataURL","createGoogleTagManagerEvent","eventObject","dataLayer","getOperatingSystem","OSName"],"mappings":"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","file":"bundle.libs.js?c49269d5e9d1f4e120ef","sourcesContent":["(function (i, s, o, g, r, a, m) {\r\n i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {\r\n (i[r].q = i[r].q || []).push(arguments)\r\n }, i[r].l = 1 * new Date(); a = s.createElement(o),\r\n m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)\r\n})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');\r\n\r\nga('create', 'UA-89823620-2', 'auto');\r\nga('send', 'pageview');","//// pozzito configuration\r\n//var pozzitoConfig = {\r\n// apiKey: \"9ecd7ef1026c4c2d9e0c10219b5478db\",\r\n// appId: \"Ig5YHBawUFgcy_SFP4easg~~\",\r\n// widgetConfig: {\r\n// autoInit: false, // required to allow SPA lifecycle\r\n// }\r\n//};\r\n\r\n//// pozzito loader\r\n//!function (t, e) { function a(t, a) { var n = e.createElement(\"script\"); n.type = \"text/javascript\", n.async = !0, n.src = t, a && (n.onload = a); var o = e.getElementsByTagName(\"script\")[0]; o.parentNode.insertBefore(n, o) } function n() { a(\"https://api.pozzito.com/resourceserver/100/widget?apiKey=\" + r + \"&appId=\" + c) } function o() { n() } var i = t.pozzitoConfig || {}, r = i.apiKey, c = i.appId; t.attachEvent ? t.attachEvent(\"onload\", o) : t.addEventListener(\"load\", o, !1) }(window, document);\r\n\r\n\r\n\r\n//// novi pozzito\r\nvar script = document.createElement('script');\r\nscript.async = true;\r\nscript.src = 'https://paldesk.io/api/widget-client?apiKey=4e6b64feacad0cc01b50d3571f53620f';\r\n\r\n\r\nscript.onload = function () {\r\n\r\n}\r\n\r\ndocument.body.appendChild(script);\r\n","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.categoryRepo = function () {\r\n var url = 'api/categories';\r\n\r\n // radimo cache igri, jednom je dosta\r\n var categoriesPromise = null;\r\n\r\n var list = function () {\r\n\r\n if (!categoriesPromise) {\r\n categoriesPromise = fetch(url)\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n }\r\n\r\n return categoriesPromise;\r\n };\r\n\r\n return {\r\n list: list\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.pokerSSOPLTurniriRepo = function () {\r\n var url = 'api/pokerssoplturniri';\r\n\r\n // radimo cache turnira, jednom je dosta\r\n var turniriPromise = null;\r\n\r\n var list = function () {\r\n if (!turniriPromise)\r\n turniriPromise = fetch(url)\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n\r\n return turniriPromise;\r\n };\r\n\r\n\r\n return {\r\n list: list\r\n }\r\n\r\n}();","\r\n\r\nwindow.ConfettiAnimation = function () {\r\n // globals\r\n var canvas;\r\n var ctx;\r\n var W;\r\n var H;\r\n var mp = 50; //max particles\r\n var particles = [];\r\n var angle = 0;\r\n var tiltAngle = 0;\r\n var confettiActive = true;\r\n var animationComplete = true;\r\n var deactivationTimerHandler;\r\n var reactivationTimerHandler;\r\n var animationHandler;\r\n\r\n // objects\r\n\r\n var particleColors = {\r\n colorOptions: [\"DodgerBlue\", \"OliveDrab\", \"Gold\", \"pink\", \"SlateBlue\", \"lightblue\", \"Violet\", \"PaleGreen\", \"SteelBlue\", \"SandyBrown\", \"Chocolate\", \"Crimson\", \"#d23f2f\", \"#BE3829\"],\r\n colorIndex: 0,\r\n colorIncrementer: 0,\r\n colorThreshold: 10,\r\n getColor: function () {\r\n if (this.colorIncrementer >= 1) {\r\n this.colorIncrementer = 0;\r\n this.colorIndex++;\r\n if (this.colorIndex >= this.colorOptions.length) {\r\n this.colorIndex = 0;\r\n }\r\n }\r\n this.colorIncrementer++;\r\n return this.colorOptions[this.colorIndex];\r\n }\r\n }\r\n\r\n function confettiParticle(color) {\r\n this.x = Math.random() * W; // x-coordinate\r\n this.y = (Math.random() * H) - H; //y-coordinate\r\n this.r = RandomFromTo(10, 30); //radius;\r\n this.d = (Math.random() * mp) + 10; //density;\r\n this.color = color;\r\n this.tilt = Math.floor(Math.random() * 10) - 10;\r\n this.tiltAngleIncremental = (Math.random() * 0.07) + .05;\r\n this.tiltAngle = 0;\r\n\r\n this.draw = function () {\r\n ctx.beginPath();\r\n ctx.lineWidth = this.r / 2;\r\n ctx.strokeStyle = this.color;\r\n ctx.moveTo(this.x + this.tilt + (this.r / 4), this.y);\r\n ctx.lineTo(this.x + this.tilt, this.y + this.tilt + (this.r / 4));\r\n return ctx.stroke();\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n function SetGlobals(id) {\r\n\r\n\r\n\r\n canvas = document.getElementById(id);\r\n ctx = canvas.getContext(\"2d\");\r\n\r\n var computedStyle = window.getComputedStyle(canvas, null)\r\n\r\n\r\n\r\n W = computedStyle.getPropertyValue(\"width\").replace('px', '');\r\n H = computedStyle.getPropertyValue(\"height\").replace('px', '');\r\n\r\n canvas.width = W;\r\n canvas.height = H;\r\n }\r\n\r\n function InitializeConfetti() {\r\n particles = [];\r\n animationComplete = false;\r\n for (var i = 0; i < mp; i++) {\r\n var particleColor = particleColors.getColor();\r\n particles.push(new confettiParticle(particleColor));\r\n }\r\n canvas.width = W;\r\n canvas.height = H\r\n }\r\n\r\n function Draw() {\r\n ctx.clearRect(0, 0, W, H);\r\n var results = [];\r\n for (var i = 0; i < mp; i++) {\r\n (function (j) {\r\n results.push(particles[j].draw());\r\n })(i);\r\n }\r\n Update();\r\n\r\n return results;\r\n }\r\n\r\n function RandomFromTo(from, to) {\r\n return Math.floor(Math.random() * (to - from + 1) + from);\r\n }\r\n\r\n\r\n function Update() {\r\n var remainingFlakes = 0;\r\n var particle;\r\n angle += 0.01;\r\n tiltAngle += 0.1;\r\n\r\n for (var i = 0; i < mp; i++) {\r\n particle = particles[i];\r\n if (animationComplete) return;\r\n\r\n if (!confettiActive && particle.y < -15) {\r\n particle.y = H + 100;\r\n continue;\r\n }\r\n\r\n stepParticle(particle, i);\r\n\r\n if (particle.y <= H) {\r\n remainingFlakes++;\r\n }\r\n\r\n CheckForReposition(particle, i);\r\n }\r\n\r\n if (remainingFlakes === 0) {\r\n StopConfetti();\r\n }\r\n }\r\n\r\n function CheckForReposition(particle, index) {\r\n if ((particle.x > W + 20 || particle.x < -20 || particle.y > H) && confettiActive) {\r\n if (index % 5 > 0 || index % 2 == 0) //66.67% of the flakes\r\n {\r\n repositionParticle(particle, Math.random() * W, -10, Math.floor(Math.random() * 10) - 20);\r\n } else {\r\n if (Math.sin(angle) > 0) {\r\n //Enter from the left\r\n repositionParticle(particle, -20, Math.random() * H, Math.floor(Math.random() * 10) - 20);\r\n } else {\r\n //Enter from the right\r\n repositionParticle(particle, W + 20, Math.random() * H, Math.floor(Math.random() * 10) - 20);\r\n }\r\n }\r\n }\r\n }\r\n function stepParticle(particle, particleIndex) {\r\n particle.tiltAngle += particle.tiltAngleIncremental;\r\n particle.y += (Math.cos(angle + particle.d) + 3 + particle.r / 2) / 5;\r\n particle.x += Math.sin(angle);\r\n particle.tilt = (Math.sin(particle.tiltAngle - (particleIndex / 3))) * 15;\r\n }\r\n\r\n function repositionParticle(particle, xCoordinate, yCoordinate, tilt) {\r\n particle.x = xCoordinate;\r\n particle.y = yCoordinate;\r\n particle.tilt = tilt;\r\n }\r\n\r\n function StartConfetti() {\r\n canvas.width = W;\r\n canvas.height = H;\r\n (function animloop() {\r\n if (animationComplete) return null;\r\n animationHandler = requestAnimFrame(animloop);\r\n return Draw();\r\n })();\r\n }\r\n\r\n function ClearTimers() {\r\n clearTimeout(reactivationTimerHandler);\r\n clearTimeout(animationHandler);\r\n }\r\n\r\n function DeactivateConfetti() {\r\n confettiActive = false;\r\n ClearTimers();\r\n }\r\n\r\n function StopConfetti() {\r\n animationComplete = true;\r\n if (ctx == undefined) return;\r\n ctx.clearRect(0, 0, W, H);\r\n }\r\n\r\n function RestartConfetti() {\r\n ClearTimers();\r\n StopConfetti();\r\n reactivationTimerHandler = setTimeout(function () {\r\n confettiActive = true;\r\n animationComplete = false;\r\n InitializeConfetti();\r\n }, 100);\r\n\r\n }\r\n\r\n window.requestAnimFrame = (function () {\r\n return window.requestAnimationFrame ||\r\n window.webkitRequestAnimationFrame ||\r\n window.mozRequestAnimationFrame ||\r\n window.oRequestAnimationFrame ||\r\n window.msRequestAnimationFrame ||\r\n function (callback) {\r\n return window.setTimeout(callback, 1000 / 60);\r\n };\r\n })();\r\n\r\n return {\r\n SetGlobals: SetGlobals,\r\n InitializeConfetti: InitializeConfetti,\r\n StartConfetti: StartConfetti,\r\n DeactivateConfetti: DeactivateConfetti,\r\n StopConfetti: StopConfetti,\r\n InitAndStart: function (id) {\r\n SetGlobals(id);\r\n InitializeConfetti();\r\n StartConfetti();\r\n }\r\n }\r\n};\r\n\r\n","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\nrepos.base = {\r\n headers: function () {\r\n return {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'RequestVerificationToken': casino.config.antiForgeryToken\r\n }\r\n },\r\n credentials: 'include',\r\n serializeGetParams: function (obj) {\r\n return '?' + Object.keys(obj).reduce(function (a, k) {\r\n a.push(k + '=' + encodeURIComponent(obj[k]));\r\n return a\r\n }, []).join('&')\r\n },\r\n checkResponse: function (response) {\r\n if (response.status !== 200) {\r\n throw response;\r\n }\r\n return response;\r\n },\r\n handleNetworkException: function (error) {\r\n if (casino.repos.base.networkErrorsListener != null)\r\n casino.repos.base.networkErrorsListener();\r\n },\r\n networkErrorsListener: null\r\n};","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\nrepos.casinoBonusPobjedniciRepo = function () {\r\n\r\n var url = 'api/casinobonuspobjednici';\r\n\r\n var list = function (bonusSifra, nadimak, najveciBrojSpinovaID, podebljajNajveciDobitakID, aktivno) {\r\n\r\n\r\n return fetch(url + casino.repos.base.serializeGetParams({\r\n sifra: bonusSifra,\r\n nadimak: nadimak || '',\r\n najveciBrojSpinova: najveciBrojSpinovaID || null,\r\n podebljajNajveciDobitak: podebljajNajveciDobitakID || null,\r\n aktivno: aktivno\r\n }), {\r\n credentials: repos.base.credentials\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n\r\n };\r\n\r\n return {\r\n list: list\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.casinoDobitciRepo = (function() {\r\n var url = \"api/dobitci?v2\";\r\n\r\n var get = function() {\r\n return fetch(url)\r\n .then(casino.repos.base.checkResponse)\r\n .then(function(response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n return {\r\n get: get\r\n };\r\n})();\r\n","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.casinoLiveDobitciRepo = (function() {\r\n var url = \"api/livedobitci\";\r\n\r\n var list = function() {\r\n return fetch(url)\r\n .then(casino.repos.base.checkResponse)\r\n .then(function(response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n return {\r\n list: list\r\n };\r\n})();\r\n","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.casinoMaratonRepo = function () {\r\n\r\n var url = 'api/casinomaraton';\r\n\r\n var get = function (sveRezultate, nadimak) {\r\n\r\n\r\n return fetch(url + casino.repos.base.serializeGetParams({\r\n sveRezultate: sveRezultate,\r\n nadimak: nadimak || ''\r\n }), {\r\n credentials: repos.base.credentials\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n\r\n };\r\n\r\n return {\r\n get: get\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.casinoMaratonHappyHourRepo = function () {\r\n\r\n var url = 'api/casinomaratonhappyhour';\r\n\r\n var get = function (sveRezultate, nadimak, lmsRezultate) {\r\n\r\n return fetch(url + casino.repos.base.serializeGetParams({\r\n sveRezultate: sveRezultate,\r\n nadimak: nadimak || '',\r\n lmsRezultate: lmsRezultate\r\n }), {\r\n credentials: repos.base.credentials\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n return {\r\n get: get\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.eventRepo = function () {\r\n var url = 'api/event';\r\n\r\n var create = function (eventId, location) {\r\n return fetch(url, {\r\n method: 'POST',\r\n credentials: repos.base.credentials,\r\n headers: repos.base.headers(),\r\n body: JSON.stringify({\r\n casinoEvent: eventId,\r\n casinoLokacija: location\r\n })\r\n }).catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n\r\n return {\r\n create: create\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.favoritesRepo = function () {\r\n var url = 'api/favorites';\r\n\r\n var create = function (igra) {\r\n return fetch(url, {\r\n method: 'POST',\r\n credentials: repos.base.credentials,\r\n headers: repos.base.headers(),\r\n body: JSON.stringify(igra)\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n var remove = function (igra) {\r\n return fetch(url, {\r\n method: 'DELETE',\r\n credentials: repos.base.credentials,\r\n headers: repos.base.headers(),\r\n body: JSON.stringify(igra)\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n return {\r\n create: create,\r\n remove: remove\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.gameRepo = function () {\r\n var urlGame = 'api/game';\r\n var urlGames = 'api/games';\r\n\r\n // radimo cache igri, jednom je dosta\r\n var igrePromise = null;\r\n\r\n var list = function () {\r\n if (!igrePromise)\r\n igrePromise = fetch(urlGames)\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n\r\n return igrePromise;\r\n };\r\n\r\n\r\n\r\n\r\n var get = function (id, forFun, selectedTab = \"\", from = \"\") {\r\n\r\n var url = casino.utils.getGameBackUrl(id, selectedTab, from);\r\n\r\n return fetch(urlGame +\r\n casino.repos.base.serializeGetParams({\r\n id: id,\r\n forFun: forFun,\r\n backUrl: url\r\n }), {\r\n credentials: repos.base.credentials,\r\n headers: repos.base.headers()\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n\r\n return {\r\n list: list,\r\n get: get\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.gamesForFilterRepo = function () {\r\n var url = 'api/gamesforfilter';\r\n \r\n var list = function () {\r\n return fetch(url)\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n return {\r\n list: list\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.jackpotsRepo = function () {\r\n var url = 'api/jackpots';\r\n\r\n \r\n var list = function () {\r\n\r\n return fetch(url)\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n\r\n };\r\n\r\n return {\r\n list: list\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.notifikacijeRepo = function () {\r\n var url = 'api/notifikacije';\r\n\r\n var list = function () {\r\n return fetch(url, {\r\n credentials: repos.base.credentials\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n var remove = function (notifikacija) {\r\n return fetch(url, {\r\n method: 'DELETE',\r\n credentials: repos.base.credentials,\r\n headers: repos.base.headers(),\r\n body: JSON.stringify(notifikacija)\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n return {\r\n remove: remove,\r\n list: list\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.obavijestiRepo = function () {\r\n var url = 'api/obavijesti';\r\n\r\n var remove = function (naziv) {\r\n return fetch(url, {\r\n method: 'DELETE',\r\n credentials: repos.base.credentials,\r\n headers: repos.base.headers(),\r\n body: JSON.stringify({\r\n naziv: naziv\r\n })\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n return {\r\n remove: remove\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.playerGameDetailsRepo = function () {\r\n\r\n var urlGames = 'api/playergamedetails';\r\n\r\n var get = function (providerId, sessionId, page) {\r\n return fetch(urlGames +\r\n casino.repos.base.serializeGetParams({\r\n provider: providerId,\r\n sessionId: sessionId,\r\n page: page\r\n }), {\r\n credentials: repos.base.credentials,\r\n headers: repos.base.headers()\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n return {\r\n get: get\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.playerGamesRepo = function () {\r\n\r\n var url = 'api/playergames';\r\n\r\n\r\n var list = function (datumOd, datumDo, tip, page) {\r\n return fetch(url +\r\n casino.repos.base.serializeGetParams({\r\n datumOd: datumOd,\r\n datumDo: datumDo,\r\n gameId: tip,\r\n page: page\r\n }), {\r\n credentials: repos.base.credentials,\r\n headers: repos.base.headers()\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n return {\r\n list: list\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.playerTransactionsRepo = function () {\r\n\r\n var url = 'api/playertransactions';\r\n\r\n\r\n var list = function (datumOd, datumDo, tip, page) {\r\n return fetch(url +\r\n casino.repos.base.serializeGetParams({\r\n datumOd: datumOd,\r\n datumDo: datumDo,\r\n vrsta: tip,\r\n page: page\r\n }), {\r\n credentials: repos.base.credentials,\r\n headers: repos.base.headers()\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n return {\r\n list: list\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.pobjedniciDanaRepo = function () {\r\n var url = 'api/pobjednicidana';\r\n\r\n \r\n var list = function () {\r\n\r\n return fetch(url)\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n\r\n };\r\n\r\n return {\r\n list: list\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.pokerBonusPobjedniciRepo = function () {\r\n\r\n var url = 'api/pokerbonuspobjednici';\r\n\r\n var list = function (bonusSifra, nadimak) {\r\n\r\n\r\n return fetch(url + casino.repos.base.serializeGetParams({\r\n sifra: bonusSifra,\r\n nadimak: nadimak || ''\r\n }))\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n\r\n };\r\n\r\n return {\r\n list: list\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.pokerLiveInfoRepo = function () {\r\n\r\n var url = 'api/pokerliveinfo';\r\n\r\n var get = function () {\r\n\r\n return fetch(url)\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n\r\n };\r\n\r\n return {\r\n get: get\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.pokerTurnirPobjedniciRepo = function () {\r\n\r\n var url = 'api/pokerturnirpobjednici';\r\n\r\n var list = function (dbNaziv) {\r\n\r\n var params = {\r\n dbNaziv: (dbNaziv || '')\r\n };\r\n\r\n return fetch(url + casino.repos.base.serializeGetParams(params))\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n\r\n };\r\n\r\n return {\r\n list: list\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.pokerSSPOLTurnirPobjedniciRepo = function () {\r\n\r\n var url = 'api/pokerssoplturnirpobjednici';\r\n\r\n var list = function (turnir) {\r\n\r\n return fetch(url + casino.repos.base.serializeGetParams(turnir))\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n return {\r\n list: list\r\n }\r\n\r\n }();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\n\r\nrepos.pokerTurniriRepo = function () {\r\n var url = 'api/pokerturniri';\r\n\r\n // radimo cache turnira, jednom je dosta\r\n var turniriPromise = null;\r\n\r\n var list = function () {\r\n if (!turniriPromise)\r\n turniriPromise = fetch(url)\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n\r\n return turniriPromise;\r\n };\r\n\r\n\r\n return {\r\n list: list\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\nrepos.prekidSamoiskljucenjaRepo = function () {\r\n var url = 'api/prekidsamoiskljucenja';\r\n\r\n var create = function (eventId) {\r\n return fetch(url, {\r\n method: 'POST',\r\n credentials: repos.base.credentials,\r\n headers: repos.base.headers(),\r\n }).catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n\r\n return {\r\n create: create\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\nrepos.promotionRepo = function () {\r\n var urlPromotion = 'api/promotion';\r\n var urlPromotions = 'api/promotions';\r\n\r\n var list = function () {\r\n return fetch(urlPromotions, {\r\n credentials: repos.base.credentials\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n var get = function () {\r\n \r\n };\r\n\r\n var remove = function (promocija) {\r\n return fetch(urlPromotion, {\r\n method: 'DELETE',\r\n credentials: repos.base.credentials,\r\n headers: repos.base.headers(),\r\n body: JSON.stringify(promocija)\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n var create = function (promocija) {\r\n return fetch(urlPromotion, {\r\n method: 'POST',\r\n credentials: repos.base.credentials,\r\n headers: repos.base.headers(),\r\n body: JSON.stringify(promocija)\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n\r\n return {\r\n list: list,\r\n get: get,\r\n remove: remove,\r\n create: create\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\nrepos.sessionRepo = function () {\r\n var url = 'api/session';\r\n\r\n var get = function () {\r\n return fetch(url, {\r\n method: 'GET',\r\n headers: repos.base.headers(),\r\n credentials: repos.base.credentials,\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json().then(function (sesija) {\r\n if (sesija && sesija.antiForgeryToken)\r\n casino.config.antiForgeryToken = sesija.antiForgeryToken;\r\n\r\n return sesija;\r\n });\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n var create = function (username, password) {\r\n return fetch(url, {\r\n method: 'POST',\r\n credentials: repos.base.credentials,\r\n headers: repos.base.headers(),\r\n body: JSON.stringify({\r\n username: username,\r\n password: password,\r\n })\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json().then(function (login) {\r\n if (login && login.sesija.antiForgeryToken)\r\n casino.config.antiForgeryToken = login.sesija.antiForgeryToken;\r\n\r\n return login;\r\n });\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n var remove = function (callback) {\r\n return fetch(url, {\r\n method: 'DELETE',\r\n headers: repos.base.headers(),\r\n credentials: repos.base.credentials,\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n response.json().then(function (odjava) {\r\n if (odjava && odjava.sesija.antiForgeryToken)\r\n casino.config.antiForgeryToken = odjava.sesija.antiForgeryToken;\r\n });\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n return {\r\n get: get,\r\n create: create,\r\n remove: remove\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\nrepos.transactionTypesRepo = function () {\r\n var url = 'api/transactiontypes';\r\n\r\n \r\n var list = function () {\r\n\r\n return fetch(url)\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n\r\n };\r\n\r\n return {\r\n list: list\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\nvar repos = window.casino.repos = window.casino.repos || {};\r\n\r\nrepos.walletRepo = function () {\r\n var url = 'api/wallet';\r\n\r\n var create = function (iznos, naCasino, moreData) {\r\n\r\n moreData = moreData || {};\r\n\r\n\r\n return fetch(url, {\r\n method: 'POST',\r\n credentials: repos.base.credentials,\r\n headers: repos.base.headers(),\r\n body: JSON.stringify(Object.assign(moreData, {\r\n iznos: iznos,\r\n naCasino: naCasino,\r\n }))\r\n })\r\n .then(casino.repos.base.checkResponse)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(casino.repos.base.handleNetworkException);\r\n };\r\n\r\n return {\r\n create: create\r\n }\r\n\r\n}();","window.casino = window.casino || {};\r\n\r\ncasino.utils = {\r\n nameToUrl: function (name) {\r\n var normal = name.split(' ').join('-').toLowerCase();\r\n normal = normal.split('%60').join('');\r\n return normal.split('`').join('');\r\n },\r\n isIos: function () {\r\n var userAgent = navigator.userAgent || navigator.vendor || window.opera;\r\n // iOS detection from: http://stackoverflow.com/a/9039885/177710\r\n if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {\r\n return true;\r\n }\r\n return false;\r\n },\r\n makeCancelablePromise: function (promise) {\r\n var hasCanceled_ = false;\r\n\r\n var wrappedPromise = new Promise((resolve, reject) => {\r\n promise.then((val) =>\r\n hasCanceled_ ? reject({\r\n isCanceled: true\r\n }) : resolve(val)\r\n );\r\n promise.catch((error) =>\r\n hasCanceled_ ? reject({\r\n isCanceled: true\r\n }) : reject(error)\r\n );\r\n });\r\n\r\n return {\r\n promise: wrappedPromise,\r\n cancel() {\r\n hasCanceled_ = true;\r\n },\r\n }\r\n },\r\n clearToNumberChars: function (value) {\r\n var NUMBER_CHARS = \"1234567890,.\";\r\n return value.split('').filter((char) => NUMBER_CHARS.indexOf(char) !== -1).join('');\r\n },\r\n numberToKune: function (number) {\r\n return this.numberToLocaleString(number).replace(\"HRK\", \"kn\");\r\n },\r\n numberToString: function (number) {\r\n return this.formatCurrency(number).replace(\"HRK\", \"\").replace(\"kn\", \"\").trim();\r\n //return this.numberToLocaleString(number).replace(\"HRK\", \"\").replace(\"kn\", \"\").trim();\r\n },\r\n\r\n formatCurrency: function (val) {\r\n var currencyFormat;\r\n\r\n val = (Math.round(val * 100) / 100).toFixed(2);\r\n\r\n currencyFormat = '0,00 kn';\r\n val = val.replace('.', ',');\r\n val = currencyFormat.replace('0,00', val);\r\n\r\n val = val.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n return val;\r\n },\r\n numberToLocaleString: function (number) {\r\n if (number == null)\r\n return 'N/A';\r\n\r\n if (typeof Intl == 'object' && typeof Intl.NumberFormat == 'function') {\r\n return number.toLocaleString(\"hr-HR\", {\r\n style: 'currency',\r\n currency: 'HRK'\r\n });\r\n } else {\r\n return (+number).toFixed(2).toString().replace('.', ',') + ' HRK';\r\n }\r\n },\r\n stringToNumber: function (string) {\r\n if (!string)\r\n return null;\r\n return Number(string.replace('.', '').replace(',', '.'));\r\n },\r\n stringToDate: function (string) {\r\n if (!string)\r\n return null;\r\n return new Date(string.split(\".\")[2], (Number(string.split(\".\")[1]) - 1).toString(), string.split(\".\")[0])\r\n },\r\n pxToNumber: function (string) {\r\n return Number(string.replace('px', ''));\r\n },\r\n dateToTimeString: function (date) {\r\n return ('0' + date.getHours()).slice(-2) + ':' + ('0' + date.getMinutes()).slice(-2);\r\n },\r\n dateToTimeString2: function (date) {\r\n return ('0' + date.getMinutes()).slice(-2) + ':' + ('0' + date.getSeconds()).slice(-2);\r\n },\r\n dateToShortDateString: function (date) {\r\n return ('0' + date.getDate()).slice(-2) + '.' + ('0' + (date.getMonth() + 1)).slice(-2);\r\n },\r\n dateToDateString: function (date) {\r\n return ('0' + date.getDate()).slice(-2) + '.' + ('0' + (date.getMonth() + 1)).slice(-2) + '.' + date.getFullYear().toString().slice(-2);\r\n },\r\n dateToFullDateString: function (date) {\r\n return ('0' + date.getDate()).slice(-2) + '.' + ('0' + (date.getMonth() + 1)).slice(-2) + '.' + date.getFullYear().toString() + '.';\r\n },\r\n dateToIso: function (date1) {\r\n if (!date1)\r\n return null;\r\n\r\n let date = new Date(date1)\r\n\r\n var pad = function (number) {\r\n if (number < 10) {\r\n return '0' + number;\r\n }\r\n return number;\r\n }\r\n\r\n return date.getFullYear() +\r\n '-' + pad(date.getMonth() + 1) +\r\n '-' + pad(date.getDate());\r\n },\r\n scroolTopAnimation: function (top) {\r\n var start = window.pageYOffset;\r\n top = top + start;\r\n var diff = (top - start) / 14;\r\n\r\n if (diff > 0) {\r\n window.scrollTo(0, start);\r\n\r\n // var timerID = setInterval(function () {\r\n // var ostalo = top - start;\r\n // var diffToGo = ostalo > diff ? diff : ostalo;\r\n // start += diffToGo;\r\n // window.scrollTo(0, start);\r\n\r\n // if (start >= top)\r\n // clearInterval(timerID);\r\n // }, 14);\r\n } else {\r\n\r\n top = top - 23;\r\n window.scrollTo(0, start);\r\n // var timerID = setInterval(function () {\r\n // var ostalo = start - top\r\n // var diffToGo = ostalo > diff ? diff : ostalo;\r\n // start += diffToGo;\r\n // window.scrollTo(0, start);\r\n\r\n // if (start <= top)\r\n // clearInterval(timerID);\r\n // }, 14);\r\n }\r\n\r\n },\r\n capitalizeFirstLetter: function (string) {\r\n if (!string)\r\n return string;\r\n return string.charAt(0).toUpperCase() + string.slice(1);\r\n },\r\n selectText: function (element) {\r\n setTimeout(() => {\r\n element.select();\r\n element.setSelectionRange(0, 9999);\r\n }, 10);\r\n },\r\n parseQuery: function (search) {\r\n search = search.split('&').join('&');\r\n var args = search.substring(1).split('&');\r\n var argsParsed = {};\r\n var i, arg, kvp, key, value;\r\n for (i = 0; i < args.length; i++) {\r\n arg = args[i];\r\n if (-1 === arg.indexOf('=')) {\r\n argsParsed[decodeURIComponent(arg).trim()] = true;\r\n } else {\r\n kvp = arg.split('=');\r\n key = decodeURIComponent(kvp[0]).trim();\r\n value = decodeURIComponent(kvp[1]).trim();\r\n argsParsed[key] = value;\r\n }\r\n }\r\n return argsParsed;\r\n },\r\n getKeyByValue: function (object, value) {\r\n return Object.keys(object).find(key => object[key] === value);\r\n },\r\n lazyImages: function () {\r\n let lazyImageObserver = null;\r\n\r\n const mountEventLazyLoadImages = function () {\r\n if (lazyImageObserver)\r\n lazyImageObserver.disconnect();\r\n\r\n\r\n lazyImageObserver = new IntersectionObserver(function (entries, observer) {\r\n entries.forEach(function (entry) {\r\n if (entry.isIntersecting) {\r\n let lazyImage = entry.target;\r\n if (lazyImage.dataset.src) lazyImage.src = lazyImage.dataset.src;\r\n if (lazyImage.dataset.srcset) lazyImage.srcset = lazyImage.dataset.srcset;\r\n lazyImage.classList.remove(\"lazy\");\r\n lazyImageObserver.unobserve(lazyImage);\r\n }\r\n });\r\n }, {\r\n threshold: 0,\r\n rootMargin: '70%'\r\n });\r\n\r\n\r\n let lazyImages = [].slice.call(document.querySelectorAll(\"img.lazy\"));\r\n let lazyImageDivs = [].slice.call(document.querySelectorAll(\"div.lazy\"));\r\n\r\n lazyImages.forEach(function (lazyImage) {\r\n lazyImageObserver.observe(lazyImage);\r\n });\r\n\r\n lazyImageDivs.forEach(function (lazyDiv) {\r\n lazyImageObserver.observe(lazyDiv);\r\n });\r\n\r\n\r\n }\r\n\r\n return {\r\n mountEventLazyLoadImages\r\n }\r\n\r\n }(),\r\n generateRandomNumbers(seed, count) {\r\n\r\n var mathSeed = function (s) {\r\n var mask = 0xffffffff;\r\n var m_w = (123456789 + s) & mask;\r\n var m_z = (987654321 - s) & mask;\r\n\r\n return function () {\r\n m_z = (36969 * (m_z & 65535) + (m_z >>> 16)) & mask;\r\n m_w = (18000 * (m_w & 65535) + (m_w >>> 16)) & mask;\r\n\r\n var result = ((m_z << 16) + (m_w & 65535)) >>> 0;\r\n result /= 4294967296;\r\n return result;\r\n }\r\n }\r\n var myRandomFunction = mathSeed(seed);\r\n var result = [];\r\n for (let i = 0; i < count; i++)\r\n result.push(myRandomFunction());\r\n\r\n return result;\r\n },\r\n generateTodayRandomNumber(count) {\r\n var today = new Date();\r\n var tt = new Date(today.getFullYear(), today.getMonth(), today.getDate()) - new Date(2020, 1, 1);\r\n return this.generateRandomNumbers(tt, count);\r\n\r\n },\r\n dateToUTCShortDateString: function (date) {\r\n return date.getUTCFullYear() + '-' + ('0' + (date.getUTCMonth() + 1)).slice(-2) + '-' + ('0' + (date.getUTCDate())).slice(-2);\r\n },\r\n addDays: function (date, days) {\r\n var result = new Date(date);\r\n result.setDate(result.getDate() + days);\r\n return result;\r\n },\r\n getGameBackUrl: function (lastGameId, selectedTab = \"\", from = \"\") {\r\n var url = window.location.href.split('?')[0];\r\n url = url.split('/game/')[0];\r\n if (!url.endsWith(\"/\"))\r\n url += \"/\";\r\n\r\n url += encodeURIComponent(casino.repos.base.serializeGetParams({\r\n lasttab: selectedTab,\r\n lastgame: lastGameId,\r\n lastFrom: from\r\n }));\r\n\r\n return url;\r\n },\r\n getBaseUrl: function () {\r\n return (document.getElementsByTagName('base')[0] || {}).href;\r\n },\r\n setLocalStorageWithExpiry: function (key, value, ttl) {\r\n const now = new Date()\r\n\r\n // `item` is an object which contains the original value\r\n // as well as the time when it's supposed to expire\r\n const item = {\r\n value: value,\r\n expiry: now.getTime() + ttl,\r\n }\r\n localStorage.setItem(key, JSON.stringify(item))\r\n },\r\n getLocalStorageWithExpiry: function (key) {\r\n const itemStr = localStorage.getItem(key)\r\n\r\n // if the item doesn't exist, return null\r\n if (!itemStr) {\r\n return null\r\n }\r\n\r\n const item = JSON.parse(itemStr)\r\n const now = new Date()\r\n\r\n // compare the expiry time of the item with the current time\r\n if (now.getTime() > item.expiry) {\r\n // If the item is expired, delete the item from storage\r\n // and return null\r\n localStorage.removeItem(key)\r\n return null\r\n }\r\n return item.value\r\n },\r\n canIUseWebP: function () {\r\n var elem = document.createElement('canvas');\r\n\r\n if (!!(elem.getContext && elem.getContext('2d'))) {\r\n // was able or not to get WebP representation\r\n return elem.toDataURL('image/webp').indexOf('data:image/webp') == 0;\r\n }\r\n\r\n // very old browser like IE 8, canvas not supported\r\n return false;\r\n },\r\n createGoogleTagManagerEvent: function (eventObject) {\r\n if (window.dataLayer)\r\n window.dataLayer.push(eventObject);\r\n },\r\n\r\n getOperatingSystem: function () {\r\n var OSName = \"Unknown\";\r\n if (window.navigator.userAgent.indexOf(\"Windows NT 10.0\") != -1) OSName = \"Windows 10\";\r\n if (window.navigator.userAgent.indexOf(\"Windows NT 6.3\") != -1) OSName = \"Windows 8.1\";\r\n if (window.navigator.userAgent.indexOf(\"Windows NT 6.2\") != -1) OSName = \"Windows 8\";\r\n if (window.navigator.userAgent.indexOf(\"Windows NT 6.1\") != -1) OSName = \"Windows 7\";\r\n if (window.navigator.userAgent.indexOf(\"Windows NT 6.0\") != -1) OSName = \"Windows Vista\";\r\n if (window.navigator.userAgent.indexOf(\"Windows NT 5.1\") != -1) OSName = \"Windows XP\";\r\n if (window.navigator.userAgent.indexOf(\"Windows NT 5.0\") != -1) OSName = \"Windows 2000\";\r\n if (window.navigator.userAgent.indexOf(\"Mac\") != -1) OSName = \"Mac/iOS\";\r\n if (window.navigator.userAgent.indexOf(\"X11\") != -1) OSName = \"UNIX\";\r\n if (window.navigator.userAgent.indexOf(\"Linux\") != -1) OSName = \"Linux\";\r\n return OSName;\r\n }\r\n};"],"sourceRoot":""}