<div class="container mt-4">
    

    <?php Sessao::mensagem('pessoa'); ?>

    <form method="POST" action="<?= isset($dados['pessoa']) ? URL . "/pessoas/editar/{$dados['pessoa']->id_pessoa}" : URL . '/pessoas/cadastrar' ?>">
        <div class="row">
            <!-- Coluna Esquerda -->
            <div class="col-md-6">
                <div class="card mb-3">
                    <div class="card-header">Identificação</div>
                    <div class="card-body">
                        <div class="form-group">
                            <label for="nome">Nome</label>
                            <input type="text" name="nome" id="nome" class="form-control" required
                                oninput="this.value = this.value.replace(/[^a-zA-ZÀ-ÿ\s]/g, '').toUpperCase();"
                                value="<?= isset($dados['pessoa']->nome) ? htmlspecialchars($dados['pessoa']->nome) : '' ?>">
                        </div>
                        <div class="form-group">
                            <label for="cpf">CPF</label>
                            <input type="text" name="cpf" id="cpf" class="form-control" maxlength="11" required placeholder="000.000.000-00"
                                   oninput="this.value = this.value.replace(/[^0-9]/g, '')" 
                                   value="<?= isset($dados['pessoa']->cpf) ? htmlspecialchars($dados['pessoa']->cpf) : '' ?>">
                        </div>
                        <div class="form-group">
                            <label for="data_nascimento">Data de Nascimento</label>
                            <input type="date" name="data_nascimento" id="data_nascimento" class="form-control"
                                value="<?= isset($dados['pessoa']->data_nascimento) ? htmlspecialchars($dados['pessoa']->data_nascimento) : '' ?>">
                        </div>
                        <div class="form-group">
                            <label for="sexo">Sexo</label>
                            <select name="sexo" id="sexo" class="form-control" required>
                                <option value="">Selecione</option>
                                <option value="M" <?= (isset($dados['pessoa']->sexo) && $dados['pessoa']->sexo == 'M') ? 'selected' : '' ?>>Masculino</option>
                                <option value="F" <?= (isset($dados['pessoa']->sexo) && $dados['pessoa']->sexo == 'F') ? 'selected' : '' ?>>Feminino</option>
                            </select>
                        </div>
                        <div class="form-group">
                            <label for="rg">RG</label>
                            <input type="text" name="rg" id="rg" class="form-control" maxlength="9" placeholder="00.000.000-0"
                                oninput="this.value = this.value.toUpperCase();"
                                value="<?= isset($dados['pessoa']->rg) ? htmlspecialchars($dados['pessoa']->rg) : '' ?>">
                        </div>
                        <div class="form-group">
                            <label for="orgao_emissor">Órgão Emissor</label>
                            <input type="text" name="orgao_emissor" id="orgao_emissor" class="form-control"
                                oninput="this.value = this.value.replace(/[^a-zA-ZÀ-ÿ\s]/g, '').toUpperCase();"
                                value="<?= isset($dados['pessoa']->orgao_emissor) ? htmlspecialchars($dados['pessoa']->orgao_emissor) : '' ?>">
                        </div>
                    </div>
                </div>

                <div class="card mb-3">
                    <div class="card-header">Outros Dados</div>
                    <div class="card-body">
                        <div class="form-group">
                            <label for="nome_pai">Nome do Pai</label>
                            <input type="text" name="nome_pai" id="nome_pai" class="form-control"
                            oninput="this.value = this.value.replace(/[^a-zA-ZÀ-ÿ\s]/g, '').toUpperCase();"
                                value="<?= isset($dados['pessoa']->nome_pai) ? htmlspecialchars($dados['pessoa']->nome_pai) : '' ?>">
                        </div>
                        <div class="form-group">
                            <label for="nome_mae">Nome da Mãe</label>
                            <input type="text" name="nome_mae" id="nome_mae" class="form-control"
                            oninput="this.value = this.value.replace(/[^a-zA-ZÀ-ÿ\s]/g, '').toUpperCase();"
                                value="<?= isset($dados['pessoa']->nome_mae) ? htmlspecialchars($dados['pessoa']->nome_mae) : '' ?>">
                        </div>
                        <div class="form-group">
                            <label for="id_estado_civil">Estado Civil</label>
                            <select name="id_estado_civil" id="id_estado_civil" class="form-control" required>
                                <option value="">Selecione</option>
                                <?php foreach ($dados['estados_civil'] as $estado): ?>
                                    <option value="<?= $estado->id_estado_civil ?>" <?= (isset($dados['pessoa']->estado_civil) && $dados['pessoa']->estado_civil == $estado->id_estado_civil) ? 'selected' : '' ?>>
                                        <?= htmlspecialchars($estado->descricao) ?>
                                    </option>
                                <?php endforeach; ?>
                            </select>
                        </div>
                        <div class="form-group">
                            <label for="id_escolaridade">Escolaridade</label>
                            <select name="id_escolaridade" id="id_escolaridade" class="form-control" required>
                                <option value="">Selecione</option>
                                <?php foreach ($dados['escolaridades'] as $esc): ?>
                                    <option value="<?= $esc->id_escolaridade ?>" <?= (isset($dados['pessoa']->escolaridade) && $dados['pessoa']->escolaridade == $esc->id_escolaridade) ? 'selected' : '' ?>>
                                        <?= htmlspecialchars($esc->descricao) ?>
                                    </option>
                                <?php endforeach; ?>
                            </select>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Coluna Direita -->
            <div class="col-md-6">
                <div class="card mb-3">
                    <div class="card-header">Endereço</div>
                    <div class="card-body">
                        <div class="form-group">
                            <label for="cep">CEP</label>
                            <input type="text" name="cep" id="cep" class="form-control" placeholder="00.000-000"
                            maxlength="8"
       oninput="this.value = this.value.replace(/[^0-9\-]/g, '');"
                                value="<?= isset($dados['pessoa']->cep) ? htmlspecialchars($dados['pessoa']->cep) : '' ?>">
                        </div>
                        <div class="form-group">
                            <label for="cidade">Cidade</label>
                            <select name="cidade" id="cidade" class="form-control" required>
                                <option value="">Selecione uma cidade</option>
                                <?php foreach ($dados['cidades'] as $cidade): ?>
                                    <option value="<?= $cidade->id_cidade ?>" <?= (isset($dados['pessoa']->cidade) && $dados['pessoa']->cidade == $cidade->id_cidade) ? 'selected' : '' ?>>
                                        <?= htmlspecialchars($cidade->nome) ?>
                                    </option>
                                <?php endforeach; ?>
                            </select>
                        </div>
                        <div class="form-group">
                            <label for="bairro">Bairro</label>
                            <input type="text" name="bairro" id="bairro" class="form-control"
                             oninput="this.value = this.value.replace(/[^a-zA-ZÀ-ÿ\s]/g, '').toUpperCase();"
                                value="<?= isset($dados['pessoa']->bairro) ? htmlspecialchars($dados['pessoa']->bairro) : '' ?>">
                        </div>
                        <div class="form-group">
                            <label for="numero">Número</label>
                            <input type="text" name="numero" id="numero" class="form-control"
       oninput="this.value = this.value.toUpperCase();"
       value="<?= isset($dados['pessoa']->numero) ? htmlspecialchars($dados['pessoa']->numero) : '' ?>">

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

                <div class="card mb-3">
                    <div class="card-header">Contato</div>
                    <div class="card-body">
                        
