<?php
// criar-anuncio-pago.php - Versão Sincronizada (Select)
ini_set('display_errors', 1);
error_reporting(E_ALL);

if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
require_once 'conexao.php';
require_once 'env.php';

// Segurança: Login e Role
if (!isset($_SESSION['id'])) {
    header("Location: login.php");
    exit();
}

if (($_SESSION['role'] ?? '') !== 'Administrador' && ($_SESSION['role'] ?? '') !== 'Empresas') {
    $_SESSION['mensagem'] = "Você não tem permissão para acessar esta página.";
    $_SESSION['tipo_mensagem'] = "error";
    header("Location: login.php");
    exit();
}

if (empty($_SESSION['csrf_token'])) {
    $_SESSION['csrf_token'] = bin2hex(random_bytes(32));
}

// 1. CAPTURA DOS DADOS
$form_data_session = $_SESSION['form_data_POST'] ?? [];
$erros_campos = $_SESSION['mensagem_erro_campos'] ?? [];
$mensagem_geral = $_SESSION['mensagem'] ?? null;
$tipo_mensagem_geral = $_SESSION['tipo_mensagem'] ?? null;

function get_form_value($field_name, $default = '') {
    global $form_data_session;
    return htmlspecialchars($form_data_session[$field_name] ?? $default, ENT_QUOTES, 'UTF-8');
}

