function HideFrm(id) { var Item = document.getElementById(id); if (Item) Item.style.display = 'none'; } function CloseFrm(id) { var Item = document.getElementById(id); Item.remove(); } function getJSON(url, callback) { var request = new XMLHttpRequest(); request.open("GET", url); request.onload = function() { if(callback) callback(request); } request.responseType = 'json'; request.send(); } function postJSON(url, data, callback) { var request = new XMLHttpRequest(); request.open("POST", url); //request.onreadystatechange = function() { request.onload = function() { if(request.readyState === 4 && callback) callback(request); } request.responseType = 'json'; request.setRequestHeader("Content-Type", "application/json"); request.send(JSON.stringify(data)); } function SendReq() { var FrmBlock = document.getElementById("IDFrmReqBlock"); var BtnSend = document.getElementById("IDBtnSend"); BtnSend.disabled = true; //var dWait = document.createElement('div'); //FrmBlock.appendChild(dWait); //dWait.className = 'WaitingBlock'; var lbSpec = document.getElementById('id_spec'); var lbEForm = document.getElementById('id_eform'); lbSpec.options[lbSpec.options.selectedIndex].value = lbSpec.options[lbSpec.options.selectedIndex].text; lbEForm.options[lbEForm.options.selectedIndex].value = lbEForm.options[lbEForm.options.selectedIndex].text; var Frm = document.getElementById("IDFrmReq"); var frmData = new FormData(Frm); var frmJSON = Object.fromEntries(frmData.entries()); //var rJSON = JSON.stringify(frmJSON, null, 2); //console.log(frmJSON); postJSON("send_req.php", frmJSON, function(req){ //var newID = req.response; //alert('Заявка отправлена. В ближайшее время мы с Вами свяжемся. Спасибо.'); //console.log(req.response['res']); //console.log(req);//alert(req.response['res']); HideFrm("IDFrmReqBlock"); var dMainBlock = document.getElementById('MainBlock'); var dInfo = document.createElement('div'); dMainBlock.appendChild(dInfo); dInfo.className = 'Message'; dInfo.innerHTML = 'Ваша заявка отправлена. В ближайшее время мы с Вами свяжемся. Благодарим за обращение.'; }); } function LoadPAForm() { var lbSpec = document.getElementById('id_spec'); var lbEForm = document.getElementById('id_eform'); var url = './get_data.php?type=spec'; var request = new XMLHttpRequest(); request.open('GET', url); request.responseType = 'text'; //request.responseType = 'json'; request.onload = function() { var rowsJSON = request.response; var req = JSON.parse(rowsJSON); //console.log(req); id_spec, sname, scode for(i = 0; i < req.rows.length; i++){ var optn = new Option(req.rows[i].scode+" "+req.rows[i].sname, req.rows[i].id_spec, false, false); //console.log(slink); //lbSpec.options.appendChild(optn); lbSpec.options[lbSpec.options.length] = optn; } }; request.send(); lbSpec.onchange = function() { LoadEForm(lbSpec.options[lbSpec.options.selectedIndex].value); } } function LoadEForm(idSpec) { var lbEForm = document.getElementById('id_eform'); lbEForm.options.length = 1; var url = './get_data.php?type=efs&val='+idSpec; var request = new XMLHttpRequest(); request.open('GET', url); request.responseType = 'text'; //request.responseType = 'json'; request.onload = function() { var rowsJSON = request.response; var req = JSON.parse(rowsJSON); //console.log(req); id_eform, id_spec, efname for(i = 0; i < req.rows.length; i++){ var optn = new Option(req.rows[i].efname, req.rows[i].id_eform, false, false); //console.log(slink); //lbSpec.options.appendChild(optn); lbEForm.options[lbEForm.options.length] = optn; } }; request.send(); } function ShowElementID(id) { alert(id); } window.addEventListener('scroll', function() { let tp = document.getElementById('ID_top-pos'); let ml = document.getElementById('ID_EIOS_menu-list'); let md = document.getElementById('ID_EIOS_menu-dummy'); if (tp.getBoundingClientRect().top<0 && !ml.classList.contains('fixed-top-pos')) { ml.classList.add('fixed-top-pos'); md.style.display = 'block'; md.style.height = ml.offsetHeight; } else if (tp.getBoundingClientRect().top>0) { ml.classList.remove('fixed-top-pos'); md.style.display = 'none'; }; }); function LoadGroupsList() { var lbGrList = document.getElementById('id_group'); var dSchedule = document.getElementById('id_schedule'); var url = './get_data.php?type=grlist'; var request = new XMLHttpRequest(); request.open('GET', url); request.responseType = 'text'; //request.responseType = 'json'; request.onload = function() { var rowsJSON = request.response; var req = JSON.parse(rowsJSON); for(i = 0; i < req.rows.length; i++){ var optn = new Option(req.rows[i].gname, req.rows[i].id, false, false); //console.log(slink); //lbSpec.options.appendChild(optn); lbGrList.options[lbGrList.options.length] = optn; } }; request.send(); lbGrList.onchange = function() { LoadSchedule(lbGrList.options[lbGrList.options.selectedIndex].value); } } function LoadSchedule(idGroup) { var sb = document.getElementById('ID_schedule-block'); var url = './get_data.php?type=cursch&grp='+idGroup; var request = new XMLHttpRequest(); sb.innerHTML = ""; request.open('GET', url); request.responseType = 'text'; //request.responseType = 'json'; request.onload = function() { let rowsJSON = request.response; let req = JSON.parse(rowsJSON); //console.log(req); let cdate = ""; if (req) { for(i = 0; i < req.rows.length; i++){ if (cdate != req.rows[i].cdate) { var item_day = document.createElement("div"); item_day.classList.add('schedule-item-day'); if (req.rows[i].curd == true) { item_day.classList.add('shedule-current-day'); } cdate = req.rows[i].cdate; let sidDate = document.createElement("div"); sidDate.classList.add('sid-date'); sidDate.innerHTML = req.rows[i].wday+', '+req.rows[i].cdate; let sidLine = document.createElement("div"); sidLine.classList.add('sid-line'); item_day.append(sidDate); item_day.append(sidLine); } let sidClass = document.createElement("div"); sidClass.classList.add('sid-class'); //flex let sidcCTime, sidcDName, sidcTName, sidcANum; sidcCTime = document.createElement("div"); sidcCTime.classList.add('sidc-ctime'); sidcCTime.innerHTML = req.rows[i].ctime; sidcDName = document.createElement("div"); sidcDName.classList.add('sidc-dname'); sidcDName.innerHTML = req.rows[i].dname; sidcTName = document.createElement("div"); sidcTName.classList.add('sidc-tname'); sidcTName.innerHTML = req.rows[i].tname; sidcANum = document.createElement("div"); sidcANum.classList.add('sidc-anum'); sidcANum.innerHTML = req.rows[i].anum; //req.rows[i].gnum sidClass.append(sidcCTime, sidcDName, sidcTName, sidcANum); //console.log(slink); //lbSpec.options.appendChild(optn); if (item_day) { item_day.append(sidClass); sb.append(item_day); } } } else { var item_day = document.createElement("div"); item_day.classList.add('schedule-item-day'); let sidDate = document.createElement("div"); sidDate.classList.add('sid-date'); sidDate.innerHTML = "На указанный период расписание отсутствует."; item_day.append(sidDate); sb.append(item_day); } }; request.send(); } window.onload=LoadGroupsList;