<div class="row">
    <div class="col-xs-12">
        <div class="box box-danger mb0">
            <div class="row">
                <div class="col-xs-12">
                    <div class="pull-left">
                        <button id="dodaj_wniosek_zfs" class="btn btn-success" style="margin: 10px 0 0 10px;"
                                data-toggle="modal"
                                data-target="#addModal" onclick="getType()">Dodaj wniosek ZFS &nbsp <i
                                class="fa fa-plus"></i></button>
                    </div>
                </div>
            </div>
            <div class="box-body table-responsive table-fixed-height">
                <table id="ZFSTable" class="table hover-rows custom-table FullTable" data-start-sort="1"
                       data-start-sort-direction="desc" data-start-height="70vh" data-start-filter="1"
                       data-order='[[ 1, "asc" ]]'>
                    <thead>
                    <tr class="text-uppercase">
                        <th style="max-width: 4%;">ID</th>
                        <th style="max-width: 20%;">Rodzaj</th>
                        <th style="max-width: 35%;">Nazwisko i Imię</th>
                        <th style="max-width: 8%;">Data</th>
                        <th style="max-width: 6%;">Za rok</th>
                        <th style="max-width: 6%;">Kwota</th>
                        <th data-orderable="false" class="text-center" style="max-width: 21%">Akcje</th>
                    </tr>
                    </thead>
                    <tbody>
                    <?php foreach ($listaWnioskowZFS as $wniosekZFS): ?>
                        <tr>
                            <td><?php echo $wniosekZFS['bId']; ?></td>
                            <td><?php
                                if('OswiadczenieMajatkowe' === $wniosekZFS['bRodzaj']) {
                                    echo 'Oświadczenie Majątkowe';
                                } else if ('WniosekOPozyczke' === $wniosekZFS['bRodzaj']) {
                                    echo 'Wniosek o pożyczkę';
                                } else {
                                    echo '';
                                }
                                ?></td>
                            <td><?php echo $wniosekZFS['bNazwisko']; ?><?php echo $wniosekZFS['bImie']; ?></td>
                            <td><?php $date = preg_replace('/T/', " ", $wniosekZFS['bDataUtworzenia']);
                                echo (new \DateTime($date))->format('Y-m-d'); ?></td>
                            <td><?php echo $wniosekZFS['bRok']; ?></td>
                            <td><?php
                                if ($wniosekZFS['bRodzaj'] === 'OswiadczenieMajatkowe') {
                                    // For OswiadczenieMajatkowe, display the sum of all brutto values
                                    $sum = $wniosekZFS['bBrutto'] + $wniosekZFS['bBruttoWspolmalzonka'] + $wniosekZFS['bBruttoDzieci'];
                                    echo $sum;
                                } else {
                                    // For all other types, display just bBrutto
                                    echo $wniosekZFS['bBrutto'];
                                }
                            ?></td>
                            <td class="text-right table-actions" data-orderable="false">
                                <button title="Edytuj" class="btn btn-success"
                                        onclick="editData('<?php echo $wniosekZFS['bGid']; ?>', true)">
                                    <i class="fa fa-eye"></i>
                                </button>
                                <?php if (isset($wniosekZFS['bCzyMozeEdytowac']) && $wniosekZFS['bCzyMozeEdytowac'] == 'true') : ?>
                                    <button title="Edytuj" class="btn btn-primary"
                                            onclick="editData('<?php echo $wniosekZFS['bGid']; ?>')">
                                        <i class="fa fa-pencil"></i>
                                    </button>
                                <?php endif; ?>
                                <?php if (isset($wniosekZFS['bCzyMozeUsunac']) && $wniosekZFS['bCzyMozeUsunac'] == 'true') : ?>
                                    <button title="Usun" class="btn btn-danger" data-toggle="modal"
                                            data-target="#delModal"
                                            onclick="$('#addGidUsun').val('<?php echo $wniosekZFS['bGid']; ?>')">
                                        <i class="fa fa-remove"></i>
                                    </button>
                                <?php endif; ?>
                            </td>
                        </tr>
                    <?php endforeach; ?>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>

