<?php $r="../";
require_once($r."inc/funciones.php");
$titlepage="Inventario";
validNotSession($r);
$mysqli = connectDB($r);
$_GET['error'];
$_GET['msn'];

$spe=$_SESSION['perfil'];
roleaccess(1650);
$viewcost = viewroleaccess(1651);
$viewproveedor = viewroleaccess(1659);
$history = viewroleaccess(1652);
$actionload = viewroleaccess(1653);
$actionshop = viewroleaccess(1658);
$actionexchange = viewroleaccess(1654);
$actionexcel = viewroleaccess(1655);
$actionhistoryexchange = viewroleaccess(1654);
$actionfichatecnica = viewroleaccess(1654);

/* ================================
   1. PRE-CARGAR TODO EN ARRAYS
================================ */

// PRODUCTOS
$productos_array = [];
$sqlProd = $mysqli->query("SELECT * FROM z_productos WHERE eliminado = 0");
while($row = $sqlProd->fetch_assoc()){
    $productos_array[$row['id']] = $row;
}

// PRESENTACIONES
$presentaciones_array = [];
$sqlPres = $mysqli->query("SELECT id, presentacion FROM z_presentaciones_productos");
while($row = $sqlPres->fetch_assoc()){
    $presentaciones_array[$row['id']] = $row['presentacion'];
}

// PROVEEDORES
$proveedores_array = [];
$sqlProv = $mysqli->query("SELECT id, nombre FROM z_proveedores WHERE eliminado = 0");
while($row = $sqlProv->fetch_assoc()){
    $proveedores_array[$row['id']] = $row['nombre'];
}

// PRECIOS POR PRODUCTO
$precios_array = [];
$sqlPrecios = $mysqli->query("SELECT * FROM z_producto_presentacion");
while($row = $sqlPrecios->fetch_assoc()){
    $precios_array[$row['idproducto']][] = $row;
}

