<?php
require '../conexao/conexao.php';
require '../sessao.php';
require '../configuacoes.php';

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


//Declarado as variáveis que serão usadas para edição.
$pessoa = array(
    'id_pessoa' => '0', 
    'nome' => '',
    'nome_razao' => '',
    'nome_fantasia' => '',
    'cpf' => '',
    'cnpj' => '',
    'sexo' => '',
    'tipo_pessoa' => '',
    'data_nascimento' => '',
	'situacao' => '',
    // ... outros campos que você pode ter ...
);

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


$idPessoa = $_GET['id_pessoa']; 

// Preparando a declaração
$stmt = $connectionmysql->prepare("SELECT * FROM pessoa WHERE 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">
<?php 

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

     <!-- Navigation Bar-->
              <?php 
         include('../geral/menu.php'); 
        ?>
        <!-- End Navigation Bar-->

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

        <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">
                            <button onclick="goBack()" class="btn btn-light"><i class="mdi mdi-keyboard-backspace"></i> Voltar</button>
                        </div>

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

                        <div class="col-12">
						<form 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>
                                <?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</label>
                                
                                    <p><input type="text" name="nome" id="nome" class="form-control" placeholder="Informe o nome" value="<?php echo htmlspecialchars($pessoa['nome']); ?>" ></p>
                            </div>

                            <div class="form-group col-md-3 pessoa-fisica">
                                    <label for="cpf" class="col-form-label">Cpf</label>
                                    
                                    
                                    <p><input type="text" name="cpf" id="cpf" class="form-control" placeholder="Informe o cpf" value="<?php echo htmlspecialchars($pessoa['cpf']); ?>" ></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="Masculino" <?php echo ($pessoa['sexo'] == 'Masculino') ? 'selected' : ''; ?>>Masculino</option>
                                    <option value="Feminino" <?php echo ($pessoa['sexo'] == 'Feminino') ? 'selected' : ''; ?>>Feminino</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</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</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</label>
									<select id="situacao" name="situacao" class="form-control">
									<option value="A" <?php echo ($pessoa['situacao'] == 'A') ? 'selected' : ''; ?>>Ativo</option>
									<option value="I" <?php echo ($pessoa['situacao'] == 'I') ? 'selected' : ''; ?>>Inativo</option>
									</select>
                            </div>

                                <input type="hidden" name="id_pessoa" id="id_pessoa" value="<?php echo htmlspecialchars($pessoa['id_pessoa']); ?>">

                            <div class="col-12 text-right">
                            <a href="medico-list.php" class="btn btn-warning mr-2"><i class="mdi mdi-plus"></i> Limpar</a>
                                <button type="submit" class="btn btn-primary"><i class="mdi mdi-magnify"></i> Salvar</button>
                            </div>
						</form>
                            </div>
                        </div>
                    </div>
					
                </div>      
		
            </div> <!-- end container -->
        </div>
		
        
        <!-- end wrapper -->

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

        <!-- Footer Start -->
        <?php
            include('../geral/footer.php');  
            ?>
        <!-- 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>
    // Função para formatar o CPF
    function formatarCPF(cpf) {
        return cpf.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/, "$1.$2.$3-$4");
    }

    // 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() {

    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 formatarCNPJ(cnpj) {
        return cnpj.replace(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/, "$1.$2.$3/$4-$5");
    }

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

        


        
        if (tipoPessoa == "fisica") {
            let nome = document.getElementById("nome").value;
            let cpf = document.getElementById("cpf").value;
            let dataNascimento = document.getElementById("dataNascimento").value;
            
            if (!nome || !cpf || !dataNascimento) {
                alert("Preencha todos os campos obrigatórios para Pessoa Física!");
                return false;
            }
        } else {
            let razaoSocial = document.getElementById("razaoSocial").value;
            let cnpj = document.getElementById("cnpj").value;
            let dataFundacao = document.getElementById("dataFundacao").value;

            if (!razaoSocial || !cnpj || !dataFundacao) {
                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
        return true;
    }

function goBack() {
    window.history.back();
}

</script>
    </body>
</html>

