function onComplete(CurrDeadLine, indexCompet) {
let MinCupCategories=(document.getElementById('updatemsg').innerHTML!=='' || document.getElementById('part-singles').classList.contains('hidediv'))?0:4;
if (document.getElementById('info-partnerst').value === '') {
document.getElementById('info-partnerst').scrollIntoView({behavior: "smooth", block: "center"});
document.getElementById('info-partnerst').focus();
alert("Введите имя Pro-партнера");
} else {
let dataToSave = {};
let countcupcategory=0;
let needsingles = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
dataToSave.login = document.getElementById('isLogin').value;
dataToSave.index = String(indexCompet);
let Record = {};
let total = 0;
let sum=0;
let listcategory='';
let unliminfotext=(document.getElementById('updatemsg').innerHTML=='Оплачен безлимит, выберите группы')?' Цены указаны справочно - был оплачен безлимит ':'';
listcategory = '
Информация о содержании выбранного:'+unliminfotext+'
№
Название
Стоимость
Список категорий
';
let FullList = document.querySelectorAll(".proam-disabled");
FullList.forEach(c => {
Record[c.id]=9;
});
let arrdata = [];
FullList = document.querySelectorAll(".tkt");
FullList.forEach(it=>{
if (it.classList.contains('hidediv')) {
Record[it.id]=8;
}
});
if (!document.getElementById('id_price_tkt_100').classList.contains('hidediv')) {
Record['id_price_tkt_100']=7;
}
FullList = document.querySelectorAll(".catdiv");
FullList.forEach(c => {
let n=c.id.replace('id-category-','');
if (!document.getElementById('id_msg_'+String(n)).classList.contains('hidediv')) {
Record['id_msg_'+String(n)]=7;
}
if (c.classList.contains('hidediv')) {
Record[c.id]=8;
}
});
for (let i=1; i<4; i++) {
let id ='id-level-'+String(i);
if (document.getElementById(id).classList.contains('proam-levelchecked')) {
Record[id]=6;
}
if (document.getElementById(id).classList.contains('proam-white')) {
Record[id]=4;
}
}
if (!document.getElementById('category-container').classList.contains('hidediv')) {
Record['category-container']=7;
}
Record['info-partnerst'] = document.getElementById('info-partnerst').value;
// Record['info-partnerla'] = document.getElementById('info-partnerla').value;
let CDLstr = String(CurrDeadLine);
let ListCategory = document.querySelectorAll(".opacity-show");
let dance = ['0','W','T','V','F','Q','C','S','R','P','J','w','t','f','v'];
let ci={};
let HasUnlim='';
ListCategory.forEach(category => {
let num = category.id.replace('id_check_','');
Record[category.id]=5;
if (document.getElementById('id-category-'+String(num)).classList.contains('family-unlim'))
countcupcategory=10;
if (document.getElementById('id-category-'+String(num)).classList.contains('unlim-singles'))
countcupcategory=10;
let listdances = document.getElementById('id_dances_'+String(num)).innerHTML;
for (let g = 1; g < 15; g++) {
if (listdances.includes(dance[g]))
needsingles[g]=1;
}
let agechecked = 0;
for (let i = 0; i < 10; i++) {
let agebutton = document.getElementById('id_age_'+String(num)+'_'+String(i));
if (agebutton !== null) {
if (agebutton.classList.contains('proam-agechecked')) {
agechecked++;
if (document.getElementById('id-category-'+String(num)).classList.contains('Cup'))
countcupcategory++;
listcategory=listcategory+'
';
document.getElementById('list-category').innerHTML = listcategory;
dataToSave.saveddata=Record;
document.getElementById('finalorder').value = JSON.stringify(arrdata);
var now = new Date();
var dd = now.getDate();
if (dd < 10) dd = '0' + dd;
var mm = now.getMonth() + 1;
if (mm < 10) mm = '0' + mm;
var hh = now.getHours() ;
if (hh < 10) hh = '0' + hh;
var mi = now.getMinutes();
if (mi < 10) mi = '0' + mi;
var ss = now.getSeconds();
if (ss < 10) ss = '0' + ss;
document.getElementById('pi').value = dd+mm+hh+mi+ss+((document.getElementById('isLogin').value=='AdminAccounT'+String(indexCompet))?'Admin':document.getElementById('isLogin').value);
let ns=0;
for (let g=1; g<15; g++) {
ns = ns +needsingles[g];
}
if (countcupcategory>=MinCupCategories || ns==0) {
document.getElementById('info-singles').innerHTML= '';
let xhr = new XMLHttpRequest();
let url = "https://reg.rdu.ru/proam/jsonsave.php";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/json");
// когда придёт ответ на наше обращение к серверу, мы его обработаем здесь
xhr.onreadystatechange = function () {
// если запрос принят и сервер ответил, что всё в порядке
if (xhr.readyState === 4 && xhr.status === 200) {
// выводим то, что ответил нам сервер — так мы убедимся, что данные он получил правильно
let answer = JSON.parse(this.responseText);
if (answer['result'] == 'true') {
document.getElementById('total-info').innerHTML='
Данные сохранены. Сумма к оплате ' + String(total) + ' ₽
';
document.getElementById('id-sum').value=String(total);
var now = new Date();
let purposetext=(indexCompet==2025031445)?'ДОБРОВОЛЬНЫЙ ЧЛЕНСКИЙ ВЗНОС КРОКУС ':'';
let purpose = purposetext+'N '+document.getElementById('pi').value+' '+document.getElementById('info-name').innerHTML;
// let qrtext = "https://reg.rdu.ru/proam/qrpay2023120940.php?pi="+purpose+"&sum=" + String(total*100) + "&idd=2001012";
let qrtext = "https://reg.rdu.ru/proam/qrpay"+String(indexCompet)+".php?pi="+purpose+"&sum=" + String(total*100) + "&idd=2001012";
document.getElementById("qr-id-a").href=qrtext;
document.getElementById("qr-image").src=qrtext;
if (document.getElementById('promo').value!=='') {
onPromo(indexCompet);
}
document.getElementById('id-payment').classList.remove('hidediv');
} else {
document.getElementById('total-info').innerHTML='
';
document.getElementById("trass").innerHTML =l;
}
}
};
xhr.send(JSON.stringify(a));
document.getElementById("trass").innerHTML = ' ';
}
function listParticipantCategories(i) {
let a= {};
a.index=String(i);
let xhr = new XMLHttpRequest();
let url = "https://reg.rdu.ru/proam/jsonlistparticipant.php";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
let s=this.responseText;
let listis = JSON.parse(s);
let l='';
let iskey = '';
listis.forEach(c=>{
c.key = c.prog+c.category+c.level+c.age;
});
listis.sort(function(a,b) {
if (a.key > b.key) {
return 1;
}
if (a.key < b.key) {
return -1;
}
// a должно быть равным b
return 0;
});
listis.forEach(c=>{
if (iskey!=c.key) {
if (iskey!=='') {
l=l+'