<?php
require_once('../clases/xajax/xajax_core/xajax.inc.php');
$xajax = new xajax();
//$xajax->setFlag('debug',true); 
$xajax->configure('javascript URI', '../clases/xajax/');
$xajax->setCharEncoding("ISO-8859-1");

function xExportar($varForm) {
	$varEmp = (isset($varForm["ecod"]) && $varForm["ecod"]<>'')? $varForm["ecod"]:"NULL";
	$varVen = (isset($varForm["vcod"]) && $varForm["vcod"]<>'')? $varForm["vcod"]:"NULL";
	$varCli = (isset($varForm["ccod"]) && $varForm["ccod"]<>'')? $varForm["ccod"]:"NULL";
	$varRut = (isset($varForm["rcod"]) && $varForm["rcod"]<>'')? $varForm["rcod"]:"NULL";
	$varIni = (isset($varForm["fini"]) && $varForm["fini"]<>'')? "'".FechaMySql($varForm["fini"])."'":"NULL";
	$varFin = (isset($varForm["ffin"]) && $varForm["ffin"]<>'')? "'".FechaMySql($varForm["ffin"])."'":"NULL";
	$varUsr = (isset($_SESSION["_CUSE"]))?$_SESSION["_CUSE"]:1;
	$varFie = (isset($varField) && $varField<>'')? "'$varField'":"NULL";
	$varOrd = (isset($varOrder) && $varOrder<>'')? "'$varOrder'":"NULL";
	
	$sql = "call spQuery_Registro_Pedidos($varEmp, $varVen, $varCli, $varRut, $varIni, $varFin, '$varForm[est]', $varFie, $varOrd);";
	$_SESSION["expor_sql_1"] =  $sql;
	$_SESSION["expor_sql_2"] = NULL;
	$varTitulo = (isset($varForm["titu"]))?$varForm["titu"]:"Reporte";	
	$objResponse=new xajaxResponse();
    $objResponse->redirect("../export.php?page=$varTitulo");
    return $objResponse;
	}

function xBuscar($varForm, $varField, $varOrder) {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroPedidos($var[0],$var[1],$var[2],$var[3],$var[4]);	
	$varTabla = $obj->GridDatos($varForm, $varField, $varOrder);
	$respuestaXajax = new xajaxResponse();
	$respuestaXajax->assign("divDatos", "innerHTML", $varTabla);
	//$varMarcar="ResaltarSeleccionado()";
	//$respuestaXajax->script($varMarcar); 
	$varScript= '$(document).ready( function () {
				var oTable = $(\'#example\').dataTable( {
					"bJQueryUI": true,
					"sPaginationType": "full_numbers",
					"iDisplayLength": 25,
					"aLengthMenu": [[25, 50, 100], [25,50,100]],
					"iSortingCols":"2",
					"aoColumnDefs": [
								{ "aTargets":[0], "sClass": "center", "sWidth": "20px", "bSortable": false },
								{ "aTargets":[1,2], "sClass": "center", "sWidth": "50px" },
								{ "aTargets":[17], "sClass": "right", "sWidth": "50px" },
								{ "aTargets":[3,5,14,16,18,19,20,21], "bVisible": false }
							],
					"oLanguage": {
						"sLengthMenu": "Mostrar _MENU_  Registros por Pagina",
						"sZeroRecords": "Nothing found - sorry",
						"sInfo": "Viendo [_START_ a _END_] de _TOTAL_ Registros",
						"sInfoEmpty": "Showing 0 to 0 of 0 records",
						"sInfoFiltered": "(Filtrados de _MAX_ Registros Totales)",
						"sSearch": "Buscar Por : ",
						"oPaginate": {
							"sFirst": "|<<",
							"sLast": ">>|",
							"sNext": ">>",
							"sPrevious": "<<"
						  	}
						},
					"bProcessing": true,
					"bServerSide": true,
					"sAjaxSource": "../data_pedidos.php?emp='.$varForm["ecod"].'&ven='.$varForm["vcod"].'&cli='.$varForm["ccod"].'&rut='.$varForm["rcod"].'&ini='.$varForm["fini"].'&fin='.$varForm["ffin"].'&est='.$varForm["est"].'"
				} );
			} );';
	$respuestaXajax->script($varScript);
	return $respuestaXajax;
	}

