Đang lưu thông tin nhận thưởng'); $('.wpcf7-response-output').show(); window.onbeforeunload = null; }); }); $('.respin-btn').on('click', function () { $.magnificPopup.close(); }); }); var pack_count = 12, // Số múi trên vòng quay pack_arr = [], // Các vị trí giải thưởng (mảng này sẽ tự tạo theo số múi ở trên) spin_count = 2, // Số lần được quay reward_str = '01 chỉ vàng 9999|Hộp sấy điện máy trợ thính|Hộp hút ẩm máy trợ thính|Bộ pin máy trợ thính|Chúc quý khách sức khoẻ dồi dào|Voucher 100.000₫|Bộ chổi vệ sinh máy trợ thính|Thẻ cào 500.000₫|Tặng 1.000.000₫|Voucher 50.000₫|Chúc quý khách hạnh phúc, bình an|Giảm 2.000.000₫', // Danh sách giải thưởng quantity_str = '0|999|999|999|999|999|999|0|0|999|999|0', // Số lượng mỗi giải record = [], // Danh sách các giải đã quay quantity_arr = quantity_str.split('|').map(Number), reward_arr = reward_str.split('|'), container = document.getElementById('key-rotate'), reward_input = document.getElementById('wheel-reward'), campaign_input = document.getElementById('wheel-campaign'), reward_result = document.getElementById('reward-result'), respin_btn = document.querySelector('.respin-btn'), btn = document.getElementById('spin'); for (let i = 0; i < pack_count; i++) { pack_arr.push(i * 360 / pack_count); } btn.onclick = function () { let random = randomNumber(0, pack_count), number = (720 * (record.length + 1 + random) + parseInt(pack_arr[random])); //Get data reward var xhttp = new XMLHttpRequest(); xhttp.open('GET', '/files/plugins/lucky-wheel/includes/loadAjax.php?read=true', false); xhttp.send(); record = xhttp.responseText.split('|').map(Number); // console.log(record); if (random >= 0 && spin_count > 0 && !sessionStorage.getItem('lucky-wheel')) { container.setAttribute('style', '-webkit-transform: rotate('+number+'deg)'); record.push(random); if(record[0] == '') record.shift(); spin_count--; reward_input.value = reward_arr[random]; campaign_input.value = 'Vòng quay may mắn chào Xuân'; if(spin_count == 0) { openFormPopup(); } else { openConfirmPopup(); reward_result.innerText = reward_arr[random]; respin_btn.innerText = 'Quay lại (' + spin_count + ')'; } window.onbeforeunload = function (e) { sessionStorage.setItem('lucky-wheel', 'true'); return 'Đóng lại là bạn sẽ mất các lượt quay còn lại'; }; } else { sessionStorage.setItem('lucky-wheel', 'true'); window.onbeforeunload = null; alert ('Hết lượt quay!'); } } function randomNumber(min, max) { let random; if (quantity_arr.reduce((partialSum, a) => partialSum + a, 0) > record.length) { do { random = Math.floor(Math.random() * (max - min) + min); // console.log(reward_arr[random]); } while (countElementInArray(random, record) >= parseInt(quantity_arr[random])); return random; } else { alert('Hết quà!'); return -1; } } function countElementInArray(element, array) { let count = 0; for (let i = 0; i < array.length; i++) { if (array[i] === element) { count++; } } return count; }