// PROVEEDOR POR PRODUCTO (presentación 22)
$proveedor_producto = [];
$sqlProvProd = $mysqli->query("SELECT idproducto, idproveedor 
                               FROM z_proveedores_precios 
                               WHERE idpresentacion = 22");
while($row = $sqlProvProd->fetch_assoc()){
    $proveedor_producto[$row['idproducto']] = $row['idproveedor'];
}
?>

  <?php include $r."inc/head.php"; ?>
  <style>
  #containerload{
      z-index: 1051;
    position: fixed;
    margin: auto;
    width: 100%;
    height: 100%;
    background: #5d6165b8;
    top: 0;
    left: 0;
    color: #fff;
    text-align: center;
    vertical-align: middle;
  }
      .lds-hourglass {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-hourglass:after {
  content: " ";
  display: block;
  border-radius: 50%;
  width: 0;
  height: 0;
  margin: 8px;
  box-sizing: border-box;
  border: 32px solid #fff;
  border-color: #fff transparent #fff transparent;
  animation: lds-hourglass 1.2s infinite;
}
@keyframes lds-hourglass {
  0% {
    transform: rotate(0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  50% {
    transform: rotate(900deg);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  100% {
    transform: rotate(1800deg);
  }
}

  </style>
  <div id="containerload">
      <div class="lds-hourglass"></div>
      <h3>ESPERE CARGANDO INVENTARIO...</h3>
  </div>
<body class="fixed-nav sidenav-toggled sticky-footer bg-dark" id="page-top">
  <div class="content-wrapper">
    <div class="container-fluid">
      <?php include $r."inc/nav.php"; ?>
      
      <div class="card mb-3">
       <div class="h3 card-header">
          <span>INVENTARIO ACTUAL </span>
          <button onclick="history_all_exchange()" class="btn btn-primary float-right m-1"><i class="fa fa-history"></i>Histórico traslados</button>
           <? if($actionshop): ?><button onclick="nuevo()" class="btn btn-primary float-right m-1"><i class=" fa fa-cart-plus"></i> Proveedores</button> <?php endif; ?>
        </div>
      
        <div class="card-body">
          <div class="table-responsive">
            <table class="table table-bordered table-striped"  id="dataTable" width="100%" cellspacing="0">
              <thead>
                <tr>
                  <th>Nombre Producto</th>
                  <th>Bodega Principal</th>
                  <th>Otras Bodegas</th>
                  <th>Total</th>
                  <?php if($viewcost){?><th>Costo de Compra</th><? } ?>
                  <?php if($viewproveedor){?><th>Proveedor</th><? } ?>
                  <?php if($viewcost){?><th>Precio de Venta</th><? } ?>
                  <?php if($actionload or $history){?><th><i class="fa fa-cog"></i></th><? } ?>
                </tr>
              </thead>
                <? /* ================================
                       2. INVENTARIO AGRUPADO
                    ================================ */
                    
                    $sql = $mysqli->query("
                        SELECT idproducto, precio,
                               SUM(CASE WHEN idbodega = '1' THEN cantidad ELSE 0 END) AS cantidad_bodega1,
                               SUM(CASE WHEN idbodega != '1' THEN cantidad ELSE 0 END) AS cantidad_bodega2
                        FROM z_inventario 
                        GROUP BY idproducto
                    ");
                    
                    ?>
                    
                    <tbody>
                    <?php while($producto = $sql->fetch_assoc()): 
                    
                        $idproducto = $producto['idproducto'];
                    
                        if(!isset($productos_array[$idproducto])) continue;
                    
                        $infopro = $productos_array[$idproducto];
                        $producto['cantidad'] = $producto['cantidad_bodega1'] + $producto['cantidad_bodega2'];
                        $unidadNombre = $presentaciones_array[$infopro['unidad']] ?? '';
                        if($infopro['inventario']):
                    ?>
                    
                    <tr id="trow<?= $idproducto; ?>">
                    
                        <td><?= $infopro['producto']; ?></td>
                        <td><?= number_format($producto['cantidad_bodega1'], 3, ',', '.'); ?></td>
                        <td><?= number_format($producto['cantidad_bodega2'], 3, ',', '.'); ?></td>
                        <td><?= number_format($producto['cantidad'], 3, ',', '.'); ?></td>
                    
                        <?php if($viewcost): ?>
                            <td><?= moneda($producto['precio']); ?></td>
                        <?php endif; ?>
                       <?php if($viewproveedor): ?>
                        <td>
                            <?= isset($proveedor_producto[$idproducto]) 
                                ? $proveedores_array[$proveedor_producto[$idproducto]] 
                                : '' ?>
                        </td>
                    
                        <?php endif; ?>
                        <?php if($viewcost): ?>
                            <td>
                                <?php if(isset($precios_array[$idproducto])): 
                                    foreach($precios_array[$idproducto] as $p): ?>
                                        <?= moneda($p['precio']); ?> 
                                        <b><?= $presentaciones_array[$p['idpresentacion']] ?? ''; ?></b><br/>
                                <?php endforeach; endif; ?>
                            </td>
                        <?php endif; ?>
                    
                        <td width="30px">
                            <?php if($actionload): ?>
                                <i onclick="actualizar(
                                    <?= $idproducto ?>,
                                    '<?= $infopro['producto'] ?>',
                                    '<?= $unidadNombre ?>',
                                    '<?= $producto['cantidad_bodega1'] ?>',
                                    '<?= $producto['cantidad_bodega2'] ?>'
                                )" class="btn m-1 p-0 fa text-naranja fa-cubes fa-lg"></i>
                                
                            <?php endif; ?>
                            <?php if($history): ?>
                                <i onclick="verhistory(
                                    <?= $idproducto ?>,
                                    '<?= $infopro['producto'] ?>',
                                    '<?= $unidadNombre ?>',
                                    <?= $producto['cantidad'] ?>,
                                    <?= $producto['precio'] ?>
                                )" class="btn m-1 p-0 fa text-amarillo-quemado fa-list fa-lg"></i>
                            <?php endif; ?>
                    
                            <?php if($actionexchange): ?>
                                <i onclick="exchange(
                                    <?= $idproducto ?>,
                                    <?= $producto['cantidad_bodega1']; ?>,
                                    <?= $producto['cantidad_bodega2']; ?>
                                )" class="btn m-1 p-0 fa text-cafe fa-exchange fa-lg"></i>
                            <?php endif; ?>
                    
                            <?php if($actionhistoryexchange): ?>
                                <i onclick="history_exchange(<?= $idproducto ?>)"
                                   class="btn m-1 p-0 fa text-morado fa-history fa-lg"></i>
                            <?php endif; ?>
                            
                            <?php if($actionfichatecnica): ?>
    
                            <?php if(empty($infopro['ficha_tecnica'])): ?>
                                
                                <i onclick="ficha_tecnica(
                                    <?= $idproducto ?>,
                                    '<?= $infopro['ficha_tecnica']; ?>'
                                )" class="btn m-1 p-0 fa text-verde-aguacate fa-upload fa-lg"></i>
                        
                            <?php else: ?>
                                <div class="dropdown">
                                    <i data-toggle="dropdown"
                                       aria-haspopup="true"
                                       aria-expanded="false"
                                       class="btn m-1 p-0 fa text-danger fa-file fa-lg"></i>
                                    <div class="dropdown-menu">
                                        
                                        <a class="dropdown-item"
                                           onclick="ficha_tecnica(
                                               <?= $idproducto ?>,
                                               '<?= $infopro['ficha_tecnica']; ?>'
                                           )">Ver</a>
                        
                                        <a class="dropdown-item"
                                           onclick="compartir(
                                               '<?= $infopro['ficha_tecnica']; ?>'
                                           )">Compartir</a>
                        
                                        <a class="dropdown-item"
                                           onclick="ficha_tecnica(
                                               <?= $idproducto ?>,
                                               ''
                                           )">Cargar</a>
                        
                                    </div>
                                </div>
                        
                            <?php endif; ?>
                        
                        <?php endif; ?>
                        </td>
                    
                    </tr>
                    <?php endif; ?>
                    <?php endwhile; ?>
                    </tbody>
            </table>
        </div>
    </div>
  </div>