function xFormuRegistro($varOpt, $varCod) {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroPedidos($var[0],$var[1],$var[2],$var[3],$var[4]);
	$varTabla = $obj->FormuRegistro($varOpt, $varCod);
	$respuestaXajax = new xajaxResponse();
	$respuestaXajax->assign("divForm", "innerHTML", $varTabla);
	return $respuestaXajax;
	}

function xFormuDetalle($varCod) {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroPedidos($var[0],$var[1],$var[2],$var[3],$var[4]);
	$varTabla = $obj->FormuDetalle($varCod);
	$respuestaXajax = new xajaxResponse();
	$respuestaXajax->assign("divForm", "innerHTML", $varTabla);
	return $respuestaXajax;
	}
	
function xRegresar() {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroPedidos($var[0],$var[1],$var[2],$var[3],$var[4]);
	$varTabla.= $obj->FormuBusqueda();
	$varTabla.= "<div id=\"divDatos\">";
	//$varTabla.= $obj->GridDatos();		
	$varTabla.= "</div>";
	$respuestaXajax = new xajaxResponse();
	$respuestaXajax->assign("divForm", "innerHTML", $varTabla);
	$varFecha = '$(document).ready(function() {
					function startChange() {
						var startDate = fini.value();
				
						if (startDate) {
							startDate = new Date(startDate);
							startDate.setDate(startDate.getDate() + 0);
							ffin.min(startDate);
						}
					}
				
					function endChange() {
						var endDate = ffin.value();
				
						if (endDate) {
							endDate = new Date(endDate);
							endDate.setDate(endDate.getDate() - 0);
							fini.max(endDate);
						}
					}
				
					var fini = $("#fini").kendoDatePicker({
						change: startChange,
						format: "dd/MM/yyyy"
					}).data("kendoDatePicker");
				
					var ffin = $("#ffin").kendoDatePicker({
						change: endChange,
						format: "dd/MM/yyyy"
					}).data("kendoDatePicker");
				
					fini.max(ffin.value());
					ffin.min(fini.value());
					});
				';
	$respuestaXajax->script($varFecha);
	return $respuestaXajax;
	}
	
function xGrabar($varForm) {
	$varEmp = $varForm["emp1"];
	$varAge = $varForm["age1"];
	$varAlm = $varForm["alm1"];
	$varVen = $varForm["vcod1"];
	$varNom = $varForm["vnom"];
	$varUsr = (isset($_SESSION["_CUSE"]))  ? $_SESSION["_CUSE"] : "1";
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroPedidos($var[0],$var[1],$var[2],$var[3],$var[4]);
	$varResul = $obj->ProcesoGrabar($varForm);
	$respuestaXajax = new xajaxResponse();
	if ($varResul[0]=="OK") {
		$sqlalm = "call spQuery_Lista_Almacen($varEmp, NULL, NULL, $varUsr);";	
		$sqlage = "call spQuery_Lista_Agencia($varUsr, $varEmp, NULL, NULL);";
		$varComAlm = $obj->SetCombo("alm", $sqlalm, $varAlm, 327, NULL, "--[[SELECCIONAR]]--");
		$varComAge = $obj->SetCombo("age", $sqlage, $varAge, 327, "xajax_ComboListaAlmacenAge($varEmp, this.value, $varUsr)", "--[[SELECCIONAR]]--");
		
		$varTabla = $obj->FormuRegistro($varOpt, $varCod);
		
		$respuestaXajax = new xajaxResponse();
		$respuestaXajax->assign("divForm", "innerHTML", $varTabla);
		$respuestaXajax->assign("emp", "value", $varEmp);
		$respuestaXajax->assign("divAge", "innerHTML", $varComAge);
		$respuestaXajax->assign("divAlm", "innerHTML", $varComAlm);
		$respuestaXajax->assign("vcod", "value", $varVen);
		$respuestaXajax->assign("vnom", "value", $varNom);
	
		$respuestaXajax->alert("PEDIDO REGISTRADO CORRECTAMENTE\nNro. PEDIDO\t\t".$varResul[1]);
		return $respuestaXajax;
		}
	else
		$respuestaXajax->alert("ERROR AL PROCESAR DATOS...!!!!!\n====================================\n".$varResul[1]."\nVERIFIQUE LOS DATOS POR FAVOR");
		
	return $respuestaXajax;
	}
	
