<?php
require '../../conexao/conexao.php';
require '../../sessao.php';
require '../../configuacoes.php';
require '../../configuracao/consulta_banco_dados.php';
require '../../configuracao/filtros.php';


$consulta_bb = new ConsultaBancoDeDados();
$filtros = new Filtros();

if (isset($_GET['id']) && $_GET['id'] == '0') {
    $pageTitle = "Incluir Usuário"; // Definir o título da página aqui
} else {
    $pageTitle = "Alterar Usuário";
}

$query_cidade_filial = "select
    DISTINCT
  CE.NOMECIDADE as MUNIC

from EMPRESA EP
  inner join CIDADEESTADO CE on EP.CODIGO_CIDADEESTADO = CE.CODIGO
  inner join REGIAODETALHE RD on EP.CODIGO_REGIAODETALHE = RD.CODIGO
order by
  EP.CODIGO";
$result_cidade_filial = ibase_query($connection, $query_cidade_filial);

if (!$result_cidade_filial) {
    die('Erro na consulta: ' . ibase_errmsg());
}

$cidadefiliais = [];
while ($row = ibase_fetch_assoc($result_cidade_filial)) {
    $cidadefiliais[] = $row;
}

$filiais_condicao = $_GET['filial'] ?? [];
//pegar dados das filiais
if (!empty($filiais_condicao)) {
    if (is_array($filiais_condicao)) {
        // Se $filial for um array (vários valores selecionados), aplicamos array_map
        $filial = implode(",", array_map('intval', $filiais_condicao));
    } else {
        // Se $filial for uma string (apenas um valor selecionado), convertemos para inteiro diretamente
        $filial = intval($filiais_condicao);
    }
} else {
    // Se $filiais_condicao estiver vazio, atribuímos o valor "Todos" a $filial
    $filial = "Todos";
}
//echo $filial;


//Declarado as variáveis que serão usadas para edição.
$pessoa = array(
    'id_pessoa' => $_GET['id_pessoa'] ?? '0',
    'nome' => $_GET['nome'] ?? '',
    'cpf' => $_GET['cpf'] ?? '',
    'sexo' => $_GET['sexo'] ?? '',
    'data_nascimento' => $_GET['data_nascimento'] ?? '',
    'situacao' => $_GET['situacao'] ?? '',
    'login' => $_GET['login'] ?? '',
    'senha' => $_GET['senha'] ?? '',
    'id_perfil' => $_GET['perfil'] ?? '',
    'codigo_filial' => $_GET['codigo_filial'] ?? '',
    'cidade' => $_GET['cidade'] ?? '',
);

$cidades = $consulta_bb->get_cidades(null);
$filiais = $consulta_bb->get_filiais();

// Consulta SQL PERFIL
$sql_perfil = "SELECT pr.id_perfil, pr.perfil FROM perfil pr";
$result_perfil = $connectionmysql->query($sql_perfil);
if ($result_perfil) {
    $perfilArray = array();
    while ($row3 = $result_perfil->fetch_assoc()) {
        $perfilArray[] = $row3;
    }
} else {
    echo "Erro na execução da consulta: " . $connectionmysql->error;
}

