// scripts.js
// Autors: Kārlis Mālnieks
// Mērķis: Nodrošināt lietotāja pierakstīšanās un reģistrācijas funkcionalitāti, kā arī pārslēgšanos starp pierakstīšanās un reģistrācijas formām.
// Apraksts: Šis skripts apstrādā lietotāja iesniegtos pierakstīšanās un reģistrācijas datus, 
// nosūta tos serverim apstrādei un atgriež atbilstošas atbildes, kā arī nodrošina dinamisku formu pārslēgšanu.

// Pierakstīšanās formas datu apstrāde
document.getElementById('loginForm').addEventListener('submit', function(event) { 
    event.preventDefault(); // Novērš formas noklusējuma uzvedību.

    // Iegūst e-pasta un paroles ievades vērtības.
    const email = document.getElementById('email').value; 
    const password = document.getElementById('password').value;

    // Izveido jaunu FormData objektu, lai sagatavotu datus nosūtīšanai uz serveri.
    const formData = new FormData();
    formData.append('email', email);
    formData.append('password', password);

    // Nosūta POST pieprasījumu uz servera login.php failu ar lietotāja datiem.
    fetch('../php/login.php', {
        method: 'POST',
        body: formData
    })
    .then(response => response.json()) // Pārvērš servera atbildi JSON formātā.
    .then(data => {
        const messageElement = document.getElementById('message'); // Atsauce uz ziņojuma elementu.
        if (data.success) { 
            // Veiksmīgas autentifikācijas gadījumā pāradresē lietotāju uz galveno lapu.
            window.location.href = '../html/main.html'; 
        } else {
            // Neveiksmīgas autentifikācijas gadījumā attēlo atbilstošu ziņojumu.
            messageElement.textContent = data.message || 'Pierakstīšanās neveiksmīga!';
        }
    })
    .catch(error => { 
        // Kļūdas gadījumā izvada kļūdu konsolē.
        console.error('Error:', error);
    });
});

// Reģistrācijas formas datu apstrāde
document.getElementById('registerForm').addEventListener('submit', function(event) {
    event.preventDefault(); // Novērš formas noklusējuma uzvedību.

    // Iegūst reģistrācijas e-pasta un paroles ievades vērtības.
    const registerEmail = document.getElementById('register-email').value;
    const registerPassword = document.getElementById('register-password').value;

    // Pārbauda, vai parole atbilst minimālajām prasībām.
    if (registerPassword.length < 8) { 
        const registerMessageElement = document.getElementById('register-message'); // Atsauce uz reģistrācijas ziņojuma elementu.
        registerMessageElement.textContent = 'Parolei jābūt vismaz 8 simbolu garai!';
        return; // Pārtrauc turpmāko koda izpildi, ja parole ir pārāk īsa.
    }

    // Izveido jaunu FormData objektu, lai sagatavotu datus nosūtīšanai uz serveri.
    const formData = new FormData();
    formData.append('register-email', registerEmail);
    formData.append('register-password', registerPassword);

    // Nosūta POST pieprasījumu uz servera register.php failu ar lietotāja datiem.
    fetch('../php/register.php', {
        method: 'POST',
        body: formData
    })
    .then(response => response.json()) // Pārvērš servera atbildi JSON formātā.
    .then(data => {
        const registerMessageElement = document.getElementById('register-message'); // Atsauce uz reģistrācijas ziņojuma elementu.
        if (data.success) {
            // Veiksmīgas reģistrācijas gadījumā attēlo ziņojumu un notīra formu.
            registerMessageElement.textContent = 'Lietotājs veiksmīgi piereģistrēts!';
            document.getElementById('registerForm').reset();
        } else {
            // Neveiksmīgas reģistrācijas gadījumā attēlo atbilstošu ziņojumu.
            registerMessageElement.textContent = data.message || 'Reģistrācija neveiksmīga!';
        }
    })
    .catch(error => {
        // Kļūdas gadījumā izvada kļūdu konsolē.
        console.error('Error:', error);
    });
});

// Formu pārslēgšanas funkcionalitāte
document.getElementById('toggleForm').addEventListener('click', function() {
    const loginForm = document.getElementById('loginForm'); // Atsauce uz pierakstīšanās formu.
    const registerForm = document.getElementById('registerForm'); // Atsauce uz reģistrācijas formu.
    const formTitle = document.getElementById('form-title'); // Atsauce uz formas nosaukuma elementu.
    
    // Pārbauda, kura forma ir redzama, un pārslēdz tās stāvokli.
    if (loginForm.style.display === 'none') {
        loginForm.style.display = 'flex'; // Parāda pierakstīšanās formu.
        registerForm.style.display = 'none'; // Paslēpj reģistrācijas formu.
        this.textContent = 'Neesi reģistrējies?'; // Maina pogas tekstu.
        formTitle.textContent = 'Pieteikties'; // Maina formas nosaukumu.
    } else {
        loginForm.style.display = 'none'; // Paslēpj pierakstīšanās formu.
        registerForm.style.display = 'flex'; // Parāda reģistrācijas formu.
        this.textContent = 'Esi jau reģistrējies?'; // Maina pogas tekstu.
        formTitle.textContent = 'Reģistrēties'; // Maina formas nosaukumu.
    }
});
