document.addEventListener("DOMContentLoaded", () => {
    zad4SprawdzParzystosc();
    zad7Przesun();
    zad8Przelicz();
})

function zad4SprawdzParzystosc() {
    document.getElementById("zad4-wynik").innerText = document.getElementById("zad4-liczba").valueAsNumber % 2 == 1 ? "Nieparzysta" : "Parzysta";
}

function zad7Przesun() {
    const wiek = Number(document.getElementById("zad7-slider").value);
    document.getElementById("zad7-wiek").innerHTML = "Wiek: " + (wiek >= 18 ? "18+" : wiek);
}

function zad7Koniec() {
    const wiek = Number(document.getElementById("zad7-slider").value);
    if (wiek > 18) {
        alert("Jesteś dorosły, ile wspólnych lat masz już na karku?");
    } else if (wiek >= 11 && wiek < 17) {
        alert("Jesteś nastolatkiem, dopiero zaczynasz czy już kolejny raz?");
    } else if (wiek < 11) {
        alert("Jesteś dzieckiem! Akysz, nie niszcz sobie życia");
    }
    document.getElementById('aktywne').id = 'nieaktywne';
}


function regexDlugosc(str, patern) {
    const wynik = str.match(patern);
    if (wynik == null) {
        return 0;
    }
    return wynik.length;
}

function zad8Przelicz() {
    /**
     * @type {string}
     */
    const haslo = document.getElementById("zad8-haslo").value ?? "";
    const lista = document.getElementById("zad8-lista");
    const sila = document.getElementById("zad8-sila");

    lista.innerHTML = "";

    let maleLitery = regexDlugosc(haslo, /[a-z]/g);
    let duzeLitery = regexDlugosc(haslo, /[A-Z]/g);
    let cyfry = regexDlugosc(haslo, /[0-9]/g);
    let znakiSpecialne = regexDlugosc(haslo, /[!-/]|[;-@]|[\[-`]|[{-~]|ą|ę|ś|ż|ź|ó/g);
    
    if (maleLitery + duzeLitery + cyfry + znakiSpecialne < 8) {
        const element = document.createElement("li");
        element.appendChild(document.createTextNode("Twoje hasło musi zawierać minimum 8 znaków"));
        lista.appendChild(element);
    } else if (maleLitery >= 1 && duzeLitery >= 1 && cyfry >= 1 && znakiSpecialne >= 1) {
        lista.append(document.createTextNode("Twoje hasło jest wystarczająco silne 💪"));
    }
    if (maleLitery < 1) {
        const element = document.createElement("li");
        element.appendChild(document.createTextNode("Twoje hasło musi zawierać minimum jedną małą litere"));
        lista.appendChild(element);
    }
    if (duzeLitery < 1) {
        const element = document.createElement("li");
        element.appendChild(document.createTextNode("Twoje hasło musi zawierać minimum jedną dużą litere"));
        lista.appendChild(element);
    }
    if (cyfry < 1) {
        const element = document.createElement("li");
        element.appendChild(document.createTextNode("Twoje hasło musi zawierać minimum jedną cyfre"));
        lista.appendChild(element);
    }
    if (znakiSpecialne < 1) {
        const element = document.createElement("li");
        element.appendChild(document.createTextNode("Twoje hasło musi zawierać minimum jeden znak specjalny"));
        lista.appendChild(element);
    }

    let algorytm = Math.floor(Math.ceil(maleLitery / 3.5) + Math.ceil(duzeLitery / 2.5) + Math.ceil(cyfry / 0.75) + znakiSpecialne * 2);
    if (algorytm > 10) {
        algorytm = 10;
    }
    sila.innerText = "";
    for (let i = 0; i < algorytm; i++) {
        sila.innerText += "🏋️";
    }
}