<?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"=>"general", "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>Reposiciones</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 if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
<?php dialogo_product_css(); ?>
<?php } ?>
#box_input_tools{
	display: none;
    position: absolute;
    background-color: white;
    border: 1px solid #ccc;
    padding: 3px;
	width: 150px;
	height: 50px;
	top: 0;
	right: 0;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: center;
}
#box_input_tools .info{
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	flex:1;
}
#box_input_tools .info div{
	color:#000000;
}
#box_input_tools .buttons{
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-end;
	align-content: stretch;
	height: 100%;
}
#box_input_tools .btn_apply{
	width: 33px;
	height: 25px;
	font-size:20px;
	border-radius:10px;
	color:white;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	cursor:pointer;
	background: #0000FF;
	color: white;
}
#box_input_tools .btn_close{
	width: 15px;
	height: 15px;
	font-size: 10px;
	cursor: pointer;
	background: red;
	border-radius: 50%;
	color: white;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: center;
}
.row_info{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	align-content: stretch;
	padding: 3px 0px;
}
.row_info span:nth-child(odd){
	width:50%;
	max-width:100px;
	font-weight: bold;
}
.row_info span:nth-child(even){
	flex:1;
}
</style>
<body>
	<?php alertas_pedidos_html(); ?>
	<?php dialogo_loading_html(); ?>
	<?php dialogo_image_html(); ?>
	<?php dialogo_alert_html(); ?>
	<?php dialogo_confirm_html(); ?>
	<?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>
					</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>
						</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">
			<?php if ($modo_vista["codigo"] > 0){ ?>
					<span>Stock faltante</span>
			<?php } else { ?>
					<span>Reponer Productos</span>
			<?php } ?>
				</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="" />
			<?php if ($modo_vista["codigo"] > 0){ ?>
						<input type="hidden" id="filtro_tienda" name="filtro_tienda" value="<?php echo($modo_vista["codigo"]); ?>" />
			<?php } else if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen") { ?>
						<select class="option_select" id="filtro_tienda" name="filtro_tienda">
						</select>
			<?php } else { ?>
						<input type="hidden" id="filtro_tienda" name="filtro_tienda" value="0" />
			<?php } ?>
						<select class="option_select" id="filtro_rango" name="filtro_rango" style="text-align:right;">
							<option value="dia" selected >Dia seleccionado</option>
							<option value="rango" >Dia hasta hoy</option>
							<option value="todos" >Todos</option>
						</select>
						<div class="input_text" id="filtro_fecha_min"><input type="text" readonly="true" autocomplete="false" /></div>
						<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>
					</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">
						<div style="display:flex;"><label><input type="checkbox" id="tool_seleccion_multiple" name="tool_seleccion_multiple" />Activar selección multiple</label>&nbsp;<button id="tool_button_seleccion_multiple" style="display:none;"><span>Seleccionar Todo/Nada</span></button></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>
							<label><input type="checkbox" data-column="v_column_9" />Ver Precio de compra</label>
							<label><input type="checkbox" data-column="v_column_11" />Ver Precio de venta</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">Reponer</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" style="display:none;">Precio de Minimo</th>
							</tr>
						</thead>
						<tbody>
						</tbody>
					</table>
				</div>
				<div class="header">
					<span></span>
					<?php if ($_SESSION["control"]["tipo_editor"] == "administracion_general" || $_SESSION["control"]["tipo_editor"] == "administracion_almacen"){ ?>
					<button id="btn_generar_distribucion_1" class="buttons buttons_inactive" 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="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>
						<span>Preparar distribución</span>
					</button>
					<?php } ?>
				</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">Reposición de productos</span>
			</div>
		</div>
	</section>
</body>
<script>

