<?php
header("Content-Type: text/html;charset=utf-8");
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}
if (!isset($_SESSION["usuario_editor"]) || $_SESSION["usuario_editor"] == 0){
	header("Location: ./");
	exit;
}
	$modo_vista = array("vista"=>"", "codigo"=>0); 
	if ($_SESSION["control"]["tipo_editor"] == "administracion_general"){
		if (isset($_COOKIE["vista"])) {
			$modo_vista = json_decode($_COOKIE["vista"], true);
		} else {
			$modo_vista = array("vista"=>"administracion", "codigo"=>0); 
		}
	} else if ($_SESSION["control"]["tipo_editor"] == "administracion_almacen"){
		$modo_vista = array("vista"=>"almacen", "codigo"=>0); 
	} else if ($_SESSION["control"]["tipo_editor"] == "administracion_tienda") {
		$modo_vista = array("vista"=>"tienda", "codigo"=>$_SESSION["control"]["tienda_editor"]); 
	} else {
		$modo_vista["codigo"] = -2;
	}
require_once("data/Conexion.php");
require_once("clases/cls_tienda.php");
?>
<?php require_once("seccion_cabecera.php"); ?>
<?php require_once("seccion_css.php"); ?>
<?php require_once("seccion_dialogo.php"); ?>
<?php require_once("seccion_alertas.php"); ?>
<?php require_once("seccion_producto.php"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">

<head>
	<link rel="icon" type="image/png" href="libreria/imagenes/favicon.png" sizes="64x64">
	<title>Almacen</title>
	<meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta name="generator" content="Geany 1.38" />
	<?php if (isset($_COOKIE["custom_css"])){ ?>
	<link id="link_css" rel="stylesheet" type="text/css" href="libreria/css/demo_css_<?php echo($_COOKIE["custom_css"]); ?>.css?vervion=1.3">
	<?php } else { ?>
	<link id="link_css" rel="stylesheet" type="text/css" href="libreria/css/demo_css_Cristal.css?vervion=1.3">
	<?php } ?>
	<link rel="stylesheet" type="text/css" href="libreria/css/jquery-ui.css">
	<script language="JavaScript" type="text/javascript" src="libreria/js/jquery.min.js"></script>
	<script language="JavaScript" type="text/javascript" src="libreria/js/jquery-ui.js"></script>
</head>
<style>
<?php get_css(); ?>
<?php dialogo_loading_css(); ?>
<?php dialogo_image_css(); ?>
<?php dialogo_alert_css(); ?>
<?php dialogo_confirm_css(); ?>
<?php dialogo_product_css(); ?>
<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
<?php } ?>
</style>
<body>
	<?php alertas_pedidos_html(); ?>
	<?php dialogo_loading_html(); ?>
	<?php dialogo_image_html(); ?>
	<?php dialogo_alert_html(); ?>
	<?php dialogo_confirm_html(); ?>
