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

require "clases/KoolAjax/koolajax.php";
$koolajax->scriptFolder = "clases/KoolAjax";

function xExportar($varForm) {
	$varCod = (isset($varForm["cod"]) && $varForm["cod"]<>'')? $varForm["cod"]:"NULL";
	$varVeh = (isset($varForm["vcod"]) && $varForm["vcod"]<>'')? $varForm["vcod"]:"NULL";
	$varCon = (isset($varForm["ccod"]) && $varForm["ccod"]<>'')? $varForm["ccod"]:"NULL";
	$varIni = (isset($varForm["fini"]) && $varForm["fini"]<>'')? "'".FechaMySql($varForm["fini"])."'":"NULL";
	$varFin = (isset($varForm["ffin"]) && $varForm["ffin"]<>'')? "'".FechaMySql($varForm["ffin"])."'":"NULL";
	
	$sql = "call spQuery_Asignacion($varCod, $varVeh, $varCon, $varIni, $varFin,  NULL, NULL);";
	$_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 xFormSobrante($varForm) {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroSobrante($var[0],$var[1],$var[2],$var[3],$var[4]);	
	$varReturn = "<div id=\"divFormSobranteCabecera\">";
	$varReturn.= $obj->FormSobrante($varForm);
	$varReturn.= "</div>";
	$varReturn.= "<div id=\"divFormSobranteDetalle\">";
	$varReturn.= $obj->GridSobrante($varForm["ide"], $varField, $varOrder);
	$varReturn.= "</div>";
	$objResponse = new xajaxResponse();
	$objResponse->assign("divBusqueda", "style.display", "none");
	$objResponse->assign("divFormSobrante", "innerHTML", utf8_encode($varReturn));
	$variable2="ResaltarSeleccionado()";
	$objResponse->script($variable2); 
	return $objResponse;
	}

function xFormDocumento($varForm) {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroSobrante($var[0],$var[1],$var[2],$var[3],$var[4]);
	$varReturn.= $obj->FormDocumento($varForm);
	$objResponse = new xajaxResponse();
	$objResponse->assign("divFormSobrante", "style.display", "none");
	$objResponse->assign("divFormDocumento", "innerHTML", utf8_encode($varReturn));
	$variable2="ResaltarSeleccionado()";
	$objResponse->script($variable2); 
	
	$varFecha = '$(document).ready(function() {
					var femi = $("#femi").kendoDatePicker({
						format: "dd/MM/yyyy"
                    }).data("kendoDatePicker");
                });';
	$objResponse->script($varFecha);
	
	return $objResponse;
	}

function xGridSobrante($varForm=NULL, $varField=NULL, $varOrder=NULL) {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroSobrante($var[0],$var[1],$var[2],$var[3],$var[4]);	
	$varTabla = $obj->GridSobrante($varForm["ide2"], $varField, $varOrder);
	$objResponse = new xajaxResponse();
	$objResponse->assign("divFormSobranteDetalle", "innerHTML", utf8_encode($varTabla));
	$variable2="ResaltarSeleccionado()";
	$objResponse->script($variable2); 
	return $objResponse;
	}
	
function xRegresarBusqueda() {
	$objResponse = new xajaxResponse();
	$objResponse->assign("divBusqueda", "style.display", "block");
	$objResponse->assign("divFormSobrante", "innerHTML", "");
	return $objResponse;
	}

function xRegresarDescuento() {
	$objResponse = new xajaxResponse();
	$objResponse->assign("divFormSobrante", "style.display", "block");
	$objResponse->assign("divFormDocumento", "innerHTML", "");
	return $objResponse;
	}

function xRegresarDocumento() {
	$objResponse = new xajaxResponse();
	$objResponse->assign("divFormDocumento", "style.display", "block");
	$objResponse->assign("divFormRegistro", "innerHTML", "");
	return $objResponse;
	}
	
function xGrabar($varForm) {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroSobrante($var[0],$var[1],$var[2],$var[3],$var[4]);
	$varAsi = $varForm["asi"];
	$varResul = $obj->ProcesoGrabar($varForm);
	$objResponse = new xajaxResponse();
	if ($varResul[0]=="OK") {
		$varGrid = $obj->GridSobrante($varAsi, $varField, $varOrder);
		$objResponse->assign("divFormSobrante", "style.display", "block");
		$objResponse->assign("divFormDocumento", "innerHTML", "");
		$objResponse->assign("divFormSobranteDetalle", "innerHTML", utf8_encode($varGrid));
		$objResponse->alert("SE REGISTRO EL DOCUMENTO: ".$varResul[1]);
		}
	else
		$objResponse->alert("ERROR AL PROCESAR DATOS...!!!!!\n====================================\n".$varResul[0]."\nVERIFIQUE LOS DATOS POR FAVOR");
	
	return $objResponse;
	}
	
