(function () { "use strict"; var CTA = "https://documents.laboitealivres.com/"; var IMG = "assets/"; var games = [ { name: "Gates of Olympus", img: IMG + "gates-of-olympus.webp", prov: "Pragmatic Play" }, { name: "Mahjong Ways", img: IMG + "mahjong-ways.webp", prov: "PG Soft" }, { name: "Starlight Princess", img: IMG + "starlight-princess.webp", prov: "Pragmatic Play" }, { name: "Sweet Bonanza", img: IMG + "sweet-bonanza.webp", prov: "Pragmatic Play" }, { name: "Lucky Neko", img: IMG + "lucky-neko.webp", prov: "PG Soft" }, { name: "Wild Bounty Showdown", img: IMG + "wild-bounty-showdown.webp", prov: "PG Soft" }, { name: "Treasures of Aztec", img: IMG + "treasures-aztec.webp", prov: "PG Soft" }, { name: "Wild Bandito", img: IMG + "wild-bandito.webp", prov: "Pragmatic Play" }, { name: "Sugar Rush", img: IMG + "sugar-rush.webp", prov: "Pragmatic Play" }, { name: "Wild West Gold", img: IMG + "wild-west-gold.webp", prov: "Pragmatic Play" } ]; var players = [ "โอม ก.", "น้ำฝน ส.", "บอส พ.", "แอน ภ.", "ต้น อ.", "มิว ส.", "ปุ๊ก ช.", "เจมส์ น.", "ฟ้า ว.", "กันต์ ท.", "มายด์ ร.", "เอิร์ธ ล." ]; var pgJackpotGames = [ { name: "Mahjong Ways", img: IMG + "mahjong-ways.webp", prov: "PG SLOT" }, { name: "Lucky Neko", img: IMG + "lucky-neko.webp", prov: "PG SLOT" }, { name: "Wild Bounty Showdown", img: IMG + "wild-bounty-showdown.webp", prov: "PG SLOT" }, { name: "Treasures of Aztec", img: IMG + "treasures-aztec.webp", prov: "PG SLOT" } ]; var winners = [ "วรเมธ ค.", "ศิริพร น.", "เก้าเด็ด ล.", "มนัสชนก ท.", "อภิวัฒน์ พ.", "รัตนา ส.", "ชยพล ก.", "นฤมล ว." ]; function money(n) { return "฿" + n.toLocaleString("th-TH"); } function buildLiveWins() { var track = document.getElementById("liveWinsMove"); if (!track) return; var rows = []; for (var i = 0; i < 10; i++) { var g = games[i % games.length]; var p = players[i % players.length]; var amt = 880 + Math.floor(((Math.sin(i * 17.3) + 1) * 4500)) + i * 137; var mins = 1 + (i % 7); rows.push( '' + '' + '' + g.name + '' + "" + '' + '' + p + " · " + g.name + "" + '' + g.prov + "" + '' + money(amt) + '' + mins + " นาทีที่แล้ว" + "" + "" ); } var html = rows.join(""); track.innerHTML = html + html; window.setInterval(function () { var els = track.querySelectorAll(".pgcat-live-win__amt span"); for (var j = 0; j < els.length; j++) { var mins = 1 + ((Date.now() / 60000 | 0) + j) % 9; els[j].textContent = mins + " นาทีที่แล้ว"; } }, 30000); } function buildTopJackpot() { var grid = document.getElementById("jackpotGrid"); var clock = document.getElementById("jpClock"); if (!grid) return; var MIN = 100000; var MAX = 500000; var rows = []; var clockTimer = null; var boardTimer = null; function fmt(n) { return n.toLocaleString("th-TH"); } function clamp(n) { return Math.max(MIN, Math.min(MAX, Math.round(n))); } function rand(a, b) { return a + Math.random() * (b - a); } function randInt(a, b) { return Math.floor(rand(a, b + 1)); } function thaiClock() { return new Intl.DateTimeFormat("en-GB", { timeZone: "Asia/Bangkok", hour: "2-digit", minute: "2-digit", second: "2-digit", hour12: false }).format(new Date()); } function uniqueFrom(arr, n) { var copy = arr.slice(); for (var i = copy.length - 1; i > 0; i--) { var j = randInt(0, i); var t = copy[i]; copy[i] = copy[j]; copy[j] = t; } return copy.slice(0, n); } function freshAmounts() { var set = new Set(); while (set.size < 3) { set.add(clamp(randInt(MIN, MAX))); } return Array.from(set).sort(function (a, b) { return b - a; }); } function paint() { grid.innerHTML = rows .map(function (row, idx) { var rank = idx + 1; return ( '' + 'อันดับ ' + rank + "" + '
' + '' + row.game.name + '' + '' + row.game.name + "" + row.game.prov + " · " + row.who + "" + "
" + '
฿' + fmt(row.amt) + "
" + '
ผู้ชนะล่าสุด' + row.who + "
" + "
" ); }) .join(""); } function rollBoard() { var picked = uniqueFrom(pgJackpotGames, 3); var amts = freshAmounts(); var who = uniqueFrom(winners, 3); rows = picked.map(function (g, i) { return { game: g, who: who[i], amt: amts[i] }; }); paint(); } function tickClock() { if (clock) clock.textContent = thaiClock(); } rollBoard(); tickClock(); clockTimer = window.setInterval(tickClock, 1000); boardTimer = window.setInterval(rollBoard, 60000); document.addEventListener("visibilitychange", function () { if (document.hidden) { if (clockTimer) window.clearInterval(clockTimer); if (boardTimer) window.clearInterval(boardTimer); clockTimer = boardTimer = null; } else { if (!clockTimer) clockTimer = window.setInterval(tickClock, 1000); if (!boardTimer) boardTimer = window.setInterval(rollBoard, 60000); tickClock(); } }); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function () { buildLiveWins(); buildTopJackpot(); }); } else { buildLiveWins(); buildTopJackpot(); } })();