<div class="modal fade" id="addModal" tabindex="-1" role="dialog" aria-labelledby="addModal">
    <div class="modal-dialog modal-lg">
        <div class="modal-content" id="addModalType" style="display: none;">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h5 class="alert alert-danger" style="display: none;" id="addErrorType"></h5>
                <h5 class="alert alert-success" style="display: none;" id="addSuccessType"></h5>
            </div>
            <div class="modal-body">
                <div class="row">
                    <div class="col-xs-12">
                        <div class="row form-group">
                            <div class="col-xs-3 text-right"><label>Wybierz rodzaj wniosku:</label></div>
                            <div class="col-xs-9 text-left">
                                <select id="wniosekType" class="form-control">
                                    <option value="">Wybierz rodzaj wniosku</option>
                                </select>
                            </div>
                        </div>
                    </div>
                </div>

            </div>
            <div class="modal-footer">
                <div class="col-xs-12 text-center">
                    <button type="button" onclick="resetInput()" class="btn btn-danger" data-dismiss="modal">Anuluj
                    </button>
                </div>
            </div>
        </div>
        <div class="modal-content" id="addModalOswiadczenie" style="display: none;">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="text-center">Oświadczenie majątkowe</h4>
                <h5 class="alert alert-danger" style="display: none;" id="addErrorOswiadczenie"></h5>
                <h5 class="alert alert-success" style="display: none;" id="addSuccessOswiadczenie"></h5>
                <h4 class="text-center">Świadomy odpowiedzialności za poświadczenie nieprawsy ośwaidczam, że dochody
                    brutto moje i osób
                    pozostających ze mną we wspólnym gospodarstwie domowym za cały
                    <select id="addRok">
                        <option></option>
                        <?php
                        for ($rok = 2025; $rok >= 2015; $rok--) {
                            echo "<option value=\"$rok\">$rok</option>";
                        } ?>
                    </select> rok wynosiły:<br>
                    <b>Dochód = (Dochód z PIT 36/37/40 - składki społeczne)</b>
                </h4>
            </div>
            <div class="modal-body">
                <div class="row">
                    <div class="col-xs-12">
                        <div class="row form-group">
                            <div class="col-xs-6 text-right"><label>- Dochód brutto wnioskodawcy:</label></div>
                            <div class="col-xs-6 text-left"><input type="number" id="brutto" value="0" step="0.01">
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-xs-6 text-right"><label>- Dochód brutto współmałżonka/partnera:</label>
                            </div>
                            <div class="col-xs-6 text-left"><input type="number" id="bruttoWspolmalzonka" value="0"
                                                                   step="0.01"></div>
                        </div>
                        <div class="row form-group">
                            <div class="col-xs-6 text-right"><label>- Dochód brutto dzieci do ukończenia 18 lub 25
                                    lat:</label></div>
                            <div class="col-xs-6 text-left"><input type="number" id="bruttoDzieci" value="0"
                                                                   step="0.01"></div>
                        </div>
                        <div class="row form-group">
                            <div class="col-xs-6 text-right"><label>- Liczba osób w rodzinie:</label></div>
                            <div class="col-xs-6 text-left"><input type="number" id="liczbaOsob" value="0" step="1">
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-xs-6 text-right"><label>- Adres zamieszkania:</label></div>
                            <div class="col-xs-6 text-left"><input type="text" style="width: 90%;" id="adres"></div>
                        </div>
                    </div>
                </div>

            </div>
            <div class="modal-footer">
                <div class="row">
                    <div class="col-xs-12">
                        <h4 class="text-center">
                            <b>Jednocześnie zobowiązuje się do udokumentowania - na wniosek pracodawcy - dochodów
                                wykazanych w niniejszym oświadczeniu.<br><br></b>
                        </h4>
                        <h5 class="text-left">
                            <ol>
                                <li>Dochód brutto za dany rok obejmuje dochody z tytułu: umowy zlecenia,
                                    umowy o dzieło, dochody z prowadzonej działalności gospodarczej, dochody z tytułu
                                    rent i emerytur, dochody z tytułu najmu i dzierżawy oraz inne podlegające
                                    rozliczeniu w Urzędzie Skarbowym.
                                </li>
                                <li>Za członków rodziny pozostających we wspólnym gospodarstwie domowym
                                    uważa się wnioskodawcę oraz osoby wymienione w § 7 Regulaminu.
                                </li>
                            </ol>
                        </h5>
                        <h4 class="text-center">
                            <b><br><br>Wyrażam zgodę na przetwarzanie danych osobowych związanych z ZFŚS zgodnie z
                                ustawą z dnia 29 sierpnia 1997 r. o ochronie danych osobowych (j.t. Dz. U. z 2015 r.
                                poz. 2135 ze zmianami).<br><br></b>
                        </h4>
                    </div>
                </div>
                <input type="hidden" class="form-control" id="addRodzajEdycjiOswiadczenie" value="Dodawanie">
                <input type="hidden" class="form-control" id="addGidOswiadczenie" value="">
                <div class="col-xs-12 text-center">
                    <button type="button" id="sendReqOswiadczenie" onclick="sendOswiadczenieData()"
                            class="btn btn-primary">Wyślij zapytanie
                    </button>
                    <button type="button" onclick="resetInput()" class="btn btn-danger" data-dismiss="modal">Wróć
                    </button>
                </div>
            </div>
        </div>
        <div class="modal-content" id="addModalWniosek" style="display: none;">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="text-center">Wniosek o pożyczkę</h4>
                <h5 class="alert alert-danger" style="display: none;" id="addErrorWniosek"></h5>
                <h5 class="alert alert-success" style="display: none;" id="addSuccessWniosek"></h5>
                <h5 class="text-center">Dane Wnioskodawcy</h5>
            </div>
            <div class="modal-body">
                <div class="row">
                    <div class="col-xs-12">
                        <div class="row form-group">
                            <div class="col-xs-3 text-right"><label for="imie">Imię:</label></div>
                            <div class="col-xs-9 text-left"><input type="text" id="imie" class="form-control">
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-xs-3 text-right"><label for="nazwisko">Nazwisko:</label></div>
                            <div class="col-xs-9 text-left"><input type="text" id="nazwisko" class="form-control">
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-xs-3 text-right"><label for="wojewodztwo">Województwo:</label></div>
                            <div class="col-xs-9 text-left">
                                <select id="wojewodztwo" class="form-control">
                                    <option value="">Wybierz województwo</option>
                                    <option value="DOLNOŚLĄSKIE">Dolnośląskie</option>
                                    <option value="KUJAWSKO-POMORSKIE">Kujawsko-Pomorskie</option>
                                    <option value="LUBELSKIE">Lubelskie</option>
                                    <option value="LUBUSKIE">Lubuskie</option>
                                    <option value="ŁÓDZKIE">Łódzkie</option>
                                    <option value="MAŁOPOLSKIE">Małopolskie</option>
                                    <option value="MAZOWIECKIE">Mazowieckie</option>
                                    <option value="OPOLSKIE">Opolskie</option>
                                    <option value="PODKARPACKIE">Podkarpackie</option>
                                    <option value="PODLASKIE">Podlaskie</option>
                                    <option value="POMORSKIE">Pomorskie</option>
                                    <option value="ŚLĄSKIE">Śląskie</option>
                                    <option value="ŚWIĘTOKRZYSKIE">Świętokrzyskie</option>
                                    <option value="WARMIŃSKO-MAZURSKIE">Warmińsko-Mazurskie</option>
                                    <option value="WIELKOPOLSKIE">Wielkopolskie</option>
                                    <option value="ZACHODNIOPOMORSKIE">Zachodniopomorskie</option>
                                </select>
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-xs-3 text-right"><label for="kod_pocztowy">Kod pocztowy (00-000):</label>
                            </div>
                            <div class="col-xs-9 text-left"><input type="text" id="kod_pocztowy" class="form-control"
                                                                   placeholder="00-000" pattern="[0-9]{2}-[0-9]{3}">
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-xs-3 text-right"><label for="miasto">Miasto:</label></div>
                            <div class="col-xs-9 text-left"><input type="text" id="miasto" class="form-control">
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-xs-3 text-right"><label for="adres_pozyczka">Adres:</label></div>
                            <div class="col-xs-9 text-left"><input type="text" id="adres_pozyczka" class="form-control">
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-xs-3 text-right"><label for="kwota">Kwota*:</label></div>
                            <div class="col-xs-9 text-left"><input type="number" id="kwota" class="form-control"
                                                                   required min="1" step="1">
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-xs-3 text-right"><label for="przeznaczenie">Przeznaczenie*:</label></div>
                            <div class="col-xs-9 text-left"><input type="text" id="przeznaczenie" class="form-control"
                                                                   required>
                            </div>
                        </div>
                        <h5 class="text-center">
                            Dane żyrantów
                        </h5>
                        <div class="row form-group">
                            <div class="col-xs-3 text-right"><label for="Zyrant0">Dane Pierwszego Żyranta:</label></div>
                            <div class="col-xs-9 text-left"><input type="text" id="Zyrant0" class="form-control">
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-xs-3 text-right"><label for="Zyrant1">Dane Drugiego Żyranta:</label></div>
                            <div class="col-xs-9 text-left"><input type="text" id="Zyrant1" class="form-control">
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="modal-footer">
                <input type="hidden" class="form-control" id="addRodzajEdycjiWniosek" value="Dodawanie">
                <input type="hidden" class="form-control" id="addGidWniosek" value="">
                <div class="col-xs-12 text-center">
                    <button type="button" id="sendReqWniosek" onclick="sendWniosekData()" class="btn btn-primary">Wyślij
                        wniosek
                    </button>
                    <button type="button" onclick="resetInput()" class="btn btn-danger" data-dismiss="modal">Anuluj
                    </button>
                </div>
            </div>
        </div>
    </div>
