<?php
// Adicionado para gerenciar a sessão e o token CSRF
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

// Definir o charset no cabeçalho HTTP também
header('Content-Type: text/html; charset=utf-8');

// Gerar token CSRF para o formulário
if (empty($_SESSION['csrf_token'])) {
    $_SESSION['csrf_token'] = bin2hex(random_bytes(32));
    error_log("CSRF (cadastro_candidato.php): Novo token gerado.");
}
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Cadastro de Candidato - Selflix Vagas</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
    
    <script>
        $(document).ready(function(){
            // BLOQUEIO DE NÚMEROS NO INPUT NOME
            $('#nome').on('input', function() {
                $(this).val($(this).val().replace(/[0-9]/g, ''));
            });

            // Máscaras
            $('input[name="celular"]').mask('(00) 00000-0000');
            $('input[name="cep"]').mask('00000-000');
            
            // Inicialização Select2
            $('#segmento, #cargo_pretendido, #modelo_contratacao, #estado, #pcd').select2({
                placeholder: "Selecione uma opção",
                allowClear: true
            });

            // Lógica para exibir o modal de feedback vindo da Sessão PHP (se houver)
            <?php if (isset($_SESSION['mensagem_cadastro'])): ?>
                var modalTitulo = "<?php echo ($_SESSION['status_cadastro'] ?? 'danger') === 'success' ? 'Sucesso!' : 'Erro!'; ?>";
                var modalCorpo = "<?php echo htmlspecialchars($_SESSION['mensagem_cadastro'], ENT_QUOTES, 'UTF-8'); ?>";
                var modalClass = "<?php echo ($_SESSION['status_cadastro'] ?? 'danger') === 'success' ? 'text-success' : 'text-danger'; ?>";
                var isSuccess = "<?php echo ($_SESSION['status_cadastro'] ?? 'danger') === 'success' ? 'true' : 'false'; ?>"; 

                $('#feedbackModalLabel').text(modalTitulo).removeClass('text-success text-danger').addClass(modalClass);
                $('#feedbackModalBody').html(modalCorpo);
                var myModal = new bootstrap.Modal(document.getElementById('feedbackModal'));
                myModal.show();

                if (isSuccess === 'true') {
                    $('#feedbackModal').on('hidden.bs.modal', function () {
                        window.location.href = 'painel-de-gestao-candidato.php';
                    });
                    $('#modalCloseButton').text('Ir para o Painel');
                }
                <?php unset($_SESSION['mensagem_cadastro'], $_SESSION['status_cadastro']); ?>
            <?php endif; ?>
            
            // CEP COM BRASILAPI
            $('#cep').blur(function() {
                var cep = $(this).val().replace(/\D/g, '');
                if (cep.length === 8) {
                    $("#rua, #bairro, #cidade, #estado").val("...");
                    $.getJSON("https://brasilapi.com.br/api/cep/v1/" + cep, function(dados) {
                        if (dados && dados.cep) {
                            $("#rua").val(dados.street);
                            $("#bairro").val(dados.neighborhood);
                            $("#cidade").val(dados.city);
                            $("#estado").val(dados.state).trigger('change');
                            $("#numero").focus();
                        }
                    });
                }
            });

            // VALIDAÇÃO DE E-MAIL COM MENSAGEM PERSONALIZADA EM MODAL
            $('#candidatoEmail').blur(function() {
                var email = $(this).val().trim();
                if(email !== '') {
                    fetch('verificar_email.php?email=' + encodeURIComponent(email))
                        .then(response => response.json())
                        .then(data => {
                            if(data.exists) {
                                // Limpa os campos de email e login para evitar envios duplicados
                                $('#candidatoEmail').val('').addClass('is-invalid');
                                $('#login').val('');
                                
                                // Configura e exibe a única mensagem solicitada no modal de feedback
                                $('#feedbackModalLabel').text('Aviso').removeClass('text-success').addClass('text-danger');
                                $('#feedbackModalBody').html('o e-mail <strong>' + htmlURI(email) + '</strong> já existe! Fala com a equipe de suporte....');
                                
                                var myModal = new bootstrap.Modal(document.getElementById('feedbackModal'));
                                myModal.show();

                                $('button[type="submit"]').prop('disabled', true);
                            } else {
                                $('#candidatoEmail').removeClass('is-invalid').addClass('is-valid');
                                $('button[type="submit"]').prop('disabled', false);
                            }
                        })
                        .catch(err => console.error('Erro ao validar e-mail:', err));
                }
            });

            // Função auxiliar para escapar o e-mail no HTML por segurança
            function htmlURI(str) {
                return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#039;');
            }

            // Replicar o valor do e-mail no campo de login automaticamente para facilitar o preenchimento
            $('#candidatoEmail').on('input', function() {
                $('#login').val($(this).val());
            });

            // Validação link Selflix (Corrigido para evitar quebra caso o campo não exista)
            $('form').on('submit', function(e) {
                const linkInput = $('#link_selflix');
                if (linkInput.length > 0) {
                    const link = linkInput.val().trim();
                    if (link !== '' && !link.startsWith('https://app.selflix.com.br/perfil/')) {
                        e.preventDefault(); 
                        var myModal = new bootstrap.Modal(document.getElementById('feedbackModal'));
                        $('#feedbackModalLabel').text('Link Inválido').removeClass('text-success').addClass('text-danger');
                        $('#feedbackModalBody').html('O link deve começar com "https://app.selflix.com.br/perfil/".');
                        myModal.show();
                        return false;
                    }
                }
            });
        });
    </script>
    <style>
        .content-container { margin: 30px; }
        .img-candidato { width: 100%; max-width: 500px; height: auto; margin-bottom: 20px; display: block; margin-left: auto; margin-right: auto; }
        .como-funciona-container { margin-top: 25px; padding: 20px 0; border-top: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0; text-align: left; }
        .como-funciona-titulo { color: black; font-size: 24px; font-weight: 600; margin-bottom: 15px; position: relative; padding-left: 15px; }
        .como-funciona-titulo::before { content: ""; position: absolute; left: 0; top: 5px; height: 70%; width: 5px; background-color: #0d6efd; border-radius: 3px; }
        .como-funciona-conteudo { font-size: 16px; line-height: 1.6; color: #444; text-align: justify; max-width: 90%; margin: 0 auto; }
        .selflix-link { color: #0d6efd; font-weight: 600; text-decoration: none; transition: all 0.3s ease; }
        .form-column { padding-left: 30px; }
        .form-title { color: #12929e; font-size: 28px; font-weight: 700; text-align: left; margin-bottom: 30px; padding-bottom: 15px; position: relative; text-transform: uppercase; letter-spacing: 1px; }
        .form-container { border: 1px solid #ddd; border-radius: 10px; padding: 25px; background-color: #fff; }
    </style>
</head>
<body>
<?php include 'menu.php'; ?>
<div class="container content-container">
    <div class="row">
        <div class="col-md-6">
            <img src="/img/paginas/candidato-selflix-1024x1024.webp" alt="Logo Candidato" class="img-candidato">
            <div class="como-funciona-container">
                <h3 class="como-funciona-titulo">Como Funciona</h3>
                <div class="como-funciona-conteudo">
                   <p>Na SELFLIX, acreditamos que sua carreira merece o melhor. Com nosso Painel de Vagas, agora você pode visualizar as vagas de emprego diretamente.</p>
                    <p>Basta selecionar a vaga que deseja se candidatar, preencher o formulário e enviar seu currículo. Para se destacar, invista no seu vídeo apresentação! Venha para a SELFLIX.</p>
                </div>
            </div>
        </div>

        <div class="col-md-6 form-column">
            <div class="form-container">
                <h2 class="form-title">Cadastro de Candidato</h2>
                <form action="processar_cadastro.php" method="POST" enctype="multipart/form-data">
                    <input type="hidden" name="csrf_token" value="<?php echo htmlspecialchars($_SESSION['csrf_token']); ?>">
                    <input type="hidden" name="role" value="Candidatos">
                    
                    <div class="mb-3">
                        <label for="nome" class="form-label">Nome:</label>
                        <input type="text" class="form-control" id="nome" name="nome" value="<?php echo htmlspecialchars($_SESSION['form_data_candidato']['nome'] ?? '', ENT_QUOTES, 'UTF-8'); ?>" required>
                    </div>

                    <div class="mb-3">
                        <label for="candidatoEmail" class="form-label">E-mail:</label>
                        <input type="email" class="form-control" id="candidatoEmail" name="email" value="<?php echo htmlspecialchars($_SESSION['form_data_candidato']['email'] ?? '', ENT_QUOTES, 'UTF-8'); ?>" required>
                    </div>

                    <div class="mb-3">
                        <label for="login" class="form-label">Login (use seu e-mail):</label>
                        <input type="email" class="form-control" id="login" name="login" value="<?php echo htmlspecialchars($_SESSION['form_data_candidato']['login'] ?? '', ENT_QUOTES, 'UTF-8'); ?>" required readonly style="background-color: #f8f9fa;">
                    </div>

                    <div class="mb-3">
                        <label for="senha" class="form-label">Senha:</label>
                        <input type="password" class="form-control" id="senha" name="senha" required minlength="6" autocomplete="new-password">
                    </div>

                    <div class="mb-3">
                        <label for="cep" class="form-label">CEP:</label>
                        <input type="text" class="form-control" id="cep" name="cep" required value="<?php echo htmlspecialchars($_SESSION['form_data_candidato']['cep'] ?? '', ENT_QUOTES, 'UTF-8'); ?>">
                    </div>

                    <div class="mb-3">
                        <label for="rua" class="form-label">Endereço:</label>
                        <input type="text" class="form-control" id="rua" name="rua" required value="<?php echo htmlspecialchars($_SESSION['form_data_candidato']['rua'] ?? '', ENT_QUOTES, 'UTF-8'); ?>">
                    </div>

                    <div class="row">
                        <div class="col-md-6 mb-3">
                            <label for="numero" class="form-label">Número:</label>
                            <input type="text" class="form-control" id="numero" name="numero" required value="<?php echo htmlspecialchars($_SESSION['form_data_candidato']['numero'] ?? '', ENT_QUOTES, 'UTF-8'); ?>">
                        </div>
                        <div class="col-md-6 mb-3">
                            <label for="bairro" class="form-label">Bairro:</label>
                            <input type="text" class="form-control" id="bairro" name="bairro" required value="<?php echo htmlspecialchars($_SESSION['form_data_candidato']['bairro'] ?? '', ENT_QUOTES, 'UTF-8'); ?>">
                        </div>
                    </div>

                    <div class="row">
                        <div class="col-md-8 mb-3">
                            <label for="cidade" class="form-label">Cidade:</label>
                            <input type="text" class="form-control" id="cidade" name="cidade" value="<?php echo htmlspecialchars($_SESSION['form_data_candidato']['cidade'] ?? '', ENT_QUOTES, 'UTF-8'); ?>" required>
                        </div>
                        <div class="col-md-4 mb-3">
                            <label for="estado" class="form-label">Estado:</label>
                            <select name="estado" id="estado" class="form-select" required>
                                <option value="">UF</option>
                                <?php $ufs = ['AC','AL','AP','AM','BA','CE','DF','ES','GO','MA','MT','MS','MG','PA','PB','PR','PE','PI','RJ','RN','RS','RO','RR','SC','SP','SE','TO']; 
                                $uf_sel = $_SESSION['form_data_candidato']['estado'] ?? '';
                                foreach($ufs as $uf) { echo "<option value='$uf' ".($uf_sel==$uf?'selected':'').">$uf</option>"; } ?>
                            </select>
                        </div>
                    </div>

                    <div class="mb-3">
                        <label for="celular" class="form-label">Celular (com DDD):</label>
                        <input type="text" class="form-control" id="celular" name="celular" value="<?php echo htmlspecialchars($_SESSION['form_data_candidato']['celular'] ?? '', ENT_QUOTES, 'UTF-8'); ?>" required>
                    </div>

                    <div class="mb-3">
                        <label for="segmento" class="form-label">Segmento de Interesse Principal:</label>
                        <select name="segmento" id="segmento" class="form-select" required>
                            <option value="">Selecione um segmento</option>
                            <?php
                            $segmentos = ["Administração", "Agronegócio", "Alimentos", "Animação", "Armazenagem", "Arquitetura", "Artes", "Atacado", "Atendimento", "Auto Peças", "Automação Industrial", "Automobilístico", "Aviação / Aeroespacial", "Bancos", "Bebidas", "Belas-Artes", "Bem-Estar", "Bibliotecas", "Bio Engenharia", "Biotecnologia", "Borracha", "Calçados / Couro", "Capital", "Cerâmica / Vidro", "Cimento / Concreto", "Cinema", "Comércio Atacadista", "Comércio e Desenvolvimento Internacional", "Comércio Varejista", "Composição e Revisão de Textos", "Comunicações", "Confecção", "Construções", "Consultoria", "Contabilidade", "Cosméticos", "Decoração", "Design", "Editoração", "Educação a Distância", "Educação Física / Academia", "Eletro Eletrônica", "Embalagens", "Energia", "Engenharia", "Ensino", "Entretenimento", "Esportes", "Farmácia", "Financeira", "Fotografia", "Games", "Gráfica", "Hardware", "Hospitalar", "Hotelaria", "Imobiliária", "Importação e Exportação", "Impressão", "Indústria Automotiva", "Indústria Farmacêutica", "Indústria Química", "Indústria Têxtil", "Instituições Religiosas", "Instituições Sem Fins Lucrativos", "Internet", "Investimentos", "Jogos", "Jornais", "Judiciário", "Laboratórios", "Lazer", "Logística", "Marketing", "Medicina", "Metalúrgico", "Mineração", "Motociclístico", "Móveis", "Museus", "Música", "Nanotecnologia", "Náutico", "Óleo / Gás", "Ótico", "Papel / Celulose", "Pesca", "Pesquisa / Desenvolvimento", "Petróleo", "Plástico", "Pneus", "Prestação de Serviços", "Propaganda e Publicidade", "Rádio", "Recrutamento e Seleção", "Relações Públicas", "Restaurantes", "Saúde", "Segurança", "Seguros", "Serviços Individuais e Familiares", "Serviços Jurídicos", "Serviços para Eventos", "Serviços Públicos", "Siderurgia / Geologia", "Sistemas / Softwares", "Supermercados", "Suprimentos", "Tabaco", "Tecnologia", "Telecomunicações", "Telefonia", "Televisão", "Terceirização e Outsourcing", "Terraplenagem", "Têxtil / Tingimento", "TI e Segurança da Informação", "Tradução e Localização", "Transporte / Caminhões / Trens", "Transporte de Passageiros", "Treimamento", "Turismo/ Hoteleiro/ Hospedagem", "Varejo", "Veterinária", "Viagens e Turismo", "Não informado"];
                            $seg_sel = $_SESSION['form_data_candidato']['segmento'] ?? '';
                            foreach ($segmentos as $seg) {
                                echo "<option value='".htmlspecialchars($seg)."' ".($seg_sel==$seg?'selected':'').">$seg</option>";
                            }
                            ?>
                        </select>
                    </div>

                    <div class="mb-3">
                        <label for="cargo_pretendido" class="form-label">Cargo Pretendido:</label>
                        <select class="form-select" id="cargo_pretendido" name="cargo_pretendido" required>
                            <option value="">Selecione um cargo</option>
                            <?php
                            $cargos = ["Administrador", "Advogado", "Agente", "Ajudante", "Analista", "Arquiteto", "Assessor", "Assistente", "Atendente", "Auditor", "Autônomo", "Auxiliar", "Balconista", "Bio Médico", "Bio Tecnólogo", "Biólogos", "BP Partner", "C-Level", "Comprador", "Consultor", "Contador", "Corretor", "Costureira", "Demonstrador", "Dentista", "Designer", "Diretor", "Economista", "Eletricista", "Encarregado", "Enfermeira", "Engenheiro", "Entregador", "Estagiário", "Famacêutico", "Fisioterapeuta", "Fonoaudióloga", "Gerente", "Guia", "Head", "Instrutor", "Jardineiro", "Jornalista", "Jovem Aprendiz", "Médico", "Motorista", "Nutricionista", "Operador", "Ótico", "Paisagista", "Prestador de serviço", "Professor", "Promotora", "Secretária", "Supervisor", "Técnico", "Telemarketing", "Trainee", "Urbanista", "Vendedor", "Veterinário", "Vice-Presidente", "Vigilante", "Zootecnista", "Não informado"];
                            $car_sel = $_SESSION['form_data_candidato']['cargo_pretendido'] ?? '';
                            foreach ($cargos as $cargo) {
                                echo "<option value='".htmlspecialchars($cargo)."' ".($car_sel==$cargo?'selected':'').">$cargo</option>";
                            }
                            ?>
                        </select>
                    </div>

                    <div class="mb-3">
                        <label for="modelo_contratacao" class="form-label">Tipo de Contratação Desejado:</label>
                        <select name="modelo_contratacao" id="modelo_contratacao" class="form-select" required>
                            <option value="">Selecione o tipo de contratação</option>
                            <?php $tipos = ["CLT", "PJ", "Temporário", "Estágio", "Freelancer", "Não informado"];
                            $t_sel = $_SESSION['form_data_candidato']['modelo_contratacao'] ?? '';
                            foreach ($tipos as $tipo) { echo "<option value='$tipo' ".($t_sel==$tipo?'selected':'').">$tipo</option>"; } ?>
                        </select>
                    </div>

                    <div class="mb-3">
                        <label for="pcd" class="form-label">Candidato PCD?</label>
                        <select name="pcd" id="pcd" class="form-select" required>
                            <?php $pcd_sel = $_SESSION['form_data_candidato']['pcd'] ?? 'Não'; ?>
                            <option value="Não" <?php echo ($pcd_sel == 'Não') ? 'selected' : ''; ?>>Não</option>
                            <option value="Sim" <?php echo ($pcd_sel == 'Sim') ? 'selected' : ''; ?>>Sim</option>
                        </select>
                    </div>

                    <div class="mb-3">
                        <label for="salario_pretendido" class="form-label">Pretensão Salarial (R$):</label>
                        <select name="salario_pretendido" id="salario_pretendido" class="form-select" required>
                            <option value="">Selecione</option>
                            <?php $sal_sel = $_SESSION['form_data_candidato']['salario_pretendido'] ?? '';
                            $faixas = ["1000"=>"Até R$ 1.000","2000"=>"R$ 1.001 a R$ 2.000","3000"=>"R$ 2.001 a R$ 3.000","4000"=>"R$ 3.001 a R$ 4.000","5000"=>"R$ 4.001 a R$ 5.000","7000"=>"R$ 5.001 a R$ 7.000","10000"=>"R$ 7.001 a R$ 10.000","10001"=>"Acima de R$ 10.000","A Combinar"=>"A Combinar"];
                            foreach($faixas as $v => $t) { echo "<option value='$v' ".($sal_sel==$v?'selected':'').">$t</option>"; } ?>
                        </select>
                    </div>

                    <div class="mb-3">
                        <label for="curriculo" class="form-label">Currículo (PDF/DOCX):</label>
                        <input type="file" class="form-control" name="curriculo" accept=".pdf,.doc,.docx">
                    </div>

                    <button type="submit" class="btn btn-primary w-100">Cadastrar</button>
                </form>
            </div>
        </div>
    </div>
</div>

<div class="modal fade" id="feedbackModal" tabindex="-1" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header"><h5 class="modal-title" id="feedbackModalLabel"></h5><button type="button" class="btn-close" data-bs-dismiss="modal"></button></div>
      <div class="modal-body" id="feedbackModalBody"></div>
      <div class="modal-footer"><button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fechar</button></div>
    </div>
  </div>
</div>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"></script>
<?php include 'rodape.php'; ?>
</body>
</html>