<?php
/**
 * TechShop Perú - API Agregar/Quitar de Lista de Comparación
 */

header('Content-Type: application/json; charset=utf-8');

define('SECURE_ACCESS', true);
require_once __DIR__ . '/../includes/config.php';
require_once __DIR__ . '/../includes/database.php';
require_once __DIR__ . '/../includes/functions.php';

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    echo json_encode(['success' => false, 'message' => 'Método no permitido']);
    exit;
}

if (!csrf_verify()) {
    echo json_encode(['success' => false, 'message' => 'Token de seguridad inválido. Recarga la página e inténtalo de nuevo.']);
    exit;
}

$producto_id = (int)($_POST['producto_id'] ?? 0);

if ($producto_id <= 0) {
    echo json_encode(['success' => false, 'message' => 'ID de producto no válido']);
    exit;
}

if (!isset($_SESSION['comparar']) || !is_array($_SESSION['comparar'])) {
    $_SESSION['comparar'] = [];
}

$in_compare = in_array($producto_id, $_SESSION['comparar']);

if ($in_compare) {
    $_SESSION['comparar'] = array_values(array_diff($_SESSION['comparar'], [$producto_id]));
    echo json_encode([
        'success' => true,
        'is_compared' => false,
        'message' => 'Producto quitado del comparador',
        'count' => count($_SESSION['comparar'])
    ]);
} else {
    if (count($_SESSION['comparar']) >= 4) {
        echo json_encode([
            'success' => false,
            'message' => 'Solo puedes comparar un máximo de 4 productos simultáneamente.'
        ]);
        exit;
    }
    $_SESSION['comparar'][] = $producto_id;
    echo json_encode([
        'success' => true,
        'is_compared' => true,
        'message' => 'Producto agregado al comparador',
        'count' => count($_SESSION['comparar'])
    ]);
}
