Your IP : 13.58.203.137


Current Path : /data/web/virtuals/51568/virtual/www/www/jidelna/
Upload File :
Current File : /data/web/virtuals/51568/virtual/www/www/jidelna/jidelna.js

function removeTags(str) {
    if ((str === null) || (str === ''))
        return '';
    else
        str = str.toString();
    return str.replace(/(<([^>]+)>)/ig, '');
}

function formLoad() {
    document.getElementById("jidelnaForma").reset();
    $("input[name='typStravnika']").val('z');
    $("input[name='zpusobUhrady']").val('b');
}

function typZmena(typ) {
    $("#msg-jidelna").html("").addClass('d-none');
    if (typ == 'z') {
        $("#tridaInput").removeClass('d-none');
        $("#rodiceZakaKontakt").removeClass("d-none");
        $("#dospelecKontakt").addClass("d-none");
        $("#zakCoObjednavam").removeClass("d-none");
        $("#zacatekDospelecDiv").addClass("d-none");
        $("#zacatekZakDiv").removeClass("d-none");
        $("#datumNarozeniZakDiv").removeClass("d-none");
    } else {
        $("#tridaInput").addClass('d-none');
        $("#rodiceZakaKontakt").addClass("d-none");
        $("#dospelecKontakt").removeClass("d-none");
        $("#zakCoObjednavam").addClass("d-none");
        $("#zacatekDospelecDiv").removeClass("d-none");
        $("#zacatekZakDiv").addClass("d-none");
        $("#datumNarozeniZakDiv").addClass("d-none");
    }
}

function uhradaZmena(typ) {
    if (typ == 'b') {
        $("#cisloUctu").removeClass('d-none');
    } else {
        $("#cisloUctu").addClass('d-none');
    }
}

function kontrolaUctu(predcisli, cislo) {
    function doplnNuly(cislo, pocet) {
        while (cislo.length < pocet) {
            cislo = '0' + cislo;
        }
        return cislo;
    }
    cislo = doplnNuly(predcisli, 6) + doplnNuly(cislo, 10);
    let vahy = [10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1],
        soucet = 0;
    for (let i = 0; i < 16; i++) {
        soucet += vahy[i] * cislo[i];
    }
    return soucet % 11 == 0;
}

function kontrolaJmena(jmeno, pad2, errMsg) {
    if (jmeno.length == 0) {
        errMsg.push('jméno ' + pad2 + ' nesmí zůstat prázdné');
    } else {
        let jmenoPole = jmeno.split(" ");
        if (jmenoPole.length < 2) {
            errMsg.push('uveď příjmení i jméno ' + pad2);
        }
        if (jmenoPole.some((element) => element.length < 2)) {
            errMsg.push('některá z částí jména ' + pad2 + ' zdá se příliš krátká');
        }
    }
}

