Your IP : 18.189.178.117


Current Path : /data/web/virtuals/51568/virtual/www/subdom/agenda.1/php/
Upload File :
Current File : /data/web/virtuals/51568/virtual/www/subdom/agenda.1/php/Doucovani.js

function mojeSkupiny() {
    $.ajax({
        url: 'php/ajaxDoucovani.php',
        type: 'POST',
        dataType: 'HTML',
        data: {
            'data': JSON.stringify({
                command: 'mojeSkupiny',
            })
        },
        success: function(result) {
            $('#div-supliky-table').html(result);
            $('#div-dialogy').html("");
        }
    });
}

function zaciDialog(skupinaId) {
    $.ajax({
        url: 'php/ajaxDoucovani.php',
        type: 'POST',
        dataType: 'HTML',
        data: {
            'data': JSON.stringify({
                command: 'zaciDialog',
                skupinaId: skupinaId,
            })
        },
        success: function(result) {
            $("#div-dialog").html(result);
            $("#zaci-dialog").modal("show");
        }
    });
}


function zaciVyber(skupinaId) {
    $('[id^="skupina-radek"]').css("background-color", "initial");
    $("#skupina-radek" + skupinaId).css("background-color", "#cadefc");
    $.ajax({
        url: 'php/ajaxDoucovani.php',
        type: 'POST',
        dataType: 'HTML',
        data: {
            'data': JSON.stringify({
                command: 'zaciVyber',
                skupinaId: skupinaId,
            })
        },
        success: function(result) {
            $("#div-dialogy").html(result);
        }
    });
}

function tridaZaci(skupinaId) {
    $("#zaci-err-msg").addClass("d-none");
    let trida = $("#tridy-select").val();
    $.ajax({
        url: 'php/ajaxDoucovani.php',
        type: 'POST',
        dataType: 'HTML',
        data: {
            'data': JSON.stringify({
                command: 'tridaZaci',
                skupinaId: skupinaId,
                trida: trida,
            })
        },
        success: function(result) {
            $("#trida-zaci").html(result);
        }
    });
}

function zaciOznac(akce) {
    $("#zaci-err-msg").addClass("d-none");
    switch (akce) {
        case 1:
            $("[id^=zak-vse]").prop("checked", true);
            break;
        case 0:
            $("[id^=zak-vse]").prop("checked", false);
            break;
        case 2:
            $("[id^=zak-vse]").each(function() {
                this.checked = !this.checked;
            });
            break;
    }
    zaciSpocitej();
}

function zaciSpocitej() {
    $("#zaci-err-msg").addClass("d-none");
    let pocet = 0;
    $("[id^=zak-vse]").each(function() {
        pocet += (this.checked) ? 1 : 0;
    });
    $("#zaci-pocet").html(`: ${pocet} <i class="fas fa-angle-double-right"></i>`);
}

function zaciDoSkupiny(skupinaId) {
    let zaciKody = [];
    $("[id^=zak-vse]").each(function() {
        if (this.checked) {
            zaciKody.push(this.id.substr(7, 50));
            this.checked = false;
        }
    });
    if (zaciKody.length == 0) {
        $("#zaci-err-msg").removeClass("d-none").html("není koho přiřazovat");
    } else {
        $.ajax({
            url: 'php/ajaxDoucovani.php',
            type: 'POST',
            dataType: 'HTML',
            data: {
                'data': JSON.stringify({
                    command: 'zaciDoSkupiny',
                    skupinaId: skupinaId,
                    zaciKody: zaciKody,
                })
            },
            success: function(result) {
                zaciSpocitej();
                $("#skupina-zaci").html(result);

                $.ajax({
                    url: 'php/ajaxDoucovani.php',
                    type: 'POST',
                    dataType: 'HTML',
                    data: {
                        'data': JSON.stringify({
                            command: 'pocetVeSkupine',
                            skupinaId: skupinaId,
                        })
                    },
                    success: function(result) {
                        $("#pocet-ve-skupine" + skupinaId).html(result);
                    }
                });

            }
        });
    }
}

function smazatZeSkupiny(skupinaid, id) {
    $("#mazaci-radek").remove();
    $("#zak-radek-veskupine" + id).after(`
    <tr class="" id="mazaci-radek">
      <td colspan="3" class="pb-2 pt-0 px-0">
            <div class="d-flex alert alert-danger rounded-0 py-1">
                <div class="pt-2">Smaže se i účast na schůzkách! </div>
                <div class="ms-auto"><button class="btn btn-primary rounded-0 " onclick="nemazatZeSkupiny()">Nemazat</button></div>
                <div class="flex-column-spacer"></div>
                <div><button class="btn btn-danger rounded-0 " onclick="definitivneSmazatZeSkupiny('${skupinaid}', '${id}')">Smazat</button></div>
            </div>
      </td>
    </tr>
    `);
}

