<?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;
}
if ($_SESSION["control"]["tipo_editor"] == "administracion_tienda"){
	header("Location: ./ventas.php");
	exit;
}
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_producto.php"); ?>
<?php require_once("seccion_alertas.php"); ?>
<?php require_once("seccion_autoload.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>Compras</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>
	<script src="libreria/js/html2canvas.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 dialogo_autoload_css(); ?>
</style>
<body>
	<?php alertas_pedidos_html(); ?>
	<?php dialogo_loading_html(); ?>
	<?php dialogo_image_html(); ?>
	<?php dialogo_alert_html(); ?>
	<?php dialogo_confirm_html(); ?>
	<?php dialogo_product_html(); ?>
	<?php dialogo_autoload_html(); ?>
	<?php get_header_html(); ?>
	<section class="section_body">
		<div class="dv_left">
			<div class="dv_border">
				<div id="panel_store_list" class="box">
					<div class="header">
						<span>Compras</span>
						<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>Nueva Compra</span>
						</button>
					</div>
					<hr>
					<div><h3>Compras Sin Almacenar</h3></div>
					<ul class="list_store" id="lista_elementos">

					</ul>
				</div>
				<div id="panel_product_list" class="box" style="display:none;">
					<div class="header">
						<span>Productos</span>
						<button id="btn_nuevo_producto_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>Nuevo producto</span>
						</button>
					</div>
					<hr>
					<div class="buscador_input">
						<input type="text" placeholder="producto" id="txt_buscar_producto" name="txt_buscar_producto" />
						<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">
						<select class="option_select" id="txt_filtro_tipo" name="txt_filtro_tipo">
							<option value="filtro_nombre" select>Nombre del producto</option>
							<option value="filtro_barras">Código de barras</option>
						</select>
						<span style="flex:1;"></span>
						<button class="option_button" id="btn_producto_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_producto_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>
					</div>
					<hr />
					<ul class="list_store" id="lista_productos">

					</ul>
					<hr />
					<div class="header">
						<span></span>
						<button id="btn_nuevo_producto_2" 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 producto</span>
						</button>
					</div>
				</div>
			</div>
		</div>
		<div class="dv_middle"><span></span><span></span><span></span></div>
		<div class="dv_right">
			<audio id="audio_beep" style="display: none;">
				<source src="libreria/media/scanner_beep.mp3" type="audio/mpeg">
			</audio>
			<div class="menu_button"><span></span><span></span><span></span></div>
			<div id="panel_edit" class="dv_border" style="display:none;">
				<div class="header">
					<span>Compra de productos</span>
						<button id="btn_cancelar_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 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>
							<span>Cancelar</span>
						</button>
						&nbsp;
					<button id="btn_guardar_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>Guardar</span>
					</button>
					<button id="btn_editar_1" class="buttons buttons_inactive">
						<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="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>
						<span>Editar</span>
					</button>
				</div>
					<input type="hidden" id="accion" name="accion" value="" />
					<input type="hidden" id="txt_codigo" name="txt_codigo" value="0" />
					<input type="hidden" id="txt_eliminado" name="txt_eliminado" value="[]" />
					<div class="input_column_double">
						<div class="input_text"><span>Fecha</span><input type="text" id="txt_fecha" name="txt_fecha" readonly="true" autocomplete="false" /></div>
						<div class="input_select" style="visibility:hidden;">
							<span>Moneda</span>
							<select id="txt_moneda" name="txt_moneda" disabled></select>
							<!--<input type="hidden" id="txt_moneda" name="txt_moneda" value="PEN" />-->
						</div>
					</div>
					<div class="input_column_double" style="display:none;">
						<div class="input_select" style="visibility:hidden;"><span>Operación</span><select id="txt_operacion" name="txt_operacion"><option selected>Compra de productos</option></select></div>
						<div class="input_select" style="visibility:hidden;">
							<span>IGV</span>
							<!--<select id="txt_igv" name="txt_igv"><option value="0">* Nuevo IGV *</option></select>-->
							<input type="hidden" id="txt_igv" name="txt_igv" value="18" />
						</div>
					</div>
					<hr/>
					<div class="input_column_double">
						<div class="input_select">
							<span>Comprobante</span>
							<select id="txt_comprobante" name="txt_comprobante" title="tipo de comprobante">
								<option selected></option>
								<option>Factura de Compra</option>
								<option>Orden de Compra</option>
								<option>Remisión o Guía de Remisión</option>
								<option>Nota de Entrega</option>
								<option>Pedido de Compra</option>
								<option>Recibo de Almacén</option>
								<option>Certificado de Inspección o Conformidad</option>
								<option>Certificado de Origen</option>
								<option>Notas de Crédito o Débito</option>
								<option>Boleta</option>
								<option>Sin Documento</option>
							</select>
						</div>
						<div class="input_text"><span>Nº de comprobante</span><input id="txt_numero" name="txt_numero" type="text" autocomplete="false" /></div>
					</div>
					<div class="input_column_double">
						<div class="input_select">
							<span>Proveedor</span>
							<select id="txt_proveedor" name="txt_proveedor"><option value="0">* Nuevo proveedor *</option></select>
						</div>
						<div class="input_select">
							<span>Responsable</span>
							<select id="txt_responsable" name="txt_responsable"><option value="0">* Nuevo responsable *</option></select>
						</div>
					</div>
					<div class="opciones_adicionales_btn">Opciones Adicionales</div>
					<div class="opciones_adicionales_view">
						<label style="display:none;"><input type="checkbox" id="tool_precio_soles" name="tool_precio_soles" checked />Ver los precios en Nuevos Soles</label>
						<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>
							</div>
						</div>
						<label><input type="checkbox" id="tool_precio_venta" name="tool_precio_venta" />Ver el precio de venta</label>
						<div class="opciones_adicionales_columns" style="display:flex;">
							<label><input type="checkbox" data-column="v_column_2" checked />Ver códigos</label>
							<label><input type="checkbox" data-column="v_column_4" />Ver Fabricante</label>
							<label><input type="checkbox" data-column="v_column_5" />Ver Modelo</label>
							<label><input type="checkbox" data-column="v_column_6" />Ver Serie</label><div style="flex:1;"></div>
						</div>
					</div>
					<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">Código</th>
									<th class="v_column_3">Producto</th>
									<th class="v_column_4" width="100px">Fabricante</th>
									<th class="v_column_5" width="100px">Modelo</th>
									<th class="v_column_6" width="100px">Serie</th>
									<th class="v_column_7" width="70px">Unidades</th>
									<th class="v_column_8" width="70px">Precio de compra unit.</th>
									<th class="v_column_9 td_valor_ganancia" width="70px" style="display:none;">Valor de ganancia</th>
									<th class="v_column_10 td_precio_venta" width="70px" style="display:none;">Precio de venta unit.</th>
									<th class="v_column_11 td_precio_minimo" width="70px" style="display:none;">Precio min. de venta unit.</th>
									<th class="v_column_12" width="40px">R</th>
								</tr>
							</thead>
							<tbody>
								<tr class="row_data">
									<td align="center">0</td>
									<td align="left"></td>
									<td align="left"></td>
									<td align="left"></td>
									<td align="left"></td>
									<td align="left"></td>
									<td align="right">0 unid</td>
									<td align="right">00.00</td>
									<td align="right" class="v_column_9 td_valor_ganancia" style="display:none;">00.00</td>
									<td align="right" class="v_column_10 td_precio_venta" style="display:none;">00.00</td>
									<td align="right" class="v_column_11 td_precio_minimo" style="display:none;">00.00</td>
									<td align="center">
										<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>
									</td>
								</tr>
							</tbody>
						</table>
					</div>
					<div class="input_column_double">
						<div class="input_text"></div>
						<div class="input_text"><span style="text-align:right;">Costo&nbsp;</span><div class="simbolo_moneda"></div>&nbsp;<input type="number" id="txt_costo_total" name="txt_costo_total" style="text-align:right;" /></div>
					</div>
					<br />
				<div class="header">
						<button id="btn_registrar_2" class="buttons buttons_inactive">
							<svg width="64px" height="64px" fill="#none" version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417.98 417.98" ><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round" stroke-width="0.835956"></g><g id="SVGRepo_iconCarrier"> <g> <path d="M178.489,309.18h-20.926c-8.271,0-15,6.312-15,14.069c0,2.206-2.29,4.069-5,4.069h-8.546c-2.71,0-5-1.863-5-4.069 c0-7.758-6.729-14.069-15-14.069H88.091c-8.271,0-15,6.729-15,15v77.781c0,8.271,6.729,15,15,15h90.398c8.271,0,15-6.729,15-15 V324.18C193.489,315.909,186.76,309.18,178.489,309.18z M141.674,371.377v24.64h-16.769v-24.639h-9.152l17.539-19.777 l17.537,19.776H141.674z" stroke="#1C274C"></path> <path d="M329.887,309.18h-20.926c-8.271,0-15,6.312-15,14.069c0,2.206-2.29,4.069-5,4.069h-8.546c-2.71,0-5-1.863-5-4.069 c0-7.758-6.729-14.069-15-14.069h-20.926c-8.271,0-15,6.729-15,15v77.781c0,8.271,6.729,15,15,15h90.398c8.271,0,15-6.729,15-15 V324.18C344.887,315.909,338.158,309.18,329.887,309.18z M293.072,371.377v24.64h-16.769v-24.639h-9.152l17.539-19.777 l17.538,19.776H293.072z" stroke="#1C274C"></path> <path d="M254.188,286.72c8.271,0,15-6.729,15-15v-77.781c0-8.271-6.729-15-15-15h-20.926c-8.271,0-15,6.312-15,14.069 c0,2.206-2.29,4.069-5,4.069h-8.546c-2.71,0-5-1.863-5-4.069c0-7.758-6.729-14.069-15-14.069H163.79c-8.271,0-15,6.729-15,15 v77.781c0,8.271,6.729,15,15,15H254.188z M208.99,221.36l17.537,19.776h-9.154v24.64h-16.769v-24.639h-9.152L208.99,221.36z" stroke="#1C274C"></path> <path d="M393.636,101.769L227.783,4.777c-10.889-6.369-26.697-6.369-37.588,0L24.342,101.769 c-10.807,6.319-18.65,19.992-18.65,32.511v268.698c0,8.284,6.716,15,15,15s15-6.716,15-15V155.705h346.595v247.273 c0,8.284,6.716,15,15,15s15-6.716,15-15V134.28C412.286,121.761,404.443,108.088,393.636,101.769z" stroke="#1C274C"></path> </g> </g></svg>
							<span>Registrar</span>
						</button>
						&nbsp;
						<button id="btn_autoload_2" class="buttons buttons_active" style="display:none;">
							<svg fill="#000070" width="64px" height="64px" viewBox="0 0 1920 1920" 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="m807.186 686.592 272.864 272.864H0v112.94h1080.05l-272.864 272.978 79.736 79.849 409.296-409.183-409.296-409.184-79.736 79.736ZM1870.419 434.69l-329.221-329.11C1509.688 74.07 1465.979 56 1421.48 56H451.773v730.612h112.94V168.941h790.584v451.762h451.762v1129.405H564.714v-508.233h-112.94v621.173H1920V554.52c0-45.176-17.619-87.754-49.58-119.83Zm-402.181-242.37 315.443 315.442h-315.443V192.319Z" fill-rule="evenodd"></path> </g></svg>
							<span>Cargar Excel</span>
						</button>
						<input type="file" name="autoload_excel" id="autoload_excel" accept=".xlsx, .xls" style="display:none;">
					<span></span>
						<button id="btn_cancelar_2" 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 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>
							<span>Cancelar</span>
						</button>
						&nbsp;
						<button id="btn_guardar_2" 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>Guardar</span>
						</button>
						<button id="btn_editar_2" class="buttons buttons_inactive">
							<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="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>
							<span>Editar</span>
						</button>
				</div>
			</div>
			<div id="panel_splash" class="splash" style="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">Compras</span>
			</div>
		</div>
	</section>
</body>
<script>
var ctrl_datos = {
	buscar: "",
	filtro_tipo: "filtro_nombre",
	filtro_estado: "Pendiente",
	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 activar_guardar(value=true){
	if (value){
		$("#btn_guardar_1, #btn_guardar_2").removeClass("buttons_inactive");
		$("#btn_guardar_1, #btn_guardar_2").addClass("buttons_active");
		//$("#btn_cancelar_1, #btn_cancelar_2").removeClass("buttons_inactive");
		//$("#btn_cancelar_1, #btn_cancelar_2").addClass("buttons_active");
		//$("#btn_cancelar_1, #btn_cancelar_2").css("background-color", "red");
		$("#btn_registrar_2").removeClass("buttons_active");
		$("#btn_registrar_2").addClass("buttons_inactive");
	} else {
		$("#btn_guardar_1, #btn_guardar_2").removeClass("buttons_active");
		$("#btn_guardar_1, #btn_guardar_2").addClass("buttons_inactive");
		//$("#btn_cancelar_1, #btn_cancelar_2").removeClass("buttons_active");
		//$("#btn_cancelar_1, #btn_cancelar_2").addClass("buttons_inactive");
		//$("#btn_cancelar_1, #btn_cancelar_2").css("background-color", "");
	}
	$("#btn_cancelar_1, #btn_cancelar_2").removeClass("buttons_inactive");
	$("#btn_cancelar_1, #btn_cancelar_2").addClass("buttons_active");
	$("#btn_cancelar_1, #btn_cancelar_2").css("background-color", "red");
}
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 fecha_larga(fecha){
	let partesFecha = fecha.split("-"); 
	let anio = makeInt(partesFecha[0]);
	let mes = makeInt(partesFecha[1]) - 1;
	let dia = makeInt(partesFecha[2]);
	let fechaObjeto = new Date(anio, mes, dia);
	let nombreMes = fechaObjeto.toLocaleString('es-ES', { month: 'long' });
	let fechaLarga = dia + " de " + nombreMes + " de " + anio;
	return fechaLarga;
}
function cargar_productos(){
	$("#lista_productos").html('<li style="text-align: center;"><img src="libreria/imagenes/loading.gif" height="30px;" /></li>');
	$.ajax({
		type: 'POST',
		dataType: "json",
		url: "control/ctrl_producto.php",
		data: {
			accion: "lista",
			buscar: ctrl_datos.buscar,
			filtro_tipo: ctrl_datos.filtro_tipo,
			orden: ctrl_datos.orden,
			items_pagina: ctrl_datos.items_pagina,
			items_cantidad: ctrl_datos.items_cantidad,
			extra_precios: true
		},
		success: function (datos) {
			//console.log(datos);
			$("#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 += '<li 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>';
					html += '<tr><td><strong>Fabricante</strong></td><td>'+row.fabricante+'</td></tr>';
					html += '<tr><td><strong>Modelo</strong></td><td>'+row.modelo+'</td></tr>';
					html += '<tr><td><strong>Serie</strong></td><td>'+row.serie+'</td></tr>';
					/*if (makeInt(row.precio_compra) <= 0){
						html += '<tr><td><strong>Act. prec. compra</strong></td><td> --</td></tr>';
					} else {
						html += '<tr><td><strong>Act. prec. compra</strong></td><td>'+row.precio_compra.toFixed(2)+' '+row.moneda_codigo+'</td></tr>';
					}*/
					if (makeInt(row.precio_venta) <= 0){
						html += '<tr><td><strong>Act. prec. venta</strong></td><td> --</td></tr>';
					} else {
						html += '<tr><td><strong>Act. prec. venta</strong></td><td>s/. '+row.precio_venta.toFixed(2)+'</td></tr>';
					}
					/*if (makeInt(row.precio_minimo) <= 0){
						html += '<tr><td><strong>Act. prec. minimo</strong></td><td> --</td></tr>';
					} else {
						html += '<tr><td><strong>Act. prec. minimo</strong></td><td> '+row.precio_minimo.toFixed(2)+'</td></tr>';
					}*/
					html += '</table></span>';
					html += '</li>';
				}
				$("#lista_productos").append(html);
				if (ctrl_datos.filtro_tipo == "filtro_barras" && datos.datos.length == 1){
					let row = datos.datos[0];
					let row_data = agregar_fila_producto(0, row.producto_id, row.nombre);
					actualizar_costo_total();
				}
			}
		},
		error: function (){
			$("#lista_productos").html("");
		}
	});
}
function cargar_lista(){
	$.ajax({
		type: "POST",
		dataType: "json",
		url: "control/ctrl_compra.php",
		data: {
			accion: "lista",
			buscar: ctrl_datos.buscar,
			orden: ctrl_datos.orden,
			items_pagina: ctrl_datos.items_pagina,
			items_cantidad: ctrl_datos.items_cantidad,
			filtro_estado: ctrl_datos.filtro_estado,
		},
		success: function (datos) {
			//console.log(datos);
			$("#lista_elementos").html("");
			if (datos.estado == "ok") {
				for(let indice=0; indice<datos.datos.length; indice++){
					let lista = datos.datos[indice];
					let html = '<li class="row_store" data-codigo="'+lista.compra_id+'">';
					html += '<span>';
					html += '<div>Compra sin registrar</div>';
					html += '<div>Proveedor: '+lista.proveedor_nombre+'</div>';
					html += '<div>Responsable: '+lista.responsable_nombre+'</div>';
					html += '<div>Fecha: '+fecha_larga(lista.fecha)+'</div>';
					html += '</span>';
					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 += '</li>';
					$("#lista_elementos").append(html);
				}
			} else if (datos.estado == "error") {
				open_dialog_alert(datos.mensaje);
			} else {
				open_dialog_alert("ocurrió un error inesperado.");
			}
			close_loading();
		}, 
		error: function(){
			open_dialog_alert("ocurrió un error inesperado.");
			close_loading();
		}
	});
}
function cargar_lista_proveedor(){
	$.ajax({
		type: 'POST',
		dataType: "json",
		url: "control/ctrl_proveedor.php",
		data: {
			accion: "lista",
			buscar: "",
			orden: "ASC"
		},
		success: function (datos) {
			//console.log(datos);
			$("#txt_proveedor").html("<option value='0'>* Nuevo proveedor *</option>");
			if (datos.estado == "ok") {
				for(let idx=0; idx<datos.datos.length; idx++){
					let row = datos.datos[idx];
					$("#txt_proveedor").append("<option value='"+row.proveedor_id+"'>"+row.documento_tipo+": "+row.documento_numero+" | "+row.nombre+"</option>");
				}
			}
			$("#txt_proveedor").val("");
		},
		error: function (){
			$("#txt_proveedor").html("<option value='0'>* Nuevo proveedor *</option>");
			$("#txt_proveedor").val("");
		}
	});
}
function cargar_lista_responsable(){
	$.ajax({
		type: 'POST',
		dataType: "json",
		url: "control/ctrl_responsable.php",
		data: {
			accion: "lista",
			buscar: "",
			orden: "ASC"
		},
		success: function (datos) {
			//console.log(datos);
			$("#txt_responsable").html("<option value='0'>* Nuevo responsable *</option>");
			if (datos.estado == "ok") {
				for(let idx=0; idx<datos.datos.length; idx++){
					let row = datos.datos[idx];
					$("#txt_responsable").append("<option value='"+row.responsable_id+"'>"+row.documento_tipo+": "+row.documento_numero+" | "+row.nombre+"</option>");
				}
			}
			$("#txt_responsable").val("");
		},
		error: function (){
			$("#txt_responsable").html("<option value='0'>* Nuevo responsable *</option>");
			$("#txt_responsable").val("");
		}
	});
}
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("");
			$("#import_val_tipo_moneda").html("");
			if (datos.estado == "ok") {
				for(let idx=0; idx<datos.datos.length; idx++){
					let row = datos.datos[idx];
					$("#txt_moneda").append("<option value='"+row.codigo+"' data-simbolo='"+row.simbolo+"' data-cambio='"+row.cambio+"'>"+row.codigo+": "+row.simbolo+" | "+row.nombre+"</option>");
					$("#import_val_tipo_moneda").append("<option value='"+row.codigo+"' data-simbolo='"+row.simbolo+"' data-cambio='"+row.cambio+"'>"+row.codigo+": "+row.simbolo+" | "+row.nombre+"</option>");
				}
			}
			$("#txt_moneda").val("USD");
			$("#import_val_tipo_moneda").val("USD");
		},
		error: function (){
			$("#txt_moneda").html("");
			$("#txt_moneda").val("");
			$("#import_val_tipo_moneda").html("");
			$("#import_val_tipo_moneda").val("");
		}
	});
}
function cargar_lista_igv(){
	/*$.ajax({
		type: 'POST',
		dataType: "json",
		url: "control/ctrl_igv.php",
		data: {
			accion: "lista",
			buscar: "",
			orden: "ASC"
		},
		success: function (datos) {
			//console.log(datos);
			$("#txt_igv").html("<option value='0'>* Nuevo igv *</option>");
			if (datos.estado == "ok") {
				for(let idx=0; idx<datos.datos.length; idx++){
					let row = datos.datos[idx];
					$("#txt_igv").append("<option value='"+row.porcentaje+"'>"+row.porcentaje+" %</option>");
				}
			}
			$("#txt_igv").val("");
		},
		error: function (){
			$("#txt_igv").html("<option value='0'>* Nuevo ig *</option>");
			$("#txt_igv").val("");
		}
	});*/
}
function cargar_datos(){
	limpiar_datos();
	let codigo = $("#lista_elementos .row_select").attr("data-codigo");
	open_loading();
	$.ajax({
		type: "POST",
		dataType: "json",
		url: "control/ctrl_compra.php",
		data: {
			accion: "datos",
			buscar: codigo
		},
		success: function (respuesta) {
			//console.log(respuesta);
			if (respuesta.estado == "ok") {
				let datos = respuesta.datos;
				console.log(datos.fecha);
				$("#txt_codigo").val(datos.compra_id);
				$("#txt_eliminado").val("[]");
				$("#txt_fecha").datepicker("setDate", new Date(datos.fecha));
				$("#txt_operacion").val(datos.operacion);
				$("#txt_comprobante").val(datos.comprobante);
				$("#txt_numero").val(datos.numero);
				$("#txt_costo_total").val(datos.costo_total.toFixed(2));
				if (datos.proveedor_id == 0){
					$("#txt_proveedor").val("");
				} else {
					$("#txt_proveedor").val(datos.proveedor_id);
				}
				if (datos.responsable_id == 0){
					$("#txt_responsable").val("");
				} else {
					$("#txt_responsable").val(datos.responsable_id);
				}
				$("#txt_moneda").val(datos.moneda_codigo);
				/*if (datos.igv_porcentaje == "0"){
					$("#txt_igv").val("");
				} else {
					$("#txt_igv").val(datos.igv_porcentaje);
				}*/
				if (datos.observaciones != undefined && datos.observaciones.input_porcentual != undefined){
					$("#tool_input_porcentual").val(datos.observaciones.input_porcentual);
				}
				let simbolo = $("#txt_moneda option:selected").attr("data-simbolo");
				let cambio = makeFloat($("#txt_moneda option:selected").attr("data-cambio"));
				ctrl_datos.beep_activo = false;
				for (let idx=0; idx<datos.productos.length; idx++){
					let row_data = agregar_fila_producto(datos.productos[idx].compra_producto_id, datos.productos[idx].producto_id, datos.productos[idx].nombre);
					row_data.attr("data-codigo", datos.productos[idx].compra_producto_id);
					row_data.find(".v_column_2").html(datos.productos[idx].producto_codigo);
					row_data.find(".v_column_4").html(datos.productos[idx].producto_fabricante);
					row_data.find(".v_column_5").html(datos.productos[idx].producto_modelo);
					row_data.find(".v_column_6").html(datos.productos[idx].producto_serie);
					row_data.find(".td_cantidad input[type='number']").val(datos.productos[idx].unidades);
					row_data.find(".td_precio_compra .td_precio_dolar input").val((datos.productos[idx].precio_compra/cambio).toFixed(3));
					row_data.find(".td_precio_compra .td_precio_soles input").val(datos.productos[idx].precio_compra.toFixed(2));
					row_data.find(".td_precio_venta .td_precio_dolar input").val((datos.productos[idx].precio_venta/cambio).toFixed(3));
					row_data.find(".td_precio_venta .td_precio_soles input").val(datos.productos[idx].precio_venta.toFixed(2));
					row_data.find(".td_precio_minimo input[type='number']").val(datos.productos[idx].precio_minimo.toFixed(2));
					let ubicacion = datos.productos[idx].ubicacion;
					if (ubicacion.length > 0){
						ubicacion = JSON.parse(ubicacion);
						row_data.find(".td_valor_ganancia_porcentaje input[type='number']").val(ubicacion.ganancia_porcentaje);
						row_data.find(".td_valor_ganancia_soles input[type='number']").val(makeFloat(ubicacion.ganancia_moneda).toFixed(2));
					}
				}
				$(".simbolo_moneda").html(simbolo+"&nbsp;");
				$("#table_list .row_select").removeClass("row_select");
				$("#btn_registrar_2").css("display", "flex");
				$("#btn_registrar_2").removeClass("buttons_inactive");
				$("#btn_registrar_2").addClass("buttons_active");
				activar_guardar(false);
				ctrl_datos.beep_activo = true;
				vista_columnas_tabla();
			} else if (respuesta.estado == "error") {
				open_dialog_alert(respuesta.mensaje);
			} else {
				open_dialog_alert("ocurrió un error inesperado.");
			}
			$("#panel_splash").css("display", "none");
			$("#panel_edit").css("display", "flex");
			close_loading();
		},
		error: function (){
			close_loading();
			open_dialog_alert("ocurrió un error inesperado.");
		}
	});
}
function limpiar_datos(){
	$("#txt_codigo").val(0);
	$("#txt_eliminado").val("[]");
	$("#txt_fecha").val("");
	$("#txt_operacion").val("Compra de productos");
	$("#txt_comprobante").val("");
	$("#txt_numero").val("");
	$("#txt_proveedor").val("");
	$("#txt_responsable").val("");
	$("#txt_moneda").val("USD");
	//$("#txt_igv").val("");
	$("#txt_costo_total").val("");
	$("#table_list .row_data").remove();
	$("#txt_fecha").prop("disabled", true);
	$("#txt_operacion").prop("disabled", true);
	$("#txt_comprobante").prop("disabled", true);
	$("#txt_numero").prop("disabled", true);
	$("#txt_proveedor").prop("disabled", true);
	$("#txt_responsable").prop("disabled", true);
	$("#txt_moneda").prop("disabled", true);
	//$("#txt_igv").prop("disabled", true);
	$("#txt_costo_total").prop("disabled", true);
	$("#txt_fecha").val(fecha_corta(new Date()));
	if ($(".opciones_adicionales_view").css("display") != "none"){
		$(".opciones_adicionales_view").slideUp(500);
	}
	$("#tool_valor_porcentual").prop("checked", false);
	$("#tool_valor_porcentual").change();
	activar_guardar(false);
}
function agregar_fila_producto(codigo, producto, nombre){
	let row_data = $("#table_list").find("tr.row_data[data-codigo='"+codigo+"']");
	if (row_data.length <= 0 || codigo == 0){
		row_data = $("#table_list").find("tr.row_data[data-producto='"+producto+"']");
	}
	if(row_data.length <= 0){
		let data_enabled = " disabled ";
		if ($("#accion").val() == "nuevo" || $("#accion").val() == "editar"){
			data_enabled = "";
		}
		let idx = $("#table_list .row_data").length;
		let simbolo = $("#txt_moneda option:selected").attr("data-simbolo");
		let display_numero = "block";
		let display_check = "none";
		if($("#tool_valor_porcentual").prop("checked")){
			display_numero = "none";
			display_check = "block";
		}
		let display_precio_venta = "none";
		if($("#tool_precio_venta").prop("checked")){
			display_precio_venta = "table-cell";
		}
		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";
		}
		
		let display_precio_soles = "none";
		if($("#tool_precio_soles").prop("checked")){
			display_precio_soles = "block";
		}
		
		let html = '<tr class="row_data" data-indice="'+(idx+1)+'" data-producto="'+producto+'" data-codigo="0" data-estado="R">';
		html += '<td class="v_column_1 td_numero" align="center"><span style="display:'+display_numero+';">'+(idx+1)+'</span><input type="checkbox" style="display:'+display_check+';margin:auto;" /></td>';
		html += '<td class="v_column_2 td_codigo" align="left" style="text-align:left;"></td>';
		html += '<td class="v_column_3 td_nombre" align="left" style="text-align:left;"></td>';
		html += '<td class="v_column_4 td_fabricante" align="left" style="text-align:left;"></td>';
		html += '<td class="v_column_5 td_modelo" align="left" style="text-align:left;"></td>';
		html += '<td class="v_column_6 td_serie" align="left" style="text-align:left;"></td>';
		html += '<td class="v_column_7 td_cantidad" align="right" width="70"><div><input type="number" value="0" min="0" step="1" '+data_enabled+' /></div></td>';
		html += '<td class="v_column_8 td_precio_compra" align="right" width="70">';
			html += '<div class="td_precio_dolar"><span class="simbolo_moneda" style="width: 20px;">'+simbolo+'&nbsp;</span><input type="number" value="0.00" min="0.00" step="0.001" '+data_enabled+' /></div>';
			html += '<div class="td_precio_soles"><span style="width: 20px;"                       >s/.        &nbsp;</span><input type="number" value="0.00" min="0.00" step="0.1" '+data_enabled+' /></div>';
		html += '</td>';
		html += '<td class="v_column_9 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 type="number" value="0.00" min="0.00" step="0.001" '+data_enabled+' /></div>';
			html += '<div class="td_valor_ganancia_soles">    <span style="width: 20px;">s/.&nbsp;</span><input type="number" value="0.00" min="0.00" '+data_enabled+' /></div>';
		html += '</td>';
		html += '<td class="v_column_10 td_precio_venta" align="right" width="70" style="display:'+display_precio_venta+'">';
			html += '<div class="td_precio_soles"><span style="width: 20px;">s/.&nbsp;</span><input type="number" value="0.00" min="0.00" step="0.01" '+data_enabled+' /></div>';
		html += '</td>';
		html += '<td class="v_column_11 td_precio_minimo" align="right" width="70" style="display:'+display_precio_venta+';"><div><span class="simbolo_moneda" style="width: 20px;">'+simbolo+'&nbsp;</span><input type="number" value="0" min="0.00" step="0.01" '+data_enabled+' /></div></td>';
		html += '<td class="v_column_12" 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);
		$("#table_list").append(row_data);
	}
	$("#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").val();
	row_data.find(".td_cantidad input").val(makeInt(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();
		}
	}
	activar_guardar();
	return row_data;
}
function actualizar_costo_fila(fila, tipo){
	let cambio = $("#txt_moneda option:selected").attr("data-cambio");
	if (cambio == undefined || cambio.length < 0){
		cambio = "0";
	}
	cambio = makeFloat(cambio);
	let tipo_ganancia = $("input[name='v_tipo_ganancia']:checked").attr("data-tipo");
	let unidades = fila.find(".td_cantidad input[type='number']");
	let precio_compra = fila.find(".td_precio_compra .td_precio_dolar input");
	let precio_compra_text = fila.find(".td_precio_compra .td_precio_soles input");
	let ganancia_porcentaje = $(fila.find(".td_valor_ganancia .td_valor_ganancia_porcentaje input[type='number']")[0]);
	let ganancia_moneda = $(fila.find(".td_valor_ganancia .td_valor_ganancia_moneda input[type='number']")[1]);
	let valor_ganancia_text = fila.find(".td_valor_ganancia .td_precio_soles input");
	let precio_venta = fila.find(".td_precio_venta .td_precio_dolar input[type='number']");
	let precio_venta_text = fila.find(".td_precio_venta .td_precio_soles input");
	if (tipo_ganancia == "moneda"){
		valor_ganancia_text.val((makeFloat(ganancia_moneda.val())*cambio).toFixed(2));
		if (makeFloat(precio_compra.val()) > 0){
			ganancia_porcentaje.val((makeFloat(ganancia_moneda.val())/makeFloat(precio_compra.val()))*100);
		} else {
			ganancia_porcentaje.val(0);
		}
	} else if (tipo_ganancia == "porcentaje"){
		ganancia_moneda.val((makeFloat(precio_compra.val())*(makeFloat(ganancia_porcentaje.val())/100.00)).toFixed(3));
		valor_ganancia_text.val((makeFloat(ganancia_moneda.val())*cambio).toFixed(2));
	}
	precio_compra_text.val((makeFloat(precio_compra.val())*cambio).toFixed(2));
	precio_venta.val(makeFloat(precio_compra.val() * (1+(makeFloat(ganancia_porcentaje.val())/100.00))).toFixed(3));
	precio_venta_text.val((makeFloat(precio_venta.val())*cambio).toFixed(2));
	
}
function actualizar_costo_total(){
	let filas = $("#table_list .row_data");
	let total = 0;
	for (let idx=0; idx<filas.length; idx++){
		let unidades = $(filas[idx]).find(".td_cantidad input");
		let valor = $(filas[idx]).find(".td_precio_compra .td_precio_soles input");
		total = total + (makeInt(unidades.val()) * makeFloat(valor.val()));
	}
	console.log(total);
	$("#txt_costo_total").val(total.toFixed(2));
}
function vista_columnas_tabla(){
	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 dialogo_product_javascript(); ?>
<?php dialogo_autoload_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(); ?>
	<?php dialogo_product_ready(); ?>
	<?php dialogo_autoload_ready(); ?>
    $("#btn_producto_order_asc").click(function(){
		if ($("#txt_buscar_producto").prop("disabled")){
			return;
		}
		ctrl_datos.items_pagina = 0;
		ctrl_datos.items_cantidad = 0;
		ctrl_datos.orden = "DESC";
		$("#btn_producto_order_asc").css("display", "none");
		$("#btn_producto_order_desc").css("display", "block");
		cargar_productos();
	});
    $("#btn_producto_order_desc").click(function(){
		if ($("#txt_buscar_producto").prop("disabled")){
			return;
		}
		ctrl_datos.items_pagina = 0;
		ctrl_datos.items_cantidad = 0;
		ctrl_datos.orden = "ASC";
		$("#btn_producto_order_asc").css("display", "block");
		$("#btn_producto_order_desc").css("display", "none");
		cargar_productos();
	});
	$("#lista_elementos").on("click", ".row_store", function(e){
		tabla_lista = "#lista_elementos";
		let object = $(this);
		let codigo = $(this).attr("data-codigo");
		if (object.hasClass("row_select") == false){
			$("#lista_elementos .row_store").removeClass("row_select");
			$(this).addClass("row_select");
			$("#btn_editar_1, #btn_editar_2").removeClass("buttons_inactive");
			$("#btn_editar_1, #btn_editar_2").addClass("buttons_active");
			cargar_datos();
		}
		if($(e.target).attr("class") == "btn_remove"){
			open_dialog_confirm("¿Desea eliminar los datos de la compra seleccionada?", function(){
				open_loading();
				$.ajax({
					type: "POST",
					dataType: "json",
					url: "control/ctrl_compra.php",
					data: {
						accion: "eliminar",
						buscar: codigo
					},
					success: function (respuesta) {
						//console.log(respuesta);
						if (respuesta.estado == "ok") {
							$("#table_list .row_select").removeClass("row_select");
							object.remove();
							activar_guardar(false);
							$("#panel_splash").css("display", "flex");
							$("#panel_edit").css("display", "none");
						} else if (respuesta.estado == "error") {
							open_dialog_alert(respuesta.mensaje);
						} else {
							open_dialog_alert("ocurrió un error inesperado.");
						}
						close_loading();
					},
					error: function (){
						close_loading();
						open_dialog_alert("ocurrió un error inesperado.");
					}
				});
			});
		}
	});
	$("#lista_elementos").on("dblclick", ".row_store", function(e){
		$("#btn_editar_1").click();
	});
	$("#txt_comprobante").change(function(){
		if ($(this).val() == "" || $(this).val() == "Sin Documento"){
			$("#txt_numero").prop("disabled", true);
		} else {
			$("#txt_numero").prop("disabled", false);
		}
	});
	$(".opciones_adicionales_view .opciones_adicionales_columns").on("change", "input[type='checkbox']", function(){
		vista_columnas_tabla();
	});
	$("#table_list").on("click", ".row_data", function(){
		tabla_lista = "#table_list";
		$("#table_list .row_select").removeClass("row_select");
		$(this).addClass("row_select");
	});
	$("#table_list").on("click", ".btn_remove", function(){
		if ($("#accion").val() == "nuevo" || $("#accion").val() == "editar"){
			let parent = $(this).parent().parent();
			open_dialog_confirm("¿Desea eliminar la fila seleccionada?", function(){
				let indices = [];
				if ($("#txt_eliminado").val().length > 0){
					indices = JSON.parse($("#txt_eliminado").val());
				}
				indices.push(parent.attr("data-codigo"));
				$("#txt_eliminado").val(JSON.stringify(indices));
				parent.remove();
				actualizar_costo_total();
				activar_guardar();
			}, function(){});
		}
	});
	$("#table_list").on("change", ".td_precio_compra input", function(){
		actualizar_costo_total();
	});
	$("#txt_fecha").datepicker({
		changeMonth: true,
		monthNamesShort: [
			"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio",
			"Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
		changeYear: true,
		yearRange: "c-5:c+20"
	});
	$("#btn_nuevo").click(function(){
		$(".section_header").css("pointer-events", "none");
		$("#txt_buscar").prop("disabled", true);
		$("#lista_elementos .list_store .row_store").css("pointer-events", "none");
		$("#lista_productos .list_store .row_store").css("pointer-events", "unset");
		$(".dv_left .list_store .row_select").removeClass("row_select");
		$("#btn_editar_1, #btn_editar_2").css("display", "none");
		$("#btn_guardar_1, #btn_guardar_2, #btn_autoload_2").css("display", "flex");
		$("#btn_cancelar_1, #btn_cancelar_2").css("display", "flex");
		limpiar_datos();
		$("#txt_fecha").prop("disabled", false);
		$("#txt_operacion").prop("disabled", false);
		$("#txt_comprobante").prop("disabled", false);
		$("#txt_comprobante").prev().prop("disabled", false);
		$("#txt_proveedor").prop("disabled", false);
		$("#txt_responsable").prop("disabled", false);
		$("#txt_moneda").prop("disabled", false);
		//$("#txt_igv").prop("disabled", false);
		$("#txt_costo_total").prop("disabled", false);
		$("#accion").val("nuevo");
		$("#panel_splash").css("display", "none");
		$("#panel_edit").css("display", "flex");
		$("#panel_store_list").css("display", "none");
		$("#panel_product_list").css("display", "flex");
		$("#txt_buscar_producto").focus();
		$("#btn_registrar_2").css("display", "none");
		$("#btn_registrar_2").removeClass("buttons_active");
		$("#btn_registrar_2").addClass("buttons_inactive");
	});
	$("#btn_editar_1, #btn_editar_2").click(function(){
		$("#txt_fecha").prop("disabled", false);
		$("#txt_operacion").prop("disabled", false);
		$("#txt_comprobante").prop("disabled", false);
		$("#txt_numero").prop("disabled", false);
		$("#txt_proveedor").prop("disabled", false);
		$("#txt_responsable").prop("disabled", false);
		$("#txt_moneda").prop("disabled", false);
		//$("#txt_igv").prop("disabled", false);
		$("#txt_costo_total").prop("disabled", false);
		$("#table_list .row_data input[type='number']").prop("disabled", false);
		
		$("#accion").val("editar");
		$("#btn_editar_1, #btn_editar_2").css("display", "none");
		$("#btn_guardar_1, #btn_guardar_2, #btn_autoload_2").css("display", "flex");
		/*$("#btn_guardar_1, #btn_guardar_2").removeClass("buttons_active");
		$("#btn_guardar_1, #btn_guardar_2").addClass("buttons_inactive");*/
		$("#btn_cancelar_1, #btn_cancelar_2").css("display", "flex");
		$("#panel_store_list").css("display", "none");
		$("#panel_product_list").css("display", "flex");
	});
	$("#btn_guardar_1, #btn_guardar_2").click(function(){
		if($(this).hasClass("buttons_inactive")){
			return;
		}
		let txt_codigo = $("#txt_codigo").val();
		let txt_eliminado = $("#txt_eliminado").val();
		let txt_fecha = $("#txt_fecha").datepicker("getDate");
		let txt_operacion = $("#txt_operacion").val();
		let txt_comprobante = $("#txt_comprobante").val();
		let txt_numero = $("#txt_numero").val();
		let txt_proveedor = $("#txt_proveedor").val();
		let txt_responsable = $("#txt_responsable").val();
		let txt_moneda = $("#txt_moneda").val();
		let txt_moneda_cambio = 0;
		let txt_igv = $("#txt_igv").val();
		let txt_costo_total = $("#txt_costo_total").val();
		let tool_input_porcentual = $("#tool_input_porcentual").val();
		if (txt_moneda.length > 0){
			txt_moneda_cambio = $("#txt_moneda option:selected").attr("data-cambio");
		}
		let lista = [];
		let rows = $("#table_list .row_data");
		for (let idx=0; idx<rows.length; idx++){
			let row = $(rows[idx]);
			lista.push({
				indice: row.attr("data-indice"),
				codigo: row.attr("data-codigo"),
				estado: row.attr("data-estado"),
				producto_id: row.attr("data-producto"),
				producto_codigo: row.find(".v_column_2").html(),
				producto_nombre: row.find(".v_column_3").html(),
				producto_fabricante: row.find(".v_column_4").html(),
				producto_modelo: row.find(".v_column_5").html(),
				producto_serie: row.find(".v_column_6").html(),
				moneda_id: 0,
				valor_ganancia: row.find(".td_valor_ganancia_soles input[type='number']").val(),
				precio_compra: row.find(".td_precio_compra .td_precio_soles input[type='number']").val(),
				precio_venta: row.find(".td_precio_venta .td_precio_soles input[type='number']").val(),
				precio_minimo: row.find(".td_precio_minimo input[type='number']").val(),
				unidades: row.find(".td_cantidad input[type='number']").val(),
				ubicacion: JSON.stringify({
					ganancia_porcentaje: row.find(".td_valor_ganancia_porcentaje input[type='number']").val(),
					ganancia_moneda: row.find(".td_valor_ganancia_soles input[type='number']").val(),
					cambio_moneda: txt_moneda_cambio,
				}),
			});
		}
		if (txt_fecha) {
			txt_fecha = $.datepicker.formatDate("yy-mm-dd", txt_fecha);
		}
		if (txt_operacion == null || txt_operacion == undefined || txt_operacion.length == 0){
			txt_operacion = 0;
		}
		if (txt_comprobante == null || txt_comprobante == undefined || txt_comprobante.length == 0){
			txt_comprobante = 0;
		}
		if (txt_proveedor == null || txt_proveedor == undefined || txt_proveedor.length == 0){
			txt_proveedor = 0;
		}
		if (txt_responsable == null || txt_responsable == undefined || txt_responsable.length == 0){
			txt_responsable = 0;
		}
		if (txt_moneda == null || txt_moneda == undefined || txt_moneda.length == 0){
			txt_moneda = "USD";
		}
		if (txt_igv == null || txt_igv == undefined || txt_igv.length == 0){
			txt_igv = 18;
		}
		open_loading();
		$.ajax({
			type: "POST",
			dataType: "json",
			url: "control/ctrl_compra.php",
			data: {
				accion: "registrar",
				txt_codigo: txt_codigo,
				txt_eliminado: txt_eliminado,
				txt_fecha: txt_fecha,
				txt_operacion: txt_operacion,
				txt_comprobante: txt_comprobante,
				txt_numero: txt_numero,
				txt_proveedor_id: txt_proveedor,
				txt_responsable_id: txt_responsable,
				txt_moneda: txt_moneda,
				txt_igv: txt_igv,
				txt_costo_total: txt_costo_total,
				txt_estado_registro: "Pendiente",
				txt_observaciones: JSON.stringify({
					input_porcentual: tool_input_porcentual,
					valor_cambio: makeFloat($("#txt_moneda option:selected").attr("data-cambio")),
				}),
				txt_lista: JSON.stringify(lista),
			},
			success: function (datos) {
				//console.log(datos);
				if (datos.estado == "ok") {
					if ($("#accion").val() == "nuevo"){
						cargar_lista();
					}
					$("#txt_codigo").val(datos.codigo);
					$("#txt_eliminado").val("[]");
					for (let idx=0; idx<datos.indices.length; idx++){
						let row_data = $("#table_list").find("tr.row_data[data-indice='"+datos.indices[idx][0]+"']");
						if (makeInt(row_data.attr("data-codigo")) <= 0 && makeInt(datos.indices[idx][1]) > 0){
							row_data.css("background-color", "");
						}
						row_data.attr("data-codigo", datos.indices[idx][1]);
						row_data.attr("data-producto", datos.indices[idx][2]);
					}
					$("#btn_registrar_2").css("display", "flex");
					$("#btn_registrar_2").removeClass("buttons_inactive");
					$("#btn_registrar_2").addClass("buttons_active");
					activar_guardar(false);
				} 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_cancelar_1, #btn_cancelar_2").click(function(){
		if ($("#accion").val() == "nuevo"){
			limpiar_datos();
			$("#panel_edit").css("display", "none");
			$("#panel_splash").css("display", "flex");
		} else if ($("#accion").val() == "editar"){
			limpiar_datos();
			cargar_datos();
		} else {
			$("#txt_fecha").prop("disabled", true);
			$("#txt_operacion").prop("disabled", true);
			$("#txt_comprobante").prop("disabled", true);
			$("#txt_comprobante").prev().prop("disabled", true);
			$("#txt_proveedor").prop("disabled", true);
			$("#txt_responsable").prop("disabled", true);
			$("#txt_moneda").prop("disabled", true);
			//$("#txt_igv").prop("disabled", true);
			$("#txt_costo_total").prop("disabled", true);
			activar_guardar(false);
		}
		$("#btn_registrar_2").removeClass("buttons_inactive");
		$("#btn_registrar_2").addClass("buttons_active");
		$("#btn_registrar_2").css("display", "flex");
		$("#btn_editar_1, #btn_editar_2").css("display", "flex");
		$("#btn_guardar_1, #btn_guardar_2, #btn_autoload_2").css("display", "none");
		$("#btn_cancelar_1, #btn_cancelar_2").css("display", "none");
		$("#btn_nuevo").css("visibility", "visible");
		$(".section_header").css("pointer-events", "unset");
		$("#txt_buscar").prop("disabled", false);
		$("#accion").val("");
		/*$("#btn_editar_1, #btn_editar_2").css("display", "flex");
		$("#btn_guardar_1, #btn_guardar_2").css("display", "none");
		$("#btn_cancelar_1, #btn_cancelar_2").css("display", "none");*/
		$("#panel_store_list").css("display", "flex");
		$("#panel_product_list").css("display", "none");
		$(".dv_left .list_store .row_store").css("pointer-events", "unset");
	});
	$("#btn_registrar_2").click(function(){
		if ($(this).hasClass("buttons_inactive")){
			open_dialog_alert("Debe de guardar los cambios para almacenar los productos.");
			return;
		}
		let codigo = $("#txt_codigo").val();
		let txt_fecha = $("#txt_fecha").datepicker("getDate");
		let txt_operacion = $("#txt_operacion").val();
		let txt_comprobante = $("#txt_comprobante").val();
		let txt_numero = $("#txt_numero").val();
		let txt_proveedor = $("#txt_proveedor").val();
		let txt_responsable = $("#txt_responsable").val();
		let txt_moneda = $("#txt_moneda").val();
		let txt_igv = $("#txt_igv").val();
		if (txt_fecha) {
			txt_fecha = $.datepicker.formatDate("yy-mm-dd", txt_fecha);
		} else {
			open_dialog_alert("No se detecta la fecha de compra.<br />Registre la fecha de compra.");
			return;
		}
		if (txt_comprobante == null || txt_comprobante == undefined || txt_comprobante.length == 0){
			open_dialog_alert("No se detecta el comprobante de compra de producto.<br />Seleccione un tipo de comprobante.");
			return;
		}
		if (txt_proveedor == null || txt_proveedor == undefined || txt_proveedor.length == 0){
			open_dialog_alert("No se detecta el nombre del proveedor.<br />Registre un proveedor para identificar la procedencia de la compra.");
			return;
		}
		if (txt_responsable == null || txt_responsable == undefined || txt_responsable.length == 0){
			open_dialog_alert("No se detecta el nombre del responsable de la compra.<br />Registre al responsable de la compra.");
			return;
		}
		if (txt_moneda == null || txt_moneda == undefined || txt_moneda.length == 0){
			open_dialog_alert("No se detecta el tipo de moneda para manejas los precios.<br />Seleccione la moneda a utilizar.");
			return;
			txt_moneda = "USD";
		}
		if (txt_igv == null || txt_igv == undefined || txt_igv.length == 0){
			/*open_dialog_alert("No se detecta el valor del igv que se vinculará a los productos.<br />Seleccione el igv a utilizar.");
			return;*/
			txt_igv = 18;
		}
		if ($("#table_list .row_data").length == 0){
			open_dialog_alert("No se detectan productos en la lista de compra.");
			return;
		}
		/*let rows = $("#table_list .row_data");
		for (let idx=0; idx<rows.length; idx++){
			let row = $(rows[idx]);
			if (makeFloat(row.find(".td_precio_venta input").val()) <= 0.0){
				open_dialog_alert("Falta ingresar el precio de venta por unidad.");
				row.find(".td_precio_venta input").focus();
				return;
			}
		}*/
		if (txt_moneda != "USD"){
			let option = $("#txt_moneda option[value='USD']");
			if (option.length == 0){
				open_dialog_alert("El sistema no tiene registrado la moneda Dolar con codigo 'USD'.");
				return;
			}
			let cambio = makeFloat(option.attr("data-cambio"));
			if (cambio == 0.0){
				open_dialog_alert("El valor de cambio de la moneda Dolar es 0.00, Actualice el tipo de cambio.");
				return;
			}
			open_dialog_confirm("El Registro de compra no esta utilizando la moneda Dolar.<br /> ¿Desea realizar la conversión?<br /> ( tipo de cambio: "+cambio.toFixed(2)+" )", function(){
				$("#txt_moneda").val('USD');
				$("#txt_moneda").change();
				let lista = $("#table_list .row_data");
				for (let idx=0; idx<lista.length; idx++){
					let row_data = $(lista[idx]);
					let precio_compra = row_data.find(".td_precio_compra .td_precio_dolar input[type='number']");
					let precio_compra_text = row_data.find(".td_precio_compra .td_precio_soles input");
					let ganancia_porcentaje = row_data.find(".td_valor_ganancia .td_valor_ganancia_porcentaje input[type='number']");
					let ganancia_moneda = row_data.find(".td_valor_ganancia .td_valor_ganancia_moneda input[type='number']");
					let valor_ganancia_text = row_data.find(".td_valor_ganancia .td_precio_soles input");
					let precio_venta = row_data.find(".td_precio_venta .td_precio_dolar input[type='number']");
					let precio_venta_text = row_data.find(".td_precio_venta .td_precio_soles input");
					precio_compra.val((makeFloat(precio_compra.val())/cambio).toFixed(3));
					precio_compra_text.val((makeFloat(precio_compra.val())*cambio).toFixed(2));
					ganancia_moneda.val((makeFloat(ganancia_moneda.val())/cambio).toFixed(3));
					valor_ganancia_text.val((makeFloat(ganancia_moneda.val())*cambio).toFixed(2));
					if (makeFloat(precio_compra.val()) > 0){
						ganancia_porcentaje.val((makeFloat(ganancia_moneda.val())/makeFloat(precio_compra.val()))*100);
					} else {
						ganancia_porcentaje.val(0);
					}
					precio_venta.val((makeFloat(precio_venta.val())/cambio).toFixed(3));
					precio_venta_text.val((makeFloat(precio_venta.val())*cambio).toFixed(2));
					actualizar_costo_total();
					$("#btn_editar_1").click();
				}
				
			});
			return;
		}
		let object = $("#lista_elementos").find("li.row_store[data-codigo='"+codigo+"']");
		open_dialog_confirm("¿Desea terminar el registro de la compra?<br />Los productos se registrarán en el almacen y la compra se eliminará de esta lista.", function(){
			open_loading();
			$.ajax({
				type: "POST",
				dataType: "json",
				url: "control/ctrl_compra.php",
				data: {
					accion: "almacenar",
					buscar: codigo
				},
				success: function (respuesta) {
					//console.log(respuesta);
					if (respuesta.estado == "ok") {
						$("#table_list .row_select").removeClass("row_select");
						object.remove();
						activar_guardar(false);
						$("#panel_splash").css("display", "flex");
						$("#panel_edit").css("display", "none");
						$("#panel_store_list").css("display", "flex");
						$("#panel_product_list").css("display", "none");
						$(".dv_left .list_store .row_store").css("pointer-events", "unset");
					} else if (respuesta.estado == "error") {
						open_dialog_alert(respuesta.mensaje);
					} else {
						open_dialog_alert("ocurrió un error inesperado.");
					}
					close_loading();
				},
				error: function (){
					close_loading();
					open_dialog_alert("ocurrió un error inesperado.");
				}
			});
		});
	});
	$("#btn_nuevo_producto_1, #btn_nuevo_producto_2").click(function(){
		open_dialog_product(function(codigo, data){
			$("#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>';
			$("#lista_productos").append(html);
		}, function(){});
	});
	$("#txt_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_datos.buscar = valor;
			cargar_productos();
		}
	});
	$("#txt_buscar_producto").on("keydown", function(event) {
		if (event.keyCode === 13) {
			let valor = $(this).val();
			ctrl_datos.buscar = valor;
			cargar_productos();
			event.preventDefault();
		}
	});
	$("#txt_buscar_producto").next().click(function(){
		let valor = $("#txt_buscar_producto").val();
		ctrl_datos.buscar = valor;
		cargar_productos();
	});
	$("#txt_filtro_tipo").change(function(){
		ctrl_datos.filtro_tipo = $(this).val();
	});
	$("#lista_productos").on("click", ".row_store", function(e){
		tabla_lista = "#lista_productos";
		$("#lista_productos .row_select").removeClass("row_select");
		$(this).addClass("row_select");
	});
	$("#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(0, row.producto_id, row.nombre);
					row_data.find(".v_column_2").html(row.codigo);
					row_data.find(".v_column_4").html(row.fabricante);
					row_data.find(".v_column_5").html(row.modelo);
					row_data.find(".v_column_6").html(row.serie);
					vista_columnas_tabla();
					actualizar_costo_total();
				}
			},
			error: function (){
				open_dialog_alert("Ocurrió un error buscando los datos del producto");
			}
		});
	});
	$("#panel_edit").on("change", "input", function(){ 
		activar_guardar(true); 
	});
	$("#panel_edit").on("change", "select", function(){ activar_guardar(true); });
	$("#txt_proveedor").change(function(){
		if ($(this).val() == "0"){
			$(this).val("");
			open_dialog_proveedor(function(codigo, datos){
				$("#txt_proveedor").append("<option value='"+codigo+"'>"+datos.documento_tipo+": "+datos.documento_numero+" | "+datos.nombre+"</option>");
				$("#txt_proveedor").val(codigo);
			}, function(){})
		}
	});
	$("#txt_responsable").change(function(){
		if ($(this).val() == "0"){
			$(this).val("");
			open_dialog_responsable(function(codigo, datos){
				$("#txt_responsable").append("<option value='"+codigo+"'>"+datos.documento_tipo+": "+datos.documento_numero+" | "+datos.nombre+"</option>");
				$("#txt_responsable").val(codigo);
			}, function(){})
		}
	});
	$("#txt_moneda").change(function(){
		if ($(this).val() == "0"){
			$(this).val("");
			open_dialog_moneda(function(codigo, datos){
				$("#txt_moneda").append("<option value='"+datos.codigo+"'>"+datos.codigo+": "+datos.simbolo+" | "+datos.nombre+"</option>");
				$("#txt_moneda").val(codigo);
			}, function(){})
		} else {
			let simbolo = $("#txt_moneda option:selected").attr("data-simbolo");
			$(".simbolo_moneda").html(simbolo+"&nbsp;");
			$(".td_precio_compra .td_precio_dolar input[type='number']").change();
		}
	});
	/*$("#txt_igv").change(function(){
		if ($(this).val() == "0"){
			$(this).val("");
			open_dialog_igv(function(codigo, datos){
				$("#txt_igv").append("<option value='"+datos.porcentaje+"'>"+datos.porcentaje+" %</option>");
				$("#txt_igv").val(codigo);
			}, function(){})
		}
	});*/
	$(".opciones_adicionales_btn").click(function(){
		let panel = $(this).next();
		if (panel.hasClass("opciones_adicionales_view")){
			if (panel.css("display") != "none"){
				panel.slideUp(500);
			} else {
				if ($("#accion").val() == "nuevo" || $("#accion").val() == "editar"){
					panel.slideDown(500);
				}
			}
		}
	});
	$("#tool_precio_venta").change(function(){
		if ($("#tool_precio_venta").prop("checked")){
			$(".td_precio_venta").css("display", "table-cell");
			$(".td_precio_minimo").css("display", "table-cell");
		} else {
			$(".td_precio_venta").css("display", "none");
			$(".td_precio_minimo").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")){
			$(".td_valor_ganancia").css("display", "table-cell");
			//$(this).parent().next().css("display", "flex");
		} else {
			$(".td_valor_ganancia").css("display", "none");
			//$(this).parent().next().css("display", "none");
		}
	});
	$("#tool_valor_porcentual").change(function(){
		$("#table_list .td_numero input").prop("checked", false);
		if ($("#tool_valor_porcentual").prop("checked")){
			$(".td_numero span").css("display", "none");
			$(".td_numero input[type='checkbox']").css("display", "block");
			$(this).parent().next().css("display", "block");
		} else {
			$(".td_numero span").css("display", "block");
			$(".td_numero input[type='checkbox']").css("display", "none");
			$(this).parent().next().css("display", "none");
		}
	});
	$("#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 .td_valor_ganancia_porcentaje input[type='number']");
				input_ganancia.val(new_val.toFixed(2));
				input_ganancia.change();
			}
		}
	});
	$("#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");
			for (let idx=0; idx<lista.length; idx++){
				let fila = $($(lista[idx]).parent().parent());
				let input_ganancia = fila.find(".td_valor_ganancia_soles input[type='number']");
				input_ganancia.val(new_val.toFixed(2));
				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_cantidad input[type='number']", function(){
		let val = $(this).val();
		if (val == undefined || parseInt(val) < 0){
			$(this).val(0);
		}
		actualizar_costo_total();
	});
	$("#table_list").on("change", ".td_precio_compra .td_precio_dolar input[type='number']", function(){
		let cambio = $("#txt_moneda option:selected").attr("data-cambio");
		if (cambio == undefined || cambio.length < 0){
			cambio = "0";
		}
		cambio = makeFloat(cambio);
		let valor = makeFloat($(this).val());
		let input = $(this).parent().next().find("input");
		input.val((cambio*valor).toFixed(2));
		
		let fila = $(this).parent().parent().parent();
		let ganancia_moneda = fila.find(".td_valor_ganancia .td_valor_ganancia_soles input[type='number']");
		ganancia_moneda.change();
	});
	$("#table_list").on("change", ".td_precio_compra .td_precio_soles input[type='number']", function(){
		let cambio = $("#txt_moneda option:selected").attr("data-cambio");
		if (cambio == undefined || cambio.length < 0){
			cambio = "1";
		}
		cambio = makeFloat(cambio);
		let valor = makeFloat($(this).val());
		let input = $(this).parent().prev().find("input");
		input.val((valor/cambio).toFixed(3));
		
		let fila = $(this).parent().parent().parent();
		let ganancia_moneda = fila.find(".td_valor_ganancia .td_valor_ganancia_soles input[type='number']");
		ganancia_moneda.change();
	});
	$("#table_list").on("change", ".td_valor_ganancia_porcentaje input[type='number']", function(){
		let fila = $(this).parent().parent().parent();
		let cambio = $("#txt_moneda option:selected").attr("data-cambio");
		if (cambio == undefined || cambio.length < 0){
			cambio = "1";
		}
		cambio = makeFloat(cambio);
		let precio_compra = fila.find(".td_precio_compra .td_precio_soles input[type='number']");
		let ganancia_porcentaje = fila.find(".td_valor_ganancia .td_valor_ganancia_porcentaje input[type='number']");
		let ganancia_moneda = fila.find(".td_valor_ganancia .td_valor_ganancia_soles input[type='number']");
		let valor_ganancia_text = fila.find(".td_valor_ganancia .td_precio_soles input");
		let precio_venta = fila.find(".td_precio_venta .td_precio_soles input[type='number']");
		
		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_soles input[type='number']", function(){
		let fila = $(this).parent().parent().parent();
		let cambio = $("#txt_moneda option:selected").attr("data-cambio");
		if (cambio == undefined || cambio.length < 0){
			cambio = "1";
		}
		cambio = makeFloat(cambio);
		let precio_compra = fila.find(".td_precio_compra .td_precio_soles input[type='number']");
		let ganancia_porcentaje = fila.find(".td_valor_ganancia .td_valor_ganancia_porcentaje input[type='number']");
		let ganancia_moneda = fila.find(".td_valor_ganancia .td_valor_ganancia_soles input[type='number']");
		let valor_ganancia_text = fila.find(".td_valor_ganancia .td_precio_soles input");
		let precio_venta = fila.find(".td_precio_venta .td_precio_soles input[type='number']");
		
		if (makeFloat(precio_compra.val()) > 0){
			ganancia_porcentaje.val((makeFloat(ganancia_moneda.val())/makeFloat(precio_compra.val()))*100);
		} else {
			ganancia_porcentaje.val(0);
		}
		precio_venta.val((makeFloat(precio_compra.val()) + makeFloat(ganancia_moneda.val())).toFixed(2));
	});
	$("#table_list").on("change", ".td_precio_venta .td_precio_dolar input[type='number']", function(){
		let cambio = $("#txt_moneda option:selected").attr("data-cambio");
		if (cambio == undefined || cambio.length < 0){
			cambio = "0";
		}
		cambio = makeFloat(cambio);
		let valor = makeFloat($(this).val());
		let input = $(this).parent().next().find("input");
		input.val((cambio*valor).toFixed(2));
	});
	$("#table_list").on("change", ".td_precio_venta .td_precio_soles input[type='number']", function(){
		let cambio = $("#txt_moneda option:selected").attr("data-cambio");
		if (cambio == undefined || cambio.length < 0){
			cambio = "1";
		}
		cambio = makeFloat(cambio);
		let valor = makeFloat($(this).val());
		let input = $(this).parent().prev().find("input");
		input.val((valor/cambio).toFixed(3));
	});
	$("#btn_autoload_2").click(function(){
		$("#autoload_excel").click();
	});
	$("#autoload_excel").change(function(){
		var archivoInput = $('#autoload_excel')[0];
		var archivo = archivoInput.files[0];
		var formData = new FormData();
		formData.append('autoload_excel', archivo);
		formData.append('accion', "autoload_documento");
		formData.append('customdata', true);
		$("#autoload_excel").val("");
		open_loading();
		$.ajax({
			url: 'control/ctrl_importar.php',
			type: 'POST',
			data: formData,
			dataType: "json",
			processData: false,
			contentType: false,
			enctype: 'multipart/form-data',
			success: function (data) {
				//console.log(data);
				close_loading();
				let html = '';
				let cbo = '<option value="-1" selected>Ninguno</option>';
				if (data.estado == "ok"){
					$("#autoload_lista_datos").val(JSON.stringify(data.datos));
					html += '<table border="1">';
					for (let idx=0; idx<data.datos.length && idx<10; idx++){
						html += '<tr>';
						for (let idy=0; idy<data.datos[idx].length; idy++){
							if (idx==0){
								html += '<th>'+data.datos[idx][idy]+'</th>';
								cbo += '<option value="'+idy+'">'+data.datos[idx][idy]+'</option>';
							} else {
								html += '<td>'+data.datos[idx][idy]+'</td>';
							}
						}
						html += '</tr>';
					}
					html += '</table>';
					$("#_dialogo_autoload .table_preview").html(html);
					$("#_dialogo_autoload .column_import").html(cbo);
					$("#_dialogo_autoload .column_import").val("");
					$("#import_col_producto_nombre option:contains('NOMBRE PRODUCTO')").prop("selected", true);
					$("#import_col_producto_codigo option:contains('CODIGO PRODUCTO')").prop("selected", true);
					$("#import_col_fabricante_nombre option:contains('FABRICANTE')").prop("selected", true);
					$("#import_col_producto_modelo option:contains('MODELO')").prop("selected", true);
					$("#import_col_producto_serie option:contains('SERIE')").prop("selected", true);
					$("#import_col_precio_compra option:contains('PRECIO COMPRA')").prop("selected", true);
					$("#import_col_unidades option:contains('UNIDADES')").prop("selected", true);
					if ($("#import_col_unidades").val() == null){
						$("#import_col_unidades option:contains('STOCK')").prop("selected", true);
					}
					if ($("#import_col_producto_codigo").val() == null){
						$("#import_col_producto_codigo option:contains('CODIGO')").prop("selected", true);
					}
					if ($("#import_col_producto_nombre").val() == null){
						$("#import_col_producto_nombre option:contains('DESCRIPCION')").prop("selected", true);
					}
					dialogo_autoload_open();
				} else {
					open_dialog_alert("Ocurrió un error cargando su archivo.");
				}
			},
			error: function (error) {
				close_loading();
				open_dialog_alert("Ocurrió un error cargando su archivo.");
			}
		});
	});
	var tabla_lista = "";
	$(document).keydown(function(event) {
		if (tabla_lista == "#lista_elementos"){
			if ($("#accion").val() == "nuevo" || $("#accion").val() == "editar"){
				return;
			}
		} else if (tabla_lista == "#lista_productos"){
			if ($("#accion").val() != "nuevo" && $("#accion").val() != "editar"){
				return;
			}
		} else if (tabla_lista == "#table_list"){
		} else if (tabla_lista == ""){
			return;
		}
		if (tabla_lista == "#lista_elementos" || tabla_lista == "#lista_productos"){
			let $filas = $(tabla_lista+' li');
			if ($filas.length == 0){
				return;
			}
			var ajustarScroll = function($elemento) {
				let pos_top = $(tabla_lista).position().top+($(tabla_lista).outerHeight(true)/2.0);
				pos_top -= $elemento.outerHeight(true)/2.0;
				$(tabla_lista).scrollTop($elemento.position().top+$(tabla_lista).scrollTop()-pos_top);
			}
			if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
				let $filaSeleccionada = $(tabla_lista+' .row_select');
				if (!$filaSeleccionada.length) {
					$filas.eq(0).click();
					$filas.eq(0).addClass('row_select');
					ajustarScroll($filas.eq(0));
					return;
				}
				let indiceSeleccionada = $filas.index($filaSeleccionada);
				if (event.key === 'ArrowUp' && indiceSeleccionada > 0) {
					$filaSeleccionada.removeClass('row_select');
					$filas.eq(indiceSeleccionada - 1).click();
					$filas.eq(indiceSeleccionada - 1).addClass('row_select');
					ajustarScroll($filas.eq(indiceSeleccionada - 1));
				} else if (event.key === 'ArrowDown' && indiceSeleccionada < $filas.length - 1) {
					$filaSeleccionada.removeClass('row_select');
					$filas.eq(indiceSeleccionada + 1).click();
					$filas.eq(indiceSeleccionada + 1).addClass('row_select');
					ajustarScroll($filas.eq(indiceSeleccionada + 1));
				}
				event.preventDefault();
			}
		} else if(tabla_lista == "#table_list"){
			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();
			}
		}
	});
	cargar_lista();
	cargar_lista_proveedor();
	cargar_lista_responsable();
	cargar_lista_moneda();
	cargar_lista_igv();
	vista_columnas_tabla();
	//cargar_productos();
});
</script>
</html>
