<?php
require_once('clases/xajax/xajax_core/xajax.inc.php');
$xajax = new xajax();
//$xajax->setFlag('debug',true); 
$xajax->configure('javascript URI', 'clases/xajax/');
function xExportar($varForm) {
	$varPro = (isset($varForm["pcod"]) && $varForm["pcod"]<>'')? $varForm["pcod"]:"NULL";
	$varTip = (isset($varForm["tcod"]) && $varForm["tcod"]<>'')? $varForm["tcod"]:"NULL";
	$varIni = (isset($varForm["fini"]) && $varForm["fini"]<>'')? "'".FechaMySql($varForm["fini"])."'":"NULL";
	$varFin = (isset($varForm["ffin"]) && $varForm["ffin"]<>'')? "'".FechaMySql($varForm["ffin"])."'":"NULL";
	$varEst = (isset($varForm["est"]) && $varForm["est"]<>'Ninguno')?"'".$varForm["est"]."'":"NULL";
	$varUsr = (isset($_SESSION["_CUSE"]))?$_SESSION["_CUSE"]:1;
	$varFie = (isset($varField) && $varField<>'')? "'$varField'":"NULL";
	$varOrd = (isset($varOrder) && $varOrder<>'')? "'$varOrder'":"NULL";
	
	$sql = "call spQuery_CXP_Registro_Compras(NULL,$varPro, $varTip, $varIni, $varFin, $varEst, $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 clsRegistroCompras($var[0],$var[1],$var[2],$var[3],$var[4]);	
	$varTabla = $obj->GridDatos($varForm, $varField, $varOrder);
	$respuestaXajax = new xajaxResponse();
	$respuestaXajax->assign("divDatos", "innerHTML", utf8_encode($varTabla));
	$varMarcar="ResaltarSeleccionado()";
	$respuestaXajax->script($varMarcar); 
	return $respuestaXajax;
	}

function xFormuRegistro($varOpt, $varCod) {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroCompras($var[0],$var[1],$var[2],$var[3],$var[4]);
	$varTabla = $obj->FormuRegistro($varOpt, $varCod);
	$respuestaXajax = new xajaxResponse();
	$respuestaXajax->assign("divForm", "innerHTML", utf8_encode($varTabla));
	$respuestaXajax->script($variable); 
	$varFecha = '$(document).ready(function() {
					function startChange() {
						var startDate = femi.value();
						if (startDate) {
							startDate = new Date(startDate);
							startDate.setDate(startDate.getDate());
							fven.min(startDate);
							}
						}
					function endChange() {
						var endDate = fven.value();
						if (endDate) {
							endDate = new Date(endDate);
							endDate.setDate(endDate.getDate());
							femi.max(endDate);
							}
						}
					var femi = $("#femi").kendoDatePicker({
						change: startChange,
						format: "dd/MM/yyyy"
					}).data("kendoDatePicker");
					var fven = $("#fven").kendoDatePicker({
						change: endChange,
						format: "dd/MM/yyyy"
					}).data("kendoDatePicker");
				fven.min(femi.value());
				femi.max(fven.value());
				});
				
				';
	$respuestaXajax->script($varFecha);
	return $respuestaXajax;
	}

function xFormuDetalle($varCod) {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroCompras($var[0],$var[1],$var[2],$var[3],$var[4]);
	$varTabla = $obj->FormuDetalle($varCod);
	$respuestaXajax = new xajaxResponse();
	$respuestaXajax->assign("divForm", "innerHTML", utf8_encode($varTabla));
	return $respuestaXajax;
	}
	