function xEliminar($varCod) {
	$var = VarServer("MYSQLI");
	$obj = new clsRegistroSobrante($var[0],$var[1],$var[2],$var[3],$var[4]);
	$varResul = $obj->ProcesoEliminar($varCod, $varVen);
	$objResponse = new xajaxResponse();
	if ($varResul=="OK")
		$objResponse->alert("Sobrante ANULADO CORRECTAMENTE");
	else
		$objResponse->alert("ERROR AL PROCESAR DATOS...!!!!!\n====================================\n".$varResul."\nVERIFIQUE LOS DATOS POR FAVOR");
	
	return $objResponse;
	}

function seleccionaProducto($ide, $varLista) {
	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_Venta('$ide','','$varLista');";
		
		$rs = $obj->Query($sql);
		$obj->CerrarConexion();
		$Fila = $obj->FetchArray($rs);
		if($obj->NumFilas($rs)>0) $retorna = $Fila["PRODUCTO"]."[[sep]]".$Fila["UM_VENTA"]."[[sep]]".$Fila["PRECIO_VENTA"]."[[sep]]".$Fila["STOCK"];
		else $retorna = "NO EXISTE";
		}
	return $retorna;
	}

function seleccionarNroDocumento($ide) {
	if($ide<>"" && $ide<>"Ninguno") {
		$var = VarServer("MYSQLI");
		$obj = new clsConexion($var[0],$var[1],$var[2],$var[3],$var[4]);
		$sql = "select spFuncion_NumeroDocumento('$ide');";
		$obj->AbrirConexion();
		$rs = $obj->Query($sql);
		$obj->CerrarConexion();
		if($Fila = $obj->FetchArray($rs)) {
			$retorna = $Fila[0];
			}
		else {
			$retorna = "NO CONFIGURADO";
			}		
		}
	else $retorna = "";
	$respuestaXajax = new xajaxResponse();
	$respuestaXajax->assign("divNumDoc", "innerHTML", "&nbsp;&nbsp;<b>".$retorna."</b>");
	return $respuestaXajax;
	}
	
$xajax->register(XAJAX_FUNCTION, 'seleccionar_proveedor_reparto');
$xajax->register(XAJAX_FUNCTION, 'seleccionar_vendedor');

$xajax->register(XAJAX_FUNCTION, 'xFormSobrante');
$xajax->register(XAJAX_FUNCTION, 'xFormDocumento');

$xajax->register(XAJAX_FUNCTION, 'xRegresarBusqueda');
$xajax->register(XAJAX_FUNCTION, 'xRegresarDescuento');
$xajax->register(XAJAX_FUNCTION, 'xRegresarDocumento');

$xajax->register(XAJAX_FUNCTION, 'xGridSobrante');

$xajax->register(XAJAX_FUNCTION, 'xGrabar');
$xajax->register(XAJAX_FUNCTION, 'xEliminar');

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

