<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

require_once 'includes/funcoes.php';
include 'includes/header.php';

$pdo = conectarBanco();

// Buscar empresas para o select
$empresas = $pdo->query("SELECT id, nome FROM empresas WHERE ativo = 1 ORDER BY nome")->fetchAll(PDO::FETCH_ASSOC);

// Processar formulário
$mensagem = '';
$tipoMensagem = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (isset($_POST['acao'])) {
        if ($_POST['acao'] === 'cadastrar') {
            $empresa_id = (int)$_POST['empresa_id'];
            $cnpj = preg_replace('/[^0-9]/', '', $_POST['cnpj']);
            $razao_social = sanitizar($_POST['razao_social']);
            $inscricao_municipal = sanitizar($_POST['inscricao_municipal']);
            $email = sanitizar($_POST['email']);
            $telefone = preg_replace('/[^0-9]/', '', $_POST['telefone']);
            
            // Configurações NFSe
            $tipo_nfse = sanitizar($_POST['tipo_nfse'] ?? 'nacional');
            $regime_tributario = (int)($_POST['regime_tributario'] ?? 1);
            $tipo_retencao_iss = (int)($_POST['tipo_retencao_iss'] ?? 2);
            $codigo_servico = sanitizar($_POST['codigo_servico'] ?? '');
            $codigo_nbs = sanitizar($_POST['codigo_nbs'] ?? '');
            $aliquota_iss = (float)($_POST['aliquota_iss'] ?? 0);
            $optante_simples = isset($_POST['optante_simples']) ? 1 : 0;
            
            // Endereço
            $logradouro = sanitizar($_POST['logradouro']);
            $numero = sanitizar($_POST['numero']);
            $bairro = sanitizar($_POST['bairro']);
            $cidade = sanitizar($_POST['cidade']);
            $codigo_municipio = sanitizar($_POST['codigo_municipio']);
            $uf = sanitizar($_POST['uf']);
            $cep = preg_replace('/[^0-9]/', '', $_POST['cep']);
            
            try {
                $pdo->beginTransaction();
                
                // Inserir endereço
                $stmt = $pdo->prepare("INSERT INTO enderecos (empresa_id, logradouro, numero, bairro, cidade, codigo_municipio, uf, cep) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
                $stmt->execute([$empresa_id, $logradouro, $numero, $bairro, $cidade, $codigo_municipio, $uf, $cep]);
                $endereco_id = $pdo->lastInsertId();
                
                // Inserir emitente
                $stmt = $pdo->prepare("
                    INSERT INTO emitentes (
                        empresa_id, cnpj, razao_social, inscricao_municipal, email, telefone, 
                        endereco_id, optante_simples_nacional, 
                        tipo_nfse, regime_tributario, tipo_retencao_iss, 
                        codigo_servico, codigo_nbs, aliquota_iss,
                        ativo
                    ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 1)
                ");
                $stmt->execute([
                    $empresa_id, $cnpj, $razao_social, $inscricao_municipal, $email, $telefone,
                    $endereco_id, $optante_simples,
                    $tipo_nfse, $regime_tributario, $tipo_retencao_iss,
                    $codigo_servico, $codigo_nbs, $aliquota_iss
                ]);
                
                $pdo->commit();
                $mensagem = "Emitente cadastrado com sucesso!";
                $tipoMensagem = "success";
            } catch (PDOException $e) {
                $pdo->rollBack();
                $mensagem = "Erro ao cadastrar: " . $e->getMessage();
                $tipoMensagem = "danger";
            }
        } elseif ($_POST['acao'] === 'editar') {
            $id = (int)$_POST['id'];
            $empresa_id = (int)$_POST['empresa_id'];
            $cnpj = preg_replace('/[^0-9]/', '', $_POST['cnpj']);
            $razao_social = sanitizar($_POST['razao_social']);
            $inscricao_municipal = sanitizar($_POST['inscricao_municipal']);
            $email = sanitizar($_POST['email']);
            $telefone = preg_replace('/[^0-9]/', '', $_POST['telefone']);
            
            // Configurações NFSe
            $tipo_nfse = sanitizar($_POST['tipo_nfse'] ?? 'nacional');
            $regime_tributario = (int)($_POST['regime_tributario'] ?? 1);
            $tipo_retencao_iss = (int)($_POST['tipo_retencao_iss'] ?? 2);
            $codigo_servico = sanitizar($_POST['codigo_servico'] ?? '');
            $codigo_nbs = sanitizar($_POST['codigo_nbs'] ?? '');
            $aliquota_iss = (float)($_POST['aliquota_iss'] ?? 0);
            $optante_simples = isset($_POST['optante_simples']) ? 1 : 0;
            $ativo = isset($_POST['ativo']) ? 1 : 0;
            
            // Endereço
            $logradouro = sanitizar($_POST['logradouro']);
            $numero = sanitizar($_POST['numero']);
            $bairro = sanitizar($_POST['bairro']);
            $cidade = sanitizar($_POST['cidade']);
            $codigo_municipio = sanitizar($_POST['codigo_municipio']);
            $uf = sanitizar($_POST['uf']);
            $cep = preg_replace('/[^0-9]/', '', $_POST['cep']);
            
            try {
                $pdo->beginTransaction();
                
                // Buscar endereco_id do emitente
                $stmt = $pdo->prepare("SELECT endereco_id FROM emitentes WHERE id = ?");
                $stmt->execute([$id]);
                $emitente = $stmt->fetch(PDO::FETCH_ASSOC);
                $endereco_id = $emitente['endereco_id'];
                
                // Atualizar endereço
                $stmt = $pdo->prepare("UPDATE enderecos SET logradouro = ?, numero = ?, bairro = ?, cidade = ?, codigo_municipio = ?, uf = ?, cep = ? WHERE id = ?");
                $stmt->execute([$logradouro, $numero, $bairro, $cidade, $codigo_municipio, $uf, $cep, $endereco_id]);
                
                // Atualizar emitente
                $stmt = $pdo->prepare("
                    UPDATE emitentes SET 
                        empresa_id = ?, cnpj = ?, razao_social = ?, inscricao_municipal = ?, 
                        email = ?, telefone = ?, optante_simples_nacional = ?,
                        tipo_nfse = ?, regime_tributario = ?, tipo_retencao_iss = ?,
                        codigo_servico = ?, codigo_nbs = ?, aliquota_iss = ?,
                        ativo = ? 
                    WHERE id = ?
                ");
                $stmt->execute([
                    $empresa_id, $cnpj, $razao_social, $inscricao_municipal,
                    $email, $telefone, $optante_simples,
                    $tipo_nfse, $regime_tributario, $tipo_retencao_iss,
                    $codigo_servico, $codigo_nbs, $aliquota_iss,
                    $ativo, $id
                ]);
                
                $pdo->commit();
                $mensagem = "Emitente atualizado com sucesso!";
                $tipoMensagem = "success";
            } catch (PDOException $e) {
                $pdo->rollBack();
                $mensagem = "Erro ao atualizar: " . $e->getMessage();
                $tipoMensagem = "danger";
            }
        } elseif ($_POST['acao'] === 'excluir') {
            $id = (int)$_POST['id'];
            
            try {
                // Buscar endereco_id
                $stmt = $pdo->prepare("SELECT endereco_id FROM emitentes WHERE id = ?");
                $stmt->execute([$id]);
                $emitente = $stmt->fetch(PDO::FETCH_ASSOC);
                $endereco_id = $emitente['endereco_id'];
                
                $pdo->beginTransaction();
                
                // Excluir emitente
                $stmt = $pdo->prepare("DELETE FROM emitentes WHERE id = ?");
                $stmt->execute([$id]);
                
                // Excluir endereço
                $stmt = $pdo->prepare("DELETE FROM enderecos WHERE id = ?");
                $stmt->execute([$endereco_id]);
                
                $pdo->commit();
                $mensagem = "Emitente excluído com sucesso!";
                $tipoMensagem = "success";
            } catch (PDOException $e) {
                $pdo->rollBack();
                $mensagem = "Erro ao excluir: " . $e->getMessage();
                $tipoMensagem = "danger";
            }
        }
    }
}

// Buscar emitente para edição
$editando = null;
if (isset($_GET['editar'])) {
    $stmt = $pdo->prepare("
        SELECT e.*, end.* 
        FROM emitentes e
        LEFT JOIN enderecos end ON e.endereco_id = end.id
        WHERE e.id = ?
    ");
    $stmt->execute([$_GET['editar']]);
    $editando = $stmt->fetch(PDO::FETCH_ASSOC);
}

// Listar emitentes - CORRIGIDO: Garantindo que o ID do emitente seja o principal
$emitentes = $pdo->query("
    SELECT 
        e.id as emitente_id,  -- Alias para o ID do emitente
        e.empresa_id,
        e.cnpj,
        e.razao_social,
        e.nome_fantasia,
        e.inscricao_municipal,
        e.inscricao_estadual,
        e.email,
        e.telefone,
        e.endereco_id,
        e.optante_simples_nacional,
        e.tipo_nfse,
        e.regime_tributario,
        e.tipo_retencao_iss,
        e.codigo_servico,
        e.codigo_nbs,
        e.codigo_tributario_municipal,
        e.aliquota_iss,
        e.regime_especial_tributacao,
        e.ativo,
        e.criado_em,
        e.atualizado_em,
        e.codigo_municipio_prestacao,
        e.codigo_opcao_simples_nacional,
        e.regime_tributario_simples_nacional,
        e.usar_ibs_cbs,
        e.usar_tributacao_municipal,
        e.usar_inscricao_municipal,
        end.*,  -- Todos os campos do endereço
        emp.nome as empresa_nome
    FROM emitentes e
    LEFT JOIN enderecos end ON e.endereco_id = end.id
    LEFT JOIN empresas emp ON e.empresa_id = emp.id
    ORDER BY e.id DESC
")->fetchAll(PDO::FETCH_ASSOC);

// Lista completa de estados brasileiros
$estados = [
    'AC' => 'Acre',
    'AL' => 'Alagoas',
    'AP' => 'Amapá',
    'AM' => 'Amazonas',
    'BA' => 'Bahia',
    'CE' => 'Ceará',
    'DF' => 'Distrito Federal',
    'ES' => 'Espírito Santo',
    'GO' => 'Goiás',
    'MA' => 'Maranhão',
    'MT' => 'Mato Grosso',
    'MS' => 'Mato Grosso do Sul',
    'MG' => 'Minas Gerais',
    'PA' => 'Pará',
    'PB' => 'Paraíba',
    'PR' => 'Paraná',
    'PE' => 'Pernambuco',
    'PI' => 'Piauí',
    'RJ' => 'Rio de Janeiro',
    'RN' => 'Rio Grande do Norte',
    'RS' => 'Rio Grande do Sul',
    'RO' => 'Rondônia',
    'RR' => 'Roraima',
    'SC' => 'Santa Catarina',
    'SP' => 'São Paulo',
    'SE' => 'Sergipe',
    'TO' => 'Tocantins'
];
?>

<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
    <h1><i class="bi bi-building"></i> Emitentes (Prestadores de Serviço)</h1>
    <button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#modalEmitente" onclick="limparForm()">
        <i class="bi bi-plus-circle"></i> Novo Emitente
    </button>
</div>

<?php if ($mensagem): ?>
<div class="alert alert-<?php echo $tipoMensagem; ?> alert-dismissible fade show" role="alert">
    <?php echo $mensagem; ?>
    <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
</div>
<?php endif; ?>

<div class="card">
    <div class="card-body">
        <div class="table-responsive">
            <table class="table table-striped table-hover">
                <thead>
                    <tr>
                        <th>ID Emitente</th>
                        <th>Empresa</th>
                        <th>Razão Social</th>
                        <th>CNPJ</th>
                        <th>Endereço</th>
                        <th>Tipo NFSe</th>
                        <th>Regime</th>
                        <th>Alíquota</th>
                        <th>Status</th>
                        <th>Ações</th>
                    </tr>
                </thead>
                <tbody>
                    <?php foreach ($emitentes as $emitente): ?>
                    <tr>
                        <td>
                            <span class="badge bg-dark" style="font-size: 14px;">
                                <strong>#<?php echo $emitente['emitente_id']; ?></strong>
                            </span>
                        </td>
                        <td><span class="badge bg-info"><?php echo htmlspecialchars($emitente['empresa_nome']); ?></span></td>
                        <td><strong><?php echo htmlspecialchars($emitente['razao_social']); ?></strong></td>
                        <td><?php echo formatarCnpj($emitente['cnpj']); ?></td>
                        <td>
                            <small>
                                <?php echo htmlspecialchars($emitente['cidade'] . '/' . $emitente['uf']); ?>
                                <br>
                                <span class="text-muted">Endereço ID: <?php echo $emitente['endereco_id']; ?></span>
                            </small>
                        </td>
                        <td>
                            <span class="badge <?php echo $emitente['tipo_nfse'] == 'canoas' ? 'bg-danger' : 'bg-primary'; ?>">
                                <?php echo $emitente['tipo_nfse'] == 'canoas' ? 'Canoas' : 'Nacional'; ?>
                            </span>
                        </td>
                        <td>
                            <span class="badge bg-secondary">
                                <?php 
                                    $regimes = [1 => 'Não Optante', 2 => 'MEI', 3 => 'Simples', 4 => 'Excesso'];
                                    echo $regimes[$emitente['regime_tributario']] ?? $emitente['regime_tributario'];
                                ?>
                            </span>
                        </td>
                        <td>
                            <span class="badge bg-success" style="font-size: 14px; padding: 5px 10px;">
                                <?php echo number_format($emitente['aliquota_iss'], 2, ',', '.'); ?>%
                            </span>
                        </td>
                        <td>
                            <span class="badge <?php echo $emitente['ativo'] ? 'bg-success' : 'bg-secondary'; ?>">
                                <?php echo $emitente['ativo'] ? 'Ativo' : 'Inativo'; ?>
                            </span>
                            <?php if ($emitente['optante_simples_nacional']): ?>
                            <span class="badge bg-info">Simples</span>
                            <?php endif; ?>
                        </td>
                        <td>
                            <button class="btn btn-sm btn-warning" onclick="editarEmitente(<?php echo htmlspecialchars(json_encode($emitente)); ?>)">
                                <i class="bi bi-pencil"></i>
                            </button>
                            <button class="btn btn-sm btn-danger" onclick="excluirEmitente(<?php echo $emitente['emitente_id']; ?>, '<?php echo addslashes($emitente['razao_social']); ?>')">
                                <i class="bi bi-trash"></i>
                            </button>
                        </td>
                    </tr>
                    <?php endforeach; ?>
                </tbody>
            </table>
        </div>
    </div>
</div>

<!-- Modal Cadastro/Edição -->
<div class="modal fade" id="modalEmitente" tabindex="-1">
    <div class="modal-dialog modal-xl">
        <div class="modal-content">
            <form method="POST" id="formEmitente">
                <div class="modal-header">
                    <h5 class="modal-title" id="modalTitulo">Cadastrar Emitente</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
                </div>
                <div class="modal-body">
                    <input type="hidden" name="acao" id="acao" value="cadastrar">
                    <input type="hidden" name="id" id="emitente_id">
                    
                    <!-- Dados Básicos -->
                    <div class="row">
                        <div class="col-md-6 mb-3">
                            <label class="form-label required-field">Empresa *</label>
                            <select class="form-control" name="empresa_id" id="empresa_id" required>
                                <option value="">Selecione a empresa</option>
                                <?php foreach ($empresas as $empresa): ?>
                                <option value="<?php echo $empresa['id']; ?>">
                                    <?php echo htmlspecialchars($empresa['nome']); ?>
                                </option>
                                <?php endforeach; ?>
                            </select>
                        </div>
                        
                        <div class="col-md-6 mb-3">
                            <label class="form-label required-field">CNPJ *</label>
                            <input type="text" class="form-control cnpj" name="cnpj" id="cnpj" required>
                            <small class="text-muted">Formato: 00.000.000/0000-00</small>
                        </div>
                    </div>
                    
                    <div class="row">
                        <div class="col-md-6 mb-3">
                            <label class="form-label required-field">Razão Social *</label>
                            <input type="text" class="form-control" name="razao_social" id="razao_social" required>
                        </div>
                        
                        <div class="col-md-6 mb-3">
                            <label class="form-label required-field">Inscrição Municipal *</label>
                            <input type="text" class="form-control" name="inscricao_municipal" id="inscricao_municipal" required>
                            <small class="text-muted">Número de inscrição no município</small>
                        </div>
                    </div>
                    
                    <div class="row">
                        <div class="col-md-6 mb-3">
                            <label class="form-label">Email</label>
                            <input type="email" class="form-control" name="email" id="email">
                        </div>
                        
                        <div class="col-md-6 mb-3">
                            <label class="form-label">Telefone</label>
                            <input type="text" class="form-control telefone" name="telefone" id="telefone">
                            <small class="text-muted">Formato: (00) 00000-0000</small>
                        </div>
                    </div>
                    
                    <hr class="my-3">
                    <h6><i class="bi bi-gear"></i> Configurações NFSe</h6>
                    
                    <div class="row">
                        <div class="col-md-4 mb-3">
                            <label class="form-label required-field">Tipo NFSe</label>
                            <select class="form-control" name="tipo_nfse" id="tipo_nfse">
                                <option value="nacional">Nacional (Padrão)</option>
                                <option value="canoas">Canoas (TR)</option>
                            </select>
                            <small class="text-muted">Formato de envio da nota</small>
                        </div>
                        
                        <div class="col-md-4 mb-3">
                            <label class="form-label required-field">Regime Tributário</label>
                            <select class="form-control" name="regime_tributario" id="regime_tributario">
                                <option value="1">Não Optante (1)</option>
                                <option value="2">MEI (2)</option>
                                <option value="3">Simples Nacional (3)</option>
                                <option value="4">Excesso Sublimite (4)</option>
                            </select>
                            <small class="text-muted">Código de opção do Simples Nacional</small>
                        </div>
                        
                        <div class="col-md-4 mb-3">
                            <label class="form-label required-field">Tipo Retenção ISS</label>
                            <select class="form-control" name="tipo_retencao_iss" id="tipo_retencao_iss">
                                <option value="1">Não Retido (1)</option>
                                <option value="2">Retido pelo Tomador (2)</option>
                                <option value="3">Retido pelo Intermediário (3)</option>
                            </select>
                            <small class="text-muted">Quem recolhe o ISS</small>
                        </div>
                    </div>
                    
                    <div class="row">
                        <div class="col-md-4 mb-3">
                            <label class="form-label required-field">Código do Serviço</label>
                            <input type="text" class="form-control" name="codigo_servico" id="codigo_servico" maxlength="6">
                            <small class="text-muted">6 dígitos (ex: 070901)</small>
                        </div>
                        
                        <div class="col-md-4 mb-3">
                            <label class="form-label required-field">Código NBS</label>
                            <input type="text" class="form-control" name="codigo_nbs" id="codigo_nbs">
                            <small class="text-muted">Código da atividade (ex: 124032200)</small>
                        </div>
                        
                        <div class="col-md-4 mb-3">
                            <label class="form-label required-field">Alíquota ISS (%) *</label>
                            <input type="number" class="form-control" name="aliquota_iss" id="aliquota_iss" step="0.01" min="0" max="100" required>
                            <small class="text-muted">Percentual do ISS (ex: 4.00)</small>
                            <div class="form-text text-warning" id="aliquota_aviso" style="display:none;">
                                <i class="bi bi-info-circle"></i> Este campo pode ser editado livremente
                            </div>
                        </div>
                    </div>
                    
                    <div class="row">
                        <div class="col-md-6 mb-3 form-check">
                            <input type="checkbox" class="form-check-input" name="optante_simples" id="optante_simples" value="1">
                            <label class="form-check-label">Optante pelo Simples Nacional</label>
                            <br><small class="text-muted" id="optante_info">Selecione ou desmarque conforme necessário</small>
                        </div>
                        
                        <div class="col-md-6 mb-3 form-check" id="div_ativo" style="display:none;">
                            <input type="checkbox" class="form-check-input" name="ativo" id="ativo" value="1">
                            <label class="form-check-label">Emitente Ativo</label>
                        </div>
                    </div>
                    
                    <hr class="my-3">
                    <h6><i class="bi bi-geo-alt"></i> Endereço</h6>
                    
                    <div class="row">
                        <div class="col-md-8 mb-3">
                            <label class="form-label required-field">Logradouro *</label>
                            <input type="text" class="form-control" name="logradouro" id="logradouro" required>
                        </div>
                        
                        <div class="col-md-4 mb-3">
                            <label class="form-label required-field">Número *</label>
                            <input type="text" class="form-control" name="numero" id="numero" required>
                        </div>
                    </div>
                    
                    <div class="row">
                        <div class="col-md-6 mb-3">
                            <label class="form-label required-field">Bairro *</label>
                            <input type="text" class="form-control" name="bairro" id="bairro" required>
                        </div>
                        
                        <div class="col-md-6 mb-3">
                            <label class="form-label required-field">Cidade *</label>
                            <input type="text" class="form-control" name="cidade" id="cidade" required>
                        </div>
                    </div>
                    
                    <div class="row">
                        <div class="col-md-4 mb-3">
                            <label class="form-label required-field">Código IBGE *</label>
                            <input type="text" class="form-control" name="codigo_municipio" id="codigo_municipio" maxlength="7" required>
                            <small class="text-muted">7 dígitos do município</small>
                        </div>
                        
                        <div class="col-md-2 mb-3">
                            <label class="form-label required-field">UF *</label>
                            <select class="form-control" name="uf" id="uf" required>
                                <option value="">Selecione o Estado</option>
                                <?php foreach ($estados as $sigla => $nome): ?>
                                <option value="<?php echo $sigla; ?>"><?php echo $sigla . ' - ' . $nome; ?></option>
                                <?php endforeach; ?>
                            </select>
                            <small class="text-muted">Selecione a Unidade Federativa</small>
                        </div>
                        
                        <div class="col-md-6 mb-3">
                            <label class="form-label">CEP</label>
                            <input type="text" class="form-control cep" name="cep" id="cep">
                            <small class="text-muted">Formato: 00000-000</small>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button>
                    <button type="submit" class="btn btn-primary">Salvar</button>
                </div>
            </form>
        </div>
    </div>
</div>

<!-- Modal de Exclusão -->
<div class="modal fade" id="modalExcluir" tabindex="-1">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header bg-danger text-white">
                <h5 class="modal-title"><i class="bi bi-exclamation-triangle"></i> Confirmar Exclusão</h5>
                <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
            </div>
            <div class="modal-body">
                <p>Tem certeza que deseja excluir o emitente <strong id="excluir_nome"></strong>?</p>
                <p class="text-danger"><small>Esta ação não pode ser desfeita e excluirá também o endereço relacionado.</small></p>
            </div>
            <div class="modal-footer">
                <form method="POST" id="formExcluir">
                    <input type="hidden" name="acao" value="excluir">
                    <input type="hidden" name="id" id="excluir_id">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button>
                    <button type="submit" class="btn btn-danger">Sim, Excluir</button>
                </form>
            </div>
        </div>
    </div>
</div>

<!-- Guia Rápido -->
<div class="card mt-3">
    <div class="card-header bg-light">
        <h6 class="mb-0"><i class="bi bi-info-circle"></i> Informações dos Emitentes</h6>
    </div>
    <div class="card-body">
        <div class="row">
            <?php foreach ($emitentes as $emitente): ?>
            <div class="col-md-4 mb-3">
                <div class="card <?php echo $emitente['emitente_id'] == 2 ? 'border-danger' : 'border-primary'; ?> h-100">
                    <div class="card-body">
                        <h6 class="card-title <?php echo $emitente['emitente_id'] == 2 ? 'text-danger' : 'text-primary'; ?>">
                            <span class="badge bg-dark">ID: <?php echo $emitente['emitente_id']; ?></span>
                            <?php echo htmlspecialchars($emitente['empresa_nome']); ?>
                        </h6>
                        <ul class="list-unstyled small">
                            <li>🔹 Endereço: <strong><?php echo htmlspecialchars($emitente['logradouro'] . ', ' . $emitente['numero'] . ' - ' . $emitente['bairro']); ?></strong></li>
                            <li>🔹 Cidade: <strong><?php echo htmlspecialchars($emitente['cidade'] . '/' . $emitente['uf']); ?></strong></li>
                            <li>🔹 Tipo NFSe: <strong><?php echo $emitente['tipo_nfse'] == 'canoas' ? 'Canoas' : 'Nacional'; ?></strong></li>
                            <li>🔹 Regime: <strong><?php echo $regimes[$emitente['regime_tributario']] ?? $emitente['regime_tributario']; ?></strong></li>
                            <li>🔹 Alíquota: <strong class="text-success"><?php echo number_format($emitente['aliquota_iss'], 2, ',', '.'); ?>%</strong></li>
                            <li>🔹 Status: <strong><?php echo $emitente['ativo'] ? 'Ativo' : 'Inativo'; ?></strong></li>
                        </ul>
                    </div>
                </div>
            </div>
            <?php endforeach; ?>
        </div>
    </div>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>
<script>
$(document).ready(function() {
    // Máscaras
    $('.cnpj').mask('00.000.000/0000-00');
    $('.telefone').mask('(00) 00000-0000');
    $('.cep').mask('00000-000');
    
    <?php if ($editando): ?>
    $('#div_ativo').show();
    <?php endif; ?>
});

function limparForm() {
    $('#modalTitulo').html('Cadastrar Emitente');
    $('#acao').val('cadastrar');
    $('#emitente_id').val('');
    $('#empresa_id').val('');
    $('#cnpj').val('');
    $('#razao_social').val('');
    $('#inscricao_municipal').val('');
    $('#email').val('');
    $('#telefone').val('');
    $('#logradouro').val('');
    $('#numero').val('');
    $('#bairro').val('');
    $('#cidade').val('');
    $('#codigo_municipio').val('');
    $('#uf').val('');
    $('#cep').val('');
    $('#optante_simples').prop('checked', false);
    $('#ativo').prop('checked', true);
    $('#div_ativo').hide();
    
    // Valores padrão
    $('#tipo_nfse').val('nacional');
    $('#regime_tributario').val('1');
    $('#tipo_retencao_iss').val('2');
    $('#codigo_servico').val('');
    $('#codigo_nbs').val('');
    $('#aliquota_iss').val('');
    $('#optante_info').text('Selecione ou desmarque conforme necessário');
    $('#aliquota_aviso').show();
}

function editarEmitente(emitente) {
    $('#modalTitulo').html('Editar Emitente');
    $('#acao').val('editar');
    $('#emitente_id').val(emitente.emitente_id); // Usando emitente_id
    $('#empresa_id').val(emitente.empresa_id);
    $('#tipo_nfse').val(emitente.tipo_nfse || 'nacional');
    $('#regime_tributario').val(emitente.regime_tributario || '1');
    $('#tipo_retencao_iss').val(emitente.tipo_retencao_iss || '2');
    $('#codigo_servico').val(emitente.codigo_servico || '');
    $('#codigo_nbs').val(emitente.codigo_nbs || '');
    $('#aliquota_iss').val(emitente.aliquota_iss || '');
    $('#cnpj').val(formatarCnpjInput(emitente.cnpj));
    $('#razao_social').val(emitente.razao_social);
    $('#inscricao_municipal').val(emitente.inscricao_municipal);
    $('#email').val(emitente.email);
    $('#telefone').val(formatarTelefoneInput(emitente.telefone));
    $('#logradouro').val(emitente.logradouro);
    $('#numero').val(emitente.numero);
    $('#bairro').val(emitente.bairro);
    $('#cidade').val(emitente.cidade);
    $('#codigo_municipio').val(emitente.codigo_municipio);
    $('#uf').val(emitente.uf);
    $('#cep').val(formatarCepInput(emitente.cep));
    $('#optante_simples').prop('checked', emitente.optante_simples_nacional == 1);
    $('#ativo').prop('checked', emitente.ativo == 1);
    $('#div_ativo').show();
    $('#optante_info').text(emitente.optante_simples_nacional == 1 ? 'Optante pelo Simples Nacional' : 'Não optante pelo Simples Nacional');
    $('#aliquota_aviso').show();
    
    if (emitente.emitente_id == 2) {
        $('#aliquota_aviso').html('<i class="bi bi-info-circle"></i> Alíquota atual: ' + emitente.aliquota_iss + '% - Você pode alterar livremente');
        $('#aliquota_aviso').show();
    }
    
    new bootstrap.Modal(document.getElementById('modalEmitente')).show();
}

function excluirEmitente(id, nome) {
    $('#excluir_nome').text(nome);
    $('#excluir_id').val(id);
    new bootstrap.Modal(document.getElementById('modalExcluir')).show();
}

function formatarCnpjInput(cnpj) {
    if (!cnpj) return '';
    var s = cnpj.toString().replace(/\D/g, '');
    if (s.length === 14) {
        return s.replace(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/, '$1.$2.$3/$4-$5');
    }
    return cnpj;
}

function formatarTelefoneInput(telefone) {
    if (!telefone) return '';
    var s = telefone.toString().replace(/\D/g, '');
    if (s.length === 11) {
        return s.replace(/^(\d{2})(\d{5})(\d{4})$/, '($1) $2-$3');
    } else if (s.length === 10) {
        return s.replace(/^(\d{2})(\d{4})(\d{4})$/, '($1) $2-$3');
    }
    return telefone;
}

function formatarCepInput(cep) {
    if (!cep) return '';
    var s = cep.toString().replace(/\D/g, '');
    if (s.length === 8) {
        return s.replace(/^(\d{5})(\d{3})$/, '$1-$2');
    }
    return cep;
}

// Validação antes de enviar
document.getElementById('formEmitente').addEventListener('submit', function(e) {
    var aliquota = document.getElementById('aliquota_iss').value;
    if (aliquota === '' || aliquota === null || parseFloat(aliquota) <= 0) {
        e.preventDefault();
        alert('Por favor, informe um valor válido para a alíquota ISS.');
        document.getElementById('aliquota_iss').focus();
        return false;
    }
});
</script>

<style>
.required-field:after {
    content: " *";
    color: red;
}
.table td {
    vertical-align: middle;
}
.btn-sm {
    margin: 0 2px;
}
.card ul {
    margin-bottom: 0;
}
.card ul li {
    padding: 3px 0;
}
.h-100 {
    height: 100%;
}
.modal-xl {
    max-width: 1200px;
}
#aliquota_aviso {
    font-size: 0.875rem;
    color: #856404;
    background-color: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 0.25rem;
    padding: 0.25rem 0.5rem;
    margin-top: 0.25rem;
}
</style>

<?php include 'includes/footer.php'; ?>