</div>

<div class="modal fade" id="delModal" tabindex="-1" role="dialog" aria-labelledby="addModal">
    <div class="modal-dialog modal-md">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title" id="myModalLabel">Usuń wniosek ZFS</h4>
            </div>
            <div class="modal-body">
                Czy napewno chcesz USUNĄĆ wniosek ZFS?
            </div>
            <div class="modal-footer">
                <input type="hidden" class="form-control" id="addGidUsun" value="">
                <button type="button" onclick="removeData()" class="btn btn-danger">Usuń</button>
                <button type="button" class="btn btn-secondary" data-dismiss="modal">Anuluj</button>
            </div>
        </div>
    </div>
</div>

<div class="row more-info-container">
    <div class="col-xs-12">
        <div class="box">
            <div class="box-header">
                <h2 class="box-title">Informacje dodatkowe</h2>
            </div>
            <div class="box-body" id="more-info-container">

            </div>
        </div>
    </div>
</div>

<script>
    $(function () {
        $('.page-name:first-of-type').html('<?php echo $pageName; ?>');

        initiateDataTable();

        // Handle kod_pocztowy input formatting
        $('#kod_pocztowy').on('input', function (e) {
            let input = $(this).val().replace(/\D/g, ''); // Remove all non-digits

            if (input.length > 0) {
                // Format as 00-000
                if (input.length <= 2) {
                    // Just the first 2 digits
                    $(this).val(input);
                } else {
                    // Format with hyphen
                    $(this).val(input.substring(0, 2) + '-' + input.substring(2, Math.min(5, input.length)));
                }
            }

            // Limit to 5 digits total (00-000 format)
            if (input.length > 5) {
                $(this).val(input.substring(0, 2) + '-' + input.substring(2, 5));
            }
        });

        // Handle special keys like backspace, delete, etc.
        $('#kod_pocztowy').on('keydown', function (e) {
            // Allow: backspace, delete, tab, escape, enter
            if ($.inArray(e.keyCode, [46, 8, 9, 27, 13]) !== -1 ||
                // Allow: Ctrl+A, Ctrl+C, Ctrl+V, Ctrl+X
                (e.keyCode === 65 && e.ctrlKey === true) ||
                (e.keyCode === 67 && e.ctrlKey === true) ||
                (e.keyCode === 86 && e.ctrlKey === true) ||
                (e.keyCode === 88 && e.ctrlKey === true) ||
                // Allow: home, end, left, right
                (e.keyCode >= 35 && e.keyCode <= 39)) {
                // Let it happen, don't do anything
                return;
            }

            // Ensure that it is a number and stop the keypress if not
            if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
                e.preventDefault();
            }
        });
    })

    function getType() {
        $.ajax({
            url: '<?php echo $this->Url->build(['action' => 'dajMozliweRodzajeWnioskuZFS']); ?>',
            type: 'POST',
            success: function (data) {
                const response = JSON.parse(data);

                // Hide all modal content divs initially
                $("#addModalType, #addModalOswiadczenie, #addModalWniosek").hide();

                // Check if response is an array with more than one element
                if (Array.isArray(response) && response.length > 1) {
                    // Show only div id="addModalType"
                    $("#addModalType").show();

                    // Clear existing options except the default one
                    $("#wniosekType option:not(:first)").remove();

                    // Add new options based on the response
                    response.forEach(function (type) {
                        let displayText = type;
                        if (type === "OswiadczenieMajatkowe") {
                            displayText = "Oświadczenie majątkowe";
                        } else if (type === "WniosekOPozyczke") {
                            displayText = "Wniosek o pożyczkę";
                        }
                        $("#wniosekType").append('<option value="' + type + '">' + displayText + '</option>');
                    });

                    // Add change event handler to the select
                    $("#wniosekType").off('change').on('change', function () {
                        const selectedType = $(this).val();
                        if (selectedType === "OswiadczenieMajatkowe") {
                            $("#addModalType").hide();
                            $("#addModalOswiadczenie").show();
                        } else if (selectedType === "WniosekOPozyczke") {
                            $("#addModalType").hide();
                            $("#addModalWniosek").show();
                        }
                        getDefaultValue(selectedType);
                    });
                } else if (Array.isArray(response) && response.length === 1) {
                    // Check the value of the single element
                    if (response[0] === "OswiadczenieMajatkowe") {
                        // Show div id="addModalOswiadczenie"
                        $("#addModalOswiadczenie").show();
                    } else if (response[0] === "WniosekOPozyczke") {
                        // Show div id="addModalWniosek"
                        $("#addModalWniosek").show();
                    }
                } else if (Array.isArray(response) && response.length === 0) {
                    // If the response is an empty array, show the type selection div
                    $("#addModalType").show();

                    // Clear existing options except the default one
                    $("#wniosekType option:not(:first)").remove();

                    // Add a message to the select
                    const elements = getActiveErrorSuccessElements();
                    elements.error.show();
                    elements.error.html('Brak dostępnych rodzajów wniosków');
                }
            }
        });
    }

    function getDefaultValue(selectedType) {
        $.ajax({
            url: '<?php echo $this->Url->build(['action' => 'dajNowyWniosekZFS']); ?>' + '/' + selectedType,
            type: 'GET',
            success: function (data) {
                const response = JSON.parse(data);

                // Determine which form to populate based on the selectedType
                if (selectedType === 'WniosekOPozyczke') {
                    // Fill in WniosekOPozyczke form fields
                    $('#imie').val(response.bImie || '');
                    $('#nazwisko').val(response.bNazwisko || '');
                    $('#wojewodztwo').val(response.bWojewodztwo);
                    $('#kod_pocztowy').val(response.bKodPocztowy || '');
                    $('#miasto').val(response.bMiasto || '');
                    $('#adres_pozyczka').val(response.bAdres || '');
                    $('#kwota').val(response.bBrutto || '');
                    $('#przeznaczenie').val(response.bPrzeznaczenie || '');
                    $('#Zyrant0').val(response.bZyrant0 || '');
                    $('#Zyrant1').val(response.bZyrant1 || '');
                } else if (selectedType === 'OswiadczenieMajatkowe') {
                    // Fill in OswiadczenieMajatkowe form fields
                    $('#addRok').val(response.bRok || '');
                    $('#brutto').val(response.bBrutto || '');
                    $('#bruttoWspolmalzonka').val(response.bBruttoWspolmalzonka || '');
                    $('#bruttoDzieci').val(response.bBruttoDzieci || '');
                    $('#liczbaOsob').val(response.bLiczbaOsob || '');
                    $('#adres').val(response.bAdres || '');
                }
            },
            error: function (xhr, status, error) {
                console.error("Error in getDefaultValue:", error);

                // Hide all modal content divs with prefix addModal
                $("#addModalType, #addModalOswiadczenie, #addModalWniosek").hide();

                // Close the modal
                $('#addModal').modal('hide');
                $('.modal-backdrop').remove();
            }
        });
    }

    // Helper function to get the appropriate error and success elements based on the active modal
    function getActiveErrorSuccessElements() {
        if ($("#addModalType").is(":visible")) {
            return {
                error: $('#addErrorType'),
                success: $('#addSuccessType')
            };
        } else if ($("#addModalOswiadczenie").is(":visible")) {
            return {
                error: $('#addErrorOswiadczenie'),
                success: $('#addSuccessOswiadczenie')
            };
        } else if ($("#addModalWniosek").is(":visible")) {
            return {
                error: $('#addErrorWniosek'),
                success: $('#addSuccessWniosek')
            };
        }
        // Default to the first set if none are visible
        return {
            error: $('#addErrorType'),
            success: $('#addSuccessType')
        };
    }

    function sendOswiadczenieData() {
        let data = {
            'bGid': $('#addGidOswiadczenie').val(),
            'bRodzajEdycji': $('#addRodzajEdycjiOswiadczenie').val(),
            'bRok': $('#addRok').val(),
            'bBrutto': $('#brutto').val(),
            'bBruttoWspolmalzonka': $('#bruttoWspolmalzonka').val(),
            'bBruttoDzieci': $('#bruttoDzieci').val(),
            'bLiczbaOsob': $('#liczbaOsob').val(),
            'bAdres': $('#adres').val(),
            'bRodzaj': 'OswiadczenieMajatkowe'
        };

        $.ajax({
            url: '<?php echo $this->Url->build(['action' => 'dodajWniosekZFS']); ?>',
            type: 'POST',
            data: data,
            success: function (data) {
                const response = JSON.parse(data);
                const elements = getActiveErrorSuccessElements();

                if (response.error) {
                    elements.success.hide();
                    elements.error.show();
                    elements.error.html(response.error);
                    return;
                }
                if (response.message === 'Pomyślnie dodano wniosek ZFŚ. ' || response.message === 'Pomyślnie zmodyfikowano wniosek ZFŚ. ') {
                    elements.error.hide();
                    elements.success.show();
                    elements.success.html(response.message);
                    $('#addModal').modal('hide');
                    $('.modal-backdrop').remove();
                } else {
                    elements.success.hide();
                    elements.error.show();
                    elements.error.html(response);
                    return;
                }
                reloadWnioski();
            }
        });
    }

    function sendWniosekData() {
        console.log("Send Wniosek Data");
        const elements = getActiveErrorSuccessElements();

        // Validate required fields
        if (!$('#kwota').val()) {
            elements.success.hide();
            elements.error.show();
            elements.error.html('Pole Kwota jest wymagane');
            return;
        }

        if (!$('#przeznaczenie').val()) {
            elements.success.hide();
            elements.error.show();
            elements.error.html('Pole Przeznaczenie jest wymagane');
            return;
        }

        // Validate postal code format
        const kodPocztowy = $('#kod_pocztowy').val();
        if (kodPocztowy && !kodPocztowy.match(/^\d{2}-\d{3}$/)) {
            elements.success.hide();
            elements.error.show();
            elements.error.html('Kod pocztowy musi być w formacie 00-000');
            return;
        }

        let data = {
            'bGid': $('#addGidWniosek').val(),
            'bRodzajEdycji': $('#addRodzajEdycjiWniosek').val(),
            'bImie': $('#imie').val(),
            'bNazwisko': $('#nazwisko').val(),
            'bWojewodztwo': $('#wojewodztwo').val(),
            'bKodPocztowy': $('#kod_pocztowy').val(),
            'bMiasto': $('#miasto').val(),
            'bAdres': $('#adres_pozyczka').val(),
            'bBrutto': $('#kwota').val(),
            'bPrzeznaczenie': $('#przeznaczenie').val(),
            'bZyrant0': $('#Zyrant0').val(),
            'bZyrant1': $('#Zyrant1').val(),
            'bRodzaj': 'WniosekOPozyczke'
        };

        $.ajax({
            url: '<?php echo $this->Url->build(['action' => 'dodajWniosekZFS']); ?>',
            type: 'POST',
            data: data,
            success: function (data) {
                const response = JSON.parse(data);
                const elements = getActiveErrorSuccessElements();

                if (response.error) {
                    elements.success.hide();
                    elements.error.show();
                    elements.error.html(response.error);
                    return;
                }
                if (response.message === 'Pomyślnie dodano wniosek ZFŚ. ' || response.message === 'Pomyślnie zmodyfikowano wniosek ZFŚ. ') {
                    elements.error.hide();
                    elements.success.show();
                    elements.success.html(response.message);
                    $('#addModal').modal('hide');
                    $('.modal-backdrop').remove();
                }
                reloadWnioski();
            }
        });
    }

    // Keeping the original function for backward compatibility
    function sendData() {
        if ($("#addModalOswiadczenie").is(":visible")) {
            sendOswiadczenieData();
        } else if ($("#addModalWniosek").is(":visible")) {
            sendWniosekData();
        }
    }

    function editData(gid, view = false) {
        // Hide all error and success messages in all modals
        $('#addErrorType, #addErrorOswiadczenie, #addErrorWniosek').hide();
        $('#addSuccessType, #addSuccessOswiadczenie, #addSuccessWniosek').hide();
        $.ajax({
            url: '<?php echo $this->Url->build(['action' => 'dajWniosekZFS']); ?>' + '/' + gid,
            type: 'GET',
            success: function (data) {
                const response = JSON.parse(data);

                // Hide all modal content divs initially
                $("#addModalType, #addModalOswiadczenie, #addModalWniosek").hide();

                // Determine which form to show based on the type of request
                if (response.bRodzaj === 'WniosekOPozyczke') {
                    // Fill in WniosekOPozyczke form fields
                    $('#imie').val(response.bImie || '');
                    $('#nazwisko').val(response.bNazwisko || '');
                    $('#wojewodztwo').val(response.bWojewodztwo);
                    $('#kod_pocztowy').val(response.bKodPocztowy || '');
                    $('#miasto').val(response.bMiasto || '');
                    $('#adres_pozyczka').val(response.bAdres || '');
                    $('#kwota').val(response.bBrutto || '');
                    $('#przeznaczenie').val(response.bPrzeznaczenie || '');
                    $('#Zyrant0').val(response.bZyrant0 || '');
                    $('#Zyrant1').val(response.bZyrant1 || '');
                    $('#addGidWniosek').val(response.bGid);

                    if (view) {
                        $('#imie').attr('disabled', 'disabled');
                        $('#nazwisko').attr('disabled', 'disabled');
                        $('#wojewodztwo').attr('disabled', 'disabled');
                        $('#kod_pocztowy').attr('disabled', 'disabled');
                        $('#miasto').attr('disabled', 'disabled');
                        $('#adres_pozyczka').attr('disabled', 'disabled');
                        $('#kwota').attr('disabled', 'disabled');
                        $('#przeznaczenie').attr('disabled', 'disabled');
                        $('#Zyrant0').attr('disabled', 'disabled');
                        $('#Zyrant1').attr('disabled', 'disabled');
                        $('#sendReqWniosek').attr('disabled', 'disabled');
                    }

                    // Show WniosekOPozyczke form
                    $("#addModalWniosek").show();
                } else {
                    // Default to OswiadczenieMajatkowe form
                    $('#addRok').val(response.bRok || '');
                    $('#brutto').val(response.bBrutto || '');
                    $('#bruttoWspolmalzonka').val(response.bBruttoWspolmalzonka || '');
                    $('#bruttoDzieci').val(response.bBruttoDzieci || '');
                    $('#liczbaOsob').val(response.bLiczbaOsob || '');
                    $('#adres').val(response.bAdres || '');
                    $('#addGidOswiadczenie').val(response.bGid);

                    if (view) {
                        $('#addRok').attr('disabled', 'disabled');
                        $('#brutto').attr('disabled', 'disabled');
                        $('#bruttoWspolmalzonka').attr('disabled', 'disabled');
                        $('#bruttoDzieci').attr('disabled', 'disabled');
                        $('#liczbaOsob').attr('disabled', 'disabled');
                        $('#adres').attr('disabled', 'disabled');
                        $('#sendReqOswiadczenie').attr('disabled', 'disabled');
                    }

                    // Show OswiadczenieMajatkowe form
                    $("#addModalOswiadczenie").show();
                }

                $('#addRodzajEdycjiWniosek').val('Edycja');
                $('#addRodzajEdycjiOswiadczenie').val('Edycja');
                $('#addModal').modal('show');
            }
        });
    }

    function resetInput() {
        // Reset common fields
        $('#addGidOswiadczenie').val('');
        $('#addGidWniosek').val('');
        $('#addRodzajEdycjiOswiadczenie').val('Dodawanie');
        $('#addRodzajEdycjiWniosek').val('Dodawanie');
        $('#sendReqOswiadczenie, #sendReqWniosek').removeAttr('disabled');

        // Reset OswiadczenieMajatkowe form fields
        $('#addRok').val(0);
        $('#brutto').val(0);
        $('#bruttoWspolmalzonka').val(0);
        $('#bruttoDzieci').val(0);
        $('#liczbaOsob').val(0);
        $('#adres').val('');

        // Remove disabled attribute from OswiadczenieMajatkowe form fields
        $('#addRok').removeAttr('disabled');
        $('#brutto').removeAttr('disabled');
        $('#bruttoWspolmalzonka').removeAttr('disabled');
        $('#bruttoDzieci').removeAttr('disabled');
        $('#liczbaOsob').removeAttr('disabled');
        $('#adres').removeAttr('disabled');

        // Reset WniosekOPozyczke form fields
        $('#imie').val('');
        $('#nazwisko').val('');
        $('#wojewodztwo').val('');
        $('#kod_pocztowy').val('');
        $('#miasto').val('');
        $('#adres_pozyczka').val('');
        $('#kwota').val('');
        $('#przeznaczenie').val('');
        $('#Zyrant0').val('');
        $('#Zyrant1').val('');

        // Remove disabled attribute from WniosekOPozyczke form fields
        $('#imie').removeAttr('disabled');
        $('#nazwisko').removeAttr('disabled');
        $('#wojewodztwo').removeAttr('disabled');
        $('#kod_pocztowy').removeAttr('disabled');
        $('#miasto').removeAttr('disabled');
        $('#adres_pozyczka').removeAttr('disabled');
        $('#kwota').removeAttr('disabled');
        $('#przeznaczenie').removeAttr('disabled');
        $('#Zyrant0').removeAttr('disabled');
        $('#Zyrant1').removeAttr('disabled');

        // Reset error and success messages
        $('#addErrorType, #addErrorOswiadczenie, #addErrorWniosek').hide();
        $('#addSuccessType, #addSuccessOswiadczenie, #addSuccessWniosek').hide();

        // Hide all modal content divs
        $("#addModalType, #addModalOswiadczenie, #addModalWniosek").hide();
    }

    function removeData() {
        let gid = $('#addGidUsun').val();
        $.ajax({
            url: '<?php echo $this->Url->build(['action' => 'usunWniosekZFS']); ?>' + '/' + gid,
            type: 'GET',
            success: function (data) {
                const response = JSON.parse(data);
                if (response.error) {
                    // Since we're in the delete modal, we'll show the error in all modals to ensure it's visible
                    $('#addErrorType, #addErrorOswiadczenie, #addErrorWniosek').show().html(response.error);
                    $('#addSuccessType, #addSuccessOswiadczenie, #addSuccessWniosek').hide();
                }
                $('#addModal').modal('hide');
                $('.modal-backdrop').remove();
                if (response.message === 'Pomyślnie usunięto wniosek ZFŚ. ') {
                    reloadWnioski();
                }
            }
        });
    }

    function reloadWnioski() {
        const link = document.querySelector('.zfs-tiles a[data-active="1"]');

        // Sprawdzenie, czy element istnieje
        if (link) {
            link.click();
        } else {
            console.log('Link do Wniosków nie został znaleziony.');
        }
    }
</script>

<?php echo $this->element('alert_close'); ?>