<?php if (($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen") && $modo_vista["codigo"] == 0){ ?>
	<?php dialogo_product_almacen_html(); ?>
<?php } ?>
	<?php get_header_html(); ?>
	<section class="section_body">
		<div class="dv_left">
			<div class="dv_border">
				<div class="box" style="overflow: auto;">
					<div class="header">
						<span>Producto</span>
						<!--<button id="btn_agregar_productos_1" class="header_button buttons_active">
							<svg width="64px" height="64px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M15 12L12 12M12 12L9 12M12 12L12 9M12 12L12 15" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"></path> <path d="M22 12C22 16.714 22 19.0711 20.5355 20.5355C19.0711 22 16.714 22 12 22C7.28595 22 4.92893 22 3.46447 20.5355C2 19.0711 2 16.714 2 12C2 7.28595 2 4.92893 3.46447 3.46447C4.92893 2 7.28595 2 12 2C16.714 2 19.0711 2 20.5355 3.46447C21.5093 4.43821 21.8356 5.80655 21.9449 8" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"></path> </g></svg>
							<span>Agregar productos</span>
						</button>-->
					</div>
					<hr>
					<div id="producto_informacion">
						<table style="width:100%;">
							<tr><td colspan='2' align='center'><img class="info_imagen" src='libreria/imagenes/sin_imagen.png' style='max-width:80%;max-height:200px;margin:auto;' /></td></tr>
							<tr><td colspan='2'><strong>Información del articulo</strong></td></tr>
							<tr class='row_info'><td><strong>Nombre</strong></td><td class="info_nombre"></td></tr>
							<tr class='row_info row_info_extra' style='display:none;'><td><strong>Fabricante</strong></td><td class="info_fabricante"></td></tr>
							<tr class='row_info row_info_extra' style='display:none;'><td><strong>Modelo</strong></td><td class="info_modelo"></td></tr>
							<tr class='row_info row_info_extra' style='display:none;'><td><strong>Serie</strong></td><td class="info_serie"></td></tr>
							<tr class='row_info'><td><strong>Codigo</strong></td><td class="info_codigo"></td></tr>
							<tr class='row_info row_info_extra' style='display:none;'><td><strong>Codigo de barras</strong></td><td class="info_codigo_barras"></td></tr>
							<tr class='row_info'><td><strong>Precio de venta</strong></td><td class="info_precio_venta">s/. 0.00</td></tr>
							<tr class='row_info row_info_extra' style='display:none;'><td><strong>Stock minimo</strong></td><td class="info_stock_minimo">0 unidades</td></tr>
							<tr class='row_info'><td><strong>Stock</strong></td><td class="info_stock">0 unidades</td></tr>
							<tr class='row_info row_info_extra' style='display:none;'><td><strong>Prod. unitario</strong></td><td class="info_unidades"></td></tr>
						</table>
					</div>
					<div id="btn_producto_informacion" style="padding:10px 0px;cursor:pointer;">Ver mas +</div>
					<hr>
					<ul class="list_store">
					</ul>
				</div>
			</div>
		</div>
		<div class="dv_middle"><span></span><span></span><span></span></div>
		<div class="dv_right">
			<div class="menu_button"><span></span><span></span><span></span></div>
			<div id="new_panel_edit" class="dv_border">
				<div class="header">
					<span>Productos en Almacen</span>
				</div>
					<div class="buscador_input">
						<input type="text" placeholder="producto" id="filtro_buscar" name="filtro_buscar" />
						<svg width="64px" height="64px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M11 6C13.7614 6 16 8.23858 16 11M16.6588 16.6549L21 21M19 11C19 15.4183 15.4183 19 11 19C6.58172 19 3 15.4183 3 11C3 6.58172 6.58172 3 11 3C15.4183 3 19 6.58172 19 11Z" stroke="#1C274C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> </g></svg>
					</div>
					<div class="buscador_options">
						<input type="hidden" id="txt_moneda" name="txt_moneda" data-cambio="0" value="" />
						<select class="option_select" id="filtro_categorias" name="filtro_categorias">
							<option value="0" select>Categorias (Todos)</option>
						</select>
						<select class="option_select" id="filtro_existencias" name="filtro_existencias">
							<option value="-1" select>Existencias (Todos)</option>
							<option value="100">Stock &lt;= de 100</option>
							<option value="50">Stock &lt;= de 50</option>
							<option value="30">Stock &lt;= de 30</option>
							<option value="20">Stock &lt;= de 20</option>
							<option value="10">Stock &lt;= de 10</option>
							<option value="5">Stock &lt;= de 5</option>
							<option value="2">Stock &lt;= de 2</option>
							<option value="0">Stock agotado</option>
						</select>
						<span style="flex:1;"></span>
						<button class="option_button" id="btn_order_asc">
							<svg width="64px" height="64px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M10.22 15.97L9 17.19V5C9 4.59 8.66 4.25 8.25 4.25C7.84 4.25 7.5 4.59 7.5 5V17.19L6.28 15.97C5.99 15.68 5.51 15.68 5.22 15.97C4.93 16.26 4.93 16.74 5.22 17.03L7.72 19.53C7.79 19.6 7.87 19.65 7.96 19.69C8.05 19.73 8.15 19.75 8.25 19.75C8.35 19.75 8.45 19.73 8.54 19.69C8.63 19.65 8.71 19.6 8.78 19.53L11.28 17.03C11.57 16.74 11.57 16.26 11.28 15.97C10.99 15.68 10.51 15.68 10.22 15.97Z" fill="#1c274c"></path> <path d="M14 11.21C14.39 11.35 14.82 11.15 14.96 10.76L15.24 9.98001H17.27L17.55 10.76C17.66 11.07 17.95 11.26 18.26 11.26C18.34 11.26 18.43 11.25 18.51 11.22C18.9 11.08 19.1 10.65 18.96 10.26L17.25 5.47001C17.08 5.04001 16.69 4.76001 16.25 4.76001C15.81 4.76001 15.42 5.04001 15.25 5.49001L13.55 10.26C13.41 10.65 13.61 11.08 14 11.22V11.21ZM16.73 8.48001H15.77L16.25 7.14001L16.73 8.48001Z" fill="#1c274c"></path> <path d="M18.67 13.46C18.48 13.02 18.08 12.75 17.62 12.75H14.51C14.1 12.75 13.76 13.09 13.76 13.5C13.76 13.91 14.1 14.25 14.51 14.25H16.9L14.07 17.2C13.73 17.56 13.64 18.08 13.83 18.54C14.02 18.98 14.42 19.25 14.88 19.25H18.01C18.42 19.25 18.76 18.91 18.76 18.5C18.76 18.09 18.42 17.75 18.01 17.75H15.62L18.44 14.82C18.78 14.46 18.88 13.93 18.68 13.47L18.67 13.46Z" fill="#1c274c"></path> </g></svg>
						</button>
						<button class="option_button" id="btn_order_desc" style="display:none;">
							<svg width="64px" height="64px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M10.22 15.97L9 17.19V5C9 4.59 8.66 4.25 8.25 4.25C7.84 4.25 7.5 4.59 7.5 5V17.19L6.28 15.97C5.99 15.68 5.51 15.68 5.22 15.97C4.93 16.26 4.93 16.74 5.22 17.03L7.72 19.53C7.79 19.6 7.87 19.65 7.96 19.69C8.05 19.73 8.15 19.75 8.25 19.75C8.35 19.75 8.44 19.73 8.54 19.69C8.63 19.65 8.71 19.6 8.78 19.53L11.28 17.03C11.57 16.74 11.57 16.26 11.28 15.97C10.99 15.68 10.51 15.68 10.22 15.97Z" fill="#1c274c"></path> <path d="M18.96 18.25L17.25 13.46C17.08 13.03 16.69 12.75 16.25 12.75C15.81 12.75 15.42 13.03 15.25 13.48L13.55 18.25C13.41 18.64 13.61 19.07 14 19.21C14.39 19.35 14.82 19.15 14.96 18.76L15.24 17.98H17.27L17.55 18.76C17.66 19.07 17.95 19.26 18.26 19.26C18.34 19.26 18.43 19.25 18.51 19.22C18.9 19.08 19.1 18.65 18.96 18.26V18.25ZM15.77 16.48L16.25 15.14L16.73 16.48H15.77Z" fill="#1c274c"></path> <path d="M13.83 10.54C14.02 10.98 14.42 11.25 14.88 11.25H18.01C18.42 11.25 18.76 10.91 18.76 10.5C18.76 10.09 18.42 9.75001 18.01 9.75001H15.62L18.44 6.82001C18.78 6.46001 18.88 5.93001 18.68 5.47001C18.49 5.03001 18.09 4.76001 17.63 4.76001H14.52C14.11 4.76001 13.77 5.10001 13.77 5.51001C13.77 5.92001 14.11 6.26001 14.52 6.26001H16.91L14.08 9.21001C13.74 9.57001 13.65 10.09 13.84 10.55L13.83 10.54Z" fill="#1c274c"></path> </g></svg>
						</button>
						<button class="option_button" id="btn_print_table" >
							<svg width="64px" height="64px" viewBox="0 0 1024 1024" class="icon" version="1.1" xmlns="http://www.w3.org/2000/svg" fill="#000000"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><path d="M192 234.666667h640v64H192z" fill="#424242"></path><path d="M85.333333 533.333333h853.333334v-149.333333c0-46.933333-38.4-85.333333-85.333334-85.333333H170.666667c-46.933333 0-85.333333 38.4-85.333334 85.333333v149.333333z" fill="#616161"></path><path d="M170.666667 768h682.666666c46.933333 0 85.333333-38.4 85.333334-85.333333v-170.666667H85.333333v170.666667c0 46.933333 38.4 85.333333 85.333334 85.333333z" fill="#424242"></path><path d="M853.333333 384m-21.333333 0a21.333333 21.333333 0 1 0 42.666667 0 21.333333 21.333333 0 1 0-42.666667 0Z" fill="#00E676"></path><path d="M234.666667 85.333333h554.666666v213.333334H234.666667z" fill="#90CAF9"></path><path d="M800 661.333333h-576c-17.066667 0-32-14.933333-32-32s14.933333-32 32-32h576c17.066667 0 32 14.933333 32 32s-14.933333 32-32 32z" fill="#242424"></path><path d="M234.666667 661.333333h554.666666v234.666667H234.666667z" fill="#90CAF9"></path><path d="M234.666667 618.666667h554.666666v42.666666H234.666667z" fill="#42A5F5"></path><path d="M341.333333 704h362.666667v42.666667H341.333333zM341.333333 789.333333h277.333334v42.666667H341.333333z" fill="#1976D2"></path></g></svg>
						</button>		
<?php if (($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen") && $modo_vista["codigo"] == 0){ ?>
						<button id="btn_nuevo" class="header_button buttons_active">
							<svg width="64px" height="64px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M15 12L12 12M12 12L9 12M12 12L12 9M12 12L12 15" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"></path> <path d="M22 12C22 16.714 22 19.0711 20.5355 20.5355C19.0711 22 16.714 22 12 22C7.28595 22 4.92893 22 3.46447 20.5355C2 19.0711 2 16.714 2 12C2 7.28595 2 4.92893 3.46447 3.46447C4.92893 2 7.28595 2 12 2C16.714 2 19.0711 2 20.5355 3.46447C21.5093 4.43821 21.8356 5.80655 21.9449 8" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"></path> </g></svg>
							<span>Nuevo</span>
						</button>
<?php } ?>
					</div>
					<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
					<div class="opciones_adicionales_btn">Opciones Adicionales</div>
					<div class="opciones_adicionales_view">
						<label><input type="checkbox" id="tool_valor_ganancia" name="tool_valor_ganancia" />Ver el valor de ganancia</label>
						<div style="padding-left: 25px;display:none;justify-content: flex-start;"></div>
						<label><input type="checkbox" id="tool_valor_porcentual" name="tool_valor_porcentual" />Calcular el valor de ganancia grupal</label>
						<div style="display:none;">
							<div style="display:flex;padding-left: 25px;align-items: center;justify-content: flex-start;">
								<label><input type="radio" name="v_tipo_ganancia" data-tipo="moneda" checked />Moneda</label><label><input type="radio" name="v_tipo_ganancia" data-tipo="porcentaje" />Porcentaje</label>
							</div>
							<div style="display:flex;padding-left: 25px;align-items: center;justify-content: flex-start;">
							<span style="display:none;">% &nbsp;</span><input type="number" id="tool_input_porcentual" name="tool_input_porcentual" min="0" value="0" style="max-width:80px;display:none;" />
							<span>s/.&nbsp;</span><input type="number" id="tool_input_moneda" name="tool_input_moneda" min="0" value="0" style="max-width:80px;" />&nbsp;
							<button id="tool_button_porcentual"><span>Seleccionar Todo/Nada</span></button>&nbsp;<svg id="btn_save_new_precio" style="display:none;width:25px;height:25px;margin-left:5px;cursor:pointer;" width="64px" height="64px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M22 12C22 16.714 22 19.0711 20.5355 20.5355C19.0711 22 16.714 22 12 22C7.28595 22 4.92893 22 3.46447 20.5355C2 19.0711 2 16.714 2 12C2 7.28595 2 4.92893 3.46447 3.46447C4.92893 2 7.28595 2 12 2C16.714 2 19.0711 2 20.5355 3.46447C21.5093 4.43821 21.8356 5.80655 21.9449 8" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"></path> <path d="M17 2V8.8076C17 9.78253 17 10.27 16.8709 10.5607C16.5766 11.2233 15.8506 11.5805 15.1461 11.4095C14.8369 11.3344 14.4507 11.037 13.6782 10.4422C13.2421 10.1064 13.024 9.9385 12.797 9.83985C12.2886 9.61899 11.7114 9.61899 11.203 9.83985C10.976 9.9385 10.7579 10.1064 10.3218 10.4422C9.5493 11.037 9.16307 11.3344 8.85391 11.4095C8.14942 11.5805 7.42342 11.2233 7.12914 10.5607C7 10.27 7 9.78253 7 8.8076V2" stroke="#1C274C" stroke-width="1.5"></path> </g></svg>
							</div>
						</div>
						<div class="opciones_adicionales_columns" style="display:flex;">
							<label><input type="checkbox" data-column="v_column_3" checked />Ver códigos</label>
							<label><input type="checkbox" data-column="v_column_5" />Ver Fabricante</label>
							<label><input type="checkbox" data-column="v_column_6" />Ver Modelo</label>
							<label><input type="checkbox" data-column="v_column_7" />Ver Serie</label>
							<div style="flex:1;"></div>
						</div>
					</div>
					<?php } ?>
				<div class="table_view">
					<table style="width:100%;" id="table_list">
						<thead>
							<tr>
								<th class="v_column_1" width="40px">Nº</th>
								<th class="v_column_2" width="100px">Imagen</th>
								<th class="v_column_3" width="100px">Código</th>
								<th class="v_column_4">Articulo</th>
								<th class="v_column_5" width="100px">Fabricante</th>
								<th class="v_column_6" width="100px">Modelo</th>
								<th class="v_column_7" width="100px">Serie</th>
								<th class="v_column_8" width="70px">Unidades</th>
								<th class="v_column_9" width="70px">Precio de compra unit.</th>
								<th class="v_column_10" width="70px" class="td_valor_ganancia" style="display:none;">Valor de ganancia</th>
								<th class="v_column_11" width="70px" class="td_precio_venta">Precio de venta unit.</th>
								<th class="v_column_12" width="70px">Precio de Minimo</th>
								<th class="v_column_13 imp_cell_hidden" width="40px">E</th>
							</tr>
						</thead>
						<tbody>
						</tbody>
					</table>
				</div>
				<div class="header">
					<span></span>
				</div>
			</div>
			<div id="panel_splash" class="splash" style="display:none;flex:1;">
				<span class="splash_title">La Casa De La Seguridad S.A.C.</span>
				<div class="splash_image" style="background-image: url(libreria/imagenes/logo_casa_de_seguridad.png);"></div>
				<span class="splash_subtitle">Almacen</span>
			</div>
		</div>
	</section>
</body>
<script>

var ctrl_new_datos = {
	buscar: "",
	fecha_min: "",
	fecha_max: "",
	filtro_tipo: "filtro_nombre",
	filtro_estado: "Pendiente",
	items_pagina: 0,
	items_cantidad: 0,
	orden: "ASC",
	beep_activo: true,
}
var ctrl_datos = {
	buscar: "",
	filtro_almacen: $("#txt_tienda").val(),
	filtro_fabricante: "",
	filtro_categoria: "0",
	filtro_exitencia: "-1",
	items_pagina: 0,
	items_cantidad: 0,
	orden: "ASC",
	beep_activo: true,
}
function makeInt(value){
	if (value == null || value == undefined || value == NaN || value.length == 0){
		value = "0";
	}
	return parseInt(value);
}
function makeFloat(value){
	if (value == null || value == undefined || value == NaN || value.length == 0){
		value = "0.00";
	}
	return parseFloat(value);
}
function fecha_guardar(date) {
	let year = date.getFullYear();
	let month = date.getMonth() + 1;
	let day = date.getDate();
	return year + "-" + (month < 10 ? "0" : "") + month + "-" + (day < 10 ? "0" : "") + day;
}
function actualizarHora() {
	let horaActual = new Date();
	let hora = horaActual.getHours().toString().padStart(2, '0');
	let minutos = horaActual.getMinutes().toString().padStart(2, '0');
	let segundos = horaActual.getSeconds().toString().padStart(2, '0');
	let horaFormateada = `${hora}:${minutos}:${segundos}`;
	$("#txt_new_hora").val(horaFormateada);
}
<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
function cargar_tiendas(){
	$.ajax({
		type: 'POST',
		dataType: "json",
		url: "control/ctrl_tienda.php",
		data: {
			accion: "lista",
			buscar: "",
			orden: "ASC"
		},
		success: function (datos) {
			//console.log(datos);
			if (datos.estado == "ok") {
				let html = '';
				for(let idx=0; idx<datos.datos.length; idx++){
					let row = datos.datos[idx];
					let imagenes = row.imagen.split(",");
					html += '<option value="'+row.tienda_id+'">'+row.nombre+'</option>';
				}
				$("#new_filtro_almacen").append(html);
			}
			$("#new_filtro_almacen").val("0");
		},
		error: function (){
		}
	});
}
<?php } ?>
function cargar_productos(){
	$.ajax({
		type: 'POST',
		dataType: "json",
		url: "control/ctrl_producto.php",
		data: {
			accion: "lista",
			buscar: ctrl_new_datos.buscar,
			filtro_tipo: ctrl_new_datos.filtro_tipo,
			orden: ctrl_new_datos.orden,
			items_pagina: ctrl_new_datos.items_pagina,
			items_cantidad: ctrl_new_datos.items_cantidad,
			extra_precios: true
		},
		success: function (datos) {
			//console.log(datos);
			$("#new_lista_productos").html("");
			if (datos.estado == "ok") {
				let html = '';
				for(let idx=0; idx<datos.datos.length; idx++){
					let row = datos.datos[idx];
					let imagenes = row.imagen.split(",");
					html += '<div class="row_store" data-codigo="'+row.producto_id+'">';
					if (imagenes[0].length <= 0){
						html += '<div class="item_image"><img src="libreria/imagenes/sin_imagen.png"></div>';
					} else {
						html += '<div class="item_image"><img src="libreria/imagenes/productos/'+imagenes[0]+'"></div>';
					}
					html += '<span><table>';
					html += '<tr><td><strong>Producto</strong></td><td>'+row.nombre+'</td></tr>';
					if (parseInt(row.precio_venta) <= 0){
						html += '<tr><td><strong>Act. prec. venta</strong></td><td>s/. --</td></tr>';
						html += '<tr><td><strong>Act. prec. minimo</strong></td><td>s/. --</td></tr>';
					} else {
						html += '<tr><td><strong>Act. prec. venta</strong></td><td>s/. '+row.precio_venta.toFixed(2)+'</td></tr>';
						html += '<tr><td><strong>Act. prec. minimo</strong></td><td>s/. '+row.precio_minimo.toFixed(2)+'</td></tr>';
					}
					html += '</table></span>';
					html += '</div>';
				}
				$("#new_lista_productos").append(html);
				if (ctrl_new_datos.filtro_tipo == "filtro_barras" && datos.datos.length == 1){
					let row = datos.datos[0];
					let row_data = agregar_fila_producto(row.producto_id, row.nombre);
				}
			}
		},
		error: function (){
			$("#new_lista_productos").html("");
		}
	});
}
function cargar_categorias(){
	$.ajax({
		type: 'POST',
		dataType: "json",
		url: "control/ctrl_categoria.php",
		data: {
			accion: "lista",
			buscar: "",
			orden: "ASC"
		},
		success: function (datos) {
			//console.log(datos);
			if (datos.estado == "ok") {
				let html = '';
				for(let idx=0; idx<datos.datos.length; idx++){
					let row = datos.datos[idx];
					html += '<option value="'+row.categoria_id+'">'+row.nombre+'</option>';
				}
				$("#filtro_categorias").append(html);
			}
			$("#filtro_categorias").val("0");
		},
		error: function (){
		}
	});
}
function cargar_lista_moneda(){
	$.ajax({
		type: 'POST',
		dataType: "json",
		url: "control/ctrl_moneda.php",
		data: {
			accion: "lista",
			buscar: "",
			orden: "ASC"
		},
		success: function (datos) {
			//console.log(datos);
			//$("#txt_moneda").html("<option value='0'>* Nueva moneda *</option>");
			if (datos.estado == "ok") {
				for(let idx=0; idx<datos.datos.length; idx++){
					let row = datos.datos[idx];
					if (row.codigo == "USD"){
						$("#txt_moneda").val("USD");
						$("#txt_moneda").attr("data-cambio", row.cambio);
					}
					//$("#txt_moneda").append("<option value='"+row.codigo+"' data-simbolo='"+row.simbolo+"' data-cambio='"+row.cambio+"'>"+row.codigo+": "+row.simbolo+" | "+row.nombre+"</option>");
				}
			}
			
			cargar_lista();
		},
		error: function (){
			//$("#txt_moneda").html("<option value='0'>* Nueva moneda *</option>");
			$("#txt_moneda").val("");
		}
	});
}
function cargar_lista(){
    <?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
	let url = "control/ctrl_almacen_general.php";
	if (ctrl_datos.filtro_almacen != "0"){
		url = "control/ctrl_almacen_tienda.php";
	}
	<?php } else { ?>
	let url = "control/ctrl_almacen_tienda.php";
	<?php } ?>
	$.ajax({
		type: 'POST',
		dataType: "json",
		url: url,
		data: {
			accion: "lista",
			buscar: ctrl_datos.buscar,
			filtro_almacen: ctrl_datos.filtro_almacen,
			filtro_tienda: ctrl_datos.filtro_almacen,
			filtro_fabricante: ctrl_datos.filtro_fabricante,
			filtro_categoria: ctrl_datos.filtro_categoria,
			filtro_exitencia: ctrl_datos.filtro_exitencia,
			items_pagina: ctrl_datos.items_pagina,
			items_cantidad: ctrl_datos.items_cantidad,
			orden: ctrl_datos.orden
		},
		success: function (datos) {
			//console.log(datos);
			//datos = JSON.parse(datos);
			$("#table_list .row_data").remove();
			let btn_edit_display = "inline";
			let num_edit_display = "block";
			let chk_edit_display = "none";
			if($("#tool_valor_porcentual").prop("checked")){
				btn_edit_display = "none";
				num_edit_display = "none";
				chk_edit_display = "block";
			}
			if (datos.estado == "ok") {
				let cambio = makeFloat($("#txt_moneda").attr("data-cambio"));
				let display_precio_soles = "none";
				if($("#tool_precio_soles").prop("checked")){
					display_precio_soles = "block";
				}
				let display_valor_ganancia = "none";
				if($("#tool_valor_ganancia").prop("checked")){
					display_valor_ganancia = "table-cell";
				}
				let display_valor_ganancia_moneda = "none";
				let display_valor_ganancia_porcentaje = "none";
				if($("input[name='v_tipo_ganancia']:checked").attr("data-tipo") == "moneda"){
					display_valor_ganancia_moneda = "flex";
				}
				if($("input[name='v_tipo_ganancia']:checked").attr("data-tipo") == "porcentaje"){
					display_valor_ganancia_porcentaje = "flex";
				}
				for(let idx=0; idx<datos.datos.length; idx++){
					let row = datos.datos[idx];
					let childs = $("#table_list .row_data");
					let imagenes = row.producto_imagen.split(",");
					let html = '';
					if (row.almacen_tienda_id != undefined){
						html += '<tr class="row_data" data-producto="'+row.producto_id+'" data-almacen="'+row.almacen_tienda_id+'" data-origen="almacen_tienda">';
					} else {
						html += '<tr class="row_data" data-producto="'+row.producto_id+'" data-almacen="'+row.almacen_general_id+'" data-origen="almacen_general">';
					}
					html += '<td align="center" class="v_column_1 td_numero"><span style="display:'+num_edit_display+'">'+(childs.length+1)+'</span><input type="checkbox" style="display:'+chk_edit_display+';" /></td>';
					if (imagenes[0].length <= 0){
						html += '<td class="v_column_2 td_imagen_producto" align="center" data-img=""><img data-img="" src="libreria/imagenes/sin_imagen.png" height="50"></td>';
					} else {
						html += '<td class="v_column_2 td_imagen_producto" align="center" data-img="'+imagenes[0]+'"><img data-img="'+imagenes[0]+'" src="libreria/imagenes/productos/'+imagenes[0]+'" height="50"></td>';
					}
					html += '<td class="v_column_3" align="left">'+row.producto_codigo+'</td>';
					html += '<td class="v_column_4" align="left">'+row.producto_nombre+'</td>';
					html += '<td class="v_column_5" align="left">'+row.producto_fabricante+'</td>';
					html += '<td class="v_column_6" align="left">'+row.producto_modelo+'</td>';
					html += '<td class="v_column_7" align="left">'+row.producto_serie+'</td>';
					html += '<td class="v_column_8 td_cantidad" align="right" width="70"><div class="dv_input_disabled"><input type="number" value="'+row.unidades+'" min="0" step="1" style="max-width:50px;" disabled /></div></td>';
					<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
					let ganancia_porcentaje = 0.00;
					if (makeFloat(row.valor_ganancia) > 0){
						ganancia_porcentaje = (makeFloat(row.valor_ganancia)/makeFloat(row.precio_compra))*100;
					}
					html += '<td class="v_column_9 td_precio_compra" align="right" width="70">';
						html += '<div class="dv_input_disabled"                                                    ><span style="width: 20px;">'+row.moneda_simbolo+'&nbsp;</span><input class="input_precio_compra_dolar" type="number" value="'+(row.precio_compra/cambio).toFixed(3)+'" min="0.00" step="0.001" style="max-width:70px;" disabled /></div>';
						html += '<div class="dv_input_disabled td_precio_soles"><span style="width: 20px;">s/.&nbsp;</span><input class="input_precio_compra_soles" type="number" value="'+row.precio_compra.toFixed(2)+'" min="0.00" step="0.01" style="max-width:70px;" disabled /></div>';
					html += '</td>';
					html += '<td class="v_column_10 td_valor_ganancia" align="right" width="70" style="display:'+display_valor_ganancia+'">';
						html += '<div class="td_valor_ganancia_porcentaje"><span style="width: 20px;">%&nbsp;</span>                       <input class="input_precio_compra_valor" type="number" value="'+ganancia_porcentaje+'" min="0.00" step="0.001" disabled /></div>';
						html += '<div class="td_precio_soles"             ><span style="width: 20px;">s/.&nbsp;</span>                     <input class="input_precio_compra_soles" type="number" value="'+row.valor_ganancia.toFixed(2)+'" min="0.00" step="0.01" disabled /></div>';
					html += '</td>';
					html += '<td class="v_column_11 td_precio_venta" align="right" width="70">';
						html += '<div class="dv_input_disabled td_precio_soles"><span style="width: 20px;">s/.&nbsp;                   </span><input class="input_precio_compra_soles" type="number" value="'+row.precio_venta.toFixed(2)+'" min="0.00" step="0.01" style="max-width:70px;" disabled /></div>';
					html += '</td>';
					html += '<td class="v_column_12 td_precio_minimo" align="right" width="70" >';
						html += '<div class="dv_input_disabled td_precio_soles"><span style="width: 20px;">s/.&nbsp;                   </span><input class="input_precio_compra_soles" type="number" value="'+row.precio_minimo.toFixed(2)+'" min="0.00" step="0.01" style="max-width:70px;" disabled /></div>';
					html += '</td>';
					<?php } else { ?>
					html += '<td class="v_column_9 td_precio_compra" align="right" width="70">s/. '+row.precio_compra.toFixed(2)+'</td>';
					//html += '<td align="right" width="70" class="td_valor_ganancia_moneda">'+row.moneda_simbolo+' '+row.valor_ganancia.toFixed(2)+'</td>';
					html += '<td class="v_column_11 td_precio_venta" align="right" width="70">s/. '+row.precio_venta.toFixed(2)+'</td>';
					html += '<td class="v_column_12 td_precio_minimo" align="right" width="70" style="display:none;">'+row.moneda_simbolo+' '+row.precio_minimo.toFixed(2)+'</td>';
					<?php } ?>
					html += '<td class="v_column_13 imp_cell_hidden" align="center" style="min-width:80px;" >';
					html += '<div class="btn_clear" style="min-width:25px;min-height:25px;margin:0px;padding:0px;border:0px;display:inline;"></div>';
					if (row.producto_unitario_id > 0){
						html += '<svg class="btn_unbox" style="display:'+btn_edit_display+';margin-right:5px;" width="64px" height="64px" viewBox="0 -4 160 160" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M138.184 97.8078C139.094 105.535 139.956 112.648 140.752 119.768C140.888 120.982 140.683 122.23 140.769 123.453C141.073 127.743 138.691 130.153 135.03 131.556C126.245 134.924 117.506 138.436 108.606 141.476C98.8597 144.804 88.9733 147.733 79.098 150.669C77.3869 151.144 75.5814 151.167 73.8585 150.734C56.5969 146.248 39.5624 141.055 23.1238 134.055C20.5156 133.047 17.9883 131.84 15.5641 130.446C14.2359 129.494 13.1891 128.201 12.5343 126.704C11.9843 125.56 12.0219 124.072 12.0193 122.736C11.9989 114.088 11.979 105.439 12.1122 96.7925C12.1933 96.1387 12.0667 95.4759 11.7497 94.8983C11.4328 94.3214 10.9417 93.8586 10.3467 93.5757C8.38915 92.479 6.52967 91.2156 4.78835 89.7998C1.22903 86.7964 0.702511 83.2443 3.20776 79.3155C4.23007 77.8427 5.39266 76.4722 6.67917 75.2232C10.0049 71.7446 13.3855 68.3245 16.8556 64.7673C12.9674 61.2822 9.29076 57.9948 5.62448 54.696C4.58526 53.8387 3.60305 52.9147 2.68409 51.9296C0.202479 49.024 0.530055 46.1538 3.57021 43.7969C5.16643 42.5597 6.85182 41.434 8.46903 40.227C20.967 30.8841 33.4376 21.5051 45.9697 12.208C48.4303 10.4403 50.983 8.80433 53.6173 7.30762C56.7769 5.44886 59.7585 5.75548 62.605 8.19177C66.1026 11.1853 69.7117 14.0477 73.292 16.9428C74.2424 17.7114 75.2611 18.3926 76.4595 19.2656C78.0584 17.4521 79.589 15.6971 81.1405 13.961C84.2089 10.5279 87.2839 7.09994 90.3654 3.67691C93.2532 0.465455 95.2019 -0.173334 98.9529 1.81078C105.785 5.42523 112.651 9.03923 119.147 13.2063C131.14 20.8993 142.878 28.9891 154.717 36.9223C155.369 37.3611 155.992 37.842 156.581 38.3622C159.472 40.9094 159.797 43.5789 157.307 46.6007C153.304 51.4675 148.983 56.0322 143.707 59.5823C143.344 59.8265 143.022 60.1312 142.428 60.613C146.05 64.425 149.572 68.1558 153.126 71.8582C154.373 73.1538 155.773 74.3037 156.957 75.6492C160.083 79.2019 160.034 82.6996 156.846 86.1762C154.391 88.9637 151.386 91.2123 148.019 92.7816C144.559 94.3417 141.243 96.2326 138.184 97.8078ZM129.5 62.2019C128.109 61.371 127.187 60.8025 126.248 60.2623C114.692 53.6071 103.155 46.9183 91.5638 40.3254C87.4768 38.0013 83.1909 36.0245 79.1177 33.6774C76.9236 32.4127 75.284 32.8286 73.3045 34.1367C61.242 42.1197 49.1128 50.0025 36.9935 57.8962C33.9231 59.8968 30.8068 61.8263 27.4634 63.9456C28.2733 64.4706 28.7144 64.8042 29.1981 65.0615C43.6724 72.6884 58.1926 80.2285 72.5957 87.9864C75.8045 89.7145 78.4948 90.1595 81.3558 87.6182C82.169 87.0209 83.0505 86.5221 83.9812 86.1329C97.3777 79.1074 110.776 72.084 124.175 65.064C125.834 64.1944 127.475 63.2914 129.5 62.2019ZM81.6892 25.7751C100.198 35.6629 117.443 46.8001 136.038 55.3994L147.727 43.5853C147.337 43.1704 146.92 42.7814 146.48 42.4204C135.503 35.0359 124.577 27.5733 113.51 20.328C108.83 17.2642 103.854 14.6516 99.0047 11.8516C97.4952 10.9794 96.2114 10.9984 94.8508 12.4266C90.5997 16.8812 86.216 21.2031 81.6892 25.7745V25.7751ZM19.8315 99.5189C20.6336 108.059 21.3669 115.753 22.0678 123.451C22.0842 124.013 22.286 124.555 22.6421 124.991C22.9983 125.426 23.4889 125.732 24.0368 125.859C24.9951 126.168 25.9119 126.6 26.859 126.954C40.839 132.183 55.2411 136.005 69.6671 139.741C70.496 139.884 71.3329 139.97 72.173 139.998V105.919C70.0071 108.297 68.3787 110.302 66.5232 112.072C64.6493 113.998 62.5733 115.716 60.3316 117.197C57.3295 119.016 53.9847 119.347 50.749 117.516C42.2603 112.714 33.7827 107.891 25.3159 103.047C23.6803 102.112 22.1425 101.014 19.8315 99.5182V99.5189ZM131.305 101.488C129.638 102.233 128.816 102.557 128.033 102.957C119.754 107.182 111.428 111.327 103.231 115.705C100.387 117.224 97.8548 117.245 95.3936 115.372C91.3807 112.317 87.4775 109.121 83.5316 105.979C82.7118 105.326 81.9111 104.65 80.9449 103.856C81.5914 116.312 82.2169 128.358 82.849 140.566C83.6628 140.352 84.4242 140.203 85.1462 139.953C89.8009 138.342 94.476 136.782 99.092 135.065C108.638 131.514 118.151 127.88 127.674 124.266C128.932 123.789 130.102 123.342 130.181 121.569C130.47 115.083 130.895 108.604 131.305 101.483V101.488ZM9.77849 83.7044L56.8345 109.981L70.6975 97.0517L21.8826 69.1449L9.77849 83.7044ZM85.8609 95.3912C89.9762 98.5875 93.8512 101.461 97.5588 104.535C99.4327 106.088 100.976 106.357 103.237 105.152C116.982 97.8275 130.812 90.6616 144.608 83.4314C145.567 82.9293 146.478 82.336 147.339 81.828L136.378 66.9593L85.8609 95.3912ZM56.532 15.9018C41.0372 25.4187 27.5219 37.3738 13.2675 47.2747L24.2939 58.7913L70.0701 27.8374L56.532 15.9018Z" fill="#000000"></path> </g></svg>';
					} else {
						html += '<div style"display:inline;min-width:25px; min-height:25px;max-width:25px; max-height:25px;width:25px; height:25px;"></div>';
					}
					html += '<svg class="btn_edit" style="display:'+btn_edit_display+';" width="64px" height="64px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M18.562 2.9354L18.9791 2.5183C19.6702 1.82723 20.7906 1.82723 21.4817 2.5183C22.1728 3.20937 22.1728 4.32981 21.4817 5.02087L21.0646 5.43797M18.562 2.9354C18.562 2.9354 18.6142 3.82172 19.3962 4.60378C20.1783 5.38583 21.0646 5.43797 21.0646 5.43797M18.562 2.9354L14.7275 6.76995C14.4677 7.02968 14.3379 7.15954 14.2262 7.30273C14.0945 7.47163 13.9815 7.65439 13.8894 7.84776C13.8112 8.01169 13.7532 8.18591 13.637 8.53437L13.2651 9.65M21.0646 5.43797L17.23 9.27253C16.9703 9.53225 16.8405 9.66211 16.6973 9.7738C16.5284 9.90554 16.3456 10.0185 16.1522 10.1106C15.9883 10.1888 15.8141 10.2468 15.4656 10.363L14.35 10.7349M14.35 10.7349L13.6281 10.9755C13.4567 11.0327 13.2676 10.988 13.1398 10.8602C13.012 10.7324 12.9673 10.5433 13.0245 10.3719L13.2651 9.65M14.35 10.7349L13.2651 9.65" stroke="#1C274C" stroke-width="1.5"></path> <path d="M22 12C22 16.714 22 19.0711 20.5355 20.5355C19.0711 22 16.714 22 12 22C7.28595 22 4.92893 22 3.46447 20.5355C2 19.0711 2 16.714 2 12C2 10.8717 2 9.87835 2.02008 9M12 2C7.28595 2 4.92893 2 3.46447 3.46447C3.03965 3.88929 2.73806 4.38921 2.52396 5" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"></path> </g></svg>';
					html += '<svg class="btn_cancel" style="display:none;" width="64px" height="64px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M22 2L17 6.99998M17 1.99998L22 6.99996" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"></path> <path d="M2 12C2 16.714 2 19.0711 3.46447 20.5355C4.92893 22 7.28595 22 12 22C16.714 22 19.0711 22 20.5355 20.5355C22 19.0711 22 16.714 22 12V10.5M13.5 2H12C7.28595 2 4.92893 2 3.46447 3.46447C2.49073 4.43821 2.16444 5.80655 2.0551 8" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"></path> </g></svg>';
					html += '<svg class="btn_save" style="display:none;" width="64px" height="64px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M22 12C22 16.714 22 19.0711 20.5355 20.5355C19.0711 22 16.714 22 12 22C7.28595 22 4.92893 22 3.46447 20.5355C2 19.0711 2 16.714 2 12C2 7.28595 2 4.92893 3.46447 3.46447C4.92893 2 7.28595 2 12 2C16.714 2 19.0711 2 20.5355 3.46447C21.5093 4.43821 21.8356 5.80655 21.9449 8" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"></path> <path d="M17 2V8.8076C17 9.78253 17 10.27 16.8709 10.5607C16.5766 11.2233 15.8506 11.5805 15.1461 11.4095C14.8369 11.3344 14.4507 11.037 13.6782 10.4422C13.2421 10.1064 13.024 9.9385 12.797 9.83985C12.2886 9.61899 11.7114 9.61899 11.203 9.83985C10.976 9.9385 10.7579 10.1064 10.3218 10.4422C9.5493 11.037 9.16307 11.3344 8.85391 11.4095C8.14942 11.5805 7.42342 11.2233 7.12914 10.5607C7 10.27 7 9.78253 7 8.8076V2" stroke="#1C274C" stroke-width="1.5"></path> </g></svg>';
					html += '</td>';
					html += '</tr> \
					';
					$("#table_list").append(html);
				}
				vista_columnas_ventas();
			}
		},
		error: function (){
			$("#table_list .row_data").remove();
		}
	});
}
function cargar_datos(){
	let codigo = $("#table_list .row_select").attr("data-producto");
	let almacen = $("#table_list .row_select").attr("data-almacen");
	let origen = $("#table_list .row_select").attr("data-origen");
			let info_imagen = "sin_imagen.png";
			let info_nombre = "";
			let info_fabricante = "";
			let info_modelo = "";
			let info_serie = "";
			let info_codigo = "";
			let info_codigo_barras = "";
			let info_codigo_almacen = "";
			let info_precio_compra = 0;
			let info_precio_venta = 0;
			let info_stock_minimo = 0;
			let info_stock = 0;	
			let info_producto_unitario = "---";
    <?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
	let url = "control/ctrl_almacen_general.php";
	if (ctrl_datos.filtro_almacen != "0"){
		url = "control/ctrl_almacen_tienda.php";
	}
	<?php } else { ?>
	let url = "control/ctrl_almacen_tienda.php";
	<?php } ?>		
	$.ajax({
		type: 'POST',
		dataType: "json",
		url: url,
		data: {
			accion: "datos",
			buscar: almacen,
			almacen: almacen,
			origen: origen,
		},
		success: function (datos) {
			//console.log(datos);
			let html = '';
			if (datos.estado == "ok") {
				let imagenes = datos.datos.producto_imagen.split(",");
				if (imagenes[0].length > 0){
					info_imagen = "productos/"+imagenes[0];
				}
				info_nombre = datos.datos.producto_nombre;
				info_fabricante = datos.datos.producto_fabricante;
				info_modelo = datos.datos.producto_modelo;
				info_serie = datos.datos.producto_serie;
				info_codigo = datos.datos.producto_codigo;
				info_codigo_barras = datos.datos.producto_codigo_barras;
				info_codigo_almacen = datos.datos.producto_codigo_almacen;
				info_precio_venta = datos.datos.precio_venta;
				info_stock_minimo = datos.datos.producto_stock_minimo;
				info_stock = datos.datos.unidades;
				info_producto_unitario = datos.datos.producto_unitario_nombre;
			}
			$("#producto_informacion .info_imagen").attr("src", "libreria/imagenes/"+info_imagen);
			$("#producto_informacion .info_nombre").html(info_nombre);
			$("#producto_informacion .info_fabricante").html(info_fabricante);
			$("#producto_informacion .info_modelo").html(info_modelo);
			$("#producto_informacion .info_serie").html(info_serie);
			$("#producto_informacion .info_codigo").html(info_codigo);
			$("#producto_informacion .info_codigo_barras").html(info_codigo_barras);
			$("#producto_informacion .info_codigo_almacen").html(info_codigo_almacen);
			$("#producto_informacion .info_precio_compra").html("s/. "+(info_precio_compra).toFixed(2));
			$("#producto_informacion .info_precio_venta").html("s/. "+(info_precio_venta).toFixed(2));
			$("#producto_informacion .info_stock_minimo").html(info_stock_minimo + " unidades");
			$("#producto_informacion .info_stock").html(info_stock + " unidades");
			$("#producto_informacion .info_unidades").html(info_producto_unitario);
			//console.log(html);
			//$("#producto_informacion").html(html);
			$("#btn_producto_informacion").html("Ver mas +");
		},
		error: function (){
			$("#producto_informacion").html("");
		}
	});
}
function agregar_fila_producto(codigo, nombre){
	let row_data = $("#new_table_list").find("tr.row_data[data-producto='"+codigo+"']");
	if(row_data.length <= 0){
		let idx = $("#new_table_list .row_data").length;
		let html = '<tr class="row_data" data-indice="'+(idx+1)+'" data-producto="'+codigo+'" data-codigo="0" data-estado="R">';
		html += '<td align="center" class="td_numero">'+(idx+1)+'</td>';
		html += '<td align="left" class="td_nombre" style="text-align:left;"></td>';
		html += '<td align="right" width="70" class="td_cantidad"><div>ud. <input type="number" value="0" min="0" step="1" style="max-width:60px;" /></div></td>';
		html += '<td align="right" width="70" class="td_precio_compra"><div>s/. <input type="number" value="0" min="0.00" step="0.1" style="max-width:60px;" /></div></td>';
		html += '<td align="right" width="70" class="td_precio_venta"><div>s/. <input type="number" value="0" min="0.00" step="0.1" style="max-width:60px;"  /></div></td>';
		html += '<td align="right" width="70" class="td_precio_minimo"><div>s/. <input type="number" value="0" min="0.00" step="0.1" style="max-width:60px;" /></div></td>';
		html += '<td align="center">';
		html += '<svg class="btn_remove" width="64px" height="64px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M20.5001 6H3.5" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"></path> <path d="M9.5 11L10 16" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"></path> <path d="M14.5 11L14 16" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"></path> <path d="M6.5 6C6.55588 6 6.58382 6 6.60915 5.99936C7.43259 5.97849 8.15902 5.45491 8.43922 4.68032C8.44784 4.65649 8.45667 4.62999 8.47434 4.57697L8.57143 4.28571C8.65431 4.03708 8.69575 3.91276 8.75071 3.8072C8.97001 3.38607 9.37574 3.09364 9.84461 3.01877C9.96213 3 10.0932 3 10.3553 3H13.6447C13.9068 3 14.0379 3 14.1554 3.01877C14.6243 3.09364 15.03 3.38607 15.2493 3.8072C15.3043 3.91276 15.3457 4.03708 15.4286 4.28571L15.5257 4.57697C15.5433 4.62992 15.5522 4.65651 15.5608 4.68032C15.841 5.45491 16.5674 5.97849 17.3909 5.99936C17.4162 6 17.4441 6 17.5 6" stroke="#1C274C" stroke-width="1.5"></path> <path d="M18.3735 15.3991C18.1965 18.054 18.108 19.3815 17.243 20.1907C16.378 21 15.0476 21 12.3868 21H11.6134C8.9526 21 7.6222 21 6.75719 20.1907C5.89218 19.3815 5.80368 18.054 5.62669 15.3991L5.16675 8.5M18.8334 8.5L18.6334 11.5" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"></path> </g></svg>';
		html += '</td>';
		html += '</tr>';
		row_data = $(html);
		$("#new_table_list").append(row_data);
	}
	$("#new_table_list .row_data").removeClass("row_select");
	row_data.addClass("row_select");
	row_data.find(".td_nombre").html(nombre);
	let cant = row_data.find(".td_cantidad input[type='number']").val();
	row_data.find(".td_cantidad input[type='number']").val(parseInt(cant)+1);
	if (ctrl_datos.beep_activo == true){
		let audio_beep = $("#audio_beep")[0];
		if (audio_beep.paused) {
			audio_beep.play();
		} else {
			audio_beep.pause();
			audio_beep.currentTime = 0;
			audio_beep.play();
		}
	}
	return row_data;
}
function vista_columnas_ventas(){
	let checks = $(".opciones_adicionales_view .opciones_adicionales_columns input[type='checkbox']");
	let tabla = $("#table_list");
	for (let idx=0; idx<checks.length; idx++){
		let check = $(checks[idx]);
		if (check.prop("checked")){
			tabla.find("."+check.attr("data-column")).css("display", "table-cell");
		} else {
			tabla.find("."+check.attr("data-column")).css("display", "none");
		}
	}
}
function resizeWindow(){
	resizePanel();
}
<?php get_header_javascript(); ?>
<?php alertas_pedidos_javascript(); ?>
<?php dialogo_loading_javascript(); ?>
<?php dialogo_image_javascript(); ?>
<?php dialogo_alert_javascript(); ?>
<?php dialogo_confirm_javascript(); ?>
<?php if (($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen") && $modo_vista["codigo"] == 0){ ?>
<?php dialogo_product_almacen_javascript(); ?>
<?php } ?>
$(document).ready(function() {
	$( window ).on("resize", function(){
		resizeWindow();
	});
	resizeWindow();
	<?php get_header_ready(); ?>
	<?php alertas_pedidos_ready(); ?>
	<?php dialogo_loading_ready(); ?>
	<?php dialogo_image_ready(); ?>
	<?php dialogo_alert_ready(); ?>
	<?php dialogo_confirm_ready(); ?>
<?php if (($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen") && $modo_vista["codigo"] == 0){ ?>
	<?php dialogo_product_almacen_ready(); ?>
<?php } ?>
    $("#filtro_buscar").on("input", function(event) {
		if (event.originalEvent.inputType === 'insertLineBreak') { // Comprueba si se ha ingresado un "retorno de carro" (Enter)
			let valor = $(this).val();
			ctrl_datos.buscar = valor;
			cargar_lista();
		}
	});
	$("#filtro_buscar").on("keydown", function(event) {
		if (event.keyCode === 13) {
			let valor = $(this).val();
			ctrl_datos.buscar = valor;
			cargar_lista();
			event.preventDefault();
		}
	});
	$("#filtro_buscar").next().click(function(){
		if ($("#filtro_buscar").prop("disabled")){
			return;
		}
		let valor = $("#filtro_buscar").val();
		ctrl_datos.buscar = valor;
		cargar_lista();
	});
	$("#filtro_fabricantes").change(function(){
		let valor = $("#filtro_fabricantes").val();
		ctrl_datos.filtro_fabricante = valor;
		cargar_lista();
	});
	$("#filtro_categorias").change(function(){
		let valor = $("#filtro_categorias").val();
		ctrl_datos.filtro_categoria = valor;
		cargar_lista();
	});
	$("#filtro_existencias").change(function(){
		let valor = $("#filtro_existencias").val();
		ctrl_datos.filtro_exitencia = parseInt(valor);
		cargar_lista();
	});
	$(".btn_select_all_check").click(function(){
		if($(".btn_select_all_check").html() == "Seleccionar todo"){
			$("#table_list .td_numero input").prop("checked", true);
			$(".btn_select_all_check").html("Deseleccionar todo");
		} else {
			$("#table_list .td_numero input").prop("checked", false);
			$(".btn_select_all_check").html("Seleccionar todo");
		}
		
	});
	<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
	$("#btn_save_new_precio").click(function(){
		if($("#tool_valor_porcentual").prop("checked")){
			let filas_seleccionadas = $("#table_list .td_numero input:checked");
			<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
			let url = "control/ctrl_almacen_general.php";
			if (ctrl_datos.filtro_almacen != "0"){
				url = "control/ctrl_almacen_tienda.php";
			}
			<?php } else { ?>
			let url = "control/ctrl_almacen_tienda.php";
			<?php } ?>	
			let datos = [];
			for (let idx=0; idx<filas_seleccionadas.length; idx++){
				let row_data = $(filas_seleccionadas[idx]).parent().parent();
				let producto = row_data.attr("data-producto");
				let almacen = row_data.attr("data-almacen");
				let origen = row_data.attr("data-origen");
				<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
				let valor_ganancia = row_data.find(".td_valor_ganancia .input_precio_compra_soles").val();	
				let precio_compra = row_data.find(".td_precio_compra .input_precio_compra_soles").val();	
				let precio_venta = row_data.find(".td_precio_venta .input_precio_compra_soles").val();		
				let precio_minimo = row_data.find(".td_precio_minimo .input_precio_compra_soles").val();	
				<?php } else { ?>
				let valor_ganancia = parseFloat(row_data.find(".td_valor_ganancia_moneda").html());	
				let precio_compra = parseFloat(row_data.find(".td_precio_compra").html());	
				let precio_venta = parseFloat(row_data.find(".td_precio_venta").html());		
				let precio_minimo = parseFloat(row_data.find(".td_precio_minimo").html());	
				<?php } ?>	
				let unidades = row_data.find(".td_cantidad input[type='number']").val();
				let tipo_movimiento	= "Actualizacion Datos";
				datos.push({
							almacen: almacen,
							origen: origen,
			<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
							valor_ganancia: valor_ganancia,
							precio_compra: precio_compra,
							precio_venta: precio_venta,
							precio_minimo: precio_minimo,
			<?php } ?>	
							unidades: unidades,
							tipo_movimiento: tipo_movimiento,
				});
			}	
			$.ajax({
				type: 'POST',
				dataType: "json",
				url: url,
				data: {
					accion: "registrar_masivo",
					datos: JSON.stringify(datos),
				},
				success: function (datos) {
					//console.log(datos);
					if (datos.estado == "ok") {
						cargar_lista();
					} else {
						open_dialog_alert("Ocurrio un error inesperado");
					}
				},
				error: function (){
					open_dialog_alert("Ocurrio un error inesperado");
				}
			});	
		}
	});
	<?php } ?>
	
	$("#btn_order_asc").click(function(){
		if ($("#filtro_buscar").prop("disabled")){
			return;
		}
		ctrl_datos.items_pagina = 0;
		ctrl_datos.items_cantidad = 0;
		ctrl_datos.orden = "DESC";
		$("#btn_order_asc").css("display", "none");
		$("#btn_order_desc").css("display", "flex");
		cargar_lista();
	});
    $("#btn_order_desc").click(function(){
		if ($("#filtro_buscar").prop("disabled")){
			return;
		}
		ctrl_datos.items_pagina = 0;
		ctrl_datos.items_cantidad = 0;
		ctrl_datos.orden = "ASC";
		$("#btn_order_asc").css("display", "flex");
		$("#btn_order_desc").css("display", "none");
		cargar_lista();
	});
