document.addEventListener('DOMContentLoaded', function() {
    console.log('Carregando script cotas.js...');
    
    // Configuração do modal de edição
    const modalEditarCota = document.getElementById('modalEditarCota');
    if (modalEditarCota) {
        modalEditarCota.addEventListener('show.bs.modal', function(event) {
            console.log('Modal de edição sendo exibido');
            const button = event.relatedTarget;
            
            if (!button) {
                console.error('Botão não encontrado!');
                return;
            }
            
            const cotaId = button.getAttribute('data-cota-id');
            console.log('ID da cota:', cotaId);
            
            // Dados da cota
            const dados = {
                militanteId: button.getAttribute('data-cota-militante'),
                militanteNome: button.closest('tr').querySelector('td').textContent.trim(),
                valorAntigo: button.closest('tr').querySelector('td[data-valor_antigo]').getAttribute('data-valor_antigo'),
                valorNovo: button.closest('tr').querySelector('td[data-valor_novo]').getAttribute('data-valor_novo'),
                dataAlteracao: button.getAttribute('data-cota-data-alteracao'),
                dataVencimento: button.getAttribute('data-cota-data-vencimento'),
                pago: button.getAttribute('data-cota-pago') === 'true'
            };
            console.log('Dados da cota:', dados);
            
            // Preencher campos
            document.getElementById('editMilitante').value = dados.militanteId;
            document.getElementById('editMilitanteNome').value = dados.militanteNome;
            document.getElementById('editValorAntigo').value = dados.valorAntigo;
            document.getElementById('editValorNovo').value = dados.valorNovo;
            document.getElementById('editDataAlteracao').value = dados.dataAlteracao;
            document.getElementById('editDataVencimento').value = dados.dataVencimento;
            document.getElementById('editPago').checked = dados.pago;
            
            // Configurar formulário
            const form = document.getElementById('formEditarCota');
            if (form) {
                form.action = `/cotas/editar/${cotaId}`;
                console.log('Action do formulário:', form.action);
                
                // Remover listeners antigos para evitar duplicação
                const newForm = form.cloneNode(true);
                form.parentNode.replaceChild(newForm, form);
                
                // Adicionar listener para o submit do formulário
                newForm.addEventListener('submit', function(e) {
                    e.preventDefault();
                    console.log('Formulário submetido');
                    
                    // Criar FormData com os dados do formulário
                    const formData = new FormData(this);
                    
                    // Adicionar campo pago com o valor correto
                    const isPago = document.getElementById('editPago').checked;
                    formData.set('pago', isPago ? 'true' : 'false');
                    
                    // Log dos dados sendo enviados
                    console.log('Dados do formulário:');
                    for (let [key, value] of formData.entries()) {
                        console.log(key + ': ' + value);
                    }
                    
                    // Enviar requisição
                    fetch(this.action, {
                        method: 'POST',
                        body: formData
                    })
                    .then(response => {
                        console.log('Status da resposta:', response.status);
                        return response.json();
                    })
                    .then(data => {
                        console.log('Resposta:', data);
                        if (data.status === 'success') {
                            // Fechar modal
                            const modal = bootstrap.Modal.getInstance(modalEditarCota);
                            modal.hide();
                            
                            // Recarregar página
                            window.location.reload();
                        } else {
                            alert('Erro ao atualizar cota: ' + data.message);
                        }
                    })
                    .catch(error => {
                        console.error('Erro:', error);
                        alert('Erro ao atualizar cota. Por favor, tente novamente.');
                    });
                });
            }
        });
    }
    
    // Configuração do modal de exclusão
    const deleteModal = document.getElementById('deleteModal');
    if (deleteModal) {
        deleteModal.addEventListener('show.bs.modal', function(event) {
            console.log('Modal de exclusão sendo exibido');
            const button = event.relatedTarget;
            
            if (!button) {
                console.error('Botão não encontrado!');
                return;
            }
            
            const cotaId = button.getAttribute('data-cota-id');
            const cotaInfo = button.getAttribute('data-cota-info');
            console.log('ID da cota:', cotaId);
            console.log('Info da cota:', cotaInfo);
            
            // Atualizar texto do modal
            document.getElementById('cotaInfo').textContent = cotaInfo;
            
            // Configurar formulário de exclusão
            const form = document.getElementById('deleteForm');
            if (form) {
                form.action = `/cotas/excluir/${cotaId}`;
                console.log('Action do formulário:', form.action);
            }
        });
    }
}); 