<?php
require_once __DIR__ . '/../includes/valida_posiciones.php';
require_once dirname(__DIR__, 2) . '/backend/recruiter/obtener_detalle_candidato.php';
if (!isset($estatusOrden) || !is_array($estatusOrden)) $estatusOrden = [];
if (!isset($estatusLabels) || !is_array($estatusLabels)) $estatusLabels = [];
if (!isset($historial) || !is_array($historial)) $historial = [];
if (!isset($estatusActual)) $estatusActual = '';
if (!isset($indexActual)) $indexActual = 0;
?>

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Detalle Candidato</title>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
  <link href="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/6.4.0/mdb.min.css" rel="stylesheet">
  <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
  <link href="../assets/css/recruiter.css" rel="stylesheet">
  <style>
    /* Forzar el SVG de la flecha en todos los selects con .form-select */
    .form-select {
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%234f4f4f' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
      background-repeat: no-repeat;
      background-position: right 0.75rem center;
      background-size: 16px 12px;
    }
  </style>
</head>
<body class="bg-light">
  <div class="d-flex">
    <?php include '../includes/sidebar.php'; ?>
    <div class="main-content" id="mainContent">
      <?php include '../includes/topbar.php'; ?>

      <?php if (isset($_GET['referencia'])): ?>
        <div class="container mt-3">
          <?php if ($_GET['referencia'] === 'ok'): ?>
            <div class="alert alert-success alert-dismissible fade show" role="alert">
              <i class="fas fa-check-circle me-2"></i> El aspirante fue enviado a referencias con éxito.
              <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
            </div>
          <?php elseif ($_GET['referencia'] === 'existe'): ?>
            <div class="alert alert-warning alert-dismissible fade show" role="alert">
              <i class="fas fa-exclamation-triangle me-2"></i> El aspirante ya fue enviado a referencias previamente.
              <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
            </div>
          <?php endif; ?>
        </div>
      <?php endif; ?>

      <div class="container-fluid p-4">
        <h2 class="fw-bold mb-2">Detalle del Candidato</h2>
        <nav aria-label="breadcrumb">
          <ol class="breadcrumb">
            <li class="breadcrumb-item"><a href="dashboard.php">Dashboard</a></li>
            <li class="breadcrumb-item"><a href="candidates.php">Candidatos</a></li>
            <li class="breadcrumb-item active"><?= htmlspecialchars($nombreCompleto) ?></li>
          </ol>
        </nav>

        <!-- Campos ocultos para JS -->
        <input type="hidden" id="aspirante_id" value="<?= $c['id'] ?>">
        <input type="hidden" id="vacante_puesto" value="<?= htmlspecialchars($c['vacante_puesto'] ?? '') ?>">
        <input type="hidden" id="vacante_pdv" value="<?= htmlspecialchars($c['vacante_pdv'] ?? '') ?>">
        <input type="hidden" id="estatus_actual" value="<?= htmlspecialchars($estatusActual) ?>">
        <input type="hidden" id="vacante_codigo" value="<?= htmlspecialchars($vacanteAsignada['vacante_codigo'] ?? ($c['vacante_codigo'] ?? '')) ?>">

        <div class="row mb-4">
          <?php include '../includes/detail/card-info.php'; ?>
          <?php include '../includes/detail/tab-content.php'; ?>
        </div>

        <?php include '../includes/detail/recruitment-process.php'; ?>

        <?php if ($estatusActual !== 'rechazado'): ?>
          <?php include '../includes/detail/modal-cambio-estatus.php'; ?>
        <?php endif; ?>

        <?php
          $prmAutorizado = false;

          if (!empty($c['curp'])) {
            $curp = $c['curp'];
            $query = "SELECT solicitud_prm_enviada FROM Plantilla WHERE CURP = ?";
            $stmt = $conn->prepare($query);
            $stmt->bind_param("s", $curp);
            $stmt->execute();
            $stmt->bind_result($solicitudPRM);
            if ($stmt->fetch() && intval($solicitudPRM) === 1) {
              $prmAutorizado = true;
            }
            $stmt->close();
          }
        ?>


        <?php if ($estatusActual === 'contratado'): ?>
          <div class="d-flex justify-content-end mt-4 gap-2 flex-wrap">
            <button class="btn btn-primary"
                    data-bs-toggle="modal"
                    data-bs-target="#modalDetalleEmpleado"
                    <?= $prmAutorizado ? '' : 'disabled' ?>>
              <i class="fas fa-plus-circle me-1"></i> Enviar a Pre-Alta
            </button>

            <button class="btn btn-success"
                    data-bs-toggle="modal"
                    data-bs-target="#modalSolicitarPRM">
              <i class="fas fa-paper-plane me-1"></i> Solicitar PRM
            </button>

            <?php if (!$prmAutorizado): ?>
              <div class="text-danger small w-100 mt-2">
                <i class="fas fa-info-circle me-1"></i> Debes enviar la solicitud PRM antes de pasar a Pre-Alta.
              </div>
            <?php endif; ?>
          </div>
        <?php endif; ?>


        <?php if ($c['estatus_actual'] === 'visita'): ?>
          <div class="d-flex justify-content-end mt-4">
            <button type="button" class="btn btn-outline-primary" id="btnAbrirDatosRocasa">
              <i class="fas fa-id-card me-1"></i> Datos Rocasa
            </button>
          </div>
        <?php endif; ?>
      </div>
    </div>

    <!-- Modales -->
    <?php include_once(__DIR__ . '/../includes/modals/modal-datos-rocasa.php'); ?>
    <?php include '../includes/detail/modal-detalle-empleado.php'; ?>
    <?php include '../includes/detail/modal-comentario.php'; ?>
    <?php include '../includes/modals/modal-solicitar-prm.php'; ?>
    <?php include '../includes/modals/modal-referencias-att.php'; ?>
    <?php include __DIR__ . '/../includes/modals/modal-vacantes-solo.php'; ?>

    <!-- MODAL: CONFIRMAR DATOS VACANTE -->
    <div class="modal fade" id="modalConfirmarVacante" tabindex="-1" aria-labelledby="modalConfirmarVacanteLabel" aria-hidden="true">
      <div class="modal-dialog">
        <div class="modal-content">
          <div class="modal-header bg-warning text-dark">
            <h5 class="modal-title" id="modalConfirmarVacanteLabel">
              <i class="fas fa-clipboard-check me-2"></i>Confirmar Vacante Seleccionada
            </h5>
            <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Cerrar"></button>
          </div>
          <div class="modal-body">
            <p>Por favor confirma los datos de la vacante seleccionada:</p>
            <ul class="list-group mb-3">
              <li class="list-group-item"><strong>Código:</strong> <span id="confVacanteCodigo"></span></li>
              <li class="list-group-item"><strong>Puesto:</strong> <span id="confVacantePuesto"></span></li>
              <li class="list-group-item"><strong>PDV:</strong> <span id="confVacantePDV"></span></li>
            </ul>
            <div class="d-flex justify-content-end gap-2">
              <button type="button" class="btn btn-danger" id="btnCorregirVacante"><i class="fas fa-exclamation-triangle me-1"></i>Corregir</button>
              <button type="button" class="btn btn-success" id="btnConfirmarVacante"><i class="fas fa-check me-1"></i>Confirmar</button>
            </div>
          </div>
        </div>
      </div>
    </div>

    <!-- Loader para animación de carga -->
    <div id="loaderVacante" style="display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(255,255,255,0.7);z-index:2000;align-items:center;justify-content:center;">
      <div class="spinner-border text-primary" style="width:4rem;height:4rem;" role="status">
        <span class="visually-hidden">Cargando...</span>
      </div>
    </div>

    <?php /* include '../includes/detail/vacantes.php'; */ ?>
  </div>

  <!-- Scripts y librerías -->
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
  <script src="../assets/js/llenar-detalle-empleado.js"></script>
  <script src="../assets/js/comentario.js"></script>
  <script src="../assets/js/detalle-candidato.js"></script>
  <script src="../assets/js/aspirantes/llenar-modal-datos-rocasa.js"></script>
  <script src="../assets/js/aspirantes/validaciones_rocasa.js"></script>
  <script src="../assets/js/aspirantes/solicitud-PRM.js"></script>
  <?php
  // Definir el rol del usuario para JS (ajusta la variable PHP si es necesario)
  $rolUsuario = isset($_SESSION['rol']) ? $_SESSION['rol'] : '';
  ?>
  <script>
    var rolUsuario = "<?= htmlspecialchars($rolUsuario) ?>";
  </script>
  <script>
    // Interceptar el click del botón Datos Rocasa para mostrar el modal de confirmación
    const btnDatosRocasa = document.getElementById('btnAbrirDatosRocasa');
    if (btnDatosRocasa) {
      btnDatosRocasa.addEventListener('click', function (e) {
        e.preventDefault();
        // Obtener datos de la vacante
        const codigo = document.getElementById('vacante_codigo')?.value || '';
        const puesto = document.getElementById('vacante_puesto')?.value || '';
        const pdv = document.getElementById('vacante_pdv')?.value || '';
        // Mostrar en el modal de confirmación
        document.getElementById('confVacanteCodigo').textContent = codigo;
        document.getElementById('confVacantePuesto').textContent = puesto;
        document.getElementById('confVacantePDV').textContent = pdv;
        // Abrir modal de confirmación
        const modalConfirm = new bootstrap.Modal(document.getElementById('modalConfirmarVacante'));
        modalConfirm.show();
      });
    }

    // Botón Corregir: mostrar SweetAlert y recargar en automático sin loader
    const btnCorregirVacante = document.getElementById('btnCorregirVacante');
    if (btnCorregirVacante) {
      btnCorregirVacante.addEventListener('click', function () {
        btnCorregirVacante.blur();
        Swal.fire({
          icon: 'info',
          title: 'Acción requerida',
          text: 'Realiza el cambio de vacante desde la sección Vacantes.',
          confirmButtonText: 'Entendido'
        }).then(() => {
          location.reload();
        });
      });
    }

    // Botón Editar: mostrar SweetAlert en vez de abrir el modal de vacantes
    const btnEditarVacante = document.getElementById('btnEditarVacante');
    if (btnEditarVacante) {
      btnEditarVacante.addEventListener('click', function () {
        btnEditarVacante.blur();
        Swal.fire({
          icon: 'info',
          title: 'Acción no disponible',
          text: 'Realiza el cambio de vacante desde la sección Vacantes.',
          confirmButtonText: 'Entendido'
        });
      });
    }

    // Al cargar la página, si el hash es #abrirVacantes, abrir el modal de vacantes
    window.addEventListener('DOMContentLoaded', function () {
      if (window.location.hash === '#abrirVacantes') {
        setTimeout(function () {
          let modalVacantes = bootstrap.Modal.getInstance(document.getElementById('modalVacantes'));
          if (!modalVacantes) {
            modalVacantes = new bootstrap.Modal(document.getElementById('modalVacantes'));
          }
          modalVacantes.show();
          // Limpiar el hash para evitar reapertura en futuras recargas
          history.replaceState(null, '', window.location.pathname + window.location.search);
        }, 400); // Espera a que cargue el DOM y posibles animaciones
      }
    });

    // Botón Confirmar: abrir modal de datos Rocasa
    const btnConfirmarVacante = document.getElementById('btnConfirmarVacante');
    if (btnConfirmarVacante) {
      btnConfirmarVacante.addEventListener('click', function () {
        const modalConfirm = bootstrap.Modal.getInstance(document.getElementById('modalConfirmarVacante'));
        modalConfirm.hide();
        setTimeout(() => {
          const modalRocasa = new bootstrap.Modal(document.getElementById('modalDatosRocasa'));
          modalRocasa.show();
        }, 400); // Espera a que termine la animación
      });
    }
  </script>
</body>
</html>