var ctrl_datos = {
	buscar: "",
	filtro_almacen: $("#filtro_tienda").val(),
	filtro_fecha: "1900-01-01",
	filtro_rango: $("#filtro_rango").val(),
	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";
	}
	value = value.replace("ud.", "");
	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 fecha_corta(date){
	let day = date.getDate();
	let month = date.getMonth() + 1;
	let year = date.getFullYear();
	if (day < 10) {
		day = "0" + day;
	}
	if (month < 10) {
		month = "0" + month;
	}
	return day + "-" + month + "-" + year;
}
function cargar_tiendas(){
	<?php if ($modo_vista["codigo"] <= 0){ ?>
	$.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];
					html += '<option value="'+row.tienda_id+'">'+row.nombre+'</option>';
				}
				$("#filtro_tienda").append(html);
			}
			$("#filtro_tienda").val("");
		},
		error: function (){
		}
	});
	<?php } ?>
}
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>");
				}
			}
		},
		error: function (){
			//$("#txt_moneda").html("<option value='0'>* Nueva moneda *</option>");
			$("#txt_moneda").val("");
		}
	});
}
function cargar_lista(){
    $.ajax({
		type: 'POST',
		dataType: "json",
		url: "control/ctrl_almacen_tienda.php",
		data: {
			accion: "lista_reposicion",
			buscar: ctrl_datos.buscar,
			filtro_rango: ctrl_datos.filtro_rango,
			filtro_tienda: ctrl_datos.filtro_almacen,
			filtro_fecha: ctrl_datos.filtro_fecha,
			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 = '';
					html += '<tr class="row_data" data-producto="'+row.producto_id+'" data-almacen_general="'+row.almacen_general_id+'" data-almacen_tienda="'+row.almacen_tienda_id+'" data-origen="almacen_tienda">';
					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="center" width="70">'+(row.producto_stock_minimo-row.unidades)+'</td>';
					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 += '</tr> \
					';
					if (row.producto_estado == "Activo"){
						$("#table_list").append(html);
					}
				}
				vista_columnas_visibles();
			}
		},
		error: function (){
			$("#table_list .row_data").remove();
		}
	});
}
function cargar_datos(){
	let codigo = $("#table_list .row_select").attr("data-producto");
	let almacen_general = $("#table_list .row_select").attr("data-almacen_general");
	let almacen_tienda = $("#table_list .row_select").attr("data-almacen_tienda");
	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;
    $.ajax({
		type: 'POST',
		dataType: "json",
		url: "control/ctrl_almacen_tienda.php",
		data: {
			accion: "datos",
			buscar: almacen_tienda,
			almacen_tienda: almacen_tienda,
			almacen_general: almacen_general,
			filtro_tienda: ctrl_datos.filtro_almacen,
			producto_id: codigo,
			origen: origen,
			use_almacen_general: true
		},
		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 = parseFloat(datos.datos.precio_venta);
				info_stock_minimo = datos.datos.producto_stock_minimo;
				info_stock = datos.datos.unidades;
			}
			$("#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");
		},
		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" /></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" /></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"  /></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" /></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);
	return row_data;
}
function vista_columnas_visibles(){
	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(); ?>
$(document).ready(function() {
	$.datepicker.regional['es'] = {
		closeText: 'Cerrar',
		prevText: '< Ant',
		nextText: 'Sig >',
		currentText: 'Hoy',
		monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
		monthNamesShort: ['Ene','Feb','Mar','Abr', 'May','Jun','Jul','Ago','Sep', 'Oct','Nov','Dic'],
		dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
		dayNamesShort: ['Dom','Lun','Mar','Mié','Juv','Vie','Sáb'],
		dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sá'],
		weekHeader: 'Sm',
		dateFormat: 'dd-mm-yy',
		firstDay: 1,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: ''
	};
	$.datepicker.setDefaults($.datepicker.regional['es']);
	$( 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(); ?>
    $("#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();
	});
	$("#btn_print_table").click(function(){
		var divContents = $("#table_list").parent().html();
		var a = window.open('', '', 'height=500, width=500');
		a.document.write('<html><title>Reposición</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('input {border: 0px;background-color:transparent;color:inherit;width:min-content}');
		a.document.write('svg {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();
	});
	$("#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();
	});
	$("#filtro_rango").change(function(){
		ctrl_datos.filtro_rango = $("#filtro_rango").val();
		cargar_lista();
	});
	$("#filtro_tienda").change(function(){
		$("#table_list .row_data").remove();
		ctrl_datos.filtro_almacen = $("#filtro_tienda").val();
		$("#tool_seleccion_multiple").prop("checked", false);
		$("#tool_button_seleccion_multiple").css("display", "none");
		$("#table_list .td_numero input[type='checkbox']").prop("checked", false);
		cargar_lista();
		$("#btn_generar_distribucion_1").css("display", "flex");
		$("#btn_generar_distribucion_1").removeClass("buttons_inactive");
		$("#btn_generar_distribucion_1").addClass("buttons_active");
	});
	$("#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", "block");
		} else {
			$("#btn_producto_informacion").html("Ver mas +");
			$("#producto_informacion .row_info_extra").css("display", "none");
		}
	});
	$("#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();
	});
	$("#btn_generar_distribucion_1").click(function(){
		if ($(this).hasClass("buttons_inactive")){
			return;
		}
		let txt_tienda = $("#filtro_tienda").val();
		if (txt_tienda == null || txt_tienda == undefined || txt_tienda <= 0){
			open_dialog_alert("Debe de seleccionar una tienda lara verificar los productos.");
			return;
		}
		let lista = $("#table_list .row_data");
		if ($("#tool_seleccion_multiple").prop("checked")){
			lista = $("#table_list .row_data");
		}
		let productos = [];
		for (let idx=0; idx<lista.length; idx++){
			let fila = $(lista[idx]);
			if ($("#tool_seleccion_multiple").prop("checked") ){
				if (fila.find(".td_numero input[type='checkbox']").prop("checked")){
					productos.push({
						producto_id: fila.attr("data-producto"),
						almacen_id: fila.attr("data-almacen_tienda"),
						almacen_tienda_id: fila.attr("data-almacen_tienda"),
						almacen_general_id: fila.attr("data-almacen_general"),
						unidades: makeInt(fila.find(".td_cantidad").html()),
					});
				}
			} else {
				productos.push({
					producto_id: fila.attr("data-producto"),
					almacen_id: fila.attr("data-almacen_tienda"),
					almacen_tienda_id: fila.attr("data-almacen_tienda"),
					almacen_general_id: fila.attr("data-almacen_general"),
					unidades: makeInt(fila.find(".td_cantidad").html()),
				});
			}
		}
		if (productos.length == 0){
			open_dialog_alert("No se detecta productos en la lista.");
			return;
		}
		let fechaActual = new Date();
		let ano = fechaActual.getFullYear();
		let mes = fechaActual.getMonth() + 1;
		let dia = fechaActual.getDate();
		mes = mes < 10 ? `0${mes}` : mes;
		dia = dia < 10 ? `0${dia}` : dia;
		let fechaFormato = `${ano}-${mes}-${dia}`;
		let horas = fechaActual.getHours();
		let minutos = fechaActual.getMinutes();
		let segundos = fechaActual.getSeconds();
		horas = horas < 10 ? `0${horas}` : horas;
		minutos = minutos < 10 ? `0${minutos}` : minutos;
		segundos = segundos < 10 ? `0${segundos}` : segundos;
		let horaFormato = `${horas}:${minutos}:${segundos}`;
		open_dialog_confirm("¿Desea generar una lista de distribución?",function(){
			open_loading();
			$.ajax({
				type: 'POST',
				dataType: "json",
				url: "control/ctrl_movimiento.php",
				data: {
					accion: "generar_reposicion",
					tienda: txt_tienda,
					fecha: fechaFormato,
					hora: horaFormato,
					productos: JSON.stringify(productos),
				},
				success: function (datos) {
					//console.log(datos);
					if (datos.estado == "ok") {
					}
					close_loading();
					open_dialog_alert(datos.mensaje);
				},
				error: function (){
					open_dialog_alert("Ocurrió un error generando la lista.");
					close_loading();
				}
			});
		});
	});
	let fechaHoy = new Date();
	let fechaMenos3Dias = new Date(fechaHoy);
	fechaMenos3Dias.setDate(fechaMenos3Dias.getDate() - 3);
	let fechaHoyFormateada = fecha_corta(fechaHoy);
	ctrl_datos.filtro_fecha = fecha_guardar(fechaHoy);
	$("#filtro_fecha_min input").val(fechaHoyFormateada);
	$("#filtro_fecha_min input").datepicker({
		changeMonth: true,
		monthNamesShort: [
			"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio",
			"Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
		changeYear: true,
		yearRange: "c-5:c+20",
		onSelect: function(dateText, inst) {
			console.log(dateText);
			let num = dateText.split("-");
			num.reverse();
			ctrl_datos.filtro_fecha = num.join("-");
			ctrl_datos.items_pagina = 0;
			ctrl_datos.items_cantidad = 0;
			cargar_lista();
		}
	});
	$(".opciones_adicionales_btn").click(function(){
		let panel = $(this).next();
		if (panel.css("display") != "none"){
			panel.slideUp(500);
		} else {
			panel.slideDown(500);
		}
	});
	$("#tool_seleccion_multiple").click(function(){
		if ($("#tool_seleccion_multiple").prop("checked")){
			$("#table_list .td_numero span").css("display", "none");
			$("#table_list .td_numero input").css("display", "flex");
			$("#tool_button_seleccion_multiple").css("display", "flex");
		} else {
			$("#table_list .td_numero span").css("display", "block");
			$("#table_list .td_numero input").css("display", "none");
			$("#tool_button_seleccion_multiple").css("display", "none");
		}
	});
	$("#tool_button_seleccion_multiple").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);
		}
	});
	$(".opciones_adicionales_view .opciones_adicionales_columns").on("change", "input[type='checkbox']", function(){
		vista_columnas_visibles();
	});
	var tabla_lista = "#table_list";
	$(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();
		}
	});
	vista_columnas_visibles();
	cargar_tiendas();
	cargar_lista_moneda(); //cargar_lista();
	close_loading();
	<?php if ($modo_vista["codigo"] > 0){ ?>
	cargar_lista();
	<?php } ?>
});
</script>
</html>
