<?php
// Activar reporte de errores para debugging
error_reporting(E_ALL);
ini_set('display_errors', 0); // No mostrar en pantalla, solo log

// Iniciar sesión (puede ser necesario para el sistema)
session_start();

// Header JSON
header('Content-Type: application/json');

// Función para retornar error en JSON
function jsonError($message)
{
    echo json_encode(['error' => true, 'message' => $message]);
    exit;
}

try {
    // Cargar el sistema completo como lo hace index.php
    if (!file_exists('core/autoload.php')) {
        jsonError('Sistema no encontrado - core/autoload.php');
    }
    include 'core/autoload.php';

    // Cargar los modelos
    if (!file_exists('core/app/autoload.php')) {
        jsonError('Autoloader de modelos no encontrado');
    }
    include 'core/app/autoload.php';

    // Verificar que la clase existe
    if (!class_exists('ProductosData')) {
        jsonError('Clase ProductosData no encontrada después de cargar autoloader');
    }
} catch (Exception $e) {
    jsonError('Error al cargar sistema: ' . $e->getMessage());
}

// Obtener el término de búsqueda enviado por POST
$query = isset($_POST['query']) ? trim($_POST['query']) : '';

// Validar que hay un término de búsqueda
if (empty($query) || strlen($query) < 2) {
    echo json_encode([]);
    exit;
}

try {
    // Usar el modelo ProductosData para buscar productos
    $products = ProductosData::getLike($query);

    // Si no se encontraron productos, devolver array vacío
    if (!$products || empty($products)) {
        echo json_encode([]);
        exit;
    }

    // Formatear resultados con todos los campos necesarios
    $results = [];
    foreach ($products as $product) {
        $results[] = [
            'id' => $product->id ?? 0,
            'nombre' => $product->nombre ?? $product->name ?? '',
            'name' => $product->nombre ?? $product->name ?? '',
            'marca' => $product->marca ?? $product->marca_text ?? '',
            'marca_text' => $product->marca ?? $product->marca_text ?? '',
            'modelo' => $product->modelo ?? '',
            'precio' => $product->precio ?? $product->price ?? 0,
            'price' => $product->precio ?? $product->price ?? 0,
            'stock_lp_centro' => $product->stock_lp_centro ?? 0,
            'stock_lp_llojeta' => $product->stock_lp_llojeta ?? 0,
            'stock_lp_satelite' => $product->stock_lp_satelite ?? 0,
            'stock_interior' => $product->stock_interior ?? 0,
            'imagen_url' => $product->imagen_url ?? $product->image ?? '',
            'image' => $product->imagen_url ?? $product->image ?? '',
            'producto_descripcion' => $product->producto_descripcion ?? $product->description ?? '',
            'description' => $product->producto_descripcion ?? $product->description ?? ''
        ];
    }

    echo json_encode($results);
} catch (Exception $e) {
    jsonError('Error en búsqueda: ' . $e->getMessage());
}