function xEliminar($varCod) {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroPedidos($var[0],$var[1],$var[2],$var[3],$var[4]);
	$varResul = $obj->ProcesoEliminar($varCod);	
	$respuestaXajax = new xajaxResponse();
	if ($varResul=="OK") {
		//$varTabla = $obj->FormuDetalle($varResul[1]);
		//$respuestaXajax = new xajaxResponse();
		//$respuestaXajax->assign("divForm", "innerHTML", $varTabla);
		$respuestaXajax->alert("COMPRA ANULADA CORRECTAMENTE");
		}
	else
		$respuestaXajax->alert("ERROR AL PROCESAR DATOS...!!!!!\n====================================\n".$varResul."\nVERIFIQUE LOS DATOS POR FAVOR");
		
	return $respuestaXajax;
	}

$xajax->register(XAJAX_FUNCTION, 'seleccionar_empresa');
$xajax->register(XAJAX_FUNCTION, 'seleccionar_cliente');
$xajax->register(XAJAX_FUNCTION, 'seleccionar_ruta');
$xajax->register(XAJAX_FUNCTION, 'seleccionar_vendedor');
$xajax->register(XAJAX_FUNCTION, 'ComboListaAgenciaPed');
$xajax->register(XAJAX_FUNCTION, 'ComboListaAlmacenAge');
$xajax->register(XAJAX_FUNCTION, 'seleccionar_producto_venta');

$xajax->register(XAJAX_FUNCTION, 'xBuscar');
$xajax->register(XAJAX_FUNCTION, 'xFormuRegistro');
$xajax->register(XAJAX_FUNCTION, 'xFormuDetalle');
$xajax->register(XAJAX_FUNCTION, 'xRegresar');
$xajax->register(XAJAX_FUNCTION, 'xGrabar');
$xajax->register(XAJAX_FUNCTION, 'xEliminar');
$xajax->register(XAJAX_FUNCTION, 'xExportar');
$xajax->register(XAJAX_FUNCTION, 'xExportarDetalle');


$xajax->processRequest();
$xajax->printJavascript("../clases/xajax");