function xRegresar() {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroCompras($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", utf8_encode($varTabla));
	$varFecha = '$(document).ready(function() {
				function startChange() {
					var startDate = fini.value();
		
					if (startDate) {
						startDate = new Date(startDate);
						startDate.setDate(startDate.getDate());
						ffin.min(startDate);
					}
				}
		
				function endChange() {
					var endDate = ffin.value();
		
					if (endDate) {
						endDate = new Date(endDate);
						endDate.setDate(endDate.getDate());
						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");
		
			});';
	$respuestaXajax->script($varFecha);
	return $respuestaXajax;
	}
function xGrabar($varForm) {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroCompras($var[0],$var[1],$var[2],$var[3],$var[4]);
	$varResul = $obj->ProcesoGrabar($varForm);
	$respuestaXajax = new xajaxResponse();
	if ($varResul[0]=="OK") {
		$varTabla = $obj->FormuDetalle($varResul[1]);
		$respuestaXajax = new xajaxResponse();
		$respuestaXajax->assign("divForm", "innerHTML", utf8_encode($varTabla));
		}
	else
		$respuestaXajax->alert("ERROR AL PROCESAR DATOS...!!!!!\n====================================\n".$varResul[0]."\nVERIFIQUE LOS DATOS POR FAVOR");
		
	return $respuestaXajax;
	}
	
function xEliminar($varCod) {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroCompras($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", utf8_encode($varTabla));
		$respuestaXajax->alert("COMPRA ANULADA CORRECTAMENTE");
		}
	else
		$respuestaXajax->alert("ERROR AL PROCESAR DATOS...!!!!!\n====================================\n".$varResul."\nVERIFIQUE LOS DATOS POR FAVOR");
		
	return $respuestaXajax;
	}
	
function seleccionaProducto($ide) {
	if($ide<>"") {
		$var = VarServer("MYSQLI");
		$obj = new clsConexion($var[0],$var[1],$var[2],$var[3],$var[4]);
		$obj->AbrirConexion();
		$sql = "call spQuery_Lista_Producto('$ide','');";
		$rs = $obj->Query($sql);
		$obj->CerrarConexion();
		$Fila = $obj->FetchArray($rs);
		if($obj->NumFilas($rs)>0) $retorna = $sql.$Fila["PRODUCTO"]."[[sep]]".$Fila["UM_COMPRA"]."[[sep]]".$Fila["PRECIO_COMPRA"];
		else $retorna = "NO EXISTE";
		}
	return $retorna;
	}

$xajax->register(XAJAX_FUNCTION, 'seleccionar_proveedor_cxp');
$xajax->register(XAJAX_FUNCTION, 'seleccionar_tipo_docpago');
$xajax->register(XAJAX_FUNCTION, 'addValorComboMovCompra');
$xajax->register(XAJAX_FUNCTION, 'seleccionar_producto_compra');

$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");
//$koolajax->enableFunction("seleccionaProducto");
//echo $koolajax->Render();
?>
<script language="javascript">			
	function CalculaRTotal() {
		var varTot = document.getElementById('stot');
		var varSub = document.getElementById('ssub');
		var varIgv = document.getElementById('sigv');
		varTot.value = redondear(varSub.value*1.18,2);
		varIgv.value = redondear(varTot.value - varSub.value,2);
		}
	function CalculaRSubTotal() {
		var varTot = document.getElementById('stot');
		var varSub = document.getElementById('ssub');
		var varIgv = document.getElementById('sigv');
		varSub.value = redondear(varTot.value/1.18,2);
		varIgv.value = redondear(varTot.value - varSub.value,2);
		}
		
	function valida(e){
		tecla=(document.all) ? e.keyCode : e.which;
		if(tecla == 13)
		document.form.cond.focus();
		}
</script>
<script language="javascript">		
	function xBuscarJS(varField, varOrder) {
		if (xajax.$("pcod").value=="" && xajax.$("tcod").value=="" && xajax.$("fini").value=="" && xajax.$("ffin").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() {
		xajax_xExportar(xajax.getFormValues('form'));		
		}
	function xExportarDetalleJS() {
		xajax_xExportarDetalle(xajax.getFormValues('form'));		
		}
	function xGrabarJS() {
		var varErrorCab = "ERROR AL PROCESAR DATOS...!!!!!\n";
		var varErrorDet = "";
			
		if (xajax.$("tdoc") && xajax.$("tdoc").value=="Ninguno") {
			varErrorDet = varErrorDet + "- DEBE SELECCIONAR UN TIPO DE DOCUMENTO\n";
			}
		if (xajax.$("nser") && xajax.$("nser").value=="") {
			varErrorDet = varErrorDet + "- DEBE ESPECIFICAR UN NUMERO DE SERIE\n";
			}
		if (xajax.$("nnum") && xajax.$("nnum").value=="") {
			varErrorDet = varErrorDet + "- DEBE ESPECIFICAR UN NUMERO DE DOCUMENTO\n";
			}		
		if (xajax.$("femi") && xajax.$("femi").value=="") { 
			varErrorDet = varErrorDet + "- DEBE ESPECIFICAR UNA FECHA DE EMISION\n";
			}
		if (xajax.$("fven") && xajax.$("fven").value=="") { 
			varErrorDet = varErrorDet + "- DEBE ESPECIFICAR UNA FECHA DE VENCIMIENTO\n";
			}	
		if (xajax.$("con") && xajax.$("con").value=="") { 
			varErrorDet = varErrorDet + "- DEBE ESPECIFICAR UNA CONDICION DE PAGO\n";
			}
		if (xajax.$("pcod") && xajax.$("pcod").value=="") { 
			varErrorDet = varErrorDet + "- DEBE SELECCIONAR UN PROVEEDOR\n";
			}
		if (xajax.$("glo") && xajax.$("glo").value=="") { 
			varErrorDet = varErrorDet + "- DEBE ESPECIFICAR UNA GLOSA\n";
			}
		if (xajax.$("ssub") && xajax.$("ssub").value=="") { 
			varErrorDet = varErrorDet + "- DEBE INGRESAR UN SUB TOTAL\n";
			}
		if (xajax.$("stot") && xajax.$("stot").value=="") { 
			varErrorDet = varErrorDet + "- DEBE INGRESAR UN TOTAL\n	";
			}
		if (varErrorDet!="") {
			alert(varErrorCab + varErrorDet)
			}
		else {
			if (confirm("¿DESEA REGISTRAR LA CUENTA POR PAGAR?")) {
				xajax_xGrabar(xajax.getFormValues('form'));		
				}
			}
		}
	
	function xEliminarJS(varCod, varEmi, varTipo, varDoc, varTab) {
		if(confirm('¿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_cxp_documentos_pagar_detalle.php?ide='+varCod;
		testwindow= window.open (Ruta, "print_cxp_documentos_pagar_detalle", "location=no,status=no,toolbar=no,scrollbars=1,width=600,height=400");	
		}
	function xImprimirJS() {
		var varPro = xajax.$("pcod").value;
		var varTip = xajax.$("tcod").value;
		var varIni = xajax.$("fini").value;
		var varFin = xajax.$("ffin").value;
		var varEst = xajax.$("est").value;
		if (xajax.$("pcod").value=="" && xajax.$("tcod").value=="" && xajax.$("fini").value=="" && xajax.$("ffin").value=="") {
			alert("ERROR AL PROCESAR DATOS...!!!!!\nDEBE UTILIZAR AL MENOS UN PARAMETRO DE BUSQUEDA");  
			xajax.$("pcod").focus();
			return (false); 
			}
		else {
			var Ruta = 'print/print_cxp_documentos_pagar.php?pro='+varPro+'&tip='+varTip+'&ini='+varIni+'&fin='+varFin+'&est='+varEst;
			testwindow= window.open (Ruta, "print_cxp_documentos_pagar", "location=no,status=no,toolbar=no,scrollbars=1,width=1100,height=500");
			}	
		}
</script>
<?php

function MyTable($obj, $Titulo, $Opcion, $Valor) {
	echo "<div id=\"divForm\">";
	echo $obj->FormuBusqueda();
	echo "<div id=\"divDatos\">";
	//echo $obj->GridDatos();		
	echo "</div>";
	echo "</div>";
	}
?>