//++++
function EsEntero(strNum){
	var i=0;
	var n="";
	var ok=true;
	for(i=1;i<=jL(strNum);i++){
		n=vbM(strNum,i,1);
		if(n=="1" || n=="2" || n=="3" || n=="4" || n=="5" || n=="6" || n=="7" || n=="8" || n=="9" || n=="0" ){
			ok=true;
		}else{
			ok=false;
			break;
		}
	}
	return ok;
}
//
function fRucEx(dat){
	var arr=dat.split("|");
	if(arr[1]=="MS"){
		return AF(arr[2],"Ndi");	
	}else{
		if(arr[1]=="OK"){
			var r_dni=arr[2];
			var r_nom=arr[3];
			var r_dir=arr[4];
			var r_ubi=arr[5];
			var r_ema=arr[6];
			//
			sv("Nom",r_nom);
			sv("Dir",r_dir);
			sv("Ema",r_ema);
			sv("Pai","PERU");
			jF("Ven");
			//
		}else{
			return AF("Error datos no encontrados","Ndi");	
		}
	}
}
function NumAuto(){
	document.getElementById("Ser").readOnly=false;
	document.getElementById("Num").readOnly=false;
	document.getElementById("Ser").style.backgroundColor="#FFF";
	document.getElementById("Num").style.backgroundColor="#FFF";
	var id=gv("TxtId");
	if(jVal(id)==0){
		sv("Ser","");
		sv("Num","");
	}
	if(document.getElementById("ChN_AUTO").checked==true){
		document.getElementById("Ser").readOnly=true;
		document.getElementById("Num").readOnly=true;
		document.getElementById("Ser").style.backgroundColor="#CCC";
		document.getElementById("Num").style.backgroundColor="#CCC";
	}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++
function EM_OC(){
	var Emp=gv("Emp");	
	var r=AX("LQ02",Emp);	
	if(r=="X"){
		CBO_CLS("Alm",1);
	}else{
		CBO_FILL("Alm",r,0);
	}
}

//
function fDoc(){			
	//
	var emp=gv("Emp");
	var doc=gv("DocM");
	var ser=gv("SerM");
	var num=gv("NumM");
	if(jL(emp)==0){
		return AF("Seleccione la empresa","Emp");
	}
	if(jL(doc)==0){
		return AF("Seleccione el documento que modifica","DocM");
	}
	if(jL(ser)==0){
		return AF("Ingrese la serie del documento que modifica","DocM");
	}
	if(jL(num)==0){
		return AF("Ingrese el numero del documento que modifica","DocM");
	}
	SM("DOC_REF");
	
}
//+++++++++++++++++++++++++++++++++++++++++++++
function fRuc(){
	var ruc=gv("Ndi");
	var tdi=gv("Tdi");
	//
	sv("Nom","");
	sv("Dir","");
	sv("Ema","");
	sv("Pai","");
	//
	if(jL(tdi)==0){
		return AF("Seleccione el tipo de documento de identidad","Tdi");
	}
	//
	if(tdi=="DNI"){
		if(jL(ruc)==8){
			if(!EsEntero(ruc)){
				return AF("El numero de dni debe tener 8 digitos","Ndi");	
			}else{
				var dat=SUNAT_AX("RUC_DNI",ruc);
				fRucEx(dat);
			}
		}else{
			return AF("El numero de dni debe tener 8 digitos","Ndi");
		}
	}else{
		if(tdi=="RUC"){
			if(jL(ruc)==11){
				if(!EsEntero(ruc)){
					return AF("El numero de dni debe tener 11 digitos","Ndi");	
				}else{
					var dat=SUNAT_AX("RUC_DNI",ruc);
					fRucEx(dat);
				}
			}else{
				return AF("El numero de ruc debe tener 11 digitos","Ndi");
			}
		}else{
			return AF("Funcion solo valida para DNIs y RUCs","Ndi");
		}
	}
}
//
function fCancelar(){
	document.getElementById("TxtAc").value="L";
	document.getElementById("Frm").submit();
}
//
function fE(cx){
	Ow("nota_de_debito_item.php?CX="+cx,1040,230);
}
//
function fK(cx){
	sv("TXT_KI",cx);
	SM("KI");
}
//
function flAnular(id){	
	if(pre("¡Esta seguro que desea anular?")){		
		SM("A");		
	}
}
//
function flEliminar(id){	
	if(pre("¡Esta seguro que desea eliminar?")){
		SM("E");
	}
}
//
function fGenPDF(){
	var id=gv("TxtId");
	var num_ele=gv("NumEle");
	if(jVal(id)==0){
		alert("No se puede determinar el id del registro");
		return;
	}
	if(jL(num_ele)==0){
		alert("No se puede determinar el NUMERO SUNAT o esta vacio");
		return;
	}
	var dat=SUNAT_AX("GET_PDF",id);
	
	var arr=dat.split("|");
	if(arr[1]=="MS"){
		alert(arr[2]);
	}else{
		if(arr[1]=="OK"){
			var FILE=arr[2];
			var HTML="<marquee marquee direction='left' scrolldelay='15' "+
			         "behavior='slide' truespeed><center><b>"+
					 "<a href='"+FILE+"' download>"+FILE+"</a>"+
					 "</b></center></marquee>";
			document.getElementById("LINK_PDF").innerHTML=HTML;
		}else{
			alert("Error de conexion");
		}
	}	
}
//
function fGenFE(){
	var id=gv("TxtId");
	if(jVal(id)==0){
		alert("No se puede determinar el id del registro");
		return;
	}
	if(pre("Esta seguro que desea generar el comprobante electronico")){
		var dat=SUNAT_AX("GEN_CE",id);
		var arr=dat.split("|");
		if(arr[1]=="MS"){
			alert(arr[2]);
		}else{
			if(arr[1]=="OK"){
				var NUM=arr[2];
				sv("NumEle",NUM);
				document.getElementById("CmdGenFE").disabled=true;
			}else{
				alert("Error de conexion");
			}
		}
	}
}
//
function SelPer(){
	Ow("rc_adelanto_sel_per.php?W=3",720,620);	
}
//
function fGuardar(){
	var emp=gv("Emp");
	var alm=gv("Alm");
	var doc=gv("Doc");
	var ser=gv("Ser");
	var num=gv("Num");
	var fec=gv("Fec");
	//
	var r_doc=gv("DocM");
	var r_ser=gv("SerM");
	var r_num=gv("NumM");
	var r_fec=gv("FecM");
	var r_tot=gv("TotM");
	var r_ndi=gv("Ndi");
	var r_cli=gv("Nom");
	var r_dir=gv("Dir");
	var r_ema=gv("Ema");
	//
	var tip=gv("Tip");
	//	
	var cx=gv("TxtCX");
	//	
	if(jL(emp)==0)return AF("Seleccione una empresa","Emp");
	if(jL(alm)==0)return AF("Seleccione un punto de emision","Alm");
	if(jL(doc)==0)return AF("Seleccione el tipo de documento a emitir","Doc");
	//
	if(document.getElementById("ChN_AUTO").checked==false){
		if(jL(ser)==0)return AF("Ingrese la serie correspondiente","Ser");
		if(jL(num)==0)return AF("Ingrese el numero correspondiente","Num");
	}
	//
	if(jL(r_doc)==0)return AF("Seleccione el documento a modificar","DocM");
	if(jL(r_ser)==0)return AF("Ingrese la serie a modificar","SerM");
	if(jL(r_num)==0)return AF("Ingrese el numero a modificar","NumM");
	if(jL(r_fec)==0)return AF("No se puede determinar la fecha del documento a modificar","DocM");
	if(jL(r_tot)==0)return AF("No se puede determinar el total del documento a modificar","DocM");
	if(jL(r_cli)==0)return AF("No se puede determinar el nombre del cliente","DocM");	
	//
	if(jL(tip)==0 || jL(tip)==1)return AF("Seleccion el motivo de emision","Tip");
	var tid=tip.split("-");
	if(doc=="NC. ELEC."){
		if(tid[0]!="NC"){
			alert("Seleccione un tipo de documento de acuerdo a la nota de credito NC");
			jF("Tip");
			return;
		}
	}else{
		if(doc=="ND. ELEC."){
			if(tid[0]!="ND"){
				alert("Seleccione un tipo de documento de acuerdo a la nota de debito ND");
				jF("Tip");
				return;
			}
		}else{
			alert("Documento no definido");
			jF("Tip");
			return;
		}
	}
	//
	if(jVal(cx)==0){
		return AF("La lista se encuentra vacia","Cod");
	}
	//++++++++++++++++++++++++++++++++++++++++
	if(gv("CmdG")=="Guardar"){
		if(pre("Esta seguro que desea guardar")){
			SM("G");
		}
	}else{
		if(pre("Esta seguro que desea modificar")){
			SM("M");
		}
	}
}
//
function fAdd(){
	var tip="ITEM";
	var kod=gv("Kod");
	var des=gv("Des");
	var pre=gv("Pre");
	var can=gv("Can");
	var pie=gv("Pie");
	var imp=gv("Imp");
	//
	if(tip=="ITEM"){
		if(jL(des)==0){
			return AF("Ingrese la descripcion","Des");
		}
		if(jL(pre)==0){
			return AF("Ingrese el precio unitario","Pre");
		}
		if(jL(can)==0){
			return AF("Ingrese la cantidad","Pre");
		}
		if(jL(pie)==0){
			return AF("Ingrese el numero de piezas","Pie");
		}
	}else{
		if(jL(des)==0){
			return AF("Ingrese la descripcion","Des");
		}
	}
	SM("ADD");	
}
//
function CalImporte(){
	var Pre=document.getElementById("Pre").value;
	var Can=document.getElementById("Can").value;
	var Uni=document.getElementById("Pie").value;
	var Importe=parseFloat("0");

	if(Pre.trim().length==0)Pre="0";
	if(Can.trim().length==0)Can="0";
	if(Uni.trim().length==0)Can="0";

	Pre=jVal(Pre);
	Can=jVal(Can);
	Uni=jVal(Uni);

	Importe=(Can * Uni) * Pre;
	Importe=Importe.toFixed(2);
	document.getElementById("Imp").value=Importe;
}
//
function _S(O){
	var s=O.value;
	s=s.trim()
	if(jL(s)==1)s="000"+s;
	if(jL(s)==2)s="00"+s;
	if(jL(s)==3)s="0"+s;
	O.value=s;
}
function _N(O){
	var s=O.value;
	s=s.trim()
	if(jL(s)==1)s="00000"+s;
	if(jL(s)==2)s="0000"+s;
	if(jL(s)==3)s="000"+s;
	if(jL(s)==4)s="00"+s;
	if(jL(s)==5)s="0"+s;
	O.value=s;
}
//
function ZO(){
	return window.devicePixelRatio;
}
//
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_ANTERIOR(){
	var fe_gn=gv("TXT_GEN");
	var ve_id=jVal(gv("TxtId"));
	var us_id=0;
	if(ve_id==0){
		alert("No se puede determinar el id del registro activo");
		return;
	}
	if(fe_gn=="N"){
		if(confirm("Esta seguro que desea generar el comprobante electronico?")==true){
			var ar=AX("GEN_NDC",ve_id,us_id);
			ar=ar.split("|");
			if(ar[1]=="OK"){
				document.getElementById("CmdG").disabled=true;
				document.getElementById("CmdGenFE").disabled=true;
				document.getElementById("CmdE").disabled=true;	
				Ow("ventas_fe.php?ID="+ve_id,400 * ZO(),300 * ZO());
			}else{
				alert(ar[2]);
			}
		}
	}else{
		alert("El comprobante ya se encuentra generado");
	}
}
//
function GenFacEle(){
	var fe_gn=gv("TXT_GEN");
	var ve_id=gv("TxtId");
	var us_id=0;
	if(jVal(ve_id)==0){
		alert("No se puede determinar el id del registro activo");
		return;
	}
	if(fe_gn=="S"){
		alert("El comprobante ya se encuentra generado");
		return;
	}
	if(confirm("*** Esta seguro que desea generar el documento electronico *** ?")==true){
		var ar=FE_AX("GEN_NDD",ve_id,us_id);
		ar=ar.split("|");
		if(ar[1]=="OK"){
			document.getElementById("CmdGenFE").disabled=true;
			document.getElementById("CmdG").disabled=true;
			document.getElementById("CmdE").disabled=true;
			sv("TXT_GEN","S");
			//Ow("ventas_fe.php?ID="+ve_id,400 * ZO(),300 * ZO());
			alert("El comprobante ha sido generado");
		}else{
			alert(ar[2]);
		}
	}	
}
//
function GEN_PDF_ELE(){
	var id=gv("TxtId");
	var fe_gen=gv("TXT_GEN");
	var fe_anu=gv("TXT_ANU");
	if(jVal(id)==0){
		alert("No se puede determinar el id del registro activo");
		return ;
	}
	//
	if(fe_gen=="N"){
		alert("El comprobante electronico aun no ha sido generado");
		return ;
	}
	if(fe_anu=="S"){
		alert("El comprobante se encuentra anulado");
		return ;
	}
	//
	var r=FE_AX("VAL_PDF_NDD",id);
	r=r.split("|");
	if(r[1]=="MS"){
		alert(r[2]);
	}else{
		Ow("../pdf.php?CMD=GEN_PDF_NDD&P01="+id,550*ZO(),280*ZO());
	}
}
//
function flAnularEx(){
	var ve_id=gv("TxtId");
	var fe_anu=gv("TXT_ANU");
	if(jVal(ve_id)==0){
		alert("No se puede determinar el id del registro activo");
		return;
	}
	if(fe_anu=="S"){
		alert("El comprobante se encuentra anulado");
		return ;
	}	
	if(confirm("Esta seguro que desea anular el documento electronico?")==true){
		var ar=FE_AX("ANU_FE_NDC",ve_id);
		ar=ar.split("|");
		if(ar[1]=="OK"){
			document.getElementById("CmdE").disabled=true;
			document.getElementById("CmdA").disabled=true;
			SM("A");
		}else{
			alert(ar[2]);
		}
	}
}