String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
//**************************************************************************
function fSelEdit(){
	var IdCli=document.getElementById("TxtIdCliente").value;
	//OpenWin("clientes.php?Id="+IdCli,900,600);	
	window.open("clientes.php?Id="+IdCli);  
}
function fGenPDF(){
	document.getElementById("TxtAc").value="GEN_PDF_1";
	document.getElementById("Frm").submit();
}
//**************************************************************************
function CboTar_KeyPress(e){
	var k;
	k=(document.all) ? e.keyCode :e.which; 
	if(k==219){
		return false;
	}else{
		if(k==13){
			if(document.getElementById("CboBancos").disabled==false){
				document.getElementById("CboBancos").focus();
			}
		}
	}
}

function CboBan_KeyPress(e){
	var k;
	k=(document.all) ? e.keyCode :e.which; 
	if(k==219){
		return false;
	}else{
		if(k==13){
				document.getElementById("CmdB").focus();
		}
	}
}

function fEditar(lpIndex){
	var hw=document.getElementById("TxtHW").value;
	Ow("ventas_editar.php?I="+lpIndex+"&H="+hw,550*ZO(),280*ZO());
}

function fLoad(){
	document.getElementById("TxtAc").value="UP";
	document.getElementById("Frm").submit();
}

function fLimDet(){
	document.getElementById("TxtCod").value="";
	document.getElementById("TxtDes").value="";
	document.getElementById("TxtMarca").value="";
	document.getElementById("TxtPre").value="";
	document.getElementById("TxtCant").value="";
	document.getElementById("TxtCUni").value="";
	document.getElementById("TxtImp").value="";
	document.getElementById("TxtCod").focus();
}

//**************************************************************************
function CboTdp_KeyPress(e){	
	var k;
	k=(document.all) ? e.keyCode :e.which; 
	if(k==219){
		return false;
	}else{
		if(k==13){
			var StrTdp=document.getElementById("CboTdp").value;
			if(StrTdp=="CONTADO"){				
				document.getElementById("CboTar").value="";
				document.getElementById("CboTar").disabled=true;
				document.getElementById("CboBancos").value="";
				document.getElementById("CboBancos").disabled=true;
				document.getElementById("TxtPagarCon").disabled=false;
				document.getElementById("TxtPagarCon").value=document.getElementById("T_TO").value;
				document.getElementById("CboMon").disabled=false;
				document.getElementById("CboMon").value="SOLES";							
				document.getElementById("TxtPagarCon").focus();
			}
			if(StrTdp=="CREDITO"){
				document.getElementById("CboTar").value="";
				document.getElementById("CboTar").disabled=true;
				document.getElementById("CboBancos").value="";
				document.getElementById("CboBancos").disabled=true;
				document.getElementById("TxtPagarCon").disabled=false;
				document.getElementById("CboMon").disabled=false;
				document.getElementById("CboMon").value="SOLES";							
				document.getElementById("CmdB").focus();				
			}
			if(StrTdp=="TARJETA"){
				document.getElementById("CboTar").value="";
				document.getElementById("CboTar").disabled=false;
				document.getElementById("CboBancos").value="";
				document.getElementById("CboBancos").disabled=false;
				document.getElementById("TxtPagarCon").disabled=true;
				document.getElementById("TxtPagarCon").value=document.getElementById("T_TO").value;
				document.getElementById("CboMon").disabled=true;
				document.getElementById("CboMon").value="SOLES";											
				document.getElementById("CboTar").focus();
			}
			if(StrTdp=="DEPOSITO"){
				document.getElementById("CboTar").value="";
				document.getElementById("CboTar").disabled=true;
				document.getElementById("CboBancos").value="";
				document.getElementById("CboBancos").disabled=false;
				document.getElementById("TxtPagarCon").disabled=true;
				document.getElementById("TxtPagarCon").value=document.getElementById("T_TO").value;
				document.getElementById("CboMon").disabled=true;
				document.getElementById("CboMon").value="SOLES";											
				document.getElementById("CboTar").focus();
			}
			return true;
		}
		return true;
	}
}

