
Digital Playslips 306r1g
You can create a digital playslip for any of the games below. You can scan the playslip or have it scanned at a Lottery retailer to save time and get the ticket you want.
${ballNumber}
`;
}
}
else {
formattedNumbers += `${ballNumber}
`;
}
}
else if (currentgameId === '1030' || currentgameId === '1070') {
formattedNumbers += `${ballNumber}
`;
}
}
index++;
outputHTML += `Play ${index}
${formattedNumbers}
`; } displayAreaQR.innerHTML = outputHTML; } function showAlert(message) { document.getElementById('alertMessage').textContent = message; document.getElementById('customAlert').style.display = 'block'; document.getElementById('overlay').style.display = 'block'; // document.querySelector('.container').classList.add('disabled'); } // Close the custom alert box document.getElementById('closeAlertBtn').addEventListener('click', function() { document.getElementById('customAlert').style.display = 'none'; document.getElementById('overlay').style.display = 'none'; // document.querySelector('.container').classList.remove('disabled'); }); function deletePlaySlipClick() { closeModalClick(); } function savePlaySlipClick() { let gameMultiplierFlag = false; if (gameMultiplierFlagCheckbox.checked) { gameMultiplierFlag = true; } let gameAddOnFlag = false; if (gameAddOnFlagCheckbox.checked) { gameAddOnFlag = true; } //change the value as per ticket add on flag from json once used let ticketAddOnFlag = false; $.ajax({ type: 'POST', url: '/api/sitecore/DigitalPlaySlip/SavePlaySlipData', data: JSON.stringify({ 'GUID': GUID, 'playerId': playerid, 'gameId': currentgameId, 'gameName': currentgameName, 'gameLogo': currentlogoURL, 'headerColor': currentheaderColor, 'bonusColor': currentbonusColor, 'ticketPrice': finalPlaySlipPrice, 'ticketPlays': finalPlaysCount, 'ticketDraws': selecetedDropDownDraws, 'ticketMultiplier': gameMultiplierFlag, 'ticketMultiplierName': currentgameMultiplierName, 'ticketAddOn': gameAddOnFlag, 'ticketAddOnName': currentgameAddOnName, 'ticketPlayload': finalQRString, }), contentType: 'application/json; charset=utf-8', datatype: "application/json", success: function (data) { if (data == "Success") { console.log("This Playslip is saved successfully."); location.reload(); } else { console.log("PlaySlip Failed Saving."); } } }); } ///////// use of cookie GUID and create anonymous ID function generateGUID() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { var r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); }); } function setGUIDCookie() { var guid = getGUIDFromCookie(); if (!guid) { guid = generateGUID(); document.cookie = "dps__guid=" + guid + "; path=/; max-age=31536000"; // 1 year expiry } return guid; } function getGUIDFromCookie() { var name = "dps__guid="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; } function HandleCookiefor() { GUID = setGUIDCookie(); console.log(" GUID:", GUID); } /////// //// // handle previous play slip view modal function // function btnPreviousPlayslip(ticketID, anonymousID, playerID, gameID, gameName, gameLogo, headerColor, bonusColor, ticketPrice, ticketPlays, ticketDraws, ticketMultiplier, ticketMultiplierName, ticketAddOn, ticketAddOnName, ticketPayload, lastViewed, createDate) { console.log("Open prev playSlip"); $('#previous-playslip-modal').click(); // This event should fire when the screen loads with the playslip information (the screen with the QR code) dataLayer.push({ 'event': 'view-playslip', 'game-name': gameName, // Please update this value to match the game in question. 'plays': ticketPlays, // Please update this value to match the playslip value. 'draws': ticketDraws // Please update this value to match the playslip value. }); document.getElementById("prev-LogoImageUrl").src = gameLogo; if (gameID === "1065") { document.getElementById("prev-LogoImageUrl").style.width = "30%"; } else { document.getElementById("prev-LogoImageUrl").style.width = "50%"; } document.getElementById("prev-modalHeaderId").style.backgroundColor = headerColor; currentTicketID = ticketID; if (ticketMultiplier === "True") { document.getElementById('prev-IsGameMultiplierFlagText').textContent = "With " + ticketMultiplierName; } if (ticketAddOn === "True") { document.getElementById('prev-IsGameAddOnFlagText').textContent = "With " + ticketAddOnName; } document.getElementById('prev-vaildPlaysQr').textContent = ticketPlays; document.getElementById('prev-vaildDrawsQr').textContent = ticketDraws; document.getElementById('prev-totalCostQr').textContent = '$' + ticketPrice; const prevqrcodeDiv = document.getElementById("prev-qrimage"); const prevqrcode = new QRCode(prevqrcodeDiv, { text: ticketPayload, width: 158, height: 158, colorDark: "#000000", colorLight: "#ffffff", correctLevel: QRCode.CorrectLevel.H }); // document.getElementById('prev-qrstring').textContent = ticketPayload; let prevplays = []; let prevplayNumbers = []; let playsString = ticketPayload.substring(ticketPayload.indexOf('S')+1, ticketPayload.indexOf('T0')); for (let i = 0; i < playsString.length; i += 2) { prevplayNumbers.push(playsString.substring(i, i + 2)); if (gameID === '15' || gameID === '20' || gameID === '1065' || gameID === '1070') { if (prevplayNumbers.length === 6) { prevplays.push(prevplayNumbers); prevplayNumbers = []; } } if (gameID === '1030') { if (prevplayNumbers.length === 5) { prevplays.push(prevplayNumbers); prevplayNumbers = []; } } } displayPrevPlaysSlipViewQR(prevplays, bonusColor, gameID); //update viewed date for each viewed playslip $.ajax({ type: 'GET', url: '/api/sitecore/DigitalPlaySlip/UpdateViewPlaySlipDate', data: { ticketID: ticketID }, contentType: 'application/json; charset=utf-8', datatype: "application/json", success: function (data) { console.log("This is updating Playslip Viewed Date success."); } }); } function displayPrevPlaysSlipViewQR(prevplays, bonusColor, gameID) { console.log("This is plays : ", prevplays); let displayAreaQR = document.getElementById("prev-playSlipViewQR"); displayAreaQR.innerHTML = ""; let index = 0; let outputHTML = ""; for (let i = 0; i < prevplays.length; i++) { let formattedNumbers = ""; let playslipballsLength = prevplays[i].length; for (let j = 0; j < playslipballsLength; j++) { let ballNumber = prevplays[i][j]; if (gameID === '15' || gameID === '20' || gameID === '1065') { if (j == (playslipballsLength - 1)) { if (gameID === '15') { formattedNumbers += `
${ballNumber}
`;
}
else {
formattedNumbers += `${ballNumber}
`;
}
}
else {
formattedNumbers += `${ballNumber}
`;
}
}
else if (gameID === '1030' || gameID === '1070') {
formattedNumbers += `${ballNumber}
`;
}
}
index++;
outputHTML += `Play ${index}
${formattedNumbers}
`; } displayAreaQR.innerHTML = outputHTML; } function deletePrevPlaySlipClick() { document.getElementById('prev-delete-alertMessage').textContent = "This playslip will be deleted and cannot be undone. Are you sure you want to continue?"; document.getElementById('prev-customAlert').style.display = 'block'; document.getElementById('prev-overlay').style.display = 'block'; // document.querySelector('.container').classList.add('disabled'); } document.getElementById('prev-cancelAlertBtn').addEventListener('click', function () { document.getElementById('prev-customAlert').style.display = 'none'; document.getElementById('prev-overlay').style.display = 'none'; // document.querySelector('.container').classList.remove('disabled'); }); // document.getElementById('prev-closeAlertBtn').addEventListener('click', function () { // document.getElementById('prev-customAlert').style.display = 'none'; // document.getElementById('prev-overlay').style.display = 'none'; // // document.querySelector('.container').classList.remove('disabled'); // ConfirmDeletePrevPlaySlip(); // }); function ConfirmDeletePrevPlaySlip() { closePrevPlaySlipModal(); //delete viewed previous playslip console.log("This is the deleted ticketID : ", currentTicketID); $.ajax({ type: 'GET', url: '/api/sitecore/DigitalPlaySlip/DeletePrevPlaySlip', data: { currentTicketID: currentTicketID }, contentType: 'application/json; charset=utf-8', datatype: "application/json", success: function (data) { let div = document.getElementById(currentTicketID); div.remove(); console.log("This is deleting Playslip success."); } }); } function closePrevPlaySlipModal(){ document.getElementById('exampleModal2').style.display = 'none'; document.getElementById("prev-LogoImageUrl").src = ""; document.getElementById('prev-IsGameMultiplierFlagText').textContent = ""; document.getElementById('prev-IsGameAddOnFlagText').textContent = ""; document.getElementById('prev-vaildPlaysQr').textContent = ""; document.getElementById('prev-vaildDrawsQr').textContent = ""; document.getElementById('prev-totalCostQr').textContent = ""; document.getElementById("prev-qrimage").innerHTML = ''; // document.getElementById('prev-qrstring').textContent = ''; document.getElementById('prev-customAlert').style.display = 'none'; document.getElementById('prev-overlay').style.display = 'none'; } function closeModalClick() { const bct = document.getElementById('bContainer'); $('#qrbody').addClass('hidden'); $('#mainPlaySlipBody').removeClass('hidden'); $('#addPlaySlip').removeClass('hidden'); $('#validationMsg').addClass('hidden'); bct.innerHTML = ''; document.getElementById('qrimage').innerHTML = ''; document.getElementById('customAlert').style.display = 'none'; document.getElementById('overlay').style.display = 'none'; document.querySelector('.container').classList.remove('disabled'); document.getElementById('IsGameMultiplierFlagText').textContent = ""; document.getElementById('prev-IsGameAddOnFlagText').textContent = ""; $('#btAmtDropdown').addClass('hidden'); document.getElementById("prev-LogoImageUrl").src = ""; document.getElementById('prev-IsGameMultiplierFlagText').textContent = ""; document.getElementById('prev-IsGameAddOnFlagText').textContent = ""; document.getElementById('prev-vaildPlaysQr').textContent = ""; document.getElementById('prev-vaildDrawsQr').textContent = ""; document.getElementById('prev-totalCostQr').textContent = ""; document.getElementById("prev-qrimage").innerHTML = ''; // document.getElementById('prev-qrstring').textContent = ''; count = 0; finalPlaysCount = 0; finalQRString = ""; currentgamePlaysCount = 1; playslipCounter = 0; finalPlaySlipPrice = 0; completedPlays = new Set(); validPlayCount = 0; drawsdropdown.value = 1; drawsDropdown.innerHTML = ""; selecetedDropDownDraws = 1; selecetedDropDownPrices = null; pricesDropdown.innerHTML = ""; gameMultiplierFlagCheckbox.checked = false; gameAddOnFlagCheckbox.checked = false; document.getElementById('finalPlaySlipPrice').textContent = "$0.00"; ballContainers = {}; } window.onclick = function (event) { const modal = document.getElementById('exampleModal'); if (event.target === modal) { closeModalClick(); } const prevmodal = document.getElementById('exampleModal2'); if (event.target === prevmodal) { closePrevPlaySlipModal(); } }; document.addEventListener('keydown', function (event) { if (event.key === 'Escape') { closeModalClick(); closePrevPlaySlipModal(); } }); } else { $('#myPlaySlipListView').hide(); $('#myPlaySlipMobileDesc').hide(); $('#myPlaySlipDesktopView').show(); }