document.addEventListener("DOMContentLoaded", function () { const radios = document.querySelectorAll('input[name="role"]'); const storedValue = localStorage.getItem("selectedUserType"); // Ha van elmentett érték, állítsuk vissza if (storedValue) { const radioToCheck = document.querySelector(`input[name="role"][value="${storedValue}"]`); if (radioToCheck) { radioToCheck.checked = true; } } // Mentés minden változáskor radios.forEach(function (radio) { radio.addEventListener("change", function () { if (radio.checked) { localStorage.setItem("selectedUserType", radio.value); } }); }); }); document.getElementById('register-modal').addEventListener('click', function(e) { if (e.target === this) { closeRegisterModal(); } }); document.addEventListener('keydown', function(e) { if (e.key === 'Escape') { closeRegisterModal(); } }); function login() { const roles = document.getElementsByName("role"); let selected = false; let adminLogin = false; for (let role of roles) { if (role.checked) { selected = true; if (role.value == "flottakezelo") adminLogin = true; break; } } if (selected) { const email = document.getElementById("email").value.trim(); const password = document.getElementById("password").value; if (email !== "" && password != "") { document.getElementById("error-message").style.color = "black"; document.getElementById("error-message").style.padding = "10px"; document.getElementById("error-message").textContent ="Belépés folyamatban..."; fetch("./assets/js_ajax/ajax_login.php", { method: "POST", headers: { "Content-Type": "application/json", "X-Requested-With": "XMLHttpRequest" }, body: JSON.stringify({ email, password, adminLogin }), }) .then((res) => res.json()) .then((data) => { if (data.success) { window.open("/index.php", "_self"); } else { document.getElementById("error-message").style.color = "#a00"; document.getElementById("error-message").textContent ="Hibás belépési adatok"; document.getElementById("error-message").style.padding = "10px"; } }) .catch((error) => { document.getElementById("error-message").style.color = "#a00"; document.getElementById("error-message").textContent = "Hiba"; document.getElementById("error-message").style.padding = "10px"; }); } else { document.getElementById("error-message").style.color = "#a00"; document.getElementById("error-message").textContent = "E-mail cím és/vagy jelszó hiányzik!"; document.getElementById("error-message").style.padding = "10px"; } } else { document.getElementById("error-message").style.color = "#a00"; document.getElementById("error-message").textContent = "Szerepkör nincs megadva!"; document.getElementById("error-message").style.padding = "10px"; } } // psw function openForgotPasswordModal() { document.getElementById('forgot-password-modal').classList.remove('hidden'); } function closeForgotPasswordModal() { document.getElementById('forgot-password-modal').classList.add('hidden'); } // register function openRegisterModal() { document.getElementById('register-cancel-btn').innerText = 'Mégse'; document.getElementById('register-send-btn').style.display = ''; const msg = document.getElementById('register-message'); msg.className = ''; msg.innerHTML = ''; document.getElementById('register-form').reset(); document .getElementById('register-modal') .classList.remove('hidden'); document.body.style.overflow = 'hidden'; } function closeRegisterModal() { document .getElementById('register-modal') .classList.add('hidden'); document.body.style.overflow = ''; } async function registerRequest() { const contractNumber= document.getElementById('contract_number').value.trim(); const email = document.getElementById('register_email').value.trim(); const plateNumber = document.getElementById('plate_number').value.trim(); const msg = document.getElementById('register-message'); msg.className = ''; msg.innerHTML = ''; if (!contractNumber || !email || !plateNumber) { msg.className = 'error'; msg.innerHTML = 'Kérjük, tölts ki minden mezőt.'; return; } /* const formData = new FormData(); formData.append('szerzodesszam', contractNumber); formData.append('email', email); formData.append('rendszam', plateNumber); */ try { const response = await fetch('./assets/js_ajax/ajax_regSofor.php', { method: 'POST', headers: { "Content-Type": "application/json", "X-Requested-With": "XMLHttpRequest", }, // body: formData body: JSON.stringify({ szerzodesszam: contractNumber, email: email, rendszam: plateNumber }) }); const data = await response.json(); if (data.result.resultState) { msg.className = 'success'; msg.innerHTML = 'Sikeres regisztráció. Kérjük, olvasd el az e-mailben küldött belépési információkat.'; document.getElementById('register-send-btn').style.display = 'none'; document.getElementById('register-cancel-btn').innerHTML = 'Bezárás'; } else { msg.className = 'error'; msg.innerHTML = data.result.errTxt || 'Sikertelen regisztráció. Ellenőrizd a megadott adatokat.'; } } catch (e) { msg.className = 'error'; msg.innerHTML = 'Kommunikációs hiba történt.'; // console.error(e); } } // forget psw async function forgotPasswordRequest() { const result = document.getElementById('forgot-password-result'); result.classList.remove('hidden', 'success', 'error'); result.innerHTML = 'Feldolgozás...'; const email = document.getElementById('forgot-email').value.trim(); const role = document.querySelector( 'input[name="forgot-role"]:checked' )?.value; if(email==='') { result.classList.add('error'); result.innerHTML = 'Add meg az e-mail címedet.'; return; } else if(!role) { result.classList.add('error'); result.innerHTML = 'Válaszd ki a szerepkört.'; return; } try { const response = await fetch( './assets/js_ajax/ajax_forgetPsw.php', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Requested-With': 'XMLHttpRequest', }, body: JSON.stringify({ email: email, role: role }) } ); const data = await response.json(); if(data.result.resultState) { result.classList.add('success'); result.innerHTML = 'Ha a megadott adatokhoz tartozik aktív felhasználó, akkor ebben a pillanatban e-mailt küldtünk a további teendőkről.'; } else { result.classList.add('error'); result.innerHTML = data.result.errTxt || 'A kérés feldolgozása sikertelen.'; } } catch(error) { console.error(error); result.classList.add('error'); result.innerHTML = 'Hálózati hiba történt. Kérjük, próbáld újra később.'; } }