//**************************************************************************
function fFiltrar(){
	document.getElementById("TxtAc").value="F";
	document.getElementById("Frm").submit();
}
//**************************************************************************
function VUELTO(){
	var StrTC=document.getElementById("TxtTC").value;
	var StrMon=document.getElementById("CboMon").value;
	var StrTot=document.getElementById("T_TO").value;
	var StrPag=document.getElementById("TxtACuenta").value;
	if(StrPag.trim().length==0){
		StrPag="0";
	}
	StrTC=parseFloat(StrTC);
	StrTot=parseFloat(StrTot);
	StrPag=parseFloat(StrPag);
	if(StrMon=="DOLARES"){
		StrPag=StrPag * StrTC;
		StrPag=StrPag.toFixed(2);
	}
	var Vuelto=parseFloat("0");
	if(StrTot>StrPag){
		document.getElementById("TxtVuelto").value="0.0";
		return;
	}else{
		Vuelto=StrPag - StrTot;
	}
	Vuelto=Vuelto.toFixed(2);
	document.getElementById("TxtVuelto").value=Vuelto;
}
//**************************************************************************
function TDP(){
	var StrTdp=document.getElementById("CboTdp").value;
	//Habilitar / Deshabilitar
	if(StrTdp=="CONTADO"){				
		document.getElementById("CboTar").value="";
		document.getElementById("CboTar").disabled=true;
		document.getElementById("CboBancos").value="";
		document.getElementById("CboBancos").disabled=true;
		document.getElementById("TxtPagarCon").disabled=false;
		document.getElementById("TxtPagarCon").value=document.getElementById("T_TO").value;
		document.getElementById("CboMon").disabled=false;
		document.getElementById("CboMon").value="SOLES";							
	}
	if(StrTdp=="CREDITO"){
		document.getElementById("CboTar").value="";
		document.getElementById("CboTar").disabled=true;
		document.getElementById("CboBancos").value="";
		document.getElementById("CboBancos").disabled=true;
		document.getElementById("TxtPagarCon").disabled=false;
		document.getElementById("CboMon").disabled=false;
		document.getElementById("CboMon").value="SOLES";							
	}
	if(StrTdp=="TARJETA"){
		document.getElementById("CboTar").value="";
		document.getElementById("CboTar").disabled=false;
		document.getElementById("CboBancos").value="";
		document.getElementById("CboBancos").disabled=false;
		document.getElementById("TxtPagarCon").disabled=true;
		document.getElementById("TxtPagarCon").value=document.getElementById("T_TO").value;
		document.getElementById("CboMon").disabled=true;
		document.getElementById("CboMon").value="SOLES";											
	}
	if(StrTdp=="DEPOSITO"){
		document.getElementById("CboTar").value="";
		document.getElementById("CboTar").disabled=true;
		document.getElementById("CboBancos").value="";
		document.getElementById("CboBancos").disabled=false;
		document.getElementById("TxtPagarCon").disabled=true;
		document.getElementById("TxtPagarCon").value=document.getElementById("T_TO").value;
		document.getElementById("CboMon").disabled=true;
		document.getElementById("CboMon").value="SOLES";											
	}
	//
	if(StrTdp=="CONTADO"){
document.getElementById("TxtPagarCon").readOnly=false;
document.getElementById("TxtPagarCon").value=document.getElementById("T_TO").value;		
document.getElementById("TxtVuelto").value="0.0";
document.getElementById("CboMon").disabled=false;
	}else{
		document.getElementById("TxtPagarCon").readOnly=true;
		document.getElementById("TxtPagarCon").value="0.0";
		document.getElementById("CboMon").disabled=true;
	}
	
}
function AutoNumeracion(estado){
	document.getElementById("TxtSer").value="";
	document.getElementById("TxtNum").value="";
	var Plom=document.getElementById("TxtTC").style.backgroundColor;
	var Blan=document.getElementById("TxtCod").style.backgroundColor;
	if(estado>0){
		document.getElementById("TxtSer").readOnly=true;
		document.getElementById("TxtNum").readOnly=true;
		document.getElementById("TxtSer").style.backgroundColor=Plom;
		document.getElementById("TxtNum").style.backgroundColor=Plom;
		if(estado==1){
		document.getElementById("TxtCliente").focus();
		}
	}else{
		document.getElementById("TxtSer").readOnly=false;
		document.getElementById("TxtNum").readOnly=false;
		document.getElementById("TxtSer").style.backgroundColor=Blan;
		document.getElementById("TxtNum").style.backgroundColor=Blan;
		document.getElementById("TxtSer").focus();
	}
}
//**************************************************************************
function CalcularIMPORTE(){
	var Importe=document.getElementById("T_Importe").value;
	var stt=0;
	var igv=0;
	var tot=0;	
	var uno=0;
	if(Importe.trim().length==0) Importe="0";
	Importe=parseFloat(Importe);
	if(document.getElementById("ChN_INC").checked){
		stt=Importe;
		igv=stt * 0.18;
		igv=igv.toFixed(2);
		tot=parseFloat(stt) + parseFloat(igv);
	}else{
		uno=Importe / 118;
		//uno=uno.toFixed(2);
		igv=uno * 18;
		igv=igv.toFixed(2);
		stt=parseFloat(Importe) - parseFloat(igv);
		tot=parseFloat(stt)+parseFloat(igv);
	}
	document.getElementById("T_ST").value=formato_numero(stt,2,".");
	document.getElementById("T_IG").value=formato_numero(igv,2,".");
	document.getElementById("T_TO").value=formato_numero(tot,2,".");
	VUELTO();	
}
function fCls(){
	document.getElementById("TxtIdCliente").value="0";
	document.getElementById("TxtCliente").value="";
	document.getElementById("TxtDIR").value="";
	document.getElementById("TxtRuc").value="";
	document.getElementById("TxtDni").value="";
	document.getElementById("SUN_TIP_DOC").value="";
	
}
//**************************************************************************
function fImporte(){
	var Pre=document.getElementById("TxtPre").value;
	var Can=document.getElementById("TxtCant").value;
	var Uni=document.getElementById("TxtCUni").value;
	var Importe=parseFloat("0");
	if(Pre.trim().length==0)Pre="0";
	if(Can.trim().length==0)Can="0";
	if(Uni.trim().length==0)Uni="0";
	Pre=parseFloat(Pre);
	Can=parseFloat(Can);
	Uni=parseFloat(Uni);
	Importe=Pre * Can * Uni;
	Importe=Importe.toFixed(2);
	document.getElementById("TxtImp").value=Importe;
}
//**************************************************************************
function fKiller(lpIndex){
	//var DR=gv("TxtDR");
	//if(jVal(DR)>0){
	//	alert("El presente registro ha sido tomando "+
	//		  "como referencia, por lo tanto NO SE PUEDE MODIFICAR");		
	//}else{
		//if(DetAuto()){
		//	return;
		//}
		document.getElementById("Pro_TxtId").value=lpIndex;
		document.getElementById("TxtAc").value="KILLER";
		document.getElementById("Frm").submit();
	//}
}
//**************************************************************************
function fGetTabla(){	
	DivDatos = document.getElementById("TAB_AJAX");
	DivCaption = document.getElementById("TAB_CAPTION");
var Ver=1;
var Cod=gv("TxtCod");
var Des=gv("TxtDes");
var Mar=gv("TxtMarca");
var Alm=gv("CboAlm");
if(jL(Des)>0 || jL(Cod)>0 || jL(Mar)>0){		
	ajax=CreateAJAX();
	var StrU="aj.php?Cmd=KOT&P1="+Des+"&P2="+Alm+"&P3="+Mar+"&P4="+Cod+"&P5="+Ver;
	ajax.open("GET", StrU);	
	ajax.onreadystatechange=function() {
		   if (ajax.readyState==4) {
					var StrDatos=ajax.responseText;
					if(jL(StrDatos)>0){			  
					   DivDatos.innerHTML = PARSE(StrDatos);
					   DivCaption.style.visibility="visible";
					   DivDatos.style.visibility="visible";	
					}else{
						DivCaption.style.visibility="hidden";
						DivDatos.style.visibility="hidden";	
					}
		   }
	}
	ajax.send(null);

}
}
function CerrarDIV(){
	DivDatos = document.getElementById("TAB_AJAX");
	DivCaption = document.getElementById("TAB_CAPTION");
	DivCaption.style.visibility="hidden";
	DivDatos.style.visibility="hidden";	
	document.getElementById("TxtDes").focus();
}
//**************************************************************************
function PP(Pre){
	var Mon=document.getElementById("CboMon").value;
	var Tca=document.getElementById("TxtTC").value;
	Mon=Mon.trim();Pre=Pre.trim();Tca=Tca.trim();
	if(Mon.length==0)Mon="SOLES";
	if(Pre.length==0)Pre="0";
	if(Tca.length==0)Tca="1";
	Pre=parseFloat(Pre);Tca=parseFloat(Tca);
	if(Mon=="DOLARES"){
		Pre=Pre / Tca;Pre=Pre.toFixed(2);		
	}	
	return Pre;
}
function fGetProdDatos_Id(lpStrId){
	if(lpStrId.trim().length>0){
	DivDatos = document.getElementById("DivDatosProd");
	ajax=CreateAJAX();
	ajax.open("GET", "ajax_funciones.php?Cmd=VEN_GET_PROD_DATOS_X_ID&TxtPar="+lpStrId);	
	ajax.onreadystatechange=function() {
	   if (ajax.readyState==4) {			  
		   DivDatos.innerHTML = ajax.responseText
		   var Des=document.getElementById("Pro_TxtDes").value;
		   if(Des.trim().length==0){
		   document.getElementById("Pro_TxtId").value="";
		   document.getElementById("Pro_TxtDes").value="";
		   document.getElementById("Pro_TxtCod").value="";
		   document.getElementById("Pro_TxtMarca").value="";
		   document.getElementById("Pro_TxtPre").value="";
		   document.getElementById("Pro_TxtPreM").value="";
		   document.getElementById("TxtDes").value="";
		   document.getElementById("TxtPre").value="";				   
		   document.getElementById("TxtPreM").innerHTML="0.00";
		   document.getElementById("TxtCant").value="";
		   document.getElementById("TxtImp").value="";
		   document.getElementById("TxtCod").value="";				   
		   alert("Codigo no registrado");
		   document.getElementById("TxtCod").focus();
		   }else{
   document.getElementById("TxtCod").value=document.getElementById("Pro_TxtCod").value;
   document.getElementById("TxtMarca").value=document.getElementById("Pro_TxtMarca").value;
   document.getElementById("TxtDes").value=document.getElementById("Pro_TxtDes").value;
   document.getElementById("TxtPre").value=PP(document.getElementById("Pro_TxtPre").value);
   document.getElementById("TxtPreM").innerHTML=PP(document.getElementById("Pro_TxtPreM").value);
   document.getElementById("TxtCant").value="1";
   document.getElementById("TxtImp").value=document.getElementById("TxtPre").value;
   document.getElementById("TxtPre").focus();				   
		   }
		   DivDatos = document.getElementById("TAB_AJAX");
		   DivCaption = document.getElementById("TAB_CAPTION");
		   DivCaption.style.visibility="hidden";
		   DivDatos.style.visibility="hidden";						   
	   }
	}
    ajax.send(null);
	}
}
function z(lpStrId){
	if(lpStrId.trim().length>0){
	var ip=lpStrId.indexOf(".");
	var IDD=lpStrId.substring(0,ip);	
	var UNI=lpStrId.substring(ip+1,jLen(lpStrId));
	
	DivDatos = document.getElementById("DivDatosProd");
	ajax=CreateAJAX();
	ajax.open("GET", "ajax_funciones.php?Cmd=VEN_GET_PROD_DATOS_X_ID&TxtPar="+IDD);	
	ajax.onreadystatechange=function() {
	   if (ajax.readyState==4) {			  
		   DivDatos.innerHTML = ajax.responseText
		   var Des=document.getElementById("Pro_TxtDes").value;
		   if(Des.trim().length==0){
			   document.getElementById("Pro_TxtId").value="";
			   document.getElementById("Pro_TxtDes").value="";
			   document.getElementById("Pro_TxtCod").value="";
			   document.getElementById("Pro_TxtMarca").value="";
			   document.getElementById("Pro_TxtPre").value="";
			   document.getElementById("Pro_TxtPreM").value="";
			   
			   document.getElementById("TxtDes").value="";
			   document.getElementById("TxtMarca").value="";
			   document.getElementById("TxtPre").value="";				   
			   document.getElementById("TxtPreM").innerHTML="0.00";
			   document.getElementById("TxtCant").value="";
			   document.getElementById("TxtImp").value="";
			   document.getElementById("TxtCod").value="";
			   document.getElementById("TxtCUni").value="";
			   alert("Codigo no registrado");
			   document.getElementById("TxtCod").focus();
		   }else{
			   document.getElementById("TxtCod").value=document.getElementById("Pro_TxtCod").value;
			   document.getElementById("TxtMarca").value=document.getElementById("Pro_TxtMarca").value;
			   document.getElementById("TxtDes").value=document.getElementById("Pro_TxtDes").value;
			   document.getElementById("TxtPre").value=PP(document.getElementById("Pro_TxtPre").value);
			   document.getElementById("TxtPreM").innerHTML=PP(document.getElementById("Pro_TxtPreM").value);
			   document.getElementById("TxtCant").value="1";
			   document.getElementById("TxtCUni").value=UNI;
			   document.getElementById("TxtImp").value=document.getElementById("TxtPre").value;
			   document.getElementById("TxtPre").focus();				   
		   }
		   DivDatos = document.getElementById("TAB_AJAX");
		   DivCaption = document.getElementById("TAB_CAPTION");
		   DivCaption.style.visibility="hidden";
		   DivDatos.style.visibility="hidden";
	   }
	}
    ajax.send(null);
	}
}
//**************************************************************************
function fGetProdDatos(lpStrCod){
	if(lpStrCod.trim().length>0){
	DivDatos = document.getElementById("DivDatosProd");
	ajax=CreateAJAX();
	ajax.open("GET", "ajax_funciones.php?Cmd=VEN_GET_PROD_DATOS&TxtPar="+lpStrCod);	
	ajax.onreadystatechange=function() {
	   if (ajax.readyState==4) {			  
		   DivDatos.innerHTML = ajax.responseText
		   var Des=document.getElementById("Pro_TxtDes").value;
		   if(Des.trim().length==0){
			document.getElementById("Pro_TxtId").value="";
			document.getElementById("Pro_TxtDes").value="";
			document.getElementById("Pro_TxtMarca").value="";
			document.getElementById("Pro_TxtPreM").value="";
			document.getElementById("TxtDes").value="";
			document.getElementById("TxtPre").value="";
			document.getElementById("TxtPreM").innerHTML="0.00";
			document.getElementById("TxtCant").value="";
			document.getElementById("TxtImp").value="";
			document.getElementById("TxtCod").value="";
			document.getElementById("TxtMarca").value="";
			alert("Codigo no registrado");
			document.getElementById("TxtCod").focus();
		   }else{
    document.getElementById("TxtMarca").value=document.getElementById("Pro_TxtMarca").value;
	document.getElementById("TxtDes").value=document.getElementById("Pro_TxtDes").value;
	document.getElementById("TxtPre").value=PP(document.getElementById("Pro_TxtPre").value);
	document.getElementById("TxtPreM").innerHTML=PP(document.getElementById("Pro_TxtPreM").value);
	document.getElementById("TxtCant").value="1";
	document.getElementById("TxtImp").value=document.getElementById("TxtPre").value;
	document.getElementById("TxtPre").focus();
		   }
	   }
	}
    ajax.send(null);
	}
}
//**************************************************************************
function fGetRuc(lpStrPro,Obj){
	var StrProveedor=lpStrPro;
	ajax=CreateAJAX();
	ajax.open("GET", "ajax_funciones.php?Cmd=GET_RUC&TxtPar="+StrProveedor);	
	ajax.onreadystatechange=function() {
		   if (ajax.readyState==4) {			   	   
				   document.getElementById(Obj).value=ajax.responseText;
				   Obj=Obj+"_";
				   document.getElementById(Obj).value=ajax.responseText;
		   }
	}
    ajax.send(null);
}
//**************************************************************************
function fGetProveedor(lpStrRuc,Obj){
	var StrRucH=document.getElementById("TxtRuc_").value;
	var StrRuc=lpStrRuc;
	if(StrRuc!=StrRucH){
		ajax=CreateAJAX();
		ajax.open("GET", "ajax_funciones.php?Cmd=GET_PROVEEDOR&TxtPar="+StrRuc);	
		ajax.onreadystatechange=function() {
			   if (ajax.readyState==4) {
					   var StrPro=ajax.responseText;
					   if(StrPro.trim().length==0){
						   	alert("Numero de ruc no registrado");
						   	document.getElementById(Obj).value="";
						   	document.getElementById(Obj).focus();
					   }else{
							document.getElementById(Obj).value=StrPro;
					   }
			   }
		}
		ajax.send(null);
	}

}
//**************************************************************************
function fCancelarPHP(){	
	document.getElementById("TxtAc").value="C";
	document.getElementById("Frm").submit();
}
//
function fCargar(){
	var L=gv("CboZto");
	var E=gv("CboEmpR");
	var A=document.getElementById("CboTemp").value;
	var B=document.getElementById("TxtTemp").value;
	if(gv("CmdLoad")=="Cargar"){
		if(jL(E)==0){
			alert("Seleccione una empresa");
			return jF("CboEmpR");
		}
		if(jL(A)==0){
			alert("Seleccione el comprobante correspondiente");
			document.getElementById("CboTemp").focus();
			return;
		}		
		if(jL(B)==0){
			alert("Ingrese la serie/numero correspondiente");
			document.getElementById("TxtTemp").focus();
			return;
		}
		if(A=="CONTENEDOR"){
			var r=AX("05",A,B,E);
			if(r=="OK"){
				SM("LOAD");					
			}else{
				return AF(r,"CboTemp");
			}
		}else{				
			SM("LOAD");
		}
	}else{
		SM("LOAD_X");
	}
}
//
function fChPrin(){
	var p=gv("DR_PRI");
	if(jVal(p)==1){
		document.getElementById("Ch_PRI").checked=false;
		alert("El documento de referencia ha sido definido como documento principal");
		return;
	}
	if("CONTENEDOR"==gv("DR_NOM")){
		document.getElementById("Ch_PRI").checked=true;
		alert("El documento de referencia es Contenedor, "+
		      "por lo tanto el presente documento debe ser establecido como principal");
		return;
	}
}
function fChDesc(){
	var Cmd=gv("CmdLoad");
	var Dre=gv("CboTemp");
	if(Cmd!="Cargar"){
		if(Dre=="PROFORMA"){
			document.getElementById("Ch_DES").checked=false;
			alert("NO SE PUEDE APLICAR cuando se establece una referencia a una proforma");
		}
	}
	
}
function DetAuto(){
	var TxtDL=gv("DR_NOM");
	if(jLen(TxtDL)>0){
		alert("La lista de productos ha sido "+
			 "cargada automaticamente por lo "+
			 "tanto no se puede agregar, "+
			 "modificar o quitar algun producto");
		return true;
	}else{
		return false;
	}
}
function fVerificar(){
	if(gv("CmdLoad")=="Deshacer referencia"){
		document.getElementById("Ch_APP").checked=!document.getElementById("Ch_APP").checked;
	}
}
function fAgregar(){
	//
	if (DetAuto()){
		return;
	}
	//
	var B_NL=jVal(gv("TxtBOL_NL"));	
	var F_NL=jVal(gv("TxtFAC_NL"));	
	var T_NL=jVal(gv("TxtTOT_NL"));	
	var Com=gv("CboCom");
	if(Com=="FACTURA"){
		if(F_NL > 0 ){
			if(T_NL == F_NL){
				alert("El numero maximo de items para FACTURA es "+F_NL);
				fLimDet();
				jFocus("TxtCod");
				return;
			}
		}
	}
	if(Com=="BOLETA"){
		if(B_NL>0){
			if(T_NL == B_NL){
				alert("El numero maximo de items para BOLETA es "+B_NL);
				fLimDet();
				jFocus("TxtCod");
				return;
			}
		}
	}
	//
	var Pro_Id=gv("Pro_TxtId");
	var Pro_Cod=gv("Pro_TxtCod");
	var Pro_Des=gv("Pro_TxtDes");

	var Alm=gv("CboAlm");
	var Cod=gv("TxtCod");
	var Des=gv("TxtDes");
	var Pre=gv("TxtPre");
	var PreM=document.getElementById("TxtPreM").innerHTML;
	var Can=gv("TxtCant");
	var Uni=gv("TxtCUni");
	var Pas=gv("TxtPAS");
	var Aut=gv("TxtAut");
		
	if(Can.trim().length==0){alert("La cantidad debe ser mayor a cero");
		document.getElementById("TxtCant").focus();
		return;
	}
	if(Uni.trim().length==0){alert("ingresa Cantidad Unitaria");
		document.getElementById("TxtCUni").focus();
		return;
	}

	Pro_Id=Pro_Id.trim().toUpperCase();
	Pro_Cod=Pro_Cod.trim().toUpperCase();
	Pro_Des=Pro_Des.trim().toUpperCase();
	
	Cod=Cod.trim().toUpperCase();
	Des=Des.trim().toUpperCase();
	
	if(Cod!=Pro_Cod){
		alert("El codigo del producto ha sido alterado");
		document.getElementById("TxtCod").focus();
		return;
	}
	if(Des!=Pro_Des){
		alert("La descripcion del producto ha sido alterada");
		document.getElementById("TxtDes").focus();
		return;
	}
	//
	Pre=Pre.trim();
	PreM=PreM.trim();
	if(Pre.length==0){
		alert("Ingrese el precio de venta");
		document.getElementById("TxtPre").focus();
		return;
	}
	//
	var Rpta;
	var Z=fVerStock();
	if(jVal(Z)<jVal(Can)){
		Rpta= confirm("Stock insuficiente, el stock disponible es : "+Z+
				      ". Aun asi desea continuar?")		
		if (Rpta==false){
			jFocus("TxtCant");return;
		}
	}
	//
	if(Pre.length==0)Pre="0";
	if(PreM.length==0)PreM="0";
	Pre=parseFloat(Pre);
	PreM=parseFloat(PreM);
	if(PreM>Pre){
		if(jL(Aut)==0){
			return AF("El precio de venta menos el descuento "+
		    	      "es MENOR al precio de venta minimo, "+
				      "para proceder requiere autorizacion","TxtAut");		
		}else{
			if(Aut!=Pas){
				sv("TxtAut","");
				return AF("El password de autorizacion es incorrecto","TxtAut");					    
			}
		}
		
	}
	//	
	//var R=ValAgregarV(Alm,Cod,Pre,Can,Uni)
	/*
	if(R==1){alert("Producto sin Stock");
		document.getElementById("TxtCant").focus();		
		return;
	}
	if(R==2){alert("Cantidad no puede ser superior al Stock Actual");
		document.getElementById("TxtCant").focus();		
		return;
	}
	*/
	//
	document.getElementById("TxtAc").value="ADD";
	document.getElementById("Frm").submit();
}
//
function fVerStock(){
	var ID=jVal(gv("Pro_TxtId"));
	var KA=jVal(gv("TxtCant"));
	var PI=jVal(gv("TxtCUni"));	
	
	var Z="aj_cot.php?C=VS&P1=TODOS&P2="+ID+"&P4="+PI;
		ajax=CreateAJAX();	
		ajax.open("GET",Z,false);	
		ajax.send(null);	
	return ajax.responseText;
}
//
function ValAgregarV(Alm,Cod,Pre,Can,Uni){
	ajax=CreateAJAX();
	var StrUrl="";
	StrUrl="ajax_funciones.php?Cmd=V_AGRE_V&TxtPar="+Alm+"&TxtPar2="+Cod+"&TxtPar3="+Pre+"&TxtPar4="+Can+"&TxtPar5="+Uni;
	ajax.open("GET",StrUrl,false);	
	ajax.send(null);
	var StrHtml=ajax.responseText;
	return StrHtml.trim();
}