$koolajax->enableFunction("seleccionaProducto");
$koolajax->enableFunction("generaDocNuevo");	
echo $koolajax->Render();
?>
<script language="javascript">
	function ImprimirDoc(varIde) {
		var Ruta = 'print/print_compra.php?ide='+varIde;
		testwindow = window.open (Ruta, "ImprimirDoc", "location=no,status=no,toolbar=no,scrollbars=1,width=850,height=550");
		}
	
	function FormuDetalleJS(varCod) {
		UnTip();
		var Ruta = 'print/print_cxp_registro_compras_detalle.php?ide='+varCod;
		testwindow= window.open (Ruta, "Detalle_Pedido", "location=no,status=no,toolbar=no,scrollbars=1,width=900,height=550");	
		}

	function xGridSobranteJS(varField, varOrder) {
		xajax_xGridSobrante(xajax.getFormValues('FormSobrante'),varField, varOrder);		
		}
	function xFormSobranteJS() {
		if (xajax.$("ide").value=="") { 
			alert("ERROR AL PROCESAR DATOS...!!!!!\nDEBE ESPECIFICAR UN NUMERO DE ASIGNACION");
			xajax.$("ide").focus()
			return (false); 
			}
		else {
			xajax_xFormSobrante(xajax.getFormValues('form'));
			}				
		}	
	
	function xFormDocumentoJS() {
		if (xajax.$("ide2").value=="") { 
			alert("ERROR AL PROCESAR DATOS...!!!!!\nEL NUMERO DE ASIGNACION ES INCORRECTO");
			return (false); 
			}
		else {
			xajax_xFormDocumento(xajax.getFormValues('FormSobrante'));
			}				
		}
		
	function xEliminarJS(varCod, varEmi, varDoc, varCli, varTab) {
		if(confirm('¿ESTA SEGURO DE ANULAR ESTE DOCUMENTO DE Sobrante?\n================================================\nFecha Emisión \t: '+varEmi+'\nDocumento. \t\t: '+varDoc+'\nReparto \t\t\t: '+varCli)) {			
			xajax_xEliminar(varCod);
			EliminarFilaTabla(varTab)
			}
		}
		
	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');
	
		for (i=1; i<=varNumItem.value;i++) {
			if(xajax.$('icod['+i+']')) {
				var varCodigo = xajax.$('icod['+i+']');
				var varProduc = xajax.$('inom['+i+']');
				var varStock  = xajax.$('istk['+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.$("cnom") && xajax.$("cnom").value=="NO EXISTE") { 
			alert("ERROR AL PROCESAR DATOS...!!!!!\nEL CLIENTE INGRESADO NO EXISTE, DEBE SELECCIONAR UN CLIENTE VALIDO");
			xajax.$("ccod").focus()
			return (false); 
			}
		else if (xajax.$("cond") && xajax.$("cond").value=="") { 
			alert("ERROR AL PROCESAR DATOS...!!!!!\n DEBE SELECCIONAR UNA CONDICION DE VENTA VALIDA");
			xajax.$("cond").focus()
			return (false); 
			}
		else if (xajax.$("ccod") && xajax.$("ccod").value=="") { 
			alert("ERROR AL PROCESAR DATOS...!!!!!\n DEBE SELECCIONAR UN CLIENTE");
			xajax.$("ccod").focus()
			return (false); 
			}
		else if (xajax.$("vnom") && xajax.$("vnom").value=="NO EXISTE") { 
			alert("ERROR AL PROCESAR DATOS...!!!!!\nEL PROVEEDOR INGRESADO NO EXISTE, DEBE SELECCIONAR UN VENDEDOR VALIDO");
			xajax.$("vcod").focus()
			return (false); 
			}
		else if (xajax.$("vcod") && xajax.$("vcod").value=="") { 
			alert("ERROR AL PROCESAR DATOS...!!!!!\n DEBE SELECCIONAR UN VENDEDOR");
			xajax.$("vcod").focus()
			return (false); 
			}
		else if (xajax.$("num") && xajax.$("num").value=="0") { 
			alert("ERROR AL PROCESAR DATOS...!!!!!\nNO INGRESO ITEM A ESTE PEDIDO\nDEBE INGRESAR AL MENOS UN IETM PARA CONTINUAR");
			//xajax.$("btadd").focus()
			return (false); 
			}
		else if (msj_articulo!="") {
			alert("ERROR AL PROCESAR DATOS...!!!!!\n"+msj_articulo)
			return (false); 
			}
		else if (parseFloat(xajax.$("tot").value)<parseFloat(xajax.$("lmin").value)) {
			alert("ERROR AL PROCESAR DATOS...!!!!!\nEL MONTO DEL PEDIDO ES MENOR QUE EL MONTO MINIMO REQUERIDO")
			return (false); 
			}
		else {
			if (confirm("¿ESTA SEGURO DE REGISTRAR ESTE DOCUMENTO?")) {
				xajax_xGrabar(xajax.getFormValues('form'));		
				}
			}
		}
</script>

<?php		
function MyTable($obj, $varTitulo, $Opcion, $Valor) {
	echo "<div id=\"divFormSobrante\">";
	echo "<div id=\"divFormSobranteCabecera\">";
	echo "</div>";
	echo "<div id=\"divFormSobranteDetalle\">";
	echo "</div>";
	echo "</div>";
	
	echo "<div id=\"divFormDocumento\">";
	echo "</div>";
	
	echo "<div id=\"divBusqueda\">";
	echo $obj->FormuBusqueda();
	echo "</div>";
	} 
?>
<script language="javascript">
	
	function CalcularItem(i) {
		var varCant = 0;
		var varUnitario = 0;
		
		var vuni = document.getElementById('ipre['+i+']');
		var vcant = document.getElementById('ican['+i+']');	
		var vtot = document.getElementById('itot['+i+']');
		
		if (vuni.value=="") varUnitario = "0";
		else	varUnitario = vuni.value;
		
		if (vcant.value=="") varCant="0";
		else	varCant = vcant.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 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];
					}
				}
			}
		}

</script>