//Verificando se é alteração
if (isset($_GET['id']) && $_GET['id'] == '1') {


    $idPessoa = $_GET['id_pessoa'];

    // Preparando a declaração
    $stmt = $connectionmysql->prepare("SELECT p.id_pessoa,p.cpf,p.cnpj,p.nome,p.nome_razao,p.nome_fantasia,p.sexo,p.data_nascimento,p.tipo_pessoa,p.cidade,
    p.situacao,u.id_usuario,u.id_pessoa as id_pessoa_usuario,u.usuario,u.login,u.senha,up.id_perfil,
    up.id_usuario as id_usuario_perfil , pr.id_perfil as id_perfil2 , pr.perfil
    from pessoa p left join usuario u on p.id_pessoa = u.id_pessoa
    left join perfil_usuario up on  u.id_usuario = up.id_usuario
    left join perfil pr on up.id_perfil = pr.id_perfil WHERE p.id_pessoa = ?");

    if ($stmt) {
        // Vinculando parâmetros e executando a declaração
        $stmt->bind_param("i", $idPessoa); // 'i' indica que é um inteiro
        $stmt->execute();

        // Obtendo os resultados
        $result = $stmt->get_result();
        if ($result->num_rows > 0) {
            $pessoa = $result->fetch_assoc(); //preenchendo as variáveis com o retorno da query

        } else {
            echo "Nenhuma pessoa encontrada com o ID especificado.";
        }

        $stmt->close();
    } else {
        echo "Erro ao preparar a declaração: " . $connectionmysql->error;
    }
}
?>

<!DOCTYPE html>
<html lang="pt-br">

<head>
    <link rel="icon" href="\KPI\pages/configuracoes/logo-sm.png">
    <link rel="shortcut icon" href="\KPI\pages/configuracoes/logo-sm.png">

</head>

<body>

    <!-- ============================================================== -->
    <!-- Start Page Content here -->
    <!-- ============================================================== -->

    <div class="container-fluid">
        <div class="row">
            <?php
            include('../lateral.php');
            ?>
            <main class="col-md-9 col-lg-10 content">
                <div class="wrapper">
                    <div class="container-fluid">

                        <div class="card-box mt-3">

                            <div class="row">
                                <div class="col-6 text-left">
                                    <h4 class="page-title"><?php echo $pageTitle ?></h4>
                                </div>

                                <div class="col-6 text-right">
                                    <a href="usuarios.php" class="btn btn-light"><i class="mdi mdi-keyboard-backspace"></i> Voltar</a>
                                </div>

                                <div class="col-12">
                                    <hr>
                                </div>

                                <div class="col-12">
                                    <form id="from_inclusao_pessoa" method="post" action="processa_cadastro_alteracao_pessoa.php" onsubmit="return validarFormulario();">
                                        <div class="form-row mb-3">


                                            <!-- <div class="form-group col-md-3">
                                   <label for="tipo_pessoa" class="col-form-label">Tipo Pessoa</label> 
                                    <label for="tipo_pessoa" class="col-form-label">Tipo Pessoa <span class="text-danger">*</span></label>

                                    <?php //Verifico se é alteração, se sim, vamos deixar o campo tipo pessoa sem possibilidade de ser alterado.
                                    if (isset($_GET['id']) && $_GET['id'] == '1') { ?>
                                        <select id="tipo_pessoa" name="tipo_pessoa" class="form-control" disabled>
                                        <?php } else { ?>
                                            <select id="tipo_pessoa" name="tipo_pessoa" class="form-control">
                                            <?php }; ?>
                                            <option value="f" <?php echo ($pessoa['tipo_pessoa'] == 'f') ? 'selected' : ''; ?>>Física</option>
                                            <option value="j" <?php echo ($pessoa['tipo_pessoa'] == 'j') ? 'selected' : ''; ?>>Jurídica</option>
                                            </select>

                                </div> -->


                                            <div class="form-group col-md-3 pessoa-fisica">
                                                <label for="nomePessoa" class="col-form-label">Nome<span class="text-danger">*</span></label>

                                                <p><input type="text" name="nome" id="nome" class="form-control" placeholder="Informe o nome" value="<?php echo htmlspecialchars($pessoa['nome']); ?>" oninput="validarCampo('nome',this.value)"></p>
                                            </div>

                                            <div class="form-group col-md-3 pessoa-fisica">
                                                <label for="cpf" class="col-form-label">Cpf<span class="text-danger">*</span></label>
                                                <p><input type="text" name="cpf" id="cpf" class="form-control" placeholder="Informe o cpf" value="<?php echo htmlspecialchars($pessoa['cpf']); ?>" oninput="validarCampo('cpf',this.value)"></p>

                                            </div>

                                            <div class="form-group col-md-3 pessoa-fisica">
                                                <label for="sexo" class="col-form-label">Sexo</label>
                                                <select id="sexo" name="sexo" class="form-control">
                                                    <option value="">Selecione</option>
                                                    <option value="Masculino" <?php echo ($pessoa['sexo'] == 'Masculino') ? 'selected' : ''; ?>>Masculino</option>
                                                    <option value="Feminino" <?php echo ($pessoa['sexo'] == 'Feminino') ? 'selected' : ''; ?>>Feminino</option>
                                                    <option value="Outro" <?php echo ($pessoa['sexo'] == 'Outro') ? 'selected' : ''; ?>>Outro</option>
                                                    <option value="Prefiro não dizer" <?php echo ($pessoa['sexo'] == 'Prefiro não dizer') ? 'selected' : ''; ?>>Prefiro não dizer</option>
                                                </select>
                                            </div>


                                            <div class="form-group col-md-3 pessoa-fisica">
                                                <label for="data_nascimento" class="col-form-label">Data de Nascimento</label>
                                                <p> <input class="form-control" id="data_nascimento" type="date" name="data_nascimento" value="<?php echo htmlspecialchars($pessoa['data_nascimento']); ?>"></p>


                                            </div>
                                            <!-- 
                                <div class="form-group col-md-3 pessoa-juridica">
                                    <label for="nome_razao" class="col-form-label">Razão Social<span class="text-danger">*</span></label>
                                    <p> <input type="text" name="nome_razao" id="nome_razao" class="form-control" placeholder="Informe a Razão Social" value="<?php echo htmlspecialchars($pessoa['nome_razao']); ?>"></p>
                                </div>

                                <div class="form-group col-md-3 pessoa-juridica">
                                    <label for="nome_fantasia" class="col-form-label">Nome Fantasia</label>
                                    <p> <input type="text" name="nome_fantasia" id="nome_fantasia" class="form-control" placeholder="Informe o Nome Fantasia" value="<?php echo htmlspecialchars($pessoa['nome_fantasia']); ?>"></p>
                                </div>


                                <div class="form-group col-md-3 pessoa-juridica">
                                    <label for="cnpj" class="col-form-label">cnpj<span class="text-danger">*</span></label>

                                    <p> <input type="text" name="cnpj" id="cnpj" class="form-control" placeholder="Informe o cnpj" value="<?php echo htmlspecialchars($pessoa['cnpj']); ?>"></p>
                                </div> -->

                                            <div class="form-group col-md-3">
                                                <label for="situacao" class="col-form-label">Situação<span class="text-danger">*</span></label>
                                                <select id="situacao" name="situacao" class="form-control" oninput="validarCampo('situacao',this.value)">
                                                    <option value="">Selecione</option>
                                                    <option value="A" <?php echo ($pessoa['situacao'] == 'A') ? 'selected' : ''; ?>>Ativo</option>
                                                    <option value="I" <?php echo ($pessoa['situacao'] == 'I') ? 'selected' : ''; ?>>Inativo</option>
                                                </select>
                                            </div>

                                            <div class="form-group col-md-3 pessoa-fisica">
                                                <label for="perfil" class="col-form-label">Perfil<span class="text-danger">*</span></label>

                                                <p>
                                                    <select id="perfil" name="perfil" class="form-control" oninput="validarCampo('perfil',this.value)">
                                                        <option value="" <?php echo empty($pessoa['perfil']) ? 'selected' : ''; ?> disabled>Escolha um perfil</option>

                                                        <?php
                                                        // Itera sobre os perfis disponíveis
                                                        foreach ($perfilArray as $perfil) {
                                                            $selected = ($pessoa['id_perfil'] == $perfil['id_perfil']) ? 'selected' : '';
                                                            echo '<option value="' . $perfil['id_perfil'] . '" ' . $selected . '>' . htmlspecialchars($perfil['perfil']) . '</option>';
                                                        }
                                                        ?>

                                                    </select>
                                                </p>
                                            </div>

                                            <?php
                                            // Exibe o filtro de cidade
                                            echo $filtros->filtroCidade($pessoa['cidade'], $cidades, true);

                                            ?>

                                            <!-- <div class="col-4">
                                                <label for="filial" class="col-form-label">Filial:</label>
                                                <input type="checkbox" id="select_todos"> <label for="select_todos">Selecionar Todos
                                                </label>

                                                <select multiple id="filial" name="filial[]" class="form-control">
                                                    
                                                </select>

                                            </div> -->

                                            <div class="form-group col-md-3 pessoa-fisica">
                                                <label for="nomePessoa" class="col-form-label">Login</label>
                                                <p><input type="text" name="login" id="login" class="form-control" placeholder="Informe o Login" value="<?php echo htmlspecialchars($pessoa['login']); ?>" oninput="validarCampo('login',this.value)"></p>
                                            </div>

                                            <?php
                                            if (isset($_GET['id']) && $_GET['id'] == '1') : ?>
                                                <div class="form-group col-md-3  pessoa-fisica">
                                                    <label for="altera_password" class="col-form-label">Alterar senha</label>
                                                    <select id="altera_password" name="altera_password" class="form-control">
                                                        <option value="Nao" <?php echo (isset($altera_password) && $altera_password == 'Nao') ? 'selected' : ''; ?>>Não</option>
                                                        <option value="Sim" <?php echo (isset($altera_password) && $altera_password == 'Sim') ? 'selected' : ''; ?>>Sim</option>
                                                    </select>
                                                </div>
                                            <?php else : ?>
                                                <input type="hidden" id="altera_password" name="altera_password" value="Sim">
                                            <?php endif; ?>
                                            <?php
                                            if (isset($_GET['id']) && $_GET['id'] == '1') {  ?>
                                                <div class="form-group col-md-3 pessoa-fisica " id="campo_senha" hidden>
                                                <?php } else { ?>
                                                    <div class="form-group col-md-3 pessoa-fisica " id="campo_senha">
                                                    <?php } ?>
                                                    <label for="nomePessoa" class="col-form-label">Senha</label>
                                                    <div class="pass">
                                                        <div class="input-group">
                                                            <input type="password" name="senha" id="senha" class="form-control" placeholder="Digite a senha" value="" oninput="validarCampo('senha',this.value)">
                                                            <div class="input-group-append">
                                                                <span class="btn-show-pass input-group-text" onclick="togglePasswordVisibility('senha', this)">
                                                                    <i class="mdi mdi-eye"></i>
                                                                </span>
                                                            </div>
                                                        </div>
                                                    </div>
                                                    </div>
                                                    <input type="hidden" name="id_pessoa" id="id_pessoa" value="<?php echo htmlspecialchars($pessoa['id_pessoa']); ?>">

                                                    <div class="col-12 text-right">
                                                        <button type="submit" class="btn btn-primary"><i class="mdi mdi-magnify"></i> Salvar</button>
                                                    </div>
                                    </form>
                                </div>
                            </div>
                        </div>

                    </div>

                </div> <!-- end container -->


            </main>
        </div>
    </div>
    <!-- end wrapper -->

    <!-- ============================================================== -->
    <!-- End Page content -->
    <!-- ============================================================== -->

    <!-- Footer Start -->
    <!-- end Footer -->

    <?php
    include('../../geral/mensagens_modais.php');
    ?>

    <!-- Vendor js -->
    <script src="../../assets/js/vendor.min.js"></script>

    <!-- knob plugin -->
    <script src="../../assets/libs/jquery-knob/jquery.knob.min.js"></script>
    <!-- App js-->
    <script src="../../assets/js/app.min.js"></script>

    <script src="../geral/javascript.js"></script>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

    <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.1.0-beta.1/css/select2.min.css" rel="stylesheet" />

    <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.1.0-beta.1/js/select2.min.js"></script>
    <link href="../../assets/css/style.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>


    <script>
        document.addEventListener("DOMContentLoaded", function() {
            // Remove status and message parameters from URL
            const url = new URL(window.location);
            url.searchParams.delete('status');
            url.searchParams.delete('message');
            window.history.replaceState({}, document.title, url);
        });
        // Função para formatar o CPF
        $("#cpf").mask("000.000.000-00", {
            onKeyPress: function(cpf, e, field, options) {
                const masks = ["000.000.000-00"];
                let mask = null;
                if (cpf.length < 14) {
                    mask = masks[0];
                }
                $("#cpf").mask(mask, options);
            }
        });

        // Função para validar o CPF
        function validarCPF(cpf) {
            cpf = cpf.replace(/[^\d]+/g, '');
            if (cpf == '') return false;
            if (cpf.length != 11 ||
                cpf == "00000000000" ||
                cpf == "11111111111" ||
                cpf == "22222222222" ||
                cpf == "33333333333" ||
                cpf == "44444444444" ||
                cpf == "55555555555" ||
                cpf == "66666666666" ||
                cpf == "77777777777" ||
                cpf == "88888888888" ||
                cpf == "99999999999")
                return false;

            // Valida 1o digito
            add = 0;
            for (i = 0; i < 9; i++)
                add += parseInt(cpf.charAt(i)) * (10 - i);
            rev = 11 - (add % 11);
            if (rev == 10 || rev == 11)
                rev = 0;
            if (rev != parseInt(cpf.charAt(9)))
                return false;

            // Valida 2o digito
            add = 0;
            for (i = 0; i < 10; i++)
                add += parseInt(cpf.charAt(i)) * (11 - i);
            rev = 11 - (add % 11);
            if (rev == 10 || rev == 11)
                rev = 0;
            if (rev != parseInt(cpf.charAt(10)))
                return false;

            return true;
        }

        function validarCNPJ(cnpj) {
            cnpj = cnpj.replace(/[^\d]/g, '');

            if (cnpj === '' || cnpj.length !== 14) return false;

            // Lista de CNPJs inválidos
            const invalidos = [
                '00000000000000',
                '11111111111111',
                '22222222222222',
                '33333333333333',
                '44444444444444',
                '55555555555555',
                '66666666666666',
                '77777777777777',
                '88888888888888',
                '99999999999999'
            ];
            if (invalidos.includes(cnpj)) return false;

            // Validação do primeiro dígito
            let tamanho = cnpj.length - 2;
            let numeros = cnpj.substring(0, tamanho);
            let digitos = cnpj.substring(tamanho);
            let soma = 0;
            let pos = tamanho - 7;

            for (let i = tamanho; i >= 1; i--) {
                soma += numeros.charAt(tamanho - i) * pos--;
                if (pos < 2) pos = 9;
            }

            let resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0)) return false;

            // Validação do segundo dígito
            tamanho++;
            numeros = cnpj.substring(0, tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (let i = tamanho; i >= 1; i--) {
                soma += numeros.charAt(tamanho - i) * pos--;
                if (pos < 2) pos = 9;
            }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1)) return false;

            return true;
        }
        document.addEventListener('DOMContentLoaded', function() {
            var selectElement = document.getElementById('altera_password');
            var campo_senha = document.getElementById('campo_senha');

            function toggle_campo_senha() {
                var detalharValue = selectElement.value;
                if (detalharValue === 'Nao') {
                    campo_senha.hidden = true; // Oculta o campo de mudança de senha
                } else {
                    campo_senha.hidden = false; // Mostra o campo de mudança de senha
                }
            }

            // Chama a função ao carregar a página
            toggle_campo_senha();

            // Adiciona o evento de mudança ao select
            selectElement.addEventListener('change', toggle_campo_senha);
        });
        // document.addEventListener("DOMContentLoaded", function() {

        //     const camposPessoaFisica = document.querySelectorAll(".pessoa-fisica");
        //     const camposPessoaJuridica = document.querySelectorAll(".pessoa-juridica");

        //     function atualizarCampos() {
        //         const tipoPessoa = document.getElementById("tipo_pessoa").value;

        //         if (tipoPessoa === "f") {
        //             camposPessoaFisica.forEach(campo => campo.style.display = "block");
        //             camposPessoaJuridica.forEach(campo => campo.style.display = "none");
        //         } else {
        //             camposPessoaFisica.forEach(campo => campo.style.display = "none");
        //             camposPessoaJuridica.forEach(campo => campo.style.display = "block");
        //         }
        //     }

        //     document.getElementById("tipo_pessoa").addEventListener("change", atualizarCampos);
        //     atualizarCampos();

        //     // Validação no envio do formulário
        //     const form = document.querySelector("form");

        //     form.addEventListener("submit", function(event) {
        //         const tipoPessoa = document.getElementById("tipo_pessoa").value;

        //         if (tipoPessoa === "f") {
        //             const cpf = document.getElementById("cpf").value;
        //             if (!validarCPF(cpf)) {
        //                 alert("CPF inválido!");
        //                 event.preventDefault();
        //             }
        //         } else {
        //             const cnpj = document.getElementById("cnpj").value;
        //             if (!validarCNPJ(cnpj)) {
        //                 alert("CNPJ inválido!");
        //                 event.preventDefault();
        //             }
        //         }
        //     });
        // });



        function reloadPage() {
            location.reload();
        }

        function formatarCNPJ(cnpj) {
            return cnpj.replace(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/, "$1.$2.$3/$4-$5");
        }

        function limparFormulario() {
            var formulario = document.getElementById("from_inclusao_pessoa");
            var elementos = formulario.elements;

            for (var i = 0; i < elementos.length; i++) {
                var elemento = elementos[i];

                // Limpa o valor dos campos de texto
                if (elemento.type !== "button" && elemento.type !== "submit" && elemento.tagName !== "SELECT") {
                    elemento.value = "";
                }

                // Reseta o valor dos campos de seleção para a primeira opção
                if (elemento.tagName === "SELECT") {
                    elemento.selectedIndex = 0;
                }
            }
        }

        function exibirMensagemErro(mensagem, id) {
            let errorDiv;
            if (id === 'senha') {
                var existingError = document.querySelector('.pass .error-message');
                if (existingError) {
                    existingError.parentNode.removeChild(existingError);
                }
                // Cria uma nova div de erro e a adiciona à div pass
                errorDiv = document.createElement('div');
                errorDiv.textContent = mensagem;
                errorDiv.classList.add('error-message');
                document.querySelector('.pass').appendChild(errorDiv);
            } else {
                var existingError = document.querySelector('#' + id + ' + .error-message');
                if (existingError) {
                    existingError.parentNode.removeChild(existingError);
                }
                // Cria uma nova div de erro e a adiciona à div alvo
                errorDiv = document.createElement('div');
                errorDiv.textContent = mensagem;
                errorDiv.classList.add('error-message');
                document.getElementById(id).parentNode.appendChild(errorDiv);
            }
        }

        function removerMensagemErro(id) {
            if (id === 'senha') {
                var existingError = document.querySelector('.pass .error-message');
                if (existingError) {
                    existingError.parentNode.removeChild(existingError);
                }
            } else {
                var existingError = document.querySelector('#' + id + ' + .error-message');
                if (existingError) {
                    existingError.parentNode.removeChild(existingError);
                }
            }
        }

        function validarCampo(id) {
            let campo = document.getElementById(id);
            let valor = campo.value.trim();
            let camposValidos = true;

            if (!valor) {
                camposValidos = false;
                campo.classList.add('is-invalid');
                exibirMensagemErro('Por favor, preencha este campo.', id);
            } else {
                campo.classList.remove('is-invalid');
                removerMensagemErro(id);
            }
            if (id === 'cpf' && !validarCPF(valor)) {
                camposValidos = false;
                campo.classList.add('is-invalid');
                exibirMensagemErro('Por favor, preencha o CPF corretamente.', id);
            }
            return camposValidos;
        }

        function validarFormulario() {
            // Recupera o valor do seletor de tipo de pessoa
            //let tipoPessoa = document.querySelector('select[name="tipo_pessoa"]').value;

            // Verifica se todos os campos obrigatórios estão preenchidos
            //if (tipoPessoa === 'f') { // Pessoa física

            var pass = document.getElementById('altera_password').value;
            let senha;

            let nome = validarCampo("nome");
            let cpf = validarCampo("cpf");
            let login = validarCampo("login");
            let perfil = validarCampo("perfil");
            let situacao = validarCampo("situacao");

            if (pass === "Sim") {
                senha = validarCampo('senha');
            } else {
                senha = true; // Se não for necessário validar a senha, considera-se válida
            }

            //} else { // Pessoa jurídica
            // let razaoSocial = document.getElementById("nome_razao").value;
            // let cnpj = document.getElementById("cnpj").value;
            // let situacao = document.getElementById("situacao").value;
            // let perfil = document.getElementById("perfil").value;

            // if (!razaoSocial || !cnpj || !situacao || !perfil) {
            //     alert("Preencha todos os campos obrigatórios para Pessoa Jurídica!");
            //     return false;
            // }
            //  }

            // Aqui o formulário está validado e você pode prosseguir com a submissão ou qualquer outra lógica necessária
            camposValidos = nome && cpf && situacao && login && perfil && senha;

            return camposValidos;
        }

        function togglePasswordVisibility(fieldId, element) {
            var passwordInput = document.getElementById(fieldId);
            var icon = element.querySelector('i');
            if (passwordInput.type === 'password') {
                passwordInput.type = 'text';
                icon.classList.remove('mdi-eye');
                icon.classList.add('mdi-eye-off');
            } else {
                passwordInput.type = 'password';
                icon.classList.remove('mdi-eye-off');
                icon.classList.add('mdi-eye');
            }
        }

        function goBack() {
            window.history.back();
        }
    </script>
    <script>
        document.addEventListener("DOMContentLoaded", function() {
            // Habilita o campo situacao apenas durante a inclusão
            if (window.location.search.includes('id=0')) {
                document.getElementById('situacao').disabled = false;
            }
        });
    </script>
    <style>
        .is-invalid {
            border: 1px solid red;
        }

        .error-message {
            color: red;
            font-size: 1em;
        }
    </style>
</body>

</html>