//**************************************************************************
function fGuardar(){
	var B_NL=jVal(gv("TxtBOL_NL"));	
	var F_NL=jVal(gv("TxtFAC_NL"));	
	var T_NL=jVal(gv("TxtTOT_NL"));	
	//
	var TOT=jVal(gv("T_TO"));	
	var TDP=gv("CboTdp");
	var FVen=gv("TxtFven");
	var ACU=jVal(gv("TxtACuenta"));
	var TCA=jVal(gv("TxtTC"));
	var MON=gv("CboMon");
	if(MON=="DOLARES"){
		ACU=ACU * TCA;
		ACU=ACU.toFixed(2);
	}
	var VUE=jVal(gv("TxtVuelto"));
	var SAL=jVal(gv("TxtSal"));
	//
	var Emr=gv("CboEmpR");
	var Dor=gv("CboTemp");
	var Nur=gv("TxtTemp");
	var Cmr=gv("CmdLoad");
	//
	var Emp=gv("CboEmp");
	var Alm=gv("CboAlm");
	var Fec=gv("TxtFec");
	var Com=gv("CboCom");
	var Ser=gv("TxtSer");
	var Num=gv("TxtNum");
	var Ruc=gv("TxtRuc");	
	var Dni=gv("TxtDni");
	var Ema=gv("TxtEma");
	var Gia=gv("TxtGIA");
	var STD=gv("SUN_TIP_DOC");
	//
	if(T_NL==0){
		alert("La lista de items esta vacia, agrege uno o mas productos/articulos");
		jFocus("TxtCod");
		return;
	}
	if(Com=="FACTURA"){
		if(F_NL > 0 ){
			if(T_NL > F_NL){
				alert("El numero maximo de items para FACTURA es "+F_NL);
				jFocus("TxtCod");
				return;
			}
		}
	}
	if(Com=="BOLETA"){
		if(B_NL>0){
			if(T_NL > B_NL){
				alert("El numero maximo de items para BOLETA es "+B_NL);
				jFocus("TxtCod");
				return;
			}
		}
	}
	//
	if(jL(Emp)==0){
		alert("Seleccione una empresa");
		return jF("CboEmp");
	}
	if(jL(Alm)==0){
		alert("Seleccione un almacen");
		document.getElementById("CboAlm").focus();
		return;
	}
	if(jL(Fec)==0){
		alert("Ingrese una fecha");
		document.getElementById("TxtFec").focus();
		return;
	}
	if(EsFecha(Fec)==false){
		alert("Fecha no valida, la fecha debe ser ingresada segun el formato");
		document.getElementById("TxtFec").focus();
		return;
	}	
	if(jL(Com)==0){
		alert("Seleccione un comprobante");
		document.getElementById("CboCom").focus();
		return;
	}
	if(document.getElementById("ChN_AUTO").checked==false){
		if(jL(Ser)==0){
			return AF("Ingrese la serie del comprobante.","TxtSer");
		}
		if(jL(Num)==0){
			return AF("Ingrese el numero de comprobante","TxtNum");
		}
	}
	//
	if(Cmr.trim()=="Cargar"){
		if(document.getElementById("Ch_PRI").checked==false){
			alert("Activar el check 'DOCUMENTO PRINCIPAL'");
			jFocus("Ch_PRI");
			return;
		}
	}else{			
		if(TDP=="CREDITO"){
			if(gv("CboTemp")=="PROFORMA"){
				/*	
				alert("El tipo de pago no puede ser 'CREDITO', "+
					 "debido a que doc. de referencia es '"+Dor+"'");
				return;
				*/
			}
		}
	}
	//
	if(TDP=="CONTADO"){
		if(ACU==0){
			document.getElementById("CboMon").value="SOLES"
			document.getElementById("TxtACuenta").value=TOT;
			document.getElementById("TxtSal").value=0;						
		}else{
			if(ACU<TOT){
				alert("El total a cuenta debe ser mayor o igual al tot. importe");
				jFocus("TxtACuenta");
				return;
			}
		}
	}else{
		if(ACU==0){
			document.getElementById("TxtACuenta").value=0;	
			document.getElementById("TxtSal").value=TOT;						
		}
		if(ACU>=TOT){
			alert("El total a cuenta debe ser menor al tot. importe");
			jFocus("TxtACuenta");
			return;
		}
	}
	//
	if(Com=="FACTURA" || Com=="FACT. ELEC."){
		if(jL(Ruc)==0){
			alert("Seleccione un cliente que tenga RUC");
			document.getElementById("CmdSel").focus();
			return;
		}
	}
	if(Com=="BOL. ELEC."){
		if(jL(Dni)==0){
			alert("Seleccione un cliente que tenga un numero de documento de identidad");
			document.getElementById("CmdSel").focus();
			return;
		}
	}
	//
	if(jL(Ruc)==0){
		if(jL(Dni)>0){
			if(jL(STD)==0){
				alert("No se puede determinar el tipo de documento de identidad. Verifique los datos del cliente");
				document.getElementById("CmdSel").focus();
				return;				
			}			
		}
	}
	//
	if(Com=="FACT. ELEC." || Com=="BOL. ELEC."){
		if(jL(Ema)==0){
			alert("Ingrese un email");
			document.getElementById("TxtEma").focus();
			return;
		}
	}
	//
	if(document.getElementById("Ch_DES").checked==true){
		var zto=gv("CboZto");
		if(jL(zto)==0){
			alert("Seleccione una Empresa/Almacen para descontar");
			return jF("CboZto");
		}
	}
	//
	if(TDP=="CONTADO"){
		if(jL(FVen)>0){
			alert("El tipo de pago es al contado, no corresponde ingresar la fecha de vencimiento");
			return jF("TxtFven");
		}
	}else{
		if(jL(FVen)==0){
			alert("El tipo de pago es al credito,corresponde ingresar la fecha de vencimiento");
			return jF("TxtFven");
		}
		if(!EsFecha(FVen)){
			alert("Fecha de vencimiento no valida");
			return jF("TxtFven");
		}
	}
	//
	if(jL(Gia)>0){
		var n=Gia.indexOf("-");
		if(n==-1){
			alert("La guia de remision debe tener el formato sugerido : serie - numero");
			return jF("TxtGIA");
		}
	}
	//
	var ubi_pai=gv("UbiPai");
	var ubi_dep=gv("UbiDep");
	var ubi_pro=gv("UbiPro");
	var ubi_dis=gv("UbiDis");
	//
	if(jL(ubi_pai)==0){
		alert("Seleccione un pais");
		return;
	}else{
		if(ubi_pai=="PERU"){
			if(jL(Ruc)==0 && jL(Dni)==0){
				alert("Para el pais PERU se debe seleccionar un cliente con RUC o DNI");
				return;
			}
			if(jL(Ruc)>0){
				if(jL(Ruc)!=11){
					alert("El pais seleccionado es PERU, el RUC debe tener 11 digitos");
					return;
				}
			}
			if(jL(Dni)>0){
				if(jL(Dni)!=8){
					alert("El pais seleccionado es PERU, el DNI debe tener 8 digitos");
					return;
				}
				if(STD!="DNI"){
					alert("El tipo de documento del cliente es '"+STD+"' deberia ser DNI, el pais seleccionado es PERU");
					return;
				}
			}
			
		}else{
			if(jL(Ruc)>0){
				alert("El ruc solo se aplica si el pais es PERU");
				return;
			}
			if(STD=="DNI"){
				if(jL(Dni)>0){
					alert("El dni solo se aplica si el pais es PERU");
					return;
				}
				if(jL(Dni)!=0){
					alert("No se puede determinar el numero de DNI");
					return;
				}
			}			
		}
	}
	//
	if(ubi_pai=="PERU"){
		if(jL(ubi_dep)==0){
			alert("Seleccione el departamento / provincia / distrito");
			document.getElementById("CmdUbi").focus();
			return;
		}
		if(jL(ubi_pro)==0){
			alert("Seleccione el departamento / provincia / distrito");
			document.getElementById("CmdUbi").focus();
			return;
		}
		if(jL(ubi_dis)==0){
			alert("Seleccione el departamento / provincia / distrito");
			document.getElementById("CmdUbi").focus();
			return;
		}
	}else{
		if(jL(ubi_dep)>0){
			alert("El departamento / provincia / distrito solo corresponde cuando el pais es PERU");
			document.getElementById("CmdUbiX").focus();
			return;
		}
		if(jL(ubi_pro)>0){
			alert("El departamento / provincia / distrito solo corresponde cuando el pais es PERU");
			document.getElementById("CmdUbiX").focus();
			return;
		}
		if(jL(ubi_dis)>0){
			alert("El departamento / provincia / distrito solo corresponde cuando el pais es PERU");
			document.getElementById("CmdUbiX").focus();
			return;
		}
	}
	//
	if(gv("CmdG")=="Guardar"){
		var Rpta = confirm("Esta seguro que desea Guardar?")		
		if (Rpta==false){
			return;
		}
		SM("G");
	}else{		
		var Rpta = confirm("Esta seguro que desea modificar?")		
		if (Rpta==true){
			var DR=gv("TxtDR");
			if(jVal(DR)>0){
				alert("El presente registro ha sido tomando "+
					  "como referencia, por lo tanto NO SE PUEDE MODIFICAR");
				return;		
			}else{
				var Id=jVal(gv("TxtId"));
				var p=fValEli(Id);
				if(p=="COB"){
					alert("Uno o mas COBROS relacionados por lo "+
					     "tanto NO SE PUEDE MODIFICAR");
					return;
				}
				if(p=="OK"){
					SM("M");
				}else{
					alert("El presente registro esta relacionado a : GUIA "+p);
					document.getElementById("CmdG").focus();
					return;
				}
			}
		}
		//
	}
}
/**************************************************************************
	onkeypress="return pulsar(event);"
**************************************************************************/
function pulsar(e) { 	
	var tecla = (document.all) ? e.keyCode :e.which; 
	var Obj=event.srcElement.name;	
	if(Obj=="TxtNom"){
		if(tecla==13){			
			document.getElementById('CmdG').click();			
		}
	}	
	return (tecla!=13); 
}
function fEliVenta(){
	var Id=jVal(gv("TxtId"));
	var fe_id=jVal(gv("TXT_FE_ID"));
	if(Id==0){
		alert("No se puede determinar el id del registro activo");
		return;
	}
	if(jVal(fe_id)>0){
		alert("El presente registro ya ha sido generado como comprobante electronico, no se puede eliminar, intente anular");
		return;
	}
	var Rpta = confirm("Esta seguro que desea eliminar?")		
	if (Rpta==true){
		var DR=gv("TxtDR");
		if(jVal(DR)>0){
			alert("El presente registro ha sido tomando "+
				  "como referencia, por lo tanto NO SE PUEDE ELIMINAR");		
		}else{
			var p=fValEli(Id);
			if(p=="COB"){
				alert("Uno o mas COBROS relacionados por lo tanto NO SE PUEDE ELIMINAR");
				return;
			}
			if(p=="OK"){
				document.getElementById("TxtAc").value="E";
				document.getElementById("Frm").submit();
			}else{
				alert("El presente registro esta relacionado a : GUIA "+p);
				document.getElementById("CmdE").focus();
			}
		}
	}
}
//
function flAnular(){
	var Id=jVal(gv("TxtId"));
	if(Id==0){
		alert("No se puede determinar el id del registro activo");
		return;
	}
	var Rpta = confirm("Esta seguro que desea anular?")		
	if (Rpta==true){
		var DR=gv("TxtDR");
		if(jVal(DR)>0){
			alert("El presente registro ha sido tomando "+
				  "como referencia, por lo tanto NO SE PUEDE ANULAR");		
		}else{
			var p=fValEli(Id);
			if(p=="COB"){
				alert("Uno o mas COBROS relacionados por lo tanto NO SE PUEDE ANULAR");
				return;
			}
			if(p=="OK"){
				document.getElementById("TxtAc").value="A";
				document.getElementById("Frm").submit();
			}else{
				alert("El presente registro esta relacionado a : GUIA "+p);
				document.getElementById("CmdE").focus();
			}
		}
	}
	//
}
//
function fValEli(Id){
	ajax=CreateAJAX();
	var StrUrl="";
	StrUrl="aj.php?Cmd=V_V_E&P1="+Id;
	ajax.open("GET",StrUrl,false);	
	ajax.send(null);
	var StrHtml=ajax.responseText;
	return StrHtml.trim();
}
//
function CalcularVuelto(){	
	var Mod=gv("CboMod");
	var Tot=jVal(gv("T_TO"));
	//	
	var Tdp=gv("CboTdp");
	var Acu=jVal(gv("TxtACuenta"));
	var Tca=jVal(gv("TxtTC"));	
	var Sal=jVal(gv("TxtSal"));
	var Mon=gv("CboMon");
	if(Mon=="DOLARES"){
		Acu=Acu * Tca;
		Acu=Acu.toFixed(2);
	}
	//
	document.getElementById("TxtVuelto").value="0.0";
	document.getElementById("TxtSal").value="0.0";
	//
	if(Tdp=="CONTADO"){
		if(Acu>=Tot){			
			Acu=Acu - Tot;	
			document.getElementById("TxtVuelto").value=formato_numero(Acu ,1,".");
		}
	}
	if(Tdp=="CREDITO" || Tdp=="DEPOSITO"){
		if(Tot>=Acu){			
			var Sal=Tot - Acu;	
			document.getElementById("TxtSal").value=formato_numero(Sal ,1,".");
		}		
	}
}
//
function EM_OC(){
	var Emp=gv("CboEmp");	
	var r=AX("02",Emp);	
	if(r=="X"){
		CBO_CLS("CboAlm",1);
	}else{
		CBO_FILL("CboAlm",r,0);
	}
}
//
function FE_AX(CMD,P01,P02,P03,P04,P05,P06,P07,P08,P09,P10){
	var s="?CMD="+CMD;
	if(P01!=undefined)s=s+"&P01="+P01;
	if(P02!=undefined)s=s+"&P02="+P02;
	if(P03!=undefined)s=s+"&P03="+P03;
	if(P04!=undefined)s=s+"&P04="+P04;
	if(P05!=undefined)s=s+"&P05="+P05;
	if(P06!=undefined)s=s+"&P06="+P06;
	if(P07!=undefined)s=s+"&P07="+P07;
	if(P08!=undefined)s=s+"&P08="+P08;
	if(P09!=undefined)s=s+"&P09="+P09;
	if(P10!=undefined)s=s+"&P10="+P10;	
	//
	var php="fe_funciones.php"+s;
	var u="http://localhost/lq2021/"+php;
	//prompt(u,u);
	ajax=CreateAJAX();
	ajax.open("GET",php,false);	
	ajax.send(null);
	var StrHtml=ajax.responseText;
	return StrHtml.trim();
}
//
function GenFacEle(){
	var fe_id=jVal(gv("TXT_FE_ID"));
	var fe_nd=jVal(gv("TXT_FE_ND"));
	var ve_id=jVal(gv("TxtId"));
	var us_id=jVal(gv("TXT_FE_USU_ID"));
	if(ve_id==0){
		alert("No se puede determinar el id del registro activo");
		return;
	}
	if(fe_id==0){
		if(confirm("Esta seguro que desea generar el documento electronico?")==true){
			var ar=FE_AX("GEN_FE",ve_id,us_id);
			ar=ar.split("|");
			if(ar[1]=="OK"){
				sv("TXT_FE_ND","0");
				sv("TXT_FE_ID","1");
				document.getElementById("CmdFE").disabled=true;
				//Ow("ventas_fe.php?ID="+ve_id,400 * ZO(),300 * ZO());
				alert("El comprobante ha sido generado");
			}else{
				alert(ar[2]);
			}
		}
	}else{
		alert("El comprobante electronico ya ha sido generado");		
	}
}
//
function SetEMA(){
	sv("TxtEma","shengxiangling@outlook.com");
}
//
function GEN_PDF_ELE(){
	var id=gv("TxtId");
	var fe_id=gv("TXT_FE_ID");
	if(jVal(id)==0){
		alert("No se puede determinar el id del registro activo");
		return ;
	}
	if(jVal(fe_id)==0){
		alert("El presente comprobante aun no ha sido generado");
		return ;
	}
	var r=FE_AX("VAL_PDF",id);
	r=r.split("|");
	if(r[1]=="MS"){
		alert(r[2]);
	}else{
		Ow("pdf.php?CMD=GEN_PDF&P01="+id,550*ZO(),280*ZO());
	}
	
}