function emailJidelnaPrihlaska() {
    $("#msg-jidelna").html("").addClass('d-none alert-danger').removeClass('alert-success');
    var prijmenijmeno = $("#prijmenijmeno").val().trim(),
        jmeno = $("#jmeno").val().trim(),
        typstravnika = $("input[name='typStravnika']:checked").val().trim(),
        bydliste = $("#bydliste").val().trim(),
        emailRegex = new RegExp(/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/),
        telefonRegex = new RegExp(/\b\d{9}\b/),
        datumZak = $("#zacatekZak").val(),
        datumDospelec = $("#zacatekDospelec").val(),
        dnes = moment().format('YYYY-MM-DD'),
        errMsg = [];

    prijmenijmeno = removeTags(prijmenijmeno);
    $("#prijmenijmeno").val(prijmenijmeno);
    if (prijmenijmeno.length == 0) { errMsg.push('příjmení nesmí zůstat prázdné'); }
    jmeno = removeTags(jmeno);
    $("#jmeno").val(jmeno);
    if (jmeno.length == 0) { errMsg.push('jméno nesmí zůstat prázdné'); }
    bydliste = removeTags(bydliste);
    $("#bydliste").val(bydliste);
    if (bydliste.length == 0) { errMsg.push('bydliště nesmí zůstat prázdné'); }
    if (typstravnika == 'z') {
        var trida = $("#trida").val().trim(),
            otec = $("#otec").val().trim(),
            otectelefon = $("#otectelefon").val().trim(),
            matka = $("#matka").val().trim(),
            matkatelefon = $("#matkatelefon").val().trim(),
            email = $("#email").val().trim(),
            datumnarozeni = $("#datumNarozeniZak").val().trim();
        datumPred5 = moment().subtract(5, 'years').format('YYYY-MM-DD');
        datumPred16 = moment().subtract(16, 'years').format('YYYY-MM-DD');
        if ((datumnarozeni > datumPred5) || (datumnarozeni < datumPred16)) {
            errMsg.push('datum narození neodpovídá stáří žáka základní školy');
        }
        if (datumZak <= dnes) { errMsg.push('datum začátku stravování musí následovat po dnešku'); }
        trida = removeTags(trida);
        $("#trida").val(trida);
        var tridaRegex = new RegExp(/[1-9]\.[A-C]/);
        if (!tridaRegex.test(trida)) { errMsg.push('text zadaný jako třída zdá se neobvyklý'); }
        otec = removeTags(otec);
        $("#otec").val(otec);
        otectelefon = removeTags(otectelefon);
        $("#otectelefon").val(otectelefon);
        matka = removeTags(matka);
        $("#matka").val(matka);
        matkatelefon = removeTags(matkatelefon);
        $("#matkatelefon").val(matkatelefon);
        email = removeTags(email);
        $("#email").val(email);
        kontrolaJmena(otec, 'otce', errMsg);
        kontrolaJmena(matka, 'matky', errMsg);
        if (!telefonRegex.test(otectelefon)) { errMsg.push('telefon otce není asi správný'); }
        if (!telefonRegex.test(matkatelefon)) { errMsg.push('telefon matky není asi správný'); }
        if (!emailRegex.test(email)) { errMsg.push('text zadaný jako e-mail nemá správnou strukturu'); }
        var objednavams = $("#objednavams").prop("checked"),
            objednavamo = $("#objednavamo").prop("checked");
        if (!objednavams && !objednavamo) {
            errMsg.push('zvol alespoň jednu z možností svačina, oběd');
        }
        if (trida.length > 0) {
            let rocnik = trida.substr(0, 1);
            if ((rocnik < 4) && objednavams) { errMsg.push('svačiny jsou až od 4. třídy'); }
        }

    } else {
        if (datumDospelec <= dnes) { errMsg.push('datum začátku stravování musí následovat po dnešku'); }
        var telefonDospelec = $("#telefonDospelec").val().trim();
        telefonDospelec = removeTags(telefonDospelec);
        $("#telefonDospelec").val(telefonDospelec);
        if (!telefonRegex.test(telefonDospelec)) { errMsg.push('telefon není asi správný'); }
        var emailDospelec = $("#emailDospelec").val().trim();
        emailDospelec = removeTags(emailDospelec);
        if (!emailRegex.test(emailDospelec)) { errMsg.push('text zadaný jako e-mail nemá správnou strukturu'); }
    }
    var zpusobUhrady = $("input[name='zpusobUhrady']:checked").val();
    if (zpusobUhrady == 'b') {
        var ucetPredcisli = $("#ucetPredcisli").val().trim(),
            ucetCislo = $("#ucetCislo").val().trim(),
            ucetBanka = $("#ucetBanka").val().trim();
        ucetPredcisli = removeTags(ucetPredcisli);
        $("#ucetPredcisli").val(ucetPredcisli);
        ucetCislo = removeTags(ucetCislo);
        $("#ucetCislo").val(ucetCislo);
        ucetBanka = removeTags(ucetBanka);
        $("#ucetBanka").val(ucetBanka);
        var ucetPredcisliRegex = new RegExp(/^(\s*|\d{1,6})$/),
            ucetCisloRegex = new RegExp(/\b\d{3,10}\b/),
            ucetBankaRegex = new RegExp(/\b\d{4}\b/);
        if (!ucetPredcisliRegex.test(ucetPredcisli)) { errMsg.push('předčíslí účtu obsahuje neobvyklé znaky'); }
        if (!ucetCisloRegex.test(ucetCislo)) { errMsg.push('v čísle účtu je chyba (neobvyklý znak nebo délka)'); }
        if (!ucetBankaRegex.test(ucetBanka)) { errMsg.push('kód banky by měl obsahovat 4 číslice'); }
        if (!kontrolaUctu(ucetPredcisli, ucetCislo)) { errMsg.push('v čísle účtu (případně předčíslí) je asi překlep'); }

    }
    let gdpr = $("#gdpr").prop("checked");
    if (!gdpr) {
        errMsg.push('<strong>je potřeba vyslovit souhlas se zpracováním údajů<strong>');
    }
    if (errMsg.length > 0) {
        let errList = '<ul class="mb-0">';
        for (let li of errMsg) {
            errList += '<li>' + li + '</li>';
        }
        errList += '<ul>';
        $("#msg-jidelna").html(errList).removeClass('d-none');
    } else {
        let data = {
            command: 'odeslatPrihlasku',
            typstravnika: typstravnika,
            prijmenijmeno: prijmenijmeno,
            jmeno: jmeno,
            bydliste: bydliste,
            zpusobuhrady: zpusobUhrady,
        };
        if (zpusobUhrady == 'b') {
            data.predcisliuctu = ucetPredcisli;
            data.cislouctu = ucetCislo;
            data.bankakod = ucetBanka;
        } else {
            data.predcisliuctu = '';
            data.cislouctu = '';
            data.bankakod = '';
        }
        if (typstravnika == 'z') {
            data.otec = otec;
            data.otectelefon = otectelefon;
            data.matka = matka;
            data.matkatelefon = matkatelefon;
            data.email = email;
            data.trida = trida;
            data.obed = objednavamo;
            data.svacina = objednavams;
            data.zacatek = datumZak;
            data.datumnarozeni = datumnarozeni;
        } else {
            data.otec = '';
            data.otectelefon = telefonDospelec;
            data.matka = '';
            data.matkatelefon = '';
            data.trida = '';
            data.obed = '0';
            data.svacina = '0';
            data.datumnarozeni = '';
            data.email = emailDospelec;
            data.zacatek = datumDospelec;
        }
        $.ajax({
            url: 'www/jidelna/jidelna.php',
            type: 'POST',
            dataType: 'HTML',
            data: {
                //command = odeslatPrihlasku
                'data': JSON.stringify(data)
            },
            success: function(result) {
                formLoad();
                data = JSON.parse(result);
                $("#jidelnaCardMain").html(data.rekapitulace);
                $("#naTlacitko").html(`<div class="d-flex mt-4">
                <a href="https://www.zsrepubliky.cz" class="ml-auto">
                    <button class="btn btn-outline-primary rounded-0">Zpět na domovskou stránku</button>
                </a>                
            </div>`)
            }
        });
    }

}