<?php if (($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen") && $modo_vista["codigo"] == 0){ ?>
	$("#btn_nuevo").click(function(){
		open_dialog_product_almacen(function(producto_indice, producto_nombre, unidades, precio_venta){
		<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
		let url = "control/ctrl_almacen_general.php";
		if (ctrl_datos.filtro_almacen != "0"){
			url = "control/ctrl_almacen_tienda.php";
		}
		<?php } else { ?>
		let url = "control/ctrl_almacen_tienda.php";
		<?php } ?>
		let almacen = $("#table_list .row_select").attr("data-almacen");
		let origen = $("#table_list .row_select").attr("data-origen");	
		let producto_id = producto_indice;
		let tipo_movimiento	= "Actualizacion Datos";
			
		$.ajax({
			type: 'POST',
			dataType: "json",
			url: url,
			data: {
				accion: "registrar",
				txt_codigo: almacen,
				origen: origen,
				producto_id: producto_id,
		<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
				valor_ganancia: 0,
				precio_compra: 0,
				precio_venta: precio_venta,
				precio_minimo: 0,
		<?php } ?>	
				imagenes: "",
				unidades: unidades,
				tipo_movimiento: tipo_movimiento,
			},
			success: function (datos) {
				console.log(datos);
				if (datos.estado == "ok") {
					if (datos.actualizar_tabla != undefined && datos.actualizar_tabla == true){
						cargar_lista();
					}
				} else if (datos.estado == "error") {
					open_dialog_alert("Ocurrio un error inesperado");
				}
			},
			error: function (){
				open_dialog_alert("Ocurrio un error inesperado");
			}
		});	
		}, function(){});
	});