<!-- Modal -->
<div class="modal fade" id="addShop" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Nueva Compra proveedor</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
          <form id="formulario" action="acciones_proveedores.php" method="POST">
              <input name="newshop" value="true" type="hidden">
              <div class="form-group row">
                <label for="exampleInputEmail1" class="col-sm-3 col-form-label">Fecha Compra</label>
                    <div class="col-sm-9">
                    <input type="date" class="form-control" name="fecha_compra" value="<?= date('Y-m-d'); ?>">
                </div>
              </div>
                  <div class="form-group row">
                    <label for="proveedor" class="col-sm-3 col-form-label">Proveedor</label>
                    <div class="col-sm-9">
                        <select data-placeholder="Seleccionar proveedor" class="chosen-select" name="proveedor" id="proveedor" required>
                            <option disabled selected>Selecione proveedor...</option>
                            <? $resultado = $mysqli->query("SELECT * FROM z_proveedores");
                            while ($fila = $resultado->fetch_assoc()){ ?><option value="<?= $fila["id"] ?>"><?= $fila["nombre"]; ?></option>
                            <? }; ?>
                            <option value="otro">Otro...</option>
                      </select>
                    </div>
                  </div>
                  <div id="otroproveedor"></div>
                  <div class="form-group row">
                    <label for="recipient-name" class="col-sm-3 col-form-label">Producto</label>
                    <div class="col-sm-9">
                        <select data-placeholder="Seleccionar producto" class="chosen-select" name="producto" required>
                            <option disabled selected>Selecione producto</option>
                            <? $resultado = $mysqli->query("SELECT * FROM z_productos WHERE eliminado=0 ORDER BY producto ASC");
                            while ($fila = $resultado->fetch_assoc()){ ?><option value="<?= $fila["id"] ?>"><?= $fila["codigo"].'-'.$fila["producto"]; ?></option>
                            <? }; ?>
                            <option value="otro">Otro...</option>
                      </select>
                    </div>
                  </div>
                  <div id="otroproducto"></div>
                  <div class="form-group row">
                    <label for="recipient-name" class="col-sm-3 col-form-label">Presentacion</label>
                    <div class="col-sm-9">
                        <select data-placeholder="Seleccionar present" class="chosen-select" name="present" id="present" required>
                            <? $resultado = $mysqli->query("SELECT * FROM z_presentaciones_productos ORDER BY presentacion");
                            while ($fila = $resultado->fetch_assoc()){?><option value="<?= $fila["id"]; ?>" <? if($fila["id"]==22){ echo 'selected';} ?>><?= $fila['presentacion']; ?></option>
                            <? }; ?>
                      </select>
                    </div>
                  </div>
                  <div class="form-group row">
                    <label for="precio" class="col-sm-3 col-form-label">Unidades </label>
                    <div class="col-sm-4"><input class="form-control" type="number" id="cantidad" name="cantidad" placeholder="cantidad" title="cantidad" step="0.001" value="1" required></div>
                    <div class="col-2 h6" id="unidad"></div>
                  </div>
                  <div class="form-group row">
                    <label for="cantidad" class="col-sm-3 col-form-label">Precio Kg</label>
                    <div class="col-sm-7"><input class="form-control" type="number" id="precio" name="precio" placeholder="precio" title="precio"  step="0.001" required></div>
                  </div>
                  <div class="form-group row">
                    <label for="cantidad" class="col-sm-3 col-form-label">Iva </label>
                    <div class="col-sm-7"><input class="form-control" type="number" id="iva" name="iva" placeholder="iva" title="iva" max="100" value="19" required></div>
                  </div>
            </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-danger" title="Cancelar" data-dismiss="modal"><i class="fa fa-close"></i> CANCELAR</button>
        <button type="submit" class="btn btn-primary" title="Guardar" form="formulario"><i class="fa fa-save"></i> GUARDAR</button>
      </div>
    </div>
  </div>
</div>