function nemazatZeSkupiny() {
    $("#mazaci-radek").remove();
}

function definitivneSmazatZeSkupiny(skupinaId, id) {
    $.ajax({
        url: 'php/ajaxDoucovani.php',
        type: 'POST',
        dataType: 'HTML',
        data: {
            'data': JSON.stringify({
                command: 'smazatZeSkupiny',
                skupinaId: skupinaId,
                id: id,
            })
        },
        success: function(result) {
            $("#mazaci-radek").remove();
            $("#zak-radek-veskupine" + id).remove();
            $("#pocet-ve-skupine" + skupinaId).html(result);
            $("#jsou-ve-skupine-pocet").html(result);
        }
    });
}


function hodinyTelo(skupinaId) {
    $('[id^="skupina-radek"]').css("background-color", "initial");
    $("#skupina-radek" + skupinaId).css("background-color", "#cadefc");
    $.ajax({
        url: 'php/ajaxDoucovani.php',
        type: 'POST',
        dataType: 'HTML',
        data: {
            'data': JSON.stringify({
                command: 'hodinyTelo',
                skupinaId: skupinaId,
            })
        },
        success: function(result) {
            $("#div-dialogy").html(result);
        }
    });
}

function hodinaEdituj(id) {
    $('[id^="hodina-radek"]').css("background-color", "initial");
    $("#hodina-radek" + id).css("background-color", "#cadefc");
    $.ajax({
        url: 'php/ajaxDoucovani.php',
        type: 'POST',
        dataType: 'HTML',
        data: {
            'data': JSON.stringify({
                command: 'hodinaEdituj',
                id: id,
            })
        },
        success: function(result) {
            $("#div-dialog").html(result);
            $("#hodina-editace-dialog").modal("show");

        }
    });
}

function schovejErr() {
    $("#hodina-err").addClass("d-none");
}

function hodinaEditujUloz(id) {
    let datum = $("#datum-edit").val(),
        obsah = $("#obsah-edit").val(),
        trvani = $("#trvani-edit").val(),
        skupinaId = $("#polozky-top").attr("skupina-id"),
        typhodiny = $("input:radio[name=typhodiny]:checked").val(),
        err = [];
    if (!datum) {
        err.push('datum je divné')
    } else {
        [datumDatum, datumCas] = datum.split('T');
        [rok, mesic, den] = datumDatum.split('-');
        [hodina, minuta] = datumCas.split(':');
        let JSdatum = new Date(rok, mesic - 1, den);
        if (rok < 2022) { err.push('rok z minulosti nelze'); }
        if ((hodina < 7) || (hodina > 18)) { err.push('hodina je podivná'); }
        if ((JSdatum.getDay() == 0) || (JSdatum.getDay() == 6)) { err.push('víkendové přesčasy se proplácet nebudou :('); }
    }
    if (!obsah) {
        err.push('obsah hodiny musíš napsat');
    } else {
        obsah = obsah.trim();
        if (!obsah) {
            err.push('obsah hodiny musíš napsat');
        }
    }
    if ((trvani < 15) || (trvani > 90)) {
        err.push('délka trvání je nějaká neobvyklá');
    }
    if (err.length > 0) {
        let message = `<div class="alert alert-danger rounded-0 py-0 mb-1 "><ul class="mb-0">`;
        err.forEach(element => {
            message += `<li>${element}</li>`;
        });
        message += '</ul></div>';
        $("#hodina-err").html(message).removeClass('d-none');
    } else {
        let pocetHodin = $("#pocet-hodin" + skupinaId).text();
        obsah = obsah.replace(/<br ?\/?>/g, "\n");
        $.ajax({
            url: 'php/ajaxDoucovani.php',
            type: 'POST',
            dataType: 'HTML',
            data: {
                'data': JSON.stringify({
                    command: 'hodinaEditujUloz',
                    id: id,
                    datum: datumDatum + ' ' + datumCas,
                    obsah: obsah,
                    trvani: trvani,
                    skupinaId: skupinaId,
                    typhodiny: typhodiny,
                    pocetHodin: pocetHodin,
                })
            },
            success: function(result) {
                if (id > 0) {
                    $("#hodina-radek" + id).html(result);
                } else {
                    data = JSON.parse(result);
                    pocetHodin++;
                    $("#pocet-hodin" + skupinaId).html(pocetHodin);
                    $("#hodina-nova").html("");
                    if (pocetHodin > 1) {
                        $("#hodiny-body").prepend(data.html);
                    } else {
                        $("#card-hodiny").html(data.html);
                    }
                    $("#hodina-radek" + data.hodinaId).css("background-color", "#cadefc");

                }
                $("#hodina-editace-dialog").modal("hide");

            }
        });
    }
}

