<?php
/**
 * Página: Eliminar Invitado
 */

$eventoId = getEventoId();
// Tomar el ID tanto de GET como de POST (para soportar el modal de invitados)
$id = isset($_GET['id']) ? intval($_GET['id']) : intval($_POST['id'] ?? 0);
// Detectar si es una petición AJAX
$isAjax = !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest';

if ($_SERVER['REQUEST_METHOD'] === 'POST' && $id) {
    try {
        // Verificar que el invitado pertenece a este evento
        $stmt = $pdo->prepare("SELECT id FROM invitados WHERE id = ? AND evento_id = ?");
            $stmt->execute([$id, $eventoId]);
            
            if ($stmt->fetch()) {
                // Eliminar admisiones primero (cascade debería hacerlo, pero por seguridad)
                $stmt = $pdo->prepare("DELETE FROM admisiones WHERE invitado_id = ?");
                $stmt->execute([$id]);
                
                // Eliminar invitado
                $stmt = $pdo->prepare("DELETE FROM invitados WHERE id = ?");
                $stmt->execute([$id]);
                
                registrarLog($eventoId, 'invitado', 'Eliminar', "Invitado eliminado: ID $id");
                
                if ($isAjax) {
                    header('Content-Type: application/json');
                    echo json_encode(['success' => true, 'message' => 'Invitado eliminado correctamente']);
                    exit;
                } else {
                    header('Location: ?page=invitados&mensaje=eliminado');
                    exit;
                }
            } else {
                if ($isAjax) {
                    header('Content-Type: application/json');
                    echo json_encode(['success' => false, 'message' => 'Invitado no encontrado']);
                    exit;
                }
            }
    } catch (Exception $e) {
        if ($isAjax) {
            header('Content-Type: application/json');
            echo json_encode(['success' => false, 'message' => 'Error al eliminar: ' . $e->getMessage()]);
            exit;
        } else {
            die('Error al eliminar: ' . $e->getMessage());
        }
    }
}

// Obtener invitado para mostrar (modo no-AJAX)
$stmt = $pdo->prepare("SELECT * FROM invitados WHERE id = ? AND evento_id = ?");
$stmt->execute([$id, $eventoId]);
$invitado = $stmt->fetch(PDO::FETCH_ASSOC);

if (!$invitado) {
    header('Location: ?page=invitados');
    exit;
}
?>
<div class="card" style="max-width: 600px; margin: 0 auto;">
    <h2 class="card-title">¿Está seguro de eliminar este invitado?</h2>
    <p style="margin: 20px 0; font-size: 18px;">
        <strong><?php echo htmlspecialchars($invitado['nombre_cortesia'] . ' ' . $invitado['nombre_invitado']); ?></strong>
    </p>
    
    <form method="POST" style="margin-top: 30px;">
        <button type="submit" name="confirmar" class="btn" style="background: var(--color-danger);">
            Sí, eliminar
        </button>
        <a href="?page=invitados" class="btn btn-secondary">Cancelar</a>
    </form>
</div>