<!-- ACTUALIZAR MODAL (AJUSTE POR BODEGA) -->
<div class="modal fade" id="Mactualizar" tabindex="-1" role="dialog">
    <div class="modal-dialog" role="document">
        <div class="modal-content">

            <div class="modal-header" style="padding-top:0;padding-bottom:0;">
                <h5 class="modal-title">AJUSTAR INVENTARIO</h5>
                <button type="button" class="close" data-dismiss="modal">
                    <span>&times;</span>
                </button>
            </div>

            <div class="modal-body">
                <form id="actualizar_inventario" method="post" action="acciones.php">

                    <input type="hidden" name="actualizar" value="">
                    <input type="hidden" name="idproducto" value="">
                    <input type="hidden" id="cantidad_b1">
                    <input type="hidden" id="cantidad_b2">

                    <!-- PRODUCTO -->
                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">Producto:</label>
                        <div class="col-sm-9">
                            <h5 id="nameprod" class="mb-0"></h5>
                        </div>
                    </div>
                    <!-- BODEGA -->
                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">Bodega:</label>
                        <div class="col-sm-7">
                            <select class="form-control" name="bodega" id="select_bodega" required>
                                <option value="">Seleccione</option>
                                <? 
                                $sqlbodegas = $mysqli->query("SELECT id, bodega FROM z_bodegas WHERE activa = 1 ORDER BY bodega ASC"); 
                                while($rowbodegas = $sqlbodegas->fetch_assoc()) { 
                                ?>
                                    <option value="<?= $rowbodegas['id']; ?>">
                                        <?= htmlspecialchars($rowbodegas['bodega']); ?>
                                    </option>
                                <? } ?>
                            </select>
                        </div>
                    </div>
                    <!-- CANTIDAD ACTUAL -->
                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">Actual:</label>
                        <div class="col-sm-7">
                            <input class="form-control"
                                   type="number"
                                   id="tcantidad"
                                   readonly>
                        </div>
                    </div>

                    <!-- NUEVA CANTIDAD -->
                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">Nueva:</label>
                        <div class="col-sm-7">
                            <input class="form-control"
                                   type="number"
                                   name="cantidad"
                                   step="0.001"
                                   required>
                        </div>
                    </div>

                    <!-- MOTIVO -->
                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">Motivo:</label>
                        <div class="col-sm-9">
                            <textarea class="form-control"
                                      name="motivo"
                                      rows="3"
                                      required></textarea>
                        </div>
                    </div>

                    <div class="form-group">
                        <button type="button"
                                class="btn btn-danger btn-sm float-left"
                                data-dismiss="modal">
                            CERRAR
                        </button>

                        <button type="submit"
                                class="btn btn-success btn-sm float-right">
                            GUARDAR
                        </button>
                    </div>

                </form>
            </div>

        </div>
    </div>
</div>


<!-- MODAL AJUSTE INVENTARIO -->
<div class="modal fade" id="MajusteInventario" tabindex="-1" role="dialog" aria-labelledby="MajusteInventarioLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">

            <div class="modal-header">
                <h5 class="modal-title" id="MajusteInventarioLabel">AJUSTAR INVENTARIO</h5>
                <button type="button" class="close" data-dismiss="modal">
                    <span>&times;</span>
                </button>
            </div>

            <div class="modal-body">
                <form id="form_ajuste_inventario" method="post" action="acciones.php">

                    <input type="hidden" name="ajustar_inventario" value="1">
                    <input type="hidden" name="idproducto" id="ajuste_idproducto">

                    <div class="form-group row">
                        <label class="col-sm-4 col-form-label">Producto:</label>
                        <div class="col-sm-8">
                            <h5 id="ajuste_nombre_producto" class="mb-0"></h5>
                        </div>
                    </div>

                    <div class="form-group row">
                        <label class="col-sm-4 col-form-label">Stock Actual:</label>
                        <div class="col-sm-5">
                            <input type="number" 
                                   class="form-control" 
                                   id="ajuste_stock_actual" 
                                   readonly>
                        </div>
                        <div class="col-sm-3 pt-2" id="ajuste_unidad"></div>
                    </div>

                    <div class="form-group row">
                        <label class="col-sm-4 col-form-label">Nuevo Stock:</label>
                        <div class="col-sm-5">
                            <input type="number" 
                                   class="form-control" 
                                   name="nuevo_stock" 
                                   step="0.001" 
                                   min="0" 
                                   required>
                        </div>
                        <div class="col-sm-3 pt-2" id="ajuste_unidad2"></div>
                    </div>

                    <div class="form-group">
                        <label>Nota del ajuste:</label>
                        <textarea class="form-control" 
                                  name="nota_ajuste" 
                                  rows="3" 
                                  placeholder="Ej: Ajuste por conteo físico, merma, daño, corrección administrativa..."
                                  required></textarea>
                    </div>

                    <div class="form-group mb-0">
                        <button type="button" 
                                class="btn btn-danger btn-sm float-left" 
                                data-dismiss="modal">
                            CANCELAR
                        </button>

                        <button type="submit" 
                                class="btn btn-success btn-sm float-right">
                            GUARDAR AJUSTE
                        </button>
                    </div>

                </form>
            </div>

        </div>
    </div>
</div>
<!-- ===================== MODAL: HISTORIAL INDIVIDUAL ===================== -->
<div class="modal fade" id="Mhistory" tabindex="-1" role="dialog" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">

            <div id="mesage"></div>

            <div class="modal-header" style="padding-top:0;padding-bottom:0;">
                <h5 class="modal-title">HISTORIAL</h5>
                <button type="button" class="close" data-dismiss="modal">
                    <span>&times;</span>
                </button>
            </div>

            <div class="modal-body" id="MBH">
                ESPERE CARGANDO HISTORIAL
            </div>

        </div>
    </div>
</div>