<div class="form-group">
    <label for="telefone_fixo">Telefone Fixo</label>
    <input type="text" name="telefone_fixo" id="telefone_fixo" class="form-control" placeholder="(00) 0000-0000"
        maxlength="10"
        oninput="this.value = this.value.replace(/[^0-9]/g, '')"
        value="<?= isset($dados['pessoa']->telefone_fixo) ? htmlspecialchars($dados['pessoa']->telefone_fixo) : '' ?>">
</div>

<div class="form-group">
    <label for="telefone_celular">Celular</label>
    <input type="text" name="telefone_celular" id="telefone_celular" class="form-control"  placeholder="(00) 00000-0000"
        maxlength="11"
        oninput="this.value = this.value.replace(/[^0-9]/g, '')"
        value="<?= isset($dados['pessoa']->telefone_celular) ? htmlspecialchars($dados['pessoa']->telefone_celular) : '' ?>">
</div>

                        <div class="form-group">
                            <label for="email">E-mail</label>
                            <input type="email" name="email" id="email" class="form-control"
                                value="<?= isset($dados['pessoa']->email) ? htmlspecialchars($dados['pessoa']->email) : '' ?>">
                        </div>
                    </div>
                </div>
            </div>
        </div>
<div class="d-flex justify-content-start gap-2 mt-4">
    <button type="submit" class="btn btn-primary mt-3">
        <i class="bi bi-check-circle"></i> Cadastrar
    </button>
</div>
      
    </form>
</div>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@10"></script>

<script>
document.getElementById('cpf').addEventListener('blur', function() {
    const cpf = this.value.replace(/\D/g, ''); // Remover todos os caracteres não numéricos (como . e -)

    // Verificar se o CPF possui 11 caracteres
    if (cpf.length !== 11) {
        alert("CPF inválido, deve conter 11 dígitos.");
        return false;
    }

    // Validação do CPF - algoritmo oficial
    let soma = 0;
    let resto;
    
    // Primeiros 9 dígitos
    for (let i = 0; i < 9; i++) {
        soma += parseInt(cpf.charAt(i)) * (10 - i);
    }

    resto = (soma * 10) % 11;

    if (resto === 10 || resto === 11) {
        resto = 0;
    }

    if (resto !== parseInt(cpf.charAt(9))) {
       Swal.fire({
            icon: 'error',
            title: 'CPF inválido',
            text: 'CPF já cadastrado',
            confirmButtonColor: '#4e73df'
        });
        return false;
    }

    soma = 0;
    // Últimos 9 dígitos
    for (let i = 0; i < 10; i++) {
        soma += parseInt(cpf.charAt(i)) * (11 - i);
    }

    resto = (soma * 10) % 11;

    if (resto === 10 || resto === 11) {
        resto = 0;
    }

    if (resto !== parseInt(cpf.charAt(10))) {
        Swal.fire({
            icon: 'error',
            title: 'CPF inválido',
            text: 'CPF já cadastrado',
            confirmButtonColor: '#4e73df'
        });
        return false;
    }

    return true;
});
</script>
