Your IP : 3.15.147.144


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

function rokDetail(rokID) {
    $('[id^="trRok"]').css("background-color", "transparent");
    $("#trRok" + rokID).css("background-color", "#dee2e6");
    $.ajax({
        url: "www/plany/roky-detail.php",
        type: 'POST',
        dataType: 'HTML',
        data: {
            'rokID': rokID,
        },
        success: function(result) {
            let det = document.getElementById("detailRokForma"),
                rokyInfo = result;
            if ((det === undefined) || (det == null)) {
                $.ajax({
                    url: "www/plany/roky-forma.php",
                    success: function(result) {
                        $("#rokyVpravo").html(result);
                        dosadTydny(rokID);
                        dosadTridy(rokID)
                        $("#rokyInfo").html(rokyInfo);
                        $("#rokTitulek").html("Parametry roku");
                    }
                })
            } else {
                $("#rokTitulek").html("Parametry roku");
                $("#rokyInfo").html(rokyInfo);
                dosadTydny(rokID);
                dosadTridy(rokID)
            }

        }
    });
}

function rokNastavAktualni(id) {
    $.ajax({
        url: "www/plany/roky-seznam.php",
        type: 'POST',
        dataType: 'HTML',
        data: {
            'data': JSON.stringify({
                command: 'rokNastavAktualni',
                id: id
            })
        },
        success: function(result) {
            $("#rokySeznam").html(result);
        }
    })
}

function dosadTridy(rokID) {
    $.ajax({
        url: "www/plany/roky-tridy.php",
        type: 'POST',
        dataType: 'HTML',
        data: {
            'rokID': rokID,
        },
        success: function(result) {
            $("#rokyTridy").html(result);
        }
    })
}

function dosadTydny(rokID) {
    $.ajax({
        url: "www/plany/roky-tydny.php",
        type: 'POST',
        dataType: 'HTML',
        data: {
            'rokID': rokID,
        },
        success: function(result) {
            $("#rokyTydny").html(result);
        }
    })
}

class TridniUcitel {
    constructor() {
        this.id = 0;
    }

    setTridniUcitel(id, idtridni, tridniJmeno) {
        this.id = id;
        this.idtridni = idtridni;
        this.tridniJmeno = tridniJmeno;
    }

}

tridniUcitel = new TridniUcitel();

function stornoEditace() {
    $("#trErrMsg").remove();
    let idOld = tridniUcitel.id;
    if (idOld > 0) {
        $("#trUcitel" + idOld).html(tridniUcitel.tridniJmeno);
        $("#trEdit" + idOld).html(`<span class="text-primary"><i class="far fa-edit"></i></span>`);
        $("#trSave" + idOld).html(``);
        document.getElementById("trUcitel" + idOld).onclick = new Function(`editujTridniho('${idOld}', '${tridniUcitel.idtridni}', '${tridniUcitel.tridniJmeno}')`);
        document.getElementById("trEdit" + idOld).onclick = new Function(`editujTridniho('${idOld}', '${tridniUcitel.idtridni}', '${tridniUcitel.tridniJmeno}')`);
        tridniUcitel.setTridniUcitel(0, 0, '');
    }
}

function editujTridniho(id, idtridni, tridniJmeno) {
    stornoEditace();
    tridniUcitel.setTridniUcitel(id, idtridni, tridniJmeno);
    $.ajax({
        url: "www/plany/roky-tridni-combo.php",
        type: 'POST',
        dataType: 'HTML',
        data: {
            'idtridni': idtridni
        },
        success: function(result) {
            $("#trUcitel" + id).html(result);
            $("#trEdit" + id).html(`<span class="text-warning"><i class="fas fa-undo"></i></span>`);
            $("#trSave" + id).html(`<span  class="text-success"><i class="far fa-save"></i></span>`);
            document.getElementById("trEdit" + id).onclick = new Function(`stornoEditace()`);
            document.getElementById("trSave" + id).onclick = new Function(`ulozEditace()`);
            document.getElementById("trUcitel" + id).onclick = "";
        }
    })
}