<!-- ===================== MODAL: HISTORIAL GENERAL ===================== -->
<div class="modal fade" id="Mhistoryall" tabindex="-1" role="dialog" aria-hidden="true">
    <div class="modal-dialog modal-lg" role="document">
        <div class="modal-content">

            <div class="modal-header" style="padding-top:0;padding-bottom:0;">
                <h5 class="modal-title">HISTORIAL GENERAL</h5>
                <button type="button" class="close" data-dismiss="modal">
                    <span>&times;</span>
                </button>
            </div>

            <div class="modal-body">

                <!-- Filtro por fecha -->
                <div class="form-group col-6 float-right">
                    <label>Fecha</label>
                    <input type="date" 
                           class="form-control" 
                           name="fechall" 
                           onchange="history_all_exchange2(this.value)">
                </div>

                <!-- Contenedor historial -->
                <div id="MBHA">
                    ESPERE CARGANDO HISTORIAL
                </div>

            </div>

        </div>
    </div>
</div>


<!-- ===================== MODAL: FICHA TÉCNICA ===================== -->
<div class="modal fade" id="modalft" tabindex="-1" role="dialog" aria-hidden="true">
    <div class="modal-dialog modal-lg" role="document">
        <div class="modal-content">

            <div class="modal-header" style="padding-top:0;padding-bottom:0;">
                <h5 class="modal-title">FICHA TÉCNICA</h5>
                <button type="button" class="close" data-dismiss="modal">
                    <span>&times;</span>
                </button>
            </div>

            <form id="formFichaTecnica" 
                  method="POST" 
                  enctype="multipart/form-data" 
                  action="acciones.php">

                <div class="modal-body">
                    <input type="hidden" 
                           name="idproductoficha" 
                           id="idproductoficha">

                    <label>Archivo (Solo PDF)</label>
                    <input type="file" 
                           class="form-control" 
                           name="fichatecnica" 
                           accept="application/pdf" 
                           required>
                </div>

                <div class="modal-footer">
                    <button type="submit" class="btn btn-primary">
                        Guardar y Cerrar
                    </button>
                    <button type="button" 
                            class="btn btn-secondary" 
                            data-dismiss="modal">
                        Cerrar
                    </button>
                </div>

            </form>

        </div>
    </div>
</div>


<!-- ===================== MODAL: TRASLADO DE PRODUCTO ===================== -->
<div class="modal fade" id="Mexchange" tabindex="-1" role="dialog" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">

            <div id="mesage"></div>

            <div class="modal-header" style="padding-top:0;padding-bottom:0;">
                <h5 class="modal-title">Traslado de Producto</h5>
                <button type="button" class="close" data-dismiss="modal">
                    <span>&times;</span>
                </button>
            </div>

            <div class="modal-body">

                <!-- Tabla información actual bodegas -->
                <table class="table">
                    <thead>
                        <tr>
                            <th>Bodega</th>
                            <th>Información Actual</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>Bodega GALAN</td>
                            <td id="bodega-1"></td>
                        </tr>
                        <tr>
                            <td>Bodega KATALINA</td>
                            <td id="bodega-2"></td>
                        </tr>
                    </tbody>
                </table>

                <!-- Formulario traslado -->
                <form action="acciones.php" method="post" id="exchange">
                    <input type="hidden" name="exchange">

                    <div class="form-group">
                        <label>Bodega de salida:</label>
                        <select class="form-control" 
                                name="bodega_salida" 
                                required>
                            <option value="" selected disabled>
                                Selecciona una bodega
                            </option>
                            <? 
                            $sqlbodegas = $mysqli->query("SELECT * FROM z_bodegas"); 
                            while($rowbodegas = $sqlbodegas->fetch_assoc()) { 
                            ?>
                                <option value="<?= $rowbodegas['id']; ?>">
                                    <?= $rowbodegas['bodega']; ?>
                                </option>
                            <? } ?>
                        </select>
                    </div>

                    <div class="form-group">
                        <label>Cantidad a trasladar:</label>
                        <input type="number" 
                               class="form-control" 
                               name="cantidad" 
                               step="0.001" 
                               required>
                    </div>

                    <div class="form-group">
                        <label>Bodega de destino:</label>
                        <select class="form-control" 
                                name="bodega_destino" 
                                required>
                            <option value="" selected disabled>
                                Selecciona una bodega
                            </option>
                            <? 
                            $sqlbodegas = $mysqli->query("SELECT * FROM z_bodegas"); 
                            while($rowbodegas = $sqlbodegas->fetch_assoc()) { 
                            ?>
                                <option value="<?= $rowbodegas['id']; ?>">
                                    <?= $rowbodegas['bodega']; ?>
                                </option>
                            <? } ?>
                        </select>
                    </div>

                    <button type="submit" class="btn btn-primary">
                        Enviar
                    </button>
                </form>

            </div>

        </div>
    </div>
</div>