?>
<script language="javascript">		
	function xBuscarJS(varField, varOrder) {
		if (xajax.$("ecod").value=="") {
			alert("ERROR AL PROCESAR DATOS...!!!!!\nDEBE SELECCIONAR UN EMPRESA");  
			xajax.$("ecod").focus();
			return (false); 
			}
		else if (xajax.$("ccod").value=="" && xajax.$("vcod").value=="" && xajax.$("fini").value=="" && xajax.$("ffin").value=="" && xajax.$("rcod").value=="") {
			alert("ERROR AL PROCESAR DATOS...!!!!!\nDEBE UTILIZAR AL MENOS UN PARAMETRO DE BUSQUEDA");  
			xajax.$("pcod").focus();
			return (false); 
			}
		else {
			xajax_xBuscar(xajax.getFormValues('form'),varField, varOrder);		
			}
		}
	function xExportarJS() {
		if (xajax.$("ecod").value=="") {
			alert("ERROR AL PROCESAR DATOS...!!!!!\nDEBE SELECCIONAR UN EMPRESA");  
			xajax.$("ecod").focus();
			return (false); 
			}
		else if (xajax.$("ccod").value=="" && xajax.$("vcod").value=="" && xajax.$("fini").value=="" && xajax.$("ffin").value=="" && xajax.$("rcod").value=="") {
			alert("ERROR AL PROCESAR DATOS...!!!!!\nDEBE UTILIZAR AL MENOS UN PARAMETRO DE BUSQUEDA");  
			xajax.$("pcod").focus();
			return (false); 
			}
		else {
			xajax_xExportar(xajax.getFormValues('form'));
			}
		}
	function xExportarDetalleJS() {
		xajax_xExportarDetalle(xajax.getFormValues('form'));		
		}
	function xGrabarJS() {
		var msj_articulo="";
		var con1 = 0;
		var con2 = 0;
		var con3 = 0;
		var varPatronDoc = "^([0-9]{3})-([0-9]{7})$";
		var expreg = new RegExp (varPatronDoc);	
		var varNumItem = xajax.$('num');
		
		var varCab = "!!!!!...ERROR AL PROCESAR DATOS...!!!!!\n=======================================\n";
		var varDet = "";
	
		for (i=1; i<=varNumItem.value;i++) {
			if(xajax.$('icod['+i+']')) {
				var varCodigo = xajax.$('icod'+i);
				var varProduc = xajax.$('inom'+i);
				var varPrecio = xajax.$('ipre'+i);
				var varCant   = xajax.$('ican'+i);
				
				if(varCodigo.value=="" && con1==0) {
					msj_articulo = "- FALTA SELECCIONAR ALGUN ARTICULO\n";
					con1++;
					}
				if(parseFloat(varPrecio.value) <= 0 || varPrecio.value=='' && con1==0) {
					msj_articulo = msj_articulo + "- PRODUCTO : " + varCodigo.value + ' - ' + varProduc.value + ' -> Especificar Precio\n';
					}
				if(parseFloat(varCant.value) <= 0  || varCant.value=='' && con1==0) {
					msj_articulo = msj_articulo + "- PRODUCTO : " + varCodigo.value + ' - ' + varProduc.value + ' -> Especificar una Cantidad\n';
					}
				}
			}
		if (xajax.$("emp") && (xajax.$("emp").value=="Ninguno" || xajax.$("emp").value=="")) { 
			varDet = varDet + "- DEBE SELECCIONAR UNA EMPRESA VALIDA\n";
			}
		if (xajax.$("age") && (xajax.$("age").value=="Ninguno" || xajax.$("age").value=="")) { 
			varDet = varDet + "- DEBE SELECCIONAR UNA AGENCIA VALIDA\n";
			}
		if (xajax.$("alm") && (xajax.$("alm").value=="Ninguno" || xajax.$("alm").value=="")) { 
			varDet = varDet + "- DEBE SELECCIONAR UN ALMACEN VALIDO\n";
			}	
		if (xajax.$("tdcod") && (xajax.$("tdcod").value=="Ninguno" || xajax.$("tdcod").value=="")) { 
			varDet = varDet + "- DEBE SELECCIONAR UN TIPO DE DOCUMENTO VALIDO\n";
			}
		if (xajax.$("cond") && (xajax.$("cond").value=="Ninguno" || xajax.$("cond").value=="")) { 
			varDet = varDet + "- DEBE SELECCIONAR UNA CONDICION DE VENTA VALIDA\n";
			}		
		
		if (xajax.$("vcod") && (xajax.$("vcod").value=="")) { 
			varDet = varDet + "- DEBE SELECCIONAR UN VENDEDOR\n";
			}
		else if (xajax.$("vnom") && xajax.$("vnom").value=="NO EXISTE") { 
			varDet = varDet + "- EL VENDEDOR INGRESADO NO EXISTE, DEBE SELECCIONAR UN VENDEDOR VALIDO\n";
			}
		
		if (xajax.$("ccod") && xajax.$("ccod").value=="") { 
			varDet = varDet + "- DEBE SELECCIONAR UN CLIENTE\n";
			}
		else {
			if (xajax.$("cnom") && xajax.$("cnom").value=="NO EXISTE") { 
				varDet = varDet + "- EL CLIENTE INGRESADO NO EXISTE, DEBE SELECCIONAR UN CLIENTE VALIDO\n";
				}
			if (xajax.$("txtdir") && xajax.$("txtdir").value=="") { 
				varDet = varDet + "- EL CLIENTE SELECCIONADO, NO CUENTA UNA DIRECCION\n";
				}
			if (xajax.$("rcod") && xajax.$("rcod").value=="") { 
				varDet = varDet + "- EL CLIENTE SELECCIONADO, NO CUENTA CON RUTA DE DESPACHO VALIDA\n";
				}
			if (xajax.$("lcod") && xajax.$("lcod").value=="") { 
				varDet = varDet + "- EL CLIENTE SELECCIONADO, NO CUENTA CON UNA LISTA DE PRECIOS VALIDA\n";
				}	
			}
		
		if (xajax.$("num") && xajax.$("num").value=="0") { 
			varDet = varDet + "- NO INGRESO NINGUN ITEM A ESTE PEDIDO\n";
			}
		if (msj_articulo!="") {
			varDet = varDet + msj_articulo;
			}
		if (parseFloat(xajax.$("tot").value)<parseFloat(xajax.$("lmin").value)) {
			varDet = varDet + "- EL MONTO DEL PEDIDO ES MENOR QUE EL MONTO MINIMO REQUERIDO";
			}
		if (varDet!="") {
			alert (varCab + varDet);
			return false;
			}
		else {
			if (confirm("¿DESE REGISTRAR EL PEDIDO?")) {
				xajax_xGrabar(xajax.getFormValues('form'));		
				}
			}
		}
	
	function xEliminarJS(varCod, varEmi, varTipo, varDoc, varTab) {
		if(_confirm('&iquest;ESTA SEGURO DE ANULAR ESTA COMPRA?\n====================================\nFecha Emisión \t: '+varEmi+'\nTipo Doc. \t\t: '+varTipo+'\nDocumento \t\t: '+varDoc+'\nTENGA EN CUENTA QUE ESTE PROCESO ANULARA EL MOVIMIENTO QUE SE REALIZO EN EL ALMACEN')) {			
			xajax_xEliminar(varCod);
			EliminarFilaTabla(varTab)
			}
		}
		
	function FormuRegistroJS(varOpt, varCod) {
		UnTip();
		xajax_xFormuRegistro(varOpt, varCod);		
		}
	function FormuDetalleJS(varCod) {
		UnTip();
		var Ruta = 'print/print_detalle_pedido.php?ide='+varCod;
		testwindow= window.open (Ruta, "Detalle_Pedido", "location=no,status=no,toolbar=no,scrollbars=1,width=800,height=550");	
		}