<?php } ?>
	$("#btn_producto_informacion").click(function(){
		
		if ($("#btn_producto_informacion").html() == "Ver mas +"){
			$("#btn_producto_informacion").html("Ver menos -");
			$("#producto_informacion .row_info_extra").css("display", "table-row");
		} else {
			$("#btn_producto_informacion").html("Ver mas +");
			$("#producto_informacion .row_info_extra").css("display", "none");
		}
	});
	$("#txt_comprobante").prev().change(function(){
		$("#txt_comprobante").val($("#txt_comprobante").prev().val());
		$("#txt_comprobante").prev().val("");
	});
	$("#table_list").on("click", ".row_data", function(){
		if($("#filtro_buscar").prop("disabled")){
			return;
		}
		$("#table_list .row_select").removeClass("row_select");
		$(this).addClass("row_select");
		cargar_datos();
	});
	$("#table_list").on("click", ".td_imagen_producto img", function(){
		let td_imagen_producto = $(this).parent();
		if ($(this).parent().parent().find(".btn_save").css("display") == "inline"){
			open_dialog_image("productos", function(archivo, directorio){
				if (archivo.length > 0){
					td_imagen_producto.attr("data-img", archivo);
					td_imagen_producto.find("img").attr("src", "libreria/imagenes/productos/"+archivo);
					/*$("#_dialogo_product .input_image").css("background-image", "url(libreria/imagenes/productos/"+archivo+")");
					$("#_dialogo_product .row_image ul").append("<li data-image='"+archivo+"' style='background-image:url(libreria/imagenes/productos/"+archivo+");'><div class='btn_remove'>X</div></li>");
					let childs = $("#_dialogo_product .row_image ul li");
					let imagenes = [];
					for (let idx=0; idx<childs.length; idx++){
						let child = childs[idx];
						imagenes.push($(child).attr("data-image"));
					}
					$("#txt_prod_imagenes").val(imagenes.join(","));*/
				}
			});
		}
	});
	$("#table_list").on("click", ".btn_remove", function(){
		if($("#filtro_buscar").prop("disabled")){
			return;
		}
		open_dialog_confirm("¿Desea eliminar la fila seleccionada?", function(){});
	});
	$("#table_list").on("click", ".btn_unbox", function(){
		open_dialog_confirm("<strong>¿Desea abrir un paquete del producto seleccionado?</strong><br />Se retirará un paquete del producto y se ingresarán las unidades correspondientes.", function(){
			let tienda = $("#txt_tienda").val();
			let producto = $("#table_list .row_select").attr("data-producto");
			let almacen = $("#table_list .row_select").attr("data-almacen");
			let origen = $("#table_list .row_select").attr("data-origen");
			<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
			let url = "control/ctrl_almacen_general.php";
			if (ctrl_datos.filtro_almacen != "0"){
				url = "control/ctrl_almacen_tienda.php";
			}
			<?php } else { ?>
			let url = "control/ctrl_almacen_tienda.php";
			<?php } ?>	
			if (producto > 0){
				
				$.ajax({
					type: 'POST',
					dataType: "json",
					url: url,
					data: {
						accion: "convertir_unidades",
						tienda: tienda,
						producto: producto,
						almacen: almacen,
						origen: origen,
					},
					success: function (datos) {
						//console.log(datos);
						//datos = JSON.parse(datos);
						if (datos.estado == "ok") {
							cargar_lista();
						} else if (datos.estado == "error") {
							open_dialog_alert(datos.mensaje);
						} else {
							open_dialog_alert("Ocurrio un error inesperado");
						}
					},
					error: function (){
						open_dialog_alert("Ocurrio un error inesperado");
					}
				});	
		
			}
		});
	});
	$("#table_list").on("click", ".btn_edit", function(){
		let fila = $(this).closest(".row_data");
		$("#filtro_buscar").prop("disabled", true);
		$("#filtro_categorias").prop("disabled", true);
		$("#filtro_existencias").prop("disabled", true);
		fila.find(".dv_input_disabled").removeClass("dv_input_disabled");
		fila.find("input[type='number']").prop("disabled", false);
		$(".section_header").css("pointer-events", "none");
		$("#btn_order_asc").css("pointer-events", "none");
		//$("#btn_agregar_productos_1, #btn_agregar_productos_2").css("pointer-events", "none");
		$("#table_list .btn_edit, #table_list .btn_unbox").css("display", "none");
		$("#table_list .btn_clear").css("display", "none");
		fila.find(".btn_cancel").css("display", "inline");
		fila.find(".btn_save").css("display", "inline");
		//$(this).next().css("display", "inline");
		$("#table_list .row_select").removeClass("row_select");
		fila.addClass("row_select");
		let td_precio_venta = fila.find(".td_precio_venta .input_precio_compra_soles");
		let td_ganancia_moneda = fila.find(".td_valor_ganancia .input_precio_compra_soles");
		let td_ganancia_porcentaje = fila.find(".td_valor_ganancia .input_precio_compra_valor");
		td_precio_venta.attr("data-value", td_precio_venta.val());
		td_ganancia_moneda.attr("data-value", td_ganancia_moneda.val());
		td_ganancia_porcentaje.attr("data-value", td_ganancia_porcentaje.val());
		/*let filas = $("#table_list .row_data");
		for (let idx=0; idx<filas.length; idx++){
			let fila = $(filas[idx]);
			let td_precio_venta = fila.find(".td_precio_venta .input_precio_compra_soles");
			let val = td_precio_venta.attr("data-value");
			if (val != undefined){
				td_precio_venta.val(val);
			}
		}*/
		<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
		$("#tool_valor_porcentual").parent().css("display", "none");
		$("#tool_valor_ganancia").prop("disabled", true);
		$("td.td_valor_ganancia").css("visibility", "hidden");
		$(".v_column_10").css("display", "table-cell");
		$(this).parent().parent().find(".td_valor_ganancia").css("visibility", "visible");
		$("#tool_valor_ganancia").parent().next().css("display", "flex");
		<?php } ?>
	});
	$("#table_list").on("click", ".btn_cancel", function(){
		$("#box_input_tools").css("display", "none");
		let producto = $("#table_list .row_select").attr("data-producto");
		let almacen = $("#table_list .row_select").attr("data-almacen");
		let origen = $("#table_list .row_select").attr("data-origen");
		<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
		let url = "control/ctrl_almacen_general.php";
		if (ctrl_datos.filtro_almacen != "0"){
			url = "control/ctrl_almacen_tienda.php";
		}
		<?php } else { ?>
		let url = "control/ctrl_almacen_tienda.php";
		<?php } ?>	
		let row_data = $(this).closest(".row_data");
				let td_precio_venta = row_data.find(".td_precio_venta .input_precio_compra_soles");
				let td_ganancia_moneda = row_data.find(".td_valor_ganancia .input_precio_compra_soles");
				let td_ganancia_porcentaje = row_data.find(".td_valor_ganancia .input_precio_compra_valor");
				let val = td_precio_venta.attr("data-value");
				if (val != undefined){
					td_precio_venta.val(val);
				}
				val = td_ganancia_moneda.attr("data-value");
				if (val != undefined){
					td_ganancia_moneda.val(val);
				}
				val = td_ganancia_porcentaje.attr("data-value");
				if (val != undefined){
					td_ganancia_porcentaje.val(val);
				}
		$.ajax({
			type: 'POST',
			dataType: "json",
			url: url,
			data: {
				accion: "datos",
				buscar: almacen,
			},
			success: function (datos) {
				//console.log(datos);
				if (datos.estado == "ok") {
					let imagenes = datos.datos.producto_imagen.split(",");
					if (imagenes.length > 0 && imagenes[0].length > 0 ){
						row_data.find(".td_imagen_producto").attr("data-img", imagenes[0]);
						row_data.find(".td_imagen_producto img").attr("src", "libreria/imagenes/productos/"+imagenes[0]);
					} else {
						row_data.find(".td_imagen_producto").attr("data-img", "");
						row_data.find(".td_imagen_producto img").attr("src", "libreria/imagenes/sin_imagen.png");
					}
					row_data.find(".td_precio_compra .input_precio_compra_soles").val(datos.datos.precio_compra.toFixed(2));
					row_data.find(".td_precio_venta .input_precio_compra_soles").val(datos.datos.precio_venta.toFixed(2));
					row_data.find(".td_precio_minimo .input_precio_compra_soles").val(datos.datos.precio_minimo.toFixed(2));	
					row_data.find(".td_cantidad input[type='number']").val(datos.datos.unidades);
					$("#table_list .btn_clear").css("display", "inline");
					$("#table_list .btn_edit, #table_list .btn_unbox").css("display", "inline");
					$("#table_list .btn_cancel").css("display", "none");
					$("#table_list .btn_save").css("display", "none");
					$("#filtro_buscar").prop("disabled", false);
					$("#filtro_categorias").prop("disabled", false);
					$("#filtro_existencias").prop("disabled", false);
					$("#table_list .btn_save").parent().parent().find("div").addClass("dv_input_disabled");
					$("#table_list .btn_save").parent().parent().find("input").prop("disabled", true);
					$(".section_header").css("pointer-events", "auto");
					$("#btn_order_asc").css("pointer-events", "auto");
					//$("#btn_agregar_productos_1, #btn_agregar_productos_2").css("pointer-events", "auto");
					$("#tool_valor_porcentual").parent().css("display", "flex");
					$("#tool_valor_ganancia").prop("disabled", false);
					$(".td_valor_ganancia").css("visibility", "visible");
					if (!$("#tool_valor_ganancia").prop("checked")){
						$(".v_column_10").css("display", "none");
						$("#tool_valor_ganancia").parent().next().css("display", "none");
					}
				} else if (datos.estado == "error") {
				}
			},
			error: function (){
			}
		});	
	});
	$("#table_list").on("click", ".btn_save", function(){
		$("#box_input_tools").css("display", "none");
		let producto = $("#table_list .row_select").attr("data-producto");
		let almacen = $("#table_list .row_select").attr("data-almacen");
		let origen = $("#table_list .row_select").attr("data-origen");
		<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
		let url = "control/ctrl_almacen_general.php";
		if (ctrl_datos.filtro_almacen != "0"){
			url = "control/ctrl_almacen_tienda.php";
		}
		<?php } else { ?>
		let url = "control/ctrl_almacen_tienda.php";
		<?php } ?>	
		let row_data = $(this).closest(".row_data");
		let producto_id = parseFloat(row_data.attr("data-producto"));	
		<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
		let valor_ganancia = row_data.find(".td_valor_ganancia .input_precio_compra_soles").val();	
		let precio_compra = row_data.find(".td_precio_compra .input_precio_compra_soles").val();	
		let precio_venta = row_data.find(".td_precio_venta .input_precio_compra_soles").val();		
		let precio_minimo = row_data.find(".td_precio_minimo .input_precio_compra_soles").val();
		let td_precio_venta = row_data.find(".td_precio_venta .input_precio_compra_soles");
		let td_ganancia_moneda = row_data.find(".td_valor_ganancia .input_precio_compra_soles");
		let td_ganancia_porcentaje = row_data.find(".td_valor_ganancia .input_precio_compra_valor");
		td_precio_venta.attr("data-value", td_precio_venta.val());
		td_ganancia_moneda.attr("data-value", td_ganancia_moneda.val());
		td_ganancia_porcentaje.attr("data-value", td_ganancia_porcentaje.val());
		<?php } else { ?>
		let valor_ganancia = parseFloat(row_data.find(".td_precio_compra").html());	
		let precio_compra = parseFloat(row_data.find(".td_precio_compra").html());	
		let precio_venta = parseFloat(row_data.find(".td_precio_venta").html());		
		let precio_minimo = parseFloat(row_data.find(".td_precio_minimo").html());	
		<?php } ?>	
		let imagenes = row_data.find(".td_imagen_producto").attr("data-img");
		let unidades = row_data.find(".td_cantidad input[type='number']").val();
		let tipo_movimiento	= "Actualizacion Datos";
		$.ajax({
			type: 'POST',
			dataType: "json",
			url: url,
			data: {
				accion: "registrar",
				txt_codigo: almacen,
				origen: origen,
				producto_id: producto_id,
		<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
				valor_ganancia: valor_ganancia,
				precio_compra: precio_compra,
				precio_venta: precio_venta,
				precio_minimo: precio_minimo,
		<?php } ?>	
				imagenes: imagenes,
				unidades: unidades,
				tipo_movimiento: tipo_movimiento,
			},
			success: function (datos) {
				//console.log(datos);
				if (datos.estado == "ok") {
					$("#table_list .btn_clear").css("display", "inline");
					$("#table_list .btn_edit, #table_list .btn_unbox").css("display", "inline");
					$("#table_list .btn_cancel").css("display", "none");
					$("#table_list .btn_save").css("display", "none");
					$("#filtro_buscar").prop("disabled", false);
					$("#filtro_categorias").prop("disabled", false);
					$("#filtro_existencias").prop("disabled", false);
					$("#table_list .btn_save").parent().parent().find("div").addClass("dv_input_disabled");
					$("#table_list .btn_save").parent().parent().find("input").prop("disabled", true);
					$(".section_header").css("pointer-events", "auto");
					$("#btn_order_asc").css("pointer-events", "auto");
					//$("#btn_agregar_productos_1, #btn_agregar_productos_2").css("pointer-events", "auto");
					$("#tool_valor_porcentual").parent().css("display", "flex");
					$("#tool_valor_ganancia").prop("disabled", false);
					$(".td_valor_ganancia").css("visibility", "visible");
					if (!$("#tool_valor_ganancia").prop("checked")){
						$(".v_column_10").css("display", "none");
						$("#tool_valor_ganancia").parent().next().css("display", "none");
					}
					if (datos.actualizar_tabla != undefined && datos.actualizar_tabla == true){
						cargar_lista();
					}
				} else if (datos.estado == "error") {
					open_dialog_alert("Ocurrio un error inesperado");
				}
			},
			error: function (){
				open_dialog_alert("Ocurrio un error inesperado");
			}
		});		
		
	});
	<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
	$(".opciones_adicionales_btn").click(function(){
		let panel = $(this).next();
		if (panel.css("display") != "none"){
			panel.slideUp(500);
		} else {
			panel.slideDown(500);
		}
	});
	$("#tool_precio_venta").change(function(){
		if ($("#tool_precio_venta").prop("checked")){
			$(".td_precio_venta").css("display", "table-cell");
		} else {
			$(".td_precio_venta").css("display", "none");
		}
	});
	$("#tool_precio_soles").change(function(){
		/*if ($("#tool_precio_soles").prop("checked")){
			$(".td_precio_soles").css("display", "flex");
		} else {
			$(".td_precio_soles").css("display", "none");
		}*/
	});
	$("#tool_valor_ganancia").change(function(){
		if ($("#tool_valor_ganancia").prop("checked")){
			$(".v_column_10").css("display", "table-cell");
			//$(this).parent().next().css("display", "flex");
		} else {
			$(".v_column_10").css("display", "none");
			//$(this).parent().next().css("display", "none");
		}
	});
	$("#tool_valor_porcentual").change(function(){
		$("#table_list .td_numero input").prop("checked", false);
		$("#btn_save_new_precio").css("display", "none");
		let filas = $("#table_list .row_data");
		if ($("#tool_valor_porcentual").prop("checked")){
			$(".td_numero span").css("display", "none");
			$(".td_numero input[type='checkbox']").css("display", "block");
			$(".td_numero input[type='checkbox']").prop("disabled", false);
			$(this).parent().next().css("display", "block");
			$("#table_list svg").css("display", "none");
			for (let idx=0; idx<filas.length; idx++){
				let fila = $(filas[idx]);
				let td_precio_venta = fila.find(".td_precio_venta .input_precio_compra_soles");
				let td_ganancia_moneda = fila.find(".td_valor_ganancia .input_precio_compra_soles");
				let td_ganancia_porcentaje = fila.find(".td_valor_ganancia .input_precio_compra_valor");
				td_precio_venta.attr("data-value", td_precio_venta.val());
				td_ganancia_moneda.attr("data-value", td_ganancia_moneda.val());
				td_ganancia_porcentaje.attr("data-value", td_ganancia_porcentaje.val());
			}
		} else {
			$(".td_numero span").css("display", "block");
			$(".td_numero input[type='checkbox']").css("display", "none");
			$(".td_numero input[type='checkbox']").prop("disabled", true);
			$(this).parent().next().css("display", "none");
			$("#table_list .btn_edit, #table_list .btn_unbox").css("display", "inline");
			for (let idx=0; idx<filas.length; idx++){
				let fila = $(filas[idx]);
				let td_precio_venta = fila.find(".td_precio_venta .input_precio_compra_soles");
				let td_ganancia_moneda = fila.find(".td_valor_ganancia .input_precio_compra_soles");
				let td_ganancia_porcentaje = fila.find(".td_valor_ganancia .input_precio_compra_valor");
				let val = td_precio_venta.attr("data-value");
				if (val != undefined){
					td_precio_venta.val(val);
				}
				val = td_ganancia_moneda.attr("data-value");
				if (val != undefined){
					td_ganancia_moneda.val(val);
				}
				val = td_ganancia_porcentaje.attr("data-value");
				if (val != undefined){
					td_ganancia_porcentaje.val(val);
				}
			}
		}
	});
	$("#tool_input_porcentual").change(function(){
		if ($("#tool_valor_porcentual").prop("checked")){
			let new_val = makeFloat($(this).val());
			let lista = $("#table_list .td_numero input:checked");
			for (let idx=0; idx<lista.length; idx++){
				let fila = $($(lista[idx]).parent().parent());
				let input_ganancia = fila.find(".td_valor_ganancia_porcentaje .input_precio_compra_valor");
				input_ganancia.val(new_val.toFixed(2));
				input_ganancia.change();
			}
			$("#btn_save_new_precio").css("display", "flex");
		} else {
		}
	});
	$("#tool_input_porcentual").keyup(function(e){
		if(e.keyCode == 13){
			$("#tool_input_porcentual").change();
		}
	});
	$("#tool_input_moneda").change(function(){
		if ($("#tool_valor_porcentual").prop("checked")){
			let new_val = makeFloat($(this).val());
			let lista = $("#table_list .td_numero input:checked");
			new_val = new_val.toFixed(2);
			for (let idx=0; idx<lista.length; idx++){
				let fila = $($(lista[idx]).closest(".row_data"));
				let input_ganancia = fila.find(".td_valor_ganancia .input_precio_compra_soles");
				input_ganancia.val(new_val);
				input_ganancia.change();
			}
			$("#btn_save_new_precio").css("display", "flex");
		} else {
		}
	});
	$("#tool_input_moneda").keyup(function(e){
		if(e.keyCode == 13){
			$("#tool_input_moneda").change();
		}
	});
	
	$("#tool_button_porcentual").click(function(){
		let check_todos = $("#table_list .td_numero input[type='checkbox']");
		let check_activos = $("#table_list .td_numero input[type='checkbox']:checked");
		if (check_todos.length == check_activos.length){
			check_todos.prop("checked", false);
		} else {
			check_todos.prop("checked", true);
		}
	});
	$("input[name='v_tipo_ganancia']").change(function(){
		let tipo = $("input[name='v_tipo_ganancia']:checked").attr("data-tipo");
		if (tipo == "moneda"){
			//$(".td_valor_ganancia_porcentaje").css("display", "none");
			//$(".td_valor_ganancia_moneda").css("display", "flex");
			$("#tool_input_moneda").css("display", "flex");
			$("#tool_input_moneda").prev().css("display", "flex");
			$("#tool_input_porcentual").css("display", "none");
			$("#tool_input_porcentual").prev().css("display", "none");
		} else if (tipo == "porcentaje"){
			//$(".td_valor_ganancia_porcentaje").css("display", "flex");
			//$(".td_valor_ganancia_moneda").css("display", "none");
			$("#tool_input_moneda").css("display", "none");
			$("#tool_input_moneda").prev().css("display", "none");
			$("#tool_input_porcentual").css("display", "flex");
			$("#tool_input_porcentual").prev().css("display", "flex");
		}
	});
	$("#table_list").on("change", ".td_precio_compra .input_precio_compra_dolar", function(){
		let fila = $(this).parent().parent().parent();
		let cambio = $("#txt_moneda").attr("data-cambio");
		if (cambio == undefined || cambio.length < 0){
			cambio = "1.00";
		}
		cambio = makeFloat(cambio);
		let precio_compra_dolar = fila.find(".td_precio_compra .input_precio_compra_dolar");
		let precio_compra_soles = fila.find(".td_precio_compra .input_precio_compra_soles");
		if (precio_compra_dolar.val() <= 0){
			precio_compra_dolar.val("0.00");
		}
		precio_compra_soles.val((makeFloat(precio_compra_dolar.val())*cambio).toFixed(2));
		let ganancia_moneda = fila.find(".td_valor_ganancia .input_precio_compra_soles");
		ganancia_moneda.change();
	});
	$("#table_list").on("change", ".td_precio_compra .input_precio_compra_soles", function(){
		let fila = $(this).parent().parent().parent();
		let cambio = $("#txt_moneda").attr("data-cambio");
		if (cambio == undefined || cambio.length < 0){
			cambio = "1.00";
		}
		cambio = makeFloat(cambio);
		let precio_compra_dolar = fila.find(".td_precio_compra .input_precio_compra_dolar");
		let precio_compra_soles = fila.find(".td_precio_compra .input_precio_compra_soles");
		if (precio_compra_soles.val() <= 0){
			precio_compra_soles.val("0.00");
		}
		precio_compra_dolar.val((makeFloat(precio_compra_dolar.val())/cambio).toFixed(3));
		let ganancia_moneda = fila.find(".td_valor_ganancia .input_precio_compra_soles");
		ganancia_moneda.change();
	});
	$("#table_list").on("change", ".td_valor_ganancia_porcentaje .input_precio_compra_valor", function(){
		let fila = $(this).parent().parent().parent();
		let cambio = $("#txt_moneda").attr("data-cambio");
		if (cambio == undefined || cambio.length < 0){
			cambio = "0";
		}
		cambio = makeFloat(cambio);
		let precio_compra = fila.find(".td_precio_compra .input_precio_compra_soles");
		let ganancia_porcentaje = fila.find(".td_valor_ganancia .input_precio_compra_valor");
		let ganancia_moneda = fila.find(".td_valor_ganancia .input_precio_compra_soles");
		let precio_venta = fila.find(".td_precio_venta .input_precio_compra_soles");
		if (ganancia_porcentaje.val() <= 0){
			ganancia_porcentaje.val("0.00");
		}
		ganancia_moneda.val((makeFloat(precio_compra.val())*(makeFloat(ganancia_porcentaje.val())/100.00)).toFixed(2));
		precio_venta.val((makeFloat(precio_compra.val()) + makeFloat(ganancia_moneda.val())).toFixed(2));
	});
	$("#table_list").on("change", ".td_valor_ganancia .input_precio_compra_soles", function(){
		let fila = $(this).parent().parent().parent();
		let cambio = $("#txt_moneda").attr("data-cambio");
		if (cambio == undefined || cambio.length < 0){
			cambio = "0";
		}
		cambio = makeFloat(cambio);
		let precio_compra = fila.find(".td_precio_compra .input_precio_compra_soles");
		let ganancia_porcentaje = fila.find(".td_valor_ganancia .input_precio_compra_valor");
		let ganancia_moneda = fila.find(".td_valor_ganancia .input_precio_compra_soles");
		let precio_venta = fila.find(".td_precio_venta .input_precio_compra_soles");
		if (precio_venta.val() <= 0){
			precio_venta.val("0.00");
		}
		ganancia_porcentaje.val((makeFloat(ganancia_moneda.val())/makeFloat(precio_compra.val()))*100);
		precio_venta.val((makeFloat(precio_compra.val()) + makeFloat(ganancia_moneda.val())).toFixed(2));
	});
	$("#table_list").on("change", ".td_precio_venta .input_precio_compra_soles", function(){
		let fila = $(this).parent().parent().parent();
		let precio_venta = fila.find(".td_precio_venta .input_precio_compra_soles");
		let val = makeFloat(precio_venta.val());
		if (val <= 0){
			precio_venta.val("0.00");
		}
	});
	<?php } ?>
	
	/*$("#btn_agregar_productos_1, #btn_agregar_productos_2").click(function(){
		cargar_productos();
		$("#_dialogo_agregar").css("display", "flex");
	});*/
    $("#btn_new_producto_order_asc").click(function(){
		if ($("#txt_new_buscar_producto").prop("disabled")){
			return;
		}
		ctrl_new_datos.items_pagina = 0;
		ctrl_new_datos.items_cantidad = 0;
		ctrl_new_datos.orden = "DESC";
		$("#btn_new_producto_order_asc").css("display", "none");
		$("#btn_new_producto_order_desc").css("display", "flex");
		cargar_productos();
	});
    $("#btn_new_producto_order_desc").click(function(){
		if ($("#txt_new_buscar_producto").prop("disabled")){
			return;
		}
		ctrl_new_datos.items_pagina = 0;
		ctrl_new_datos.items_cantidad = 0;
		ctrl_new_datos.orden = "ASC";
		$("#btn_new_producto_order_asc").css("display", "flex");
		$("#btn_new_producto_order_desc").css("display", "none");
		cargar_productos();
	});
	$("#new_table_list").on("click", ".row_data", function(){
		$("#new_table_list .row_select").removeClass("row_select");
		$(this).addClass("row_select");
	});
	$("#new_table_list").on("click", ".btn_remove", function(){
		let parent = $(this).parent().parent();
		open_dialog_confirm("¿Desea eliminar la fila seleccionada?", function(){
			parent.remove();
		}, function(){});
	});
	$("#txt_new_buscar_producto").on("input", function(event) {
		if (event.originalEvent.inputType === 'insertLineBreak') { // Comprueba si se ha ingresado un "retorno de carro" (Enter)
			let valor = $(this).val();
			ctrl_new_datos.buscar = valor;
			cargar_productos();
		}
	});
	$("#txt_new_buscar_producto").on("keydown", function(event) {
		if (event.keyCode === 13) {
			let valor = $(this).val();
			ctrl_new_datos.buscar = valor;
			cargar_productos();
			event.preventDefault();
		}
	});
	$("#txt_new_buscar_producto").next().click(function(){
		let valor = $("#txt_buscar_producto").val();
		ctrl_new_datos.buscar = valor;
		cargar_productos();
	});
	$("#txt_new_filtro_tipo").change(function(){
		ctrl_new_datos.filtro_tipo = $(this).val();
	});
	$("#new_lista_productos").on("click", ".row_store", function(e){
		$("#new_lista_productos .row_select").removeClass("row_select");
		$(this).addClass("row_select");
	});
	$("#new_lista_productos").on("dblclick", ".row_store", function(){
		let codigo = $(this).attr("data-codigo");
		$.ajax({
			type: "POST",
			dataType: "json",
			url: "control/ctrl_producto.php",
			data: {
				accion: "datos",
				buscar: codigo,
			},
			success: function (datos) {
				//console.log(datos);
				if (datos.estado == "ok") {
					let row = datos.datos;
					let row_data = agregar_fila_producto(row.producto_id, row.nombre);
				}
			},
			error: function (){
				open_dialog_alert("Ocurrió un error buscando los datos del producto");
			}
		});
	});
	$("#_dialogo_agregar .btn_accept").click(function(){
		let lista = [];
		let rows = $("#new_table_list .row_data");
		let new_filtro_almacen = $("#new_filtro_almacen").val();
		for (let idx=0; idx<rows.length; idx++){
			let row = $(rows[idx]);
			if (parseFloat(row.find(".td_precio_venta .input_precio_compra_soles").val()) <= 0.0){
				open_dialog_alert("Falta ingresar el precio de venta por unidad.");
				row.find(".td_precio_venta .input_precio_compra_soles").focus();
				return;
			}
			lista.push({
				indice: row.attr("data-indice"),
				codigo: row.attr("data-codigo"),
				estado: row.attr("data-estado"),
				almacen_id: 0,
				producto_id: row.attr("data-producto"),
				moneda_id: 0,
				precio_compra: row.find(".td_precio_compra .input_precio_compra_soles").val(),
				precio_venta: row.find(".td_precio_venta .input_precio_compra_soles").val(),
				precio_minimo: row.find(".td_precio_minimo .input_precio_compra_soles").val(),
				unidades: row.find(".td_cantidad input[type='number']").val(),
				ubicacion: "",
			});
		}
		if (lista.length == 0){
			open_dialog_alert("No se detectan productos en la lista.");
			return;
		}
		let fechaHoy = new Date();
		let fechaHoyFormateada = fecha_guardar(fechaHoy);
		<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
		let url = "control/ctrl_compra.php";
		if (new_filtro_almacen != "0"){
			url = "control/ctrl_movimiento.php";
		}
		<?php } else { ?>
		let url = "control/ctrl_movimiento.php";
		<?php } ?>
		open_loading();
		$.ajax({
			type: "POST",
			dataType: "json",
			url: url,
			data: {
				accion: "almacenar_actualizacion",
				txt_codigo: 0,
				txt_fecha: fechaHoyFormateada,
				txt_hora: $("#txt_new_hora").val(),
				txt_origen_id: '<?php echo($_SESSION["control"]["tienda_editor"]); ?>',
				txt_operacion: "Actualización de inventario",
				txt_tipo_movimiento: "Actualización de inventario",
				txt_destino_id: new_filtro_almacen,
				txt_comprobante: "",
				txt_numero: "",
				txt_proveedor_id: 0,
				txt_responsable_id: 0,
				txt_costo_total: 0.0,
				txt_estado_registro: "Almacenado",
				txt_observaciones: "",
				txt_lista: JSON.stringify(lista),
			},
			success: function (datos) {
				//console.log(datos);
				if (datos.estado == "ok") {
					if ($("#new_accion").val() == "nuevo"){
						cargar_lista();
					}
					$("#txt_new_codigo").val(datos.codigo);
					for (let idx=0; idx<datos.indices.length; idx++){
						let row_data = $("#new_table_list").find("tr.row_data[data-indice='"+datos.indices[idx][0]+"']");
						row_data.attr("data-codigo", datos.indices[idx][1]);
					}
					$("#_dialogo_agregar").css("display", "none");
					$("#txt_new_buscar_producto").val("");
					$("#txt_new_filtro_tipo").val("filtro_nombre");
					ctrl_new_datos.buscar = "";
					ctrl_new_datos.filtro_tipo = "filtro_nombre";
					$("#new_table_list .row_data").remove();
					cargar_lista();
				} else if (datos.estado == "error") {
					open_dialog_alert(datos.mensaje);
				} else {
					open_dialog_alert("ocurrió un error inesperado.");
				}
				close_loading();
			},
			error: function (){
				close_loading();
				open_dialog_alert("ocurrió un error inesperado.");
			}
		});
		//$("#btn_guardar_1, #btn_guardar_2").css("display", "none");
		//$("#btn_cancelar_2").css("display", "none");
	});
	$("#_dialogo_agregar .btn_close").click(function(){
		$("#_dialogo_agregar").css("display", "none");
		$("#txt_new_buscar_producto").val("");
		$("#txt_new_filtro_tipo").val("filtro_nombre");
		ctrl_new_datos.buscar = "";
		ctrl_new_datos.filtro_tipo = "filtro_nombre";
		$("#new_table_list .row_data").remove();
	});
	$("#_dialogo_agregar .btn_new").click(function(){
		open_dialog_product(function(codigo, data){
			$("#new_lista_productos").html("");
			let imagenes = data.imagenes.split(",");
			let html = '<div class="row_store" data-codigo="'+codigo+'">';
			if (imagenes[0].length <= 0){
				html += '<div class="item_image"><img src="libreria/imagenes/sin_imagen.png"></div>';
			} else {
				html += '<div class="item_image"><img src="libreria/imagenes/productos/'+imagenes[0]+'"></div>';
			}
			html += '<span>'+data.nombre+'</span>';
			html += '</div>';
			$("#new_lista_productos").append(html);
		}, function(){});
	});
	$(".opciones_adicionales_view .opciones_adicionales_columns").on("change", "input[type='checkbox']", function(){
		vista_columnas_ventas();
	});
	$("#btn_print_table").click(function(){
		var divContents = $("#table_list").parent().html();
		var a = window.open('', '', 'height=500, width=500');
		a.document.write('<html><title>Lista de Stock</title>');
		a.document.write('<style>');
		a.document.write('html{font-family:arial;font-size:12px;}');
		a.document.write('table {border-collapse: collapse;}');
		a.document.write('table tr:nth-child(odd) {background-color: rgba(255, 255, 255, 0.2);}');
		a.document.write('table tr:nth-child(even) {background-color: rgba(100, 100, 100, 0.2);}');
		a.document.write('table th {background-color: rgba(0, 0, 0, 0.8);color: white;}');
		a.document.write('table th, table td {padding: 5px;}');
		a.document.write('.td_precio_soles {display:flex;flex-wrap: nowrap;}');
		a.document.write('input {border: 0px;background-color:transparent;color:inherit;width:min-content}');
		a.document.write('svg, .imp_cell_hidden {display:none !important;}');
		a.document.write('</style>');
		a.document.write('<body >');
		a.document.write(divContents);
		a.document.write('</body></html>');
		a.document.close();
		a.print();
	});
	var tabla_lista = "#table_list";
	$("#_dialogo_producto_unidad .table_view").on("click", ".row_data", function(){
		tabla_lista = "#_dialogo_producto_unidad .table_view";
	});
	$(document).keydown(function(event) {
		var ajustarScroll = function($elemento) {
			let height_view = $(tabla_lista).parent().outerHeight()/2;
			let pos_top = $(tabla_lista).parent().position().top+($(tabla_lista).parent().outerHeight(true)/2.0);
			$(tabla_lista).parent().scrollTop($elemento.position().top+$(tabla_lista).parent().scrollTop()-pos_top);
		}
		if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
			let $filas = $(tabla_lista+' tr');
			let $filaSeleccionada = $(tabla_lista+' .row_select');
			if (!$filaSeleccionada.length) {
                $filas.eq(0).addClass('row_select');
                ajustarScroll($filas.eq(0));
                return;
            }
            let indiceSeleccionada = $filas.index($filaSeleccionada);
            if (event.key === 'ArrowUp' && indiceSeleccionada > 1) {
                $filaSeleccionada.removeClass('row_select');
                $filas.eq(indiceSeleccionada - 1).addClass('row_select');
                $filas.eq(indiceSeleccionada - 1).click();
                ajustarScroll($filas.eq(indiceSeleccionada - 1));
            } else if (event.key === 'ArrowDown' && indiceSeleccionada < $filas.length - 1) {
                $filaSeleccionada.removeClass('row_select');
                $filas.eq(indiceSeleccionada + 1).addClass('row_select');
                $filas.eq(indiceSeleccionada + 1).click();
                ajustarScroll($filas.eq(indiceSeleccionada + 1));
            }
			event.preventDefault();
		}
	});
	<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
	cargar_tiendas();
	<?php } else { ?>
	cargar_lista();
	<?php } ?>
	cargar_categorias();
	cargar_lista_moneda(); //cargar_lista();
	setInterval(actualizarHora, 1000);
	actualizarHora();
	close_loading();
	<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_tienda" && $_SESSION["control"]["tienda_editor"] <= 0){ ?>
		open_dialog_alert("Su cuenta no se encuentra vinculada a una tienda.<br />Comuniquese con su administrador y vuelva a iniciar sesión.");
	<?php } ?>
});
</script>
</html>
