<?php
// consultar_precio.php  (PHP 5.6 - mysql_*)

include 'concha.php'; // $host, $usuario, $contra, $basedatos

mysql_connect("$host","$usuario","$contra");
mysql_select_db("$basedatos");
mysql_query("SET NAMES 'utf8'");

$busqueda = '';
if (isset($_REQUEST['q'])) {
    $busqueda = trim($_REQUEST['q']);
}
if (isset($_REQUEST['barcode']) && $busqueda === '') {
    // compat: si alguna vez lo llamás como barcode=
    $busqueda = trim($_REQUEST['barcode']);
}

$busqueda_sin_espacios = str_replace(' ', '', $busqueda);

$modo = ''; // 'barcode' o 'nombre'
$encontrado = false;
$mensaje = '';

$titulo = '';
$precio = '';
$barcode_encontrado = '';

$resultados = array(); // listado para modo nombre

if ($busqueda !== '') {

    // Si el input es numérico (o casi), lo tratamos como barcode.
    // Importante: barcode puede tener espacios, por eso limpiamos.
    if ($busqueda_sin_espacios !== '' && ctype_digit($busqueda_sin_espacios)) {
        $modo = 'barcode';

        $barcode_safe = mysql_real_escape_string($busqueda_sin_espacios);

        $sql = "SELECT titulo, precio, barcode
                FROM articulos
                WHERE barcode = '$barcode_safe'
                LIMIT 1";

        $q = mysql_query($sql);

        if ($q && mysql_num_rows($q) > 0) {
            $row = mysql_fetch_assoc($q);
            $titulo = $row['titulo'];
            $precio = $row['precio'];
            $barcode_encontrado = $row['barcode'];
            $encontrado = true;
        } else {
            $mensaje = "No se encontró el artículo.";
        }

        if ($q) mysql_free_result($q);

    } else {
        $modo = 'nombre';

        // Busca por nombre/título con palabras separadas (AND), similar a tu buscador.
        $busqueda_normalizada = trim(preg_replace('/\s+/', ' ', $busqueda));
        $porciones = explode(" ", $busqueda_normalizada);

        $whereParts = array();
        foreach ($porciones as $p) {
            $p = trim($p);
            if ($p !== '') {
                $p_safe = mysql_real_escape_string($p);
                $whereParts[] = "titulo LIKE '%$p_safe%'";
            }
        }

        if (count($whereParts) == 0) {
            $mensaje = "Ingresá un nombre válido.";
        } else {
            $where = implode(" AND ", $whereParts);

            $sql = "SELECT ID, titulo, precio, stock, barcode
                    FROM articulos
                    WHERE $where
                    ORDER BY titulo ASC
                    LIMIT 80";

            $q = mysql_query($sql);

            if ($q && mysql_num_rows($q) > 0) {
                while ($row = mysql_fetch_assoc($q)) {
                    $resultados[] = $row;
                }
                $encontrado = true;
            } else {
                $mensaje = "No se encontraron coincidencias.";
            }

            if ($q) mysql_free_result($q);
        }
    }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Consultador de precios</title>

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css"
        integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M"
        crossorigin="anonymous">

  <style>
    html, body { height: 100%; margin: 0; background: #f6f6f6; }
    .center-wrap {
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 14px;
    }
    .card-consulta {
      width: 100%;
      max-width: 860px;
      border-radius: 12px;
      box-shadow: 0 8px 26px rgba(0,0,0,.12);
      background: #ffffff;
      padding: 18px;
      text-align: center;
    }
    .titulo-panel {
      font-size: 22px;
      font-weight: 900;
      margin-bottom: 4px;
    }
    .sub {
      color: #555;
      font-size: 14px;
      margin-bottom: 10px;
    }
    .input-busqueda {
      font-size: 22px;
      height: 56px;
      text-align: center;
      letter-spacing: 0.3px;
    }
    .btn-buscar {
      height: 56px;
      font-size: 20px;
      font-weight: 800;
      width: 100%;
    }
    .precio-grande {
      font-size: 76px;
      font-weight: 900;
      line-height: 1;
      margin: 16px 0 6px 0;
      color: #0b7a0b;
    }
    .titulo-grande {
      font-size: 20px;
      font-weight: 800;
      margin-bottom: 6px;
      color: #222;
    }
    .msg {
      margin-top: 10px;
      font-size: 18px;
      font-weight: 800;
      color: #b00020;
      text-align: center;
    }
    .btn-cerrar {
      margin-top: 14px;
      height: 54px;
      font-size: 18px;
      font-weight: 900;
      width: 100%;
    }

    /* Tabla "tipo Excel" */
    .excel-wrap {
      text-align: left;
      margin-top: 10px;
      max-height: 320px;
      overflow: auto;
      border: 1px solid #ddd;
      border-radius: 8px;
    }
    table.excel {
      width: 100%;
      border-collapse: collapse;
      font-size: 16px;
    }
    table.excel thead th {
      position: sticky;
      top: 0;
      background: #e9ecef;
      z-index: 2;
      border-bottom: 2px solid #ccc;
      padding: 10px;
      text-align: left;
      font-weight: 900;
    }
    table.excel td {
      border-top: 1px solid #eee;
      padding: 10px;
      vertical-align: top;
    }
    table.excel tr:nth-child(even) td {
      background: #fafafa;
    }
    .precio-col {
      font-weight: 900;
      color: #0b7a0b;
      white-space: nowrap;
    }
    .barcode-col {
      white-space: nowrap;
      color: #333;
      font-weight: 700;
    }
    .stock-col {
      white-space: nowrap;
      font-weight: 800;
      color: #0b3d91;
    }
    .clickable {
      cursor: pointer;
    }
    .hint {
      font-size: 12px;
      color: #666;
      margin-top: 8px;
    }
  </style>

  <script>
    // Permite click en una fila para re-consultar por barcode y mostrar el precio gigante
    function consultarBarcodeDesdeLista(barcode) {
      if (!barcode) return;
      window.location.href = 'consultar_precio.php?q=' + encodeURIComponent(barcode);
    }
  </script>
</head>

<body>
  <div class="center-wrap">
    <div class="card-consulta">

      <div class="titulo-panel">CONSULTAR PRECIO</div>
      <div class="sub">Ingrese código de barras o nombre de producto en el buscador</div>

      <form method="get" action="consultar_precio.php" autocomplete="off">
        <input type="text" name="q" class="form-control input-busqueda"
               placeholder="Código de barras o nombre"
               value="<?php echo htmlspecialchars($busqueda); ?>" autofocus />

        <div class="mt-3">
          <input type="submit" class="btn btn-primary btn-buscar" value="BUSCAR" />
        </div>
      </form>

      <?php if ($busqueda !== '') { ?>
        <hr>

        <?php if (!$encontrado) { ?>
          <div class="msg"><?php echo htmlspecialchars($mensaje); ?></div>
        <?php } else { ?>

          <?php if ($modo === 'barcode') { ?>
            <div class="titulo-grande"><?php echo htmlspecialchars($titulo); ?></div>
            <div class="precio-grande">$ <?php echo htmlspecialchars($precio); ?></div>
            <div class="sub">Código: <?php echo htmlspecialchars($barcode_encontrado !== '' ? $barcode_encontrado : $busqueda_sin_espacios); ?></div>

          <?php } else { ?>
            <div class="titulo-grande">Resultados para: "<?php echo htmlspecialchars($busqueda); ?>"</div>

            <div class="excel-wrap">
              <table class="excel">
                <thead>
                  <tr>
                    <th style="width: 52%;">Producto</th>
                    <th style="width: 16%;">Precio</th>
                    <th style="width: 16%;">Stock</th>
                    <th style="width: 16%;">Código</th>
                  </tr>
                </thead>
                <tbody>
                  <?php foreach ($resultados as $r) { ?>
                    <tr class="clickable" onclick="consultarBarcodeDesdeLista('<?php echo htmlspecialchars($r['barcode']); ?>')">
                      <td><?php echo htmlspecialchars($r['titulo']); ?></td>
                      <td class="precio-col">$ <?php echo htmlspecialchars($r['precio']); ?></td>
                      <td class="stock-col"><?php echo htmlspecialchars($r['stock']); ?></td>
                      <td class="barcode-col"><?php echo htmlspecialchars($r['barcode']); ?></td>
                    </tr>
                  <?php } ?>
                </tbody>
              </table>
            </div>

            <div class="hint">Tip: hacé clic en un producto de la lista para ver el precio en grande.</div>
          <?php } ?>

        <?php } ?>
      <?php } ?>

      <button type="button" class="btn btn-dark btn-cerrar" onclick="window.close();">CERRAR</button>

    </div>
  </div>

  <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"
          integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4"
          crossorigin="anonymous"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"
          integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1"
          crossorigin="anonymous"></script>
</body>
</html>