function dnesDatum() {
    let today = new Date(),
        dd = today.getDate(),
        mm = today.getMonth() + 1,
        yyyy = today.getFullYear();
    if (dd < 10) { dd = '0' + dd; }
    if (mm < 10) { mm = '0' + mm; }
    return yyyy + '-' + mm + '-' + dd + 'T12:00';
}

function hodinaNova() {
    hodinaEdituj(0);
}

function hodinaUcast(id) {
    $('[id^="hodina-radek"]').css("background-color", "initial");
    $("#hodina-radek" + id).css("background-color", "#cadefc");
    $.ajax({
        url: 'php/ajaxDoucovani.php',
        type: 'POST',
        dataType: 'HTML',
        data: {
            'data': JSON.stringify({
                command: 'hodinaUcast',
                id: id
            })
        },
        success: function(result) {
            $("#div-dialog").html(result);
            $("#ucast-dialog").modal("show");
        }
    });
}

function zaciPritomnostOznac(akce) {
    switch (akce) {
        case 1:
            $("[id^=zak-pritomnost]").prop("checked", true);
            break;
        case 0:
            $("[id^=zak-pritomnost]").prop("checked", false);
            break;
        case 2:
            $("[id^=zak-pritomnost]").each(function() {
                this.checked = !this.checked;
            });
            break;
    }
    zaciPritomnostSpocitej();
}


function zaciPritomnostSpocitej() {
    let pocet = 0;
    $("[id^=zak-pritomnost]").each(function() {
        pocet += (this.checked) ? 1 : 0;
    });
    $("#zaci-pritomnost-pocet").html(`Označeno: ${pocet}`);
    return pocet;
}

function ulozUcast(hodinaId) {
    let kody = [],
        pocet = zaciPritomnostSpocitej(),
        barva = (pocet > 0) ? "text-success" : "text-danger",
        id = 0;
    $("[id^=zak-pritomnost]").each(function() {
        if (this.checked) {
            id = this.id.substr(14, 50);
            kody.push(id);
        }
    });
    $.ajax({
        url: 'php/ajaxDoucovani.php',
        type: 'POST',
        dataType: 'HTML',
        data: {
            'data': JSON.stringify({
                command: 'ulozUcast',
                kody: kody,
                hodinaId: hodinaId,
            })
        },
        success: function(result) {
            $("#hodina-ucast" + hodinaId).html(`${pocet} <i class="fas fa-users ${barva}"></i>`)
            $("#ucast-dialog").modal("hide");
        }
    });
}

function hodinaSmazat(id) {
    $("#hodina-err" + id).html(`<div class="d-flex alert alert-danger rounded-0 py-1">
                <div class="pt-2">Smazání hodiny je nevratné! </div>
                <div class="ms-auto"><button class="btn btn-primary rounded-0 " onclick="nemazatHodina(${id})">Nemazat</button></div>
                <div class="flex-column-spacer"></div>
                <div><button class="btn btn-danger rounded-0 " onclick="definitivneHodinaSmazat(${id})">Smazat</button></div>
            </div>`).removeClass('d-none');
}

function nemazatHodina(id) {
    $("#hodina-err" + id).html(``).addClass('d-none');
}

function definitivneHodinaSmazat(id) {
    $.ajax({
        url: 'php/ajaxDoucovani.php',
        type: 'POST',
        dataType: 'HTML',
        data: {
            'data': JSON.stringify({
                command: 'definitivneHodinaSmazat',
                id: id,
            })
        },
        success: function(result) {
            $("#hodina-radek" + id).remove();
            $("#hodina-err" + id).remove();
            let skupinaId = $("#polozky-top").attr("skupina-id"),
                hodin = $("#pocet-hodin" + skupinaId).text();
            hodin--;
            $("#pocet-hodin" + skupinaId).html(hodin);
        }
    });
}