function display_error_message($field_name) {
    global $erros_campos;
    if (isset($erros_campos[$field_name])) {
        echo '<div class="field-error-msg">' . htmlspecialchars($erros_campos[$field_name]) . '</div>';
    }
}
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <title>Criar Vaga Select - Selflix Vagas</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
    <style>
        :root { --selflix-teal: #12929e; }
        body { font-family: Arial, sans-serif; background-color: #f4f4f4; padding: 20px; color: #333; }
        .container-form { max-width: 650px; margin: 20px auto; background: white; padding: 30px; border-radius: 8px; box-shadow: 0 2px 15px rgba(0,0,0,0.1); }
        h2 { text-align: center; color: var(--selflix-teal); font-weight: 700; margin-bottom: 30px; border-bottom: 2px solid var(--selflix-teal); padding-bottom: 15px; }
        
        label { font-weight: 600; color: #444; margin-top: 15px; display: block; }
        .form-control, .form-select { padding: 12px; border-radius: 6px; border: 1px solid #ced4da; width: 100%; box-sizing: border-box; }
        .form-control:focus { border-color: var(--selflix-teal); box-shadow: 0 0 0 0.2rem rgba(18, 146, 158, 0.15); }
        
        .btn-submit { background-color: var(--selflix-teal); color: white; border: none; padding: 18px; width: 100%; border-radius: 6px; font-weight: bold; font-size: 1.1rem; margin-top: 35px; transition: 0.3s; cursor: pointer; text-transform: uppercase; }
        .btn-submit:hover { background-color: #0e7a84; }
        
        .field-error-msg { color: #dc3545; font-size: 0.85rem; margin-top: 6px; background: #fff5f5; padding: 5px 10px; border-radius: 4px; border-left: 3px solid #dc3545; }
        #salario_input_div { background: #f9f9f9; padding: 15px; border-radius: 8px; margin-top: 10px; border: 1px solid #eee; }
        .btn-back { display: block; text-align: center; margin-top: 25px; text-decoration: none; color: #666; font-size: 0.9rem; font-weight: 600; }
    </style>
</head>
<body>

    <div class="container-form">
        <h2>Criar Vaga Select</h2>

        <?php if ($mensagem_geral): ?>
            <div class="alert alert-<?= ($tipo_mensagem_geral === 'error' ? 'danger' : 'success') ?> alert-dismissible fade show">
                <?= htmlspecialchars($mensagem_geral) ?>
                <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
            </div>
        <?php endif; ?>

        <form action="processar-anuncio-pago.php" method="POST" id="formVagaPago">
            <input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">

            <?php if (($_SESSION['role'] ?? '') === 'Administrador'): ?>
                <div class="mb-3">
                    <label>ID da Empresa Alvo: *</label>
                    <input type="number" name="empresa_alvo_id" class="form-control" value="<?= get_form_value('empresa_alvo_id') ?>" required placeholder="Ex: 45">
                    <?php display_error_message('empresa_alvo_id'); ?>
                </div>
            <?php endif; ?>

            <div class="mb-3">
                <label>Título da Vaga: *</label>
                <input type="text" name="titulo_vaga" class="form-control" value="<?= get_form_value('titulo_vaga') ?>" required placeholder="Ex: Vendedor Interno">
                <?php display_error_message('titulo_vaga'); ?>
            </div>

            <div class="mb-3">
                <label>E-mail para Receber Currículos: *</label>
                <input type="email" name="email_para_curriculo" class="form-control" value="<?= get_form_value('email_para_curriculo') ?>" required placeholder="vagas@suaempresa.com">
                <?php display_error_message('email_para_curriculo'); ?>
            </div>

            <div class="mb-3">
                <label>WhatsApp de Contato (Opcional):</label>
                <input type="text" id="whatsapp_contato" name="whatsapp_contato" class="form-control" value="<?= get_form_value('whatsapp_contato') ?>" placeholder="(00) 00000-0000">
            </div>

            <div class="mb-3">
                <label>Estado: *</label>
                <select name="estado" class="form-select" required>
                    <option value="">Selecione...</option>
                    <?php
                    $estados = ["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"];
                    $est_v = get_form_value('estado');
                    foreach ($estados as $sigla) {
                        $sel = ($est_v == $sigla) ? 'selected' : '';
                        echo "<option value='$sigla' $sel>$sigla</option>";
                    }
                    ?>
                </select>
                <?php display_error_message('estado'); ?>
            </div>

            <div class="mb-3">
                <label>Cidade: *</label>
                <input type="text" name="cidade_vaga" class="form-control" value="<?= get_form_value('cidade_vaga') ?>" required placeholder="Ex: São Paulo">
                <?php display_error_message('cidade_vaga'); ?>
            </div>

            <div class="mb-3">
                <label>Segmento: *</label>
                <select name="segmento_vaga" class="form-select" required>
                    <option value="">Selecione...</option>
                    <?php 
                    $segmentos = ["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"];
                    $seg_v = get_form_value('segmento_vaga');
                    foreach ($segmentos as $s) {
                        $sel = ($seg_v == $s) ? 'selected' : '';
                        echo "<option value='$s' $sel>$s</option>";
                    }
                    ?>
                </select>
            </div>

            <div class="mb-3">
                <label>Tipo de Contrato: *</label>
                <select name="tipo_vaga" class="form-select" required>
                    <?php $tv = get_form_value('tipo_vaga', 'CLT'); ?>
                    <option value="CLT" <?= $tv=='CLT'?'selected':'' ?>>CLT</option>
                    <option value="PJ" <?= $tv=='PJ'?'selected':'' ?>>PJ</option>
                    <option value="Estágio" <?= $tv=='Estágio'?'selected':'' ?>>Estágio</option>
                    <option value="Temporário" <?= $tv=='Temporário'?'selected':'' ?>>Temporário</option>
                    <option value="Não informado" <?= $tv=='Outro'?'selected':'' ?>>Não informado</option>
                </select>
            </div>

            <div class="mb-3">
                <label>Modelo de Trabalho: *</label>
                <select name="modelo_contratacao" class="form-select" required>
                    <?php $mod = get_form_value('modelo_contratacao'); ?>
                    <option value="" <?= $mod==''?'selected':'' ?>>Selecione...</option>
                    <option value="Presencial" <?= $mod=='Presencial'?'selected':'' ?>>Presencial</option>
                    <option value="Remoto" <?= $mod=='Remoto'?'selected':'' ?>>Remoto</option>
                    <option value="Híbrido" <?= $mod=='Híbrido'?'selected':'' ?>>Híbrido</option>
                </select>
                <?php display_error_message('modelo_contratacao'); ?>
            </div>

            <div class="mb-3">
                <label>Vaga para PCD? *</label>
                <select name="PCD" class="form-select" required>
                    <?php $pcd_v = get_form_value('PCD', 'Não'); ?>
                    <option value="Não" <?= $pcd_v == 'Não'?'selected':'' ?>>Não</option>
                    <option value="Sim" <?= $pcd_v == 'Sim'?'selected':'' ?>>Sim</option>
                </select>
                <?php display_error_message('PCD'); ?>
            </div>

            <div class="mb-3">
                <label>Remuneração: *</label>
                <select id="salario_option" name="salario_option" class="form-select" required>
                    <?php $sal_o = get_form_value('salario_option', 'a_combinar'); ?>
                    <option value="a_combinar" <?= $sal_o == 'a_combinar'?'selected':'' ?>>A Combinar</option>
                    <option value="outro" <?= $sal_o == 'outro'?'selected':'' ?>>Valor Fixo</option>
                </select>
            </div>

            <div id="salario_input_div" style="<?= $sal_o === 'outro' ? 'display:block;' : 'display:none;' ?>" class="mb-3">
                <label>Valor do Salário:</label>
                <input type="text" id="salario" name="salario" class="form-control" value="<?= get_form_value('salario') ?>" placeholder="R$ 0,00">
                <?php display_error_message('salario'); ?>
            </div>

            <div class="mb-3">
                <label>Requisitos Essenciais: *</label>
                <textarea name="requisitos_contratacao" class="form-control" rows="3" required placeholder="Ex: Experiência de 2 anos, CNH B..."><?= get_form_value('requisitos_contratacao') ?></textarea>
                <?php display_error_message('requisitos_contratacao'); ?>
            </div>

            <div class="mb-3">
                <label>Descrição Completa da Vaga: *</label>
                <textarea name="descricao_vaga" class="form-control" rows="6" required placeholder="Descreva as atividades e benefícios..."><?= get_form_value('descricao_vaga') ?></textarea>
                <?php display_error_message('descricao_vaga'); ?>
            </div>

            <button type="submit" class="btn-submit">PUBLICAR ANÚNCIO SELECT</button>
        </form>

        <a href="painel-de-gestao-empresa.php" class="btn-back">Voltar ao Painel</a>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        const salarioOption = document.getElementById('salario_option');
        const salarioDiv = document.getElementById('salario_input_div');
        const salarioInput = document.getElementById('salario');
        const whatsappInput = document.getElementById('whatsapp_contato');

        function toggleSalario() {
            salarioDiv.style.display = salarioOption.value === 'outro' ? 'block' : 'none';
        }
        salarioOption.addEventListener('change', toggleSalario);

        salarioInput.addEventListener('input', function(e) {
            let v = e.target.value.replace(/\D/g, '');
            if (v === '') return;
            e.target.value = 'R$ ' + (parseInt(v) / 100).toLocaleString('pt-BR', { minimumFractionDigits: 2 });
        });

        whatsappInput.addEventListener('input', function(e) {
            let v = e.target.value.replace(/\D/g, '');
            v = v.replace(/^(\d{2})(\d)/g, "($1) $2");
            v = v.replace(/(\d{5})(\d)/, "$1-$2");
            e.target.value = v.substring(0, 15);
        });
    });
    </script>
</body>
</html>
<?php
unset($_SESSION['form_data_POST'], $_SESSION['mensagem_erro_campos'], $_SESSION['mensagem'], $_SESSION['tipo_mensagem']);
?>