<?php
session_start();
if (!isset($_SESSION['rol']) || !in_array($_SESSION['rol'], ['admin', 'adminTi'])) {
  header('Location: ../../index.php');
  exit;
}
require_once __DIR__ . '/../includes/valida_posiciones.php';
?>
<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8" />
  <title>Reingresos</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <!-- Bootstrap + FontAwesome + DataTables -->
  <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/font-awesome/6.4.0/css/all.min.css" rel="stylesheet" />
  <link href="https://cdn.datatables.net/1.13.6/css/dataTables.bootstrap5.min.css" rel="stylesheet" />
  <link href="../assets/css/recruiter.css" rel="stylesheet" />
  <link href="https://cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.min.css" rel="stylesheet" />
  <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
</head>
<body class="bg-light">

<div class="bg-light">
  <?php include '../includes/sidebar.php'; ?>
  <div class="main-content flex-grow-1 px-4 py-4">
    <?php include '../includes/topbar.php'; ?>

    <div class="container-fluid">
      <h2 class="mb-4 text-primary"><i class="fas fa-user-plus me-2"></i>Reingresos</h2>
      <div class="table-responsive">
        <table id="tablaReingresos" class="table table-striped table-bordered table-hover align-middle text-center">
          <thead class="table-dark">
            <tr>
              <th>Nombre Completo</th>
              <th>CURP</th>
              <th>Fecha Baja</th>
              <th>Comentarios</th>
              <th>Acciones</th>
            </tr>
          </thead>
          <tbody>
            <!-- Las filas se llenarán por JS -->
          </tbody>
        </table>
      </div>
      <!-- Modal para datos adicionales -->
      <div class="modal fade" id="modalReingreso" tabindex="-1" aria-labelledby="modalReingresoLabel" aria-hidden="true">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <h5 class="modal-title" id="modalReingresoLabel">Datos para Reingreso</h5>
              <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Cerrar"></button>
            </div>
            <div class="px-3 pt-2 pb-1" id="infoReingreso" style="background:#f8f9fa; border-bottom:1px solid #dee2e6;">
              <strong>Nombre:</strong> <span id="nombreReingreso"></span><br>
              <strong>CURP:</strong> <span id="curpReingresoLabel"></span>
            </div>
            <div class="modal-body">
              <form id="formReingreso">
                <div class="mb-3">
                  <label for="correoReingreso" class="form-label">Correo</label>
                  <input type="email" class="form-control" id="correoReingreso" required>
                </div>
                <div class="mb-3">
                  <label for="telefonoReingreso" class="form-label">Teléfono</label>
                  <input type="text" class="form-control" id="telefonoReingreso" required>
                </div>
                <div class="mb-3">
                  <label for="attuidReingreso" class="form-label">ATTUID (Reclutador)</label>
                  <select class="form-select" id="attuidReingreso" required></select>
                </div>
                <input type="hidden" id="curpReingreso">
              </form>
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button>
              <button type="button" class="btn btn-primary" id="btnGuardarReingreso">Guardar</button>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

<!-- JS para cargar datos -->
<script src="https://code.jquery.com/jquery-3.7.0.min.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/dataTables.bootstrap5.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script>
$(document).ready(function() {
  $.getJSON('../assets/i18n/es-ES.json', function(esES) {
    var tabla = $('#tablaReingresos').DataTable({
      language: esES
    });
    $.ajax({
      url: '../../backend/reingresos/get_reingresos.php',
      method: 'GET',
      dataType: 'json',
      success: function(data) {
        tabla.clear();
        data.forEach(function(row) {
          tabla.row.add([
            row.nombre_completo,
            row.curp,
            row.fecha_baja,
            (row.comentario_baja && row.comentario_baja.trim() !== '' ? row.comentario_baja : 'Sin comentarios'),
            '<button class="btn btn-success btn-sm resucitar-btn" data-curp="' + row.curp + '"><i class="fas fa-user-check"></i> Reingresar</button>'
          ]);
        });
        tabla.draw();
      }
    });
    
    // Cargar reclutadores en el select del modal
    function cargarReclutadores() {
      $.ajax({
        url: '../../backend/admin/get_reclutadores.php',
        method: 'GET',
        dataType: 'json',
        success: function(data) {
          var select = $('#attuidReingreso');
          select.empty();
          var reclutadores = Array.isArray(data.reclutadores) ? data.reclutadores : [];
          if (reclutadores.length > 0) {
            var hayReclutadores = false;
            reclutadores.forEach(function(reclutador) {
              if (reclutador.rol && reclutador.rol === 'reclutador') {
                select.append('<option value="' + reclutador.attuid + '">' + reclutador.nombre_completo + ' (' + reclutador.attuid + ')</option>');
                hayReclutadores = true;
              }
            });
            if (!hayReclutadores) {
              select.append('<option value="">No hay reclutadores disponibles</option>');
            }
          } else {
            select.append('<option value="">No hay reclutadores disponibles</option>');
          }
        }
      });
    }

    // Evento para el botón Resucitar
    $('#tablaReingresos tbody').on('click', '.resucitar-btn', function() {
      var curp = $(this).data('curp');
      var row = $(this).closest('tr');
      var nombre = row.find('td').eq(0).text();
      $('#curpReingreso').val(curp);
      $('#nombreReingreso').text(nombre);
      $('#curpReingresoLabel').text(curp);
      cargarReclutadores();
      $('#modalReingreso').modal('show');
    });

    // Guardar datos del modal y llamar ambos endpoints
    $('#btnGuardarReingreso').on('click', function() {
      var curp = $('#curpReingreso').val();
      var correo = $('#correoReingreso').val();
      var telefono = $('#telefonoReingreso').val();
      var attuid = $('#attuidReingreso').val();
      if (!correo || !telefono || !attuid) {
        Swal.fire('Error', 'Todos los campos son obligatorios.', 'error');
        return;
      }
      $.ajax({
        url: '../../backend/reingresos/insert_aspirante_reingreso.php',
        method: 'POST',
        contentType: 'application/json',
        data: JSON.stringify({ curp: curp, correo: correo, telefono: telefono, attuid: attuid }),
        success: function(resp) {
          if (resp.success) {
            Swal.fire('¡Listo!', 'El registro fue reingresado y el aspirante creado correctamente.', 'success');
            $('#modalReingreso').modal('hide');
          } else {
            Swal.fire('Error', resp.error || 'No se pudo crear el aspirante.', 'error');
          }
        },
        error: function(xhr) {
          Swal.fire('Error', 'Ocurrió un error al crear el aspirante.', 'error');
        }
      });
    });
  });
});
</script>
</body>
</html>