<!-- ===================== MODAL: COMPARTIR ===================== -->
<div class="modal fade" id="ModalCompartir" role="dialog">
    <div class="modal-dialog modal-sm">
        <div class="modal-content">
            <div class="modal-body text-center" id="botones-compartir">
                <!-- Botones dinámicos de compartir -->
            </div>
        </div>
    </div>
</div>

<?php include $r."inc/foot.php"; ?>
<script>
    // CAMBIO DE BODEGA
    $(document).on('change', '#select_bodega', function(){
    
        let bodega = $(this).val();
        let cantidad = 0;
    
        if(bodega == "1"){
            cantidad = parseFloat($('#cantidad_b1').val()) || 0;
        }
    
        if(bodega == "2"){
            cantidad = parseFloat($('#cantidad_b2').val()) || 0;
        }
    
        $('#tcantidad').val(cantidad);
        $('input[name=cantidad]').prop('disabled', false).focus();
    });

    function actualizar(id, name, und, cantidad1, cantidad2){
    
        $('#Mactualizar').modal('show');
    
        // IDS
        $('input[name=actualizar]').val(id);
        $('input[name=idproducto]').val(id);
    
        // DATOS PRODUCTO
        $('#nameprod').text(name);
        $('#unidad').text(und);
        $('#unidad_nueva').text(und);
    
        // GUARDAR CANTIDADES POR BODEGA
        $('#cantidad_b1').val(cantidad1);
        $('#cantidad_b2').val(cantidad2);
    
        // LIMPIAR CAMPOS
        $('#select_bodega').val('');
        $('#tcantidad').val('');
        $('input[name=cantidad]').val('');
        $('textarea[name=motivo]').val('');
    
        $('input[name=cantidad]').prop('disabled', true);
    }
  
  function verhistory(idproducto){
      $('#Mhistory').modal('show');
      $.post( "acciones.php", { history: idproducto})
      .done(function( data ) {
        $('#MBH').html(data);
      });
  }
  
  function exchange(idproducto,bodega1,bodega2){
      $('input[name=exchange]').val(idproducto);
        $('input[name=cantidad]').prop('disabled', false);
      $('#bodega-1').html(bodega1);
      $('#bodega-2').html(bodega2);
      $('#Mexchange').modal('show');
  }
  function history_exchange(idproducto){
      $('#Mhistory').modal('show');
      $.post( "acciones.php", { historyexchange: idproducto})
      .done(function( data ) {
        $('#MBH').html(data);
      });
  }
  
  function history_all_exchange(){
      $('#Mhistoryall').modal('show');
      $.post( "acciones.php", { historyallexchange: ''})
      .done(function( data ) {
        $('#MBHA').html(data);
      });
  }
  function history_all_exchange2(fecha){
      $('#Mhistoryall').modal('show');
      $.post( "acciones.php", { historyallexchange: fecha})
      .done(function( data ) {
        $('#MBHA').html(data);
      });
  }
  
    function ficha_tecnica(id, url) {
    if (!url) {
        // Si la URL está vacía, abrir el modal con ID #modalft
        $('#modalft').modal('show');
        $('input[name=idproductoficha]').val(id);
    } else {
        // Configurar la ventana emergente sin barra de navegación ni herramientas
        let opciones = "width=800,height=600,resizable=yes,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no,directories=no";
        let ventana = window.open('https://docs.google.com/gview?url=https://quimiforen.com/ft/' + encodeURIComponent(url) + '&embedded=true', '_blank', opciones);

        // Enfocar la ventana emergente si se bloquea la apertura
        if (ventana) {
            ventana.focus();
        }
    }
}
  function compartir(url) {
    const botonesHTML = `
      <button class="btn btn-compartir" data-action="copiar">
        <i class="fa fa-clone" aria-hidden="true"></i> 
      </button>
      <button class="btn btn-compartir" data-action="whatsapp">
        <i class="fa fa-whatsapp" aria-hidden="true"></i> 
      </button>
      <button class="btn btn-compartir" data-action="telegram">
        <i class="fa fa-paper-plane" aria-hidden="true"></i> 
      </button>
      <button class="btn btn-compartir" data-action="email">
        <i class="fa fa-envelope" aria-hidden="true"></i> 
      </button>
      <button class="btn btn-compartir" data-action="descargar">
        <i class="fa fa-download" aria-hidden="true"></i> 
      </button>
    `;



    $('#botones-compartir').html(botonesHTML);
    $('#ModalCompartir').modal('show');
    $('.btn-compartir').off('click').on('click', function () {
      const accion = $(this).data('action');

      switch (accion) {
        case 'copiar':
          navigator.clipboard.writeText('https://quimiforen.com/ft/'+url)
            .then(() => alert('Enlace copiado al portapapeles'))
            .catch(() => alert('Error al copiar enlace'));
          break;

        case 'whatsapp':
          window.open(`https://wa.me/?text=${encodeURIComponent('https://quimiforen.com/ft/'+url)}`, '_blank');
          break;

        case 'telegram':
          window.open(`https://t.me/share/url?url=${encodeURIComponent('https://quimiforen.com/ft/'+url)}`, '_blank');
          break;

        case 'email':
          const asunto = encodeURIComponent("Te comparto este archivo");
          const cuerpo = encodeURIComponent(`Hola,\n\nAquí tienes el enlace:\n${'https://quimiforen.com/ft/'+url}`);
          window.location.href = `mailto:?subject=${asunto}&body=${cuerpo}`;
          break;
        
        case 'descargar':
            const a = document.createElement('a');
            a.href = 'https://quimiforen.com/ft/'+url;
            a.download = ''; // o puedes poner un nombre: 'archivo.pdf'
            document.body.appendChild(a);
            a.click();
            document.body.removeChild(a);
            break;
      }
    });
  }

  