</script>

<?php		
function MyTable($obj, $varTitulo, $Opcion, $Valor) {
	echo "<div id=\"divForm\">";
	echo $obj->FormuBusqueda();
	echo "<div id=\"divDatos\">";
	//echo $obj->GridDatos();		
	echo "</div>";
	echo "</div>";
	}
	?>
	<script language="javascript">
	function CalcularItem(i) {
		var varCant = 0;
		var varUnitario = 0;
		
		var vuni = document.getElementById('ipre'+i);
		var vcan = document.getElementById('ican'+i);	
		var vtot = document.getElementById('itot'+i);
		
		if (vuni.value=="") varUnitario = "0";
		else	varUnitario = vuni.value;
		
		if (vcan.value=="") varCant="0";
		else	varCant = vcan.value;
		

		var varTotal = parseFloat(varUnitario)*parseFloat(varCant);
		vtot.value = redondear(varTotal,2);
		CalculaRTotal();
		}
		
	function CalculaRTotal() {
		var form = document.getElementById('form');
		var sto = 0;
		for (i=0;i<form.elements.length;i++) {	
			var Campo = form.elements[i].name;		
			if(Campo.indexOf("itot")==0) {			
				if (form.elements[i].value!="") {				
					sto = sto + parseFloat(form.elements[i].value);		
					}
				}
			}
		var vtotal = document.getElementById('tot');
		vtotal.value = redondear(sto,2);
		}
		
	function restar() {
		var miTabla = document.getElementById("cuerpoTabla");
		var i = 0;
		do
			if (miTabla.rows[i].getElementsByTagName("input")[0].checked == true)
				miTabla.deleteRow(i);
			else
				i ++;
		while (miTabla.rows.length != i)
	}
	
	function DeleteRow(x) {
		while (x.tagName.toLowerCase() !='tr') {
			if(x.parentElement)
				x=x.parentElement;
			else if(x.parentNode)
				x=x.parentNode;
			else
			return;
			}
		var rowNum=x.rowIndex;
		while (x.tagName.toLowerCase() !='table') {
			if(x.parentElement)
				x=x.parentElement;
			else if(x.parentNode)
				x=x.parentNode;
			else
				return;
			}
		x.deleteRow(rowNum);
		CalculaRTotal();
		}
		
	function valida(e){
		tecla=(document.all) ? e.keyCode : e.which;
		if(tecla == 13)
		document.form.cond.focus();
		}
		
	
	function cargarProducto(ccod, cnom) {
		var Ruta = 'lista_producto.php?ccod='+ccod+'&cnom='+cnom;
		testwindow= window.open (Ruta, "mywindow",
		"location=1,status=1,scrollbars=1,width=600,height=600");
		}
		
	function select_producto(ide, varLista) {	
		var ccod1 = document.getElementById('icod['+ide+']');
		var cnom1 = document.getElementById('inom['+ide+']');
		var cuni1 = document.getElementById('ipre['+ide+']');
		var cstk1 = document.getElementById('istk['+ide+']');
		var cume1 = document.getElementById('iuni['+ide+']');
		
		var existe="NO";
		var form = document.getElementById('form');	
		if(ccod1=="") {
			ccod1.value = "";
			cnom1.value = "";
			cstk1.value = "";
			cume1.value = "";
			}
		else {		
			var dato = koolajax.callback(seleccionaProducto(ccod1.value, varLista));		
			if(dato=="NO EXISTE") {
				alert("PRODUCTO ESCRITO NO EXISTE...");
				ccod1.value = "";
				cnom1.value = dato;
				cuni1.value = "";
				cume1.value = "";
				ccod1.focus();
				}
			else {
				var myArray = dato.split('[[sep]]'); 			
				for (i=0;i<form.elements.length;i++) {
					var Campo = form.elements[i].name;		
					if(Campo.indexOf("icod")==0 && form.elements[i].value==ccod1.value && Campo != ccod1.name) {
						existe="SI";	
						}	
					}				
				if (existe=="SI") {
					ccod1.value = "";
					cnom1.value = "";
					cuni1.value = "";
					cume1.value = "";
					alert("EL producto : " + ccod1.value + "\n" + myArray[0] + "\nYA ESTA AGREGADO, SELECCIONE OTRO POR FAVOR");
					ccod1.focus();
					}
				else {
					
					cnom1.value = myArray[0];
					cume1.value = myArray[1];
					cstk1.value = myArray[3];
					cuni1.value = myArray[2];
					}
				}
			}
		}
		
	

function AnularVenta(varCod, varEmi, varDoc, varUrl) {		
	if(_confirm('&iquest;ESTA SEGURO DE ANULAR ESTA VENTA?\nFecha Emisión : '+varEmi+'\nDocumento : '+varDoc+'\nTENGA EN CUENTA QUE ESTE PROCESO REALIZARA LO SIGUIENTE:\n ANULARA EL MOVIMIENTO QUE SE REALIZO EN EL ALMACEN\n** ANULARA TODOS LOS PAGOS QUE SE HAYAN REALIZADO A ESTE DOCUMENTO EN LA CUENTA CORRIENTE DEL CLIENTE?')) {		
		var Ruta = varUrl+'?opt=ANUL&valor='+varCod;
		window.location.href = Ruta;	
		}
	}

function DetalleVenta(varCod, varEmi, varDoc, varUrl) {		
	var Ruta = varUrl+'?opt=VIEW&valor='+varCod;
	window.location.href = Ruta;
	}
</script>
