<?php
session_start();
require_once '../includes/db.php';

$db = new Database();
$busqueda = isset($_GET['q']) ? trim($_GET['q']) : '';
$usuarioLogueado = isset($_GET['logged']) ? (bool)$_GET['logged'] : false;

// Verificar si el usuario está autenticado a través de la sesión
$usuario_autenticado = isset($_SESSION['usuario_id']) && !empty($_SESSION['usuario_id']);

if (empty($busqueda)) {
    exit;
}

// Construir la consulta con la misma lógica que index.php
// Si el usuario está autenticado, mostrar todos los productos (visible 0 y 1)
// Si no está autenticado (visitante), solo mostrar productos con visible = 1
$query = "
    SELECT p.*, pr.nombre as proveedor, s.nombre as seccion, 
           ss.nombre as subseccion, m.nombre as marca 
    FROM productos p
    LEFT JOIN proveedores pr ON p.id_proveedor = pr.id
    LEFT JOIN secciones s ON p.id_seccion = s.id
    LEFT JOIN subsecciones ss ON p.id_subseccion = ss.id
    LEFT JOIN marcas m ON p.id_marca = m.id
    WHERE " . ($usuario_autenticado ? "1=1" : "p.visible = 1") . "
    AND (
        p.titulo LIKE :busqueda OR 
        p.descripcion LIKE :busqueda OR 
        p.codigo LIKE :busqueda OR 
        m.nombre LIKE :busqueda
    )
    ORDER BY p.fecha_alta DESC
";

$stmt = $db->prepare($query);
$stmt->execute([':busqueda' => "%{$busqueda}%"]);
$productos = $stmt->fetchAll(PDO::FETCH_ASSOC);

// Obtener configuración
$config = $db->query("SELECT * FROM configuracion WHERE id = 1")->fetch(PDO::FETCH_ASSOC);
if (!$config) {
    $config = [
        'moneda' => 'Gs.',
        'con_decimales' => 0
    ];
}

// Envolver los resultados en un div con clase articleList
echo '<div class="articleList">';

// Generar HTML de los productos
foreach ($productos as $producto): 
    $imagenes = json_decode($producto['imagenes'], true);
    $timestamp = time();
    
    // Si no hay imagen, usar el logo del sistema
    if (!empty($imagenes)) {
        $primera_imagen = $imagenes[0];
        $ruta_imagen = "uploads/productos/" . htmlspecialchars($primera_imagen);
    } else {
        // Usar el logo del sistema desde la configuración
        $primera_imagen = $config['logo'];
        $ruta_imagen = "uploads/config/" . htmlspecialchars($primera_imagen);
    }
    ?>
    <div class="product-card" data-id="<?= $producto['id'] ?>">
        <?php if ($usuario_autenticado && $producto['visible'] == 0): ?>
            <span class="producto-oculto-badge" title="Este producto solo es visible para usuarios autenticados">
                <i class="fas fa-eye-slash"></i> Oculto
            </span>
        <?php endif; ?>
        <a href="producto.php?id=<?= $producto['id'] ?>">
            <img src="<?= $ruta_imagen ?>?v=<?= $timestamp ?>" 
                 alt="<?= htmlspecialchars($producto['descripcion']) ?>" 
                 class="product-image"
                 loading="lazy"
                 onerror="this.src='uploads/config/<?= htmlspecialchars($config['logo']) ?>?v=<?= $timestamp ?>'">
        </a>
        <div class="product-info">
            <h3 class="product-title"><?= htmlspecialchars($producto['titulo']) ?></h3>
            <div class="prices-container">
                <div class="product-price active">
                    <?= $config['moneda'] ?> <?= number_format($producto['precio_venta1'], 
                                        $config['con_decimales'] ? 2 : 0, 
                                        ',', '.') ?>.-
                </div>
                <div class="precio-cuota"></div>
            </div>
            <select class="cuotas-selector" onchange="actualizarPrecioCuota(this)">
                <option value="contado" data-precio="<?= $producto['precio_venta1'] ?>">Contado</option>
                <?php if ($producto['cuota2'] > 0): ?>
                    <option value="2" data-precio="<?= $producto['cuota2'] ?>">2 cuotas</option>
                <?php endif; ?>
                <?php if ($producto['cuota3'] > 0): ?>
                    <option value="3" data-precio="<?= $producto['cuota3'] ?>">3 cuotas</option>
                <?php endif; ?>
                <?php if ($producto['cuota6'] > 0): ?>
                    <option value="6" data-precio="<?= $producto['cuota6'] ?>">6 cuotas</option>
                <?php endif; ?>
                <?php if ($producto['cuota10'] > 0): ?>
                    <option value="10" data-precio="<?= $producto['cuota10'] ?>">10 cuotas</option>
                <?php endif; ?>
                <?php if ($producto['cuota12'] > 0): ?>
                    <option value="12" data-precio="<?= $producto['cuota12'] ?>">12 cuotas</option>
                <?php endif; ?>
                <?php if ($producto['cuota15'] > 0): ?>
                    <option value="15" data-precio="<?= $producto['cuota15'] ?>">15 cuotas</option>
                <?php endif; ?>
                <?php if ($producto['cuota18'] > 0): ?>
                    <option value="18" data-precio="<?= $producto['cuota18'] ?>">18 cuotas</option>
                <?php endif; ?>
            </select>
            <?php if ($usuarioLogueado): ?>
                <button class="btn-vender" 
                        data-producto-id="<?= $producto['id'] ?>"
                        onclick="iniciarVenta(<?= $producto['id'] ?>)">
                    <i class="fas fa-shopping-cart"></i> Vender
                </button>
            <?php endif; ?>
        </div>
    </div>
<?php endforeach;

echo '</div>';

if (empty($productos)): ?>
    <div class="no-results">
        <p>No se encontraron productos que coincidan con tu búsqueda.</p>
    </div>
<?php endif; 
?>