</script>
<script>
      $('#dataTable').DataTable( {
        "stateSave": true,
        "lengthMenu": [[25, 50, 100, 500, -1], [25, 50, 100, 500, "Todos" ]],
        <?php if($actionexcel){?>"dom": '<"top"lfB>rt<"bottom"ip><"clear">', // Agrega B para los botones
        "buttons": [
            'copy', 'csv', 'excel', 'pdf', 'print'
        // Puedes agregar más botones según tus necesidades
        ],
        <? } ?>
    } );
  </script>
  <script>
        $(document).ready(function() {
            // Función para manejar el envío del formulario
            $("#exchange").submit(function(event) {
                // Evitar el comportamiento predeterminado del formulario
                event.preventDefault();
                
                // Obtener los datos del formulario
                var formData = $(this).serialize();

                // Realizar la solicitud AJAX
                $.ajax({
                    url: $(this).attr('action'), // URL del servidor o archivo PHP que procesa el formulario
                    method: $(this).attr('method'), // Método de solicitud
                    data: formData, // Datos a enviar al servidor
                    dataType: "json", // Tipo de datos esperados en la respuesta
                    success: function(data) { // Función que se ejecuta cuando la solicitud es exitosa
                        // Manipular los datos recibidos
                        if (typeof data !== 'undefined') {
                            if (data.action === 'msn') {
                                swal(data.respuesta);
                            } else if (data.action === 'success') {
                                swal({
                                        title: data.respuesta,
                                        closeOnClickOutside: false,
                                        closeOnEsc: false,
                                        icon: "info",
                                        button: "OK",
                                    }, function(isConfirm) {
                                        if (isConfirm) {
                                            // Si se hace clic en el botón "OK", recargar la página
                                            location.reload();
                                        }
                                    });
                                $("#exchange")[0].reset(); // Utiliza [0] para obtener el elemento DOM del formulario
                                $('#Mexchange').modal('hide'); // Utiliza 'hide' para cerrar el modal Bootstrap
                                
                            }
                        } else {
                            console.error('No se recibió ninguna respuesta válida.');
                        }
                    },
                    error: function(xhr, status, error) { // Función que se ejecuta si hay un error en la solicitud
                        swal("Error en la solicitud AJAX: " + status + ", " + error);
                    }
                });
            });
            $('#containerload').addClass('d-none');
            
    $('select[name=producto]').on('change', function(){
        let productoSeleccionado = $(this).val();
        if (productoSeleccionado === 'otro') {
          $.ajax({
            url: 'form_producto_nuevo.php',
            type: 'POST',
            data: {},
            success: function (html) {
              $('#otroproducto').html(html);
              try { $('#categoria').trigger('chosen:updated'); } catch(e) {}
            },
            error: function () {
              $('#otroproducto').html('<div class="alert alert-danger">No se pudo cargar el formulario.</div>');
            }
          });
        }else{
            $('#otroproducto').html('');
            $.ajax({
                url: 'info.php',  // Reemplaza con la URL de tu archivo PHP que maneja la petición
                method: 'POST',
                dataType: 'json',
                data: { infoproducto: productoSeleccionado },
                success: function(response) {
                    // Verificar si la respuesta contiene la propiedad 'iva' y 'presentaciones'
                    if (response && response.iva && response.presentacion) {
                        // Asignar valor al select 'iva'
                        $('input[name=iva]').val(response.iva);
                        $('select[name=present]').val(response.presentacion).trigger('chosen:updated');
                        $('input[name=precio]').val(response.precio);
                    } else {
                        console.error('La respuesta JSON no contiene la estructura esperada.');
                    }
                },
                error: function(xhr, status, error) {
                    console.error('Error en la petición AJAX:', error);
                }
            });
        }
    });
    
    $('select[name=proveedor]').on('change', function(){
        if($(this).val()==='otro'){
            let HTMLoprov = '<hr><h3>Infomacion Proveedor</h3>';
            HTMLoprov += '<div class="form-group row"><label class="col-sm-3 col-form-label">Empresa Proveedor</label><div class="col-sm-9"><input class="form-control" type="text" name="nameprov" required></div></div>';
            HTMLoprov += '<div class="form-group row"><label class="col-sm-3 col-form-label">Correo Proveedor</label><div class="col-sm-9"><input class="form-control" type="email" name="mailprov"></div></div>';
            HTMLoprov += '<div class="form-group row"><label class="col-sm-3 col-form-label">Contacto Proveedor</label><div class="col-sm-9"><input class="form-control" type="text" name="contprov" required></div></div>';
            HTMLoprov += '<div class="form-group row"><label class="col-sm-3 col-form-label">Telefono Proveedor</label><div class="col-sm-9"><input class="form-control" type="text" name="telprov" required></div></div>';
            $('#otroproveedor').html(HTMLoprov);
        }else{
            $('#otroproveedor').html('');
        }
    });
    
    $('#formulario2').submit(function(event) {
        // Prevenir el comportamiento por defecto del formulario
        event.preventDefault();
    
        // Obtener la acción y el método del formulario
        var action = $(this).attr('action');
        var type = $(this).attr('method');
        var form = $(this);
    
        // Verificar si FormData está disponible
        var formdata = window.FormData ? new FormData(form[0]) : false;
    
        // Mostrar la alerta de procesamiento
        swal({
            title: "Espere un momento",
            text: "Estamos procesando tu solicitud",
            icon: "info",
            buttons: false,
            closeOnClickOutside: false,
            closeOnEsc: false
        });
    
       
        $.ajax({
            url: action,
            type: type,
            data        : formdata ? formdata : form.serialize(),
            cache       : false,
            contentType : false,
            processData : false,
	        success     : function(data, textStatus, jqXHR){
                // Ocultar la alerta de procesamiento
                swal.close();
                if (data.match('.php') != null){
                    $('#modalotro').modal('hide');
                    $('#addShop').modal('show');
                    
                    var response = response.replace("index.php?msn=", "");
                    $(mensage).html(response).slideDown(400);
                    setTimeout(function() {
                        $(mensage).slideUp(700);
                    }, 5000);
                    
                }else{
                    $(mensage).html(response).slideDown(400);
                    setTimeout(function() {
                        $(mensage).slideUp(700);
                    }, 5000);
                }
            }
        }).fail(function(jqXHR, textStatus, errorThrown) {
            // Ocultar la alerta de procesamiento
            swal.close();
            swal('Error: ' + textStatus + ' - ' + errorThrown);
        });
    });
    
});


