<?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";
	$varCli = (isset($varForm["ccod"]) && $varForm["ccod"]<>'')? $varForm["ccod"]:"NULL";
	$varVen = (isset($varForm["vcod"]) && $varForm["vcod"]<>'')? $varForm["vcod"]:"NULL";
	$varRut = (isset($varForm["rcod"]) && $varForm["rcod"]<>'')? "'".$varForm["rcod"]."'":"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";
	$varFie = (isset($varField) && $varField<>'')? "'$varField'":"NULL";
	$varOrd = (isset($varOrder) && $varOrder<>'')? "'$varOrder'":"NULL";
	$sql = "call spQuery_Registro_Ventas_Devolucion($varEmp, $varCli, $varVen, $varRut, $varTip, $varIni, $varFin, $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 clsRegistroDevolucion($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); 
	return $respuestaXajax;
	}

function xFormuDevolParcial($varEmp, $varCod) {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroDevolucion($var[0],$var[1],$var[2],$var[3],$var[4]);
	$varTabla = $obj->FormuDevolParcial($varEmp, $varCod);
	$respuestaXajax = new xajaxResponse();
	$respuestaXajax->assign("divForm", "innerHTML", $varTabla);
	$variable = "var TabbedPanels1 = new Spry.Widget.TabbedPanels('TabbedPanels1')";
	$variable2="PMA_markRowsInit()";
	$respuestaXajax->script($variable); 
	$respuestaXajax->script($variable2); 
	return $respuestaXajax;
	}

function xFormuDevolTotal($varEmp, $varCod) {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroDevolucion($var[0],$var[1],$var[2],$var[3],$var[4]);
	$varTabla = $obj->FormuDevolTotal($varEmp, $varCod);
	$respuestaXajax = new xajaxResponse();
	$respuestaXajax->assign("divForm", "innerHTML", $varTabla);
	$variable = "var TabbedPanels1 = new Spry.Widget.TabbedPanels('TabbedPanels1')";
	$respuestaXajax->script($variable); 
	$respuestaXajax->script($variable2); 
	return $respuestaXajax;
	}
	
function xRegresar() {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroDevolucion($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());
							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 clsRegistroDevolucion($var[0],$var[1],$var[2],$var[3],$var[4]);
	$varIde = $obj->ProcesoGrabar($varForm);
	$respuestaXajax = new xajaxResponse();
	if ($varIde=="OK") {		
		$varTabla =  "<div id=\"divForm\">";
		$varTabla.=  $obj->FormuBusqueda();
		$varTabla.=  "<div id=\"divDatos\">";
		$varTabla.=  "</div>";
		$varTabla.=  "</div>";
		$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());
								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);
		$respuestaXajax->alert("SE REGISTRO LA DEVOLUCION CORRECTAMENTE");
		return $respuestaXajax;
		}
	else {
		$respuestaXajax->alert("ERROR AL PROCESAR DATOS...!!!!!\n====================================\n".$varIde."\nVERIFIQUE LOS DATOS POR FAVOR");		
		return $respuestaXajax;
		}
	}
	
$xajax->register(XAJAX_FUNCTION, 'seleccionar_empresa');
$xajax->register(XAJAX_FUNCTION, 'ComboNroSerie');
$xajax->register(XAJAX_FUNCTION, 'seleccionar_cliente');
$xajax->register(XAJAX_FUNCTION, 'seleccionar_ruta');
$xajax->register(XAJAX_FUNCTION, 'seleccionar_tipo_docpago');
$xajax->register(XAJAX_FUNCTION, 'seleccionar_tipo_docventa');
$xajax->register(XAJAX_FUNCTION, 'seleccionar_vendedor');
$xajax->register(XAJAX_FUNCTION, 'ComboListaVenta');

$xajax->register(XAJAX_FUNCTION, 'xBuscar');
$xajax->register(XAJAX_FUNCTION, 'xFormuDevolParcial');
$xajax->register(XAJAX_FUNCTION, 'xFormuDevolTotal');
$xajax->register(XAJAX_FUNCTION, 'xFormuDetalle');
$xajax->register(XAJAX_FUNCTION, 'xRegresar');
$xajax->register(XAJAX_FUNCTION, 'xGrabar');
$xajax->register(XAJAX_FUNCTION, 'xActualizar');
$xajax->register(XAJAX_FUNCTION, 'xEliminar');
$xajax->register(XAJAX_FUNCTION, 'xExportar');
$xajax->register(XAJAX_FUNCTION, 'xGeneraDocumento');

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

