function getList() {
    $.getJSON('/list?asc=asc', function (data) {
        $("#list").html('');
        $.each(data, function (i, item) {
            // Modus nach Gemeindeb
            if(item.gemeinde !== undefined) {
                $("#list").append('<tr id="kcoins_row_' + item.id + '">' +
                    '<td>' + item.name + '</td>  ' +
                    '<td>' + item.gemeinde + '</td>  ' +
                    '<td id="kcoins_display_' + item.id + '">' + item.kcoins + '</td>' +
                    '<td><span class="ui action input" id="kcoins_container_' + item.id + '"><input type="number" value="0" id="kcoins_' + item.id + '" name="kcoins" autocomplete="off" /><button class="ui right labeled icon button green" onclick="updateCoins(\'' + item.id + '\');"><i class="right dollar icon"></i>KonfiCoins Hinzufügen</button></span>&nbsp;&nbsp;&nbsp;&nbsp;<button class="ui button red" onclick="deleteKonfi(\'' + item.id + '\');"  id="kcoins_container_' + item.id + '">Konfi Löschen</button></td></tr>');
            } else {
                $("#list").append('<tr id="kcoins_row_' + item.id + '">  ' +
                    '<td>' + item.name + '</td>  ' +
                    '<td id="kcoins_display_' + item.id + '">' + item.kcoins + '</td>' +
                    '<td>' + item.konfi_count + '</td>  ' +
                    '<td id="kcoins_quota_' + item.id + '">' + (item.coins_quota).toFixed(2) + '</td>  ' +
                    '<td><span class="ui action input" id="kcoins_container_' + item.id + '"><input type="number" value="0" id="kcoins_' + item.id + '" name="kcoins" autocomplete="off" /><button class="ui right labeled icon button green" onclick="updateCoins(\'' + item.id + '\');"><i class="right dollar icon"></i>KonfiCoins Hinzufügen</button></span>&nbsp;&nbsp;&nbsp;&nbsp;<button class="ui button red" onclick="deleteGemeinde(\'' + item.id + '\');"  id="kcoins_container_' + item.id + '">Gemeinde Löschen</button></td></tr>');
            }
        });
    });
}

getList();

function updateCoins(id) {
    let addcoins = $('#kcoins_' + id).val();

    if(addcoins !== 0) {
        $('#coins_container_' + id).addClass('disabled');

        $.ajax({
            url: '/admin/update',
            method: 'POST',
            data: 'id=' + id + '&addcoins=' + addcoins,
            success: function (msg) {
                $('#coins_container_' + id).removeClass('disabled');

                if (msg.message === 'success') {
                    $('#kcoins_' + id).val("0");
                    $('#kcoins_display_' + id).html(msg.data.kcoins);
                    if(msg.data.coins_quota !== undefined) {
                        $('#kcoins_quota_' + id).html(msg.data.coins_quota.toFixed(2));
                    }

                } else {
                    $('#msg').html('<div class="ui error message" style="display: block;">Ein Fehler trat auf.</div>');
                }
            }
        });
    }
}

function deleteKonfi(id) {
    $('#kcoins_container_' + id).addClass('disabled');

    $('.ui.basic.kofidel.modal')
        .modal({
            closable  : false,
            duration: 200,
            onDeny    : function(){
                $('#kcoins_container_' + id).removeClass('disabled');
                return true;
            },
            onApprove : function() {
                $.ajax({
                    url: '/admin/delete',
                    method: 'POST',
                    data: 'id=' + id,
                    success: function (msg) {
                        if (msg === 'success') {
                            getList();
                            $('#msg').html('<div class="ui success message" style="display: block;">Der Konfi wurde erfolgreich gelöscht.</div>');
                        } else {
                            $('#msg').html('<div class="ui error message" style="display: block;">Ein Fehler trat auf.</div>');
                        }
                    }
                });
            }
        })
        .modal('show')
    ;
}

function deleteGemeinde(id) {
    $('#kcoins_container_' + id).addClass('disabled');

    $('.ui.basic.gemeindedel.modal')
        .modal({
            closable  : false,
            duration: 200,
            onDeny    : function(){
                $('#kcoins_container_' + id).removeClass('disabled');
                return true;
            },
            onApprove : function() {
                $.ajax({
                    url: '/admin/delete',
                    method: 'POST',
                    data: 'id=' + id,
                    success: function (msg) {
                        if (msg === 'success') {
                            getList();
                            $('#msg').html('<div class="ui success message" style="display: block;">Die Gemeinde wurde erfolgreich gelöscht.</div>');
                        } else {
                            $('#msg').html('<div class="ui error message" style="display: block;">Ein Fehler trat auf.</div>');
                        }
                    }
                });
            }
        })
        .modal('show')
    ;
}

// Konfi hinzufügen
$('.ui.kofiadd.modal')
    .modal({
        duration: 200,
        onApprove : function() {
            $('.loader').addClass('active');
            $.ajax({
                url: '/admin/add',
                method: 'POST',
                data: 'name=' + $('#name').val() + '&gemeinde=' + $('#gemeinde').val(),
                success: function (msg) {
                    $('.loader').removeClass('active');

                    if (msg === 'success') {
                        $('#name').val('');
                        $('#gemeinde').val('');

                        getList();
                        $('#msg').html('<div class="ui success message" style="display: block;">Der Konfi wurde erfolgreich hinzugefügt.</div>');
                    } else {
                        $('#msg').html('<div class="ui error message" style="display: block;">Ein Fehler trat auf.</div>');
                    }
                }
            });
        }
    })
    .modal('attach events', '.addKofi.button', 'show')
;

$('.ui.gemeindeadd.modal')
    .modal({
        duration: 200,
        onApprove : function() {
            $('.loader').addClass('active');
            $.ajax({
                url: '/admin/add',
                method: 'POST',
                data: 'name=' + $('#name').val() + '&konfis=' + $('#konfis').val(),
                success: function (msg) {
                    $('.loader').removeClass('active');
                    if (msg === 'success') {
                        $('#name').val('');

                        getList();
                        $('#msg').html('<div class="ui success message" style="display: block;">Die Gemeinde wurde erfolgreich hinzugefügt.</div>');
                    } else {
                        $('#msg').html('<div class="ui error message" style="display: block;">Ein Fehler trat auf.</div>');
                    }
                }
            });
        }
    })
    .modal('attach events', '.addGemeinde.button', 'show')
;

$('.ui.kofiupload.modal')
    .modal('attach events', '.ui.right.labeled.icon.uploadKofis.button.blue', 'show')
;