// Usa el mismo patrón de SweetAlert (callback) que ya tienes funcionando
$(document).on("blur", "#nameprod", function(){
  var nombre = $.trim($(this).val());
  var $select = $('select[name=producto]');

  if(nombre === "") {
    $("#msg").text("");
    return;
  }

  $.ajax({
    url: "check_producto.php",
    type: "POST",
    data: { nameprod: nombre },
    success: function(respuesta){
      // Posibles respuestas: "no_existe" | "activo:ID" | "inactivo:ID" | "eliminado:ID"
      if(!respuesta || respuesta === "no_existe") return;

      var parts  = String(respuesta).split(":");
      var estado = parts[0];
      var idprod = parts[1];

      if(estado === "activo"){
        swal(nombre+', Este producto ya se encuentra creado en el sistema.');
        $select.val(idprod);
        try{ $select.trigger("chosen:updated"); }catch(e){}
        $('#otroproducto').html('');
        return;
      }

      if(estado === "inactivo" || estado === "eliminado"){
        swal({
          title: "Producto encontrado",
          text: nombre+" está registrado pero con estado '"+estado+"'. ¿Desea activarlo?",
          type: "warning",
          showCancelButton: true,
          confirmButtonColor: "#2FEE53",
          confirmButtonText: "Activar",
          cancelButtonText: "Cancelar",
          closeOnConfirm: false,
          showLoaderOnConfirm: true
        }, function(confirmado){
          if(!confirmado){ return; }

          $.ajax({
            url: "activar_producto.php",
            type: "POST",
            data: { id: idprod },
            success: function(r){
              if(r === "ok"){
                // Asegurar opción en el select si no está cargada (pudo estar filtrada por estado/eliminado)
                if($select.find('option[value="'+idprod+'"]').length === 0){
                  $select.append($('<option>', { value: idprod, text: nombre }));
                }

                $select.val(idprod);
                try{ $select.trigger("chosen:updated"); }catch(e){}

                $('#otroproducto').html('');
                swal("Activado", nombre+" ha sido activado correctamente.", "success");
              }else{
                swal("Error", "No se pudo activar el producto.", "error");
              }
            },
            error: function(){
              swal("Error", "No se pudo activar el producto.", "error");
            }
          });
        });
      }
    },
    error: function(){
      // opcional: manejar error silenciosamente o con alerta
    }
  });
});


function nuevo(){
    $('#otroproveedor').html('');
    $('#otroproducto').html('');
    $('input[name=newshop]').val('0');
    // Resetear el formulario
    $('#formulario')[0].reset();
    // Actualizar los elementos chosen
    $('select').trigger('chosen:updated');
    $('#addShop').modal('show');
}
    </script>
</body>
</html>