function ulozEditace() {
    $("#trErrMsg").remove();
    let newidtridni = $("#newTrUcitel").val();
    if (newidtridni == 0) {
        let errMsg = `<tr id="trErrMsg"><td colspan="4"><div class="alert alert-danger">Třídního musíš vybrat.</div></td></tr>`;
        $("#rowTrida" + tridniUcitel.id).after(errMsg);
    } else {
        tridniUcitel.setTridniUcitel(tridniUcitel.id, newidtridni, "");
        $.ajax({
            url: "www/plany/roky-tridni-uloz.php",
            type: 'POST',
            dataType: 'HTML',
            data: {
                'tridni': JSON.stringify(tridniUcitel),
            },
            success: function(result) {
                let id = tridniUcitel.id;
                tridniUcitel.setTridniUcitel(tridniUcitel.id, newidtridni, result);
                stornoEditace(result);
                $("#trUcitel" + id).html(result);

            }
        })
    }
}


function zalozTridy(rokID) {
    $.ajax({
        url: "www/plany/roky-zaloz-tridy.php",
        type: 'POST',
        dataType: 'HTML',
        data: {
            'rokID': rokID,
        },
        success: function(result) {
            console.log(result);
            if (result == '0') {
                $("#tridyNejsou").html(`<div class="alert alert-warning rounded-0">
            Třídy nebyly vytvořeny ani v předchozím školním roce - nebylo z čeho kopírovat do nastaveného.
          </div>`)
            } else {
                dosadTridy(rokID);
            }
        }
    })
}

