// get_header.js
// Autors: Kārlis Mālnieks
// Mērķis: Dinamiski atjaunot galvenes saturu atkarībā no lietotāja līmeņa, 
// izmantojot sesijas datus no servera.
// Apraksts: Šis skripts iegūst lietotāja sesijas ID un līmeni no servera un, 
// pamatojoties uz šiem datiem, maina galvenes tekstu uz atbilstošu vērtību (Skolotājs, Administrators utt.).

// Kad dokumenta saturs ir pilnībā ielādēts, tiek inicializēts skripts.
document.addEventListener('DOMContentLoaded', () => {
    const head = document.getElementById('header'); // Atsauce uz galvenes elementu.
    let sessionUserId = null; // Mainīgais, lai glabātu lietotāja sesijas ID.
    let userLevel = null; // Mainīgais, lai glabātu lietotāja līmeni.

    // Funkcija, lai iegūtu sesijas lietotāja datus no servera.
    const getSessionUserId = async () => {
        try {
            const response = await fetch('../php/get_session_user.php'); // API pieprasījums sesijas datu iegūšanai.
            const data = await response.json(); // Pārvērš atbildi JSON formātā.
            sessionUserId = data.user_id; // Saglabā lietotāja sesijas ID.
            userLevel = data.user_level; // Saglabā lietotāja līmeni.
        } catch (error) {
            // Kļūdas gadījumā konsolē tiek izvadīta ziņa.
            console.error('Error fetching session user ID:', error);
        }
    };

    // Pēc tam, kad sesijas dati ir iegūti, galvene tiek atjaunināta.
    getSessionUserId().then(() => {
        updateHeader(userLevel); // Izsauc funkciju galvenes atjaunošanai.
    });

    /**
     * Funkcija, lai atjauninātu galvenes tekstu, balstoties uz lietotāja līmeni.
     * @param {number} lvl - Lietotāja līmenis, ko iegūst no servera (2 - Skolotājs, 3 - Administrators).
     */
    function updateHeader(lvl) {
        if (lvl == 2) { 
            head.innerHTML = 'SKOLOTĀJS'; // Iestata galvenes tekstu uz "Skolotājs", ja lietotājs ir skolotājs.
        } else if (lvl == 3) {
            head.innerHTML = 'ADMINISTRĀTORS'; // Iestata galvenes tekstu uz "Administrators", ja lietotājs ir administrators.
        }
        // Papildu līmeņi var tikt pievienoti pēc nepieciešamības.
    }
});