?>
<script language="javascript">		
	function xBuscarJS(varField, varOrder) {
		if (xajax.$("ecod").value=="") {
			alert("ERROR AL PROCESAR DATOS...!!!!!\nDEBE SELECCIONAR UNA EMPRESA OBLIGATORIAMENTE");  
			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.$("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 xGrabarJS() {
		var varErrorDet = "";
		var varErrorCab = 			  "===================================================================================";
		varErrorCab = varErrorCab + "\n\t\t\t\t\t\t\tERROR AL REGISTRAR DEVOLUCION...!!!!";
		varErrorCab = varErrorCab + "\n===================================================================================";
		/*
		var msj_art = "";
		var varPos = 0;
		for(i=0; i < formDev.elements.length; i++) {
			if (formDev.elements[i].type == "checkbox" && formDev.elements[i].checked) {			
				var elem = formDev.elements[i];
				var varNom	= elem.value;		
				var varCant = document.getElementById('can['+varNom+']');
				var varDevo = document.getElementById('dev['+varNom+']');
				var varProd = document.getElementById('des['+varNom+']');
				varPos++;
				if (varDevo.value=='') {
					msj_art = msj_art + "PRODUCTO : " + varNom.substring(0,6) + ' - ' + varProd.value + ' -> Debe ingresar una Cantidad a Devolver\n';
					}
				else if (parseFloat(varCant.value) < parseFloat(varDevo.value)) {
					msj_art = msj_art + "PRODUCTO : " + varNom.substring(0,6) + ' - ' + varProd.value + ' -> Cantidad a Devolver no puede ser Mayor a la Vendida\n';
					}
				}
			}
		
		alert(msj_art);
		*/
		if (xajax.$("opt").value=="PAR") {
			var varCantSel = 0;
			for(i=0; i < formDev.elements.length; i++) {
				if (formDev.elements[i].type == "checkbox" && formDev.elements[i].checked) {			
					varCantSel++;
					var varCod = formDev.elements[i].value;;
					var varNom = document.getElementById('des['+varCod+']').value;
					var varCan = document.getElementById('can['+varCod+']').value;
					var varDev = document.getElementById('dev['+varCod+']').value;
					if(parseFloat(varCan) < parseFloat(varDev)) {
						varErrorDet+="\n=> PRODUCTO : "+varCod+' - '+varNom+' ==> Cant.Devol. << '+varDev+' >> ';
						varErrorDet+='no Debe ser Mayor a Cant.Doc. << '+varCan+' >>'
						}
					if (parseFloat(varDev)<=0) {
						varErrorDet+="\n=> PRODUCTO : "+varCod+' - '+varNom+' ==> Cant.Devol. << '+varDev+' >> no Puede ser Menor o Igual a 0';
						}
					}
				}
			if (varCantSel<=0) {
				varErrorDet+="\n=> DEBE SELECCIONAR AL MENOS UN PRODUCTO A DEVOLVER";
				}
			}
		if (xajax.$("mot").value=="Ninguno") {
			varErrorDet+="\n=> DEBE SELECCIONAR UN MOTIVO DE DEVOLUCION";
			}
		if (varErrorDet!="") {
			alert(varErrorCab+varErrorDet);
			}
		else {
		if (confirm("żESTA SEGURO DE REGISTRAR ESTA DEVOLUCION?")) {
			xajax_xGrabar(xajax.getFormValues('formDev'));		
			}
			}
		}
			
	function FormuDevolParcialJS(varCod, varCEmp, varNEmp, varEmi, varDoc, varCCli, varNCli) {
		var varTexto = "żESTA SEGURO QUE DESEA REALIZAR UNA DEVOLUCION PARCIAL DEL DOCUMENTO?";
		varTexto = varTexto+"\n=======================================================================";
		varTexto = varTexto+"\nEmpresa\t\t: "+varCEmp+" - "+varNEmp;
		varTexto = varTexto+"\nF.Emision\t\t: "+varEmi;
		varTexto = varTexto+"\nDocumento\t: "+varDoc;
		varTexto = varTexto+"\nCliente\t\t: "+varCCli+" - "+varNCli;
		varTexto = varTexto+"\nTENGA MUCHO CUIDADO AL REALIZAR ESTE PROCESO";
		if(confirm(varTexto)) {
			UnTip();
			xajax_xFormuDevolParcial(varCEmp, varCod);
			}
		}
	
	function FormuDevolTotalJS(varCod, varCEmp, varNEmp, varEmi, varDoc, varCCli, varNCli) {
		var varTexto = "żESTA SEGURO QUE DESEA REALIZAR UNA DEVOLUCION TOTAL DEL DOCUMENTO?";
		varTexto = varTexto+"\n=====================================================================";
		varTexto = varTexto+"\nEmpresa\t\t: "+varCEmp+" - "+varNEmp;
		varTexto = varTexto+"\nF.Emision\t\t: "+varEmi;
		varTexto = varTexto+"\nDocumento\t: "+varDoc;
		varTexto = varTexto+"\nCliente\t\t: "+varCCli+" - "+varNCli;
		varTexto = varTexto+"\nTENGA MUCHO CUIDADO AL REALIZAR ESTE PROCESO";
		if(confirm(varTexto)) {
			UnTip();
			xajax_xFormuDevolTotal(varCEmp, varCod);
			}
		}
</script>

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