$(document).ready(function() {



    $('[id^="btnSave"]').on('click', function() {
            var id = this.id,
                akce = id.substr(8, 1),
                rokSkolni = $('#rok').val(),
                zacatek = $('#zacatek').val(),
                konec = $('#konec').val()
            rok1 = 0,
                rok2 = 5;
            console.log(rokSkolni);
            rok1 = rokSkolni.substr(0, 4);
            rok1 = parseInt(rok1, 0);
            jeErr = false;
            if ((rokSkolni.length != 9) || (rokSkolni.substr(4, 1) != '/')) {
                jeErr = true;
                msgErr = 'Školní rok není v požadovaném tvaru.';
            } else {
                if (rok1 < 2019) {
                    msgX = 'První rok školního roku musí být alespoň 2019.';
                    if (jeErr) msgErr = msgErr + '<br>' + msgX
                    else msgErr = msgX;
                    jeErr = true;
                } else {
                    rok2 = rokSkolni.substr(5, 4);
                    rok2 = parseInt(rok2, 0);
                    if (rok2 != rok1 + 1) {
                        msgX = 'Nezadal jsi dva po sobě jdoucí kalendářní roky.';
                        if (jeErr) msgErr = msgErr + '<br>' + msgX
                        else msgErr = msgX;
                        jeErr = true;
                    }
                }
            }
            if (zacatek.length < 10) {
                msgX = 'Datum prvního pondělí je divné.';
                if (jeErr) msgErr = msgErr + '<br>' + msgX
                else msgErr = msgX;
                jeErr = true;
            } else {
                var datum = new Date(zacatek);
                denTydne = datum.getDay();
                den = datum.getDate();
                mesic = datum.getMonth() + 1;
                rok = datum.getFullYear();
                var rokOK = rok == rok1;
                if (!rokOK) {
                    msgX = 'Rok v datu pondělí prvního týdne nekoresponduje s označením školního roku.';
                    if (jeErr) msgErr = msgErr + '<br>' + msgX
                    else msgErr = msgX;
                    jeErr = true;
                } else {
                    var datumOK = ((mesic == 8) && (den >= 28)) || ((mesic == 9) && (den <= 6));
                    if (!datumOK) {
                        msgX = 'Pondělí prvního týdne by mělo být z konce srpna nebo začátku září.';
                        if (jeErr) msgErr = msgErr + '<br>' + msgX
                        else msgErr = msgX;
                        jeErr = true;
                    } else {
                        if (denTydne != 1) {
                            msgX = 'Datum prvního týdne není pondělí.';
                            if (jeErr) msgErr = msgErr + '<br>' + msgX
                            else msgErr = msgX;
                            jeErr = true;
                        }
                    }
                }
            } /* konec pitvani datum zacatek */

            if (konec.length < 10) {
                msgX = 'Datum posledního pondělí je divné.';
                if (jeErr) msgErr = msgErr + '<br>' + msgX
                else msgErr = msgX;
                jeErr = true;
            } else {
                var datum = new Date(konec);
                denTydne = datum.getDay();
                den = datum.getDate();
                mesic = datum.getMonth() + 1;
                rok = datum.getFullYear();
                var rokOK = rok == rok2;
                if (!rokOK) {
                    msgX = 'Rok v datu pondělí posledního týdne nekoresponduje s označením školního roku.';
                    if (jeErr) msgErr = msgErr + '<br>' + msgX
                    else msgErr = msgX;
                    jeErr = true;
                } else {
                    var datumOK = (mesic == 6) && (den >= 20);
                    if (!datumOK) {
                        msgX = 'Pondělí posledního týdne by mělo být z konce června.';
                        if (jeErr) msgErr = msgErr + '<br>' + msgX
                        else msgErr = msgX;
                        jeErr = true;
                    } else {
                        if (denTydne != 1) {
                            msgX = 'Datum posledního týdne není pondělí.';
                            if (jeErr) msgErr = msgErr + '<br>' + msgX
                            else msgErr = msgX;
                            jeErr = true;
                        }
                    }
                }
            } /* konec pitvani datum konec */

            if (!jeErr) {
                $.ajax({
                    /* ajax 1 */
                    url: "www/plany/rokyExistuje.php",
                    type: 'POST',
                    dataType: 'HTML',
                    data: {
                        'rok': rokSkolni
                    },
                    success: function(result) {
                        /* suc 1 */
                        if (result > 0) {
                            $('#msgErr').removeClass('d-none').html('Rok s tímto značením je již existuje.');
                        } else {
                            /* zalozim rok */
                            $('#msgErr').addClass('d-none').html('');
                            $('#msgOK').removeClass('d-none').html('Zakládám rok ' + rokSkolni + ' ...');
                            $.ajax({
                                /* ajax 2 */
                                url: "rokyZaloz.php",
                                type: 'POST',
                                dataType: 'HTML',
                                data: {
                                    'rok': rokSkolni,
                                    'zacatek': zacatek,
                                    'konec': konec
                                },
                                success: function(result) {
                                    /* suc 2 */
                                    $('#msgOK').addClass('d-none').html('');
                                    $.redirect('indexspravce.php?m=roky.php', {
                                        'akce': '',
                                        'rokID': 0
                                    });
                                } /* end suc 2 */
                            }) /* end ajax 2 */
                        }
                    } /* end  suc 1 */
                }) /* end ajax 1 */
            } else {
                $('#msgErr').removeClass('d-none').html(msgErr);
            }
        })
        /*   
		$('[id^="roEd"]').on('click', function () {
			var id = this.id,
				kod = id.substr(4, 50); 
        $.redirect('indexspravce.php?m=roky.php', {
					'akce': 'e',
					'rokID': kod
				});
    }) 
   */
    $('[id^="btnNovy"]').on('click', function() {
        $.redirect('indexspravce.php?m=roky.php', { 'akce': 'n' });
    })

    $('#btnStorno').on('click', function() {
        $.redirect('indexspravce.php?m=roky.php', {
            'akce': '',
            'rokID': 0
        });
    })
})