String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
//
function fPartida(){
	var Par=gv("TxtPar");
	//if(jL(Par)==0){
		var Alm=gv("CboAlm");
		var stru="aj.php?Cmd=R05&P1="+Alm;
		try{	
		ajax=CreateAJAX();
		ajax.open("GET",stru);
		ajax.onreadystatechange=function() {
		   if (ajax.readyState==4) {
			   var Rpt = (ajax.responseText);
			   document.getElementById("TxtPar").value=Rpt;
		   }
		}
		ajax.send(null);
		}
		catch(err){
		}
	//}
}
//**************************************************************************
function fLimDet(){
	document.getElementById("TxtCod").value="";
	document.getElementById("TxtDes").value="";
	document.getElementById("TxtMarcas").value="";
	document.getElementById("TxtCant").value="";
	document.getElementById("TxtCUni").value="";
	document.getElementById("TxtCod").focus();
}
//**************************************************************************
function fGenPDF(){
	document.getElementById("TxtAc").value="GEN_PDF_1";
	document.getElementById("Frm").submit();
}
//**************************************************************************
function fFiltrar(){
	document.getElementById("TxtAc").value="F";
	document.getElementById("Frm").submit();
}
function DetAuto(){
	if(jLen(gv("DR_NOM"))>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 fValEE(){
	var c=gv("CmdLoad");
	var d=gv("CboComR");
	if(c=="Deshacer referencia"){
		if(d=="PROFORMA" || d=="GUIA INTERNA" || d=="TRANSFERENCIA"){
			alert("No se puede editar/eliminar cuando "+
			      "el doc. de referencia es '"+d+"'");
			return false;
		}else{
			return true;
		}
	}else{
		return true;
	}
}
function fEditar(lpIndex){
	if(fValEE()){
		var hw=document.getElementById("TxtHW").value;
		Ow("guias_editar.php?I="+lpIndex+"&H="+hw,550*ZO(),280*ZO());	
	}
}

function fLoad(){
	document.getElementById("TxtAc").value="UP";
	document.getElementById("Frm").submit();
}
//**************************************************************************
function VUELTO(){
	var StrTC=document.getElementById("TxtTC").value;
	var StrMon=document.getElementById("CboMon").value;
	var StrTot=document.getElementById("T_TOH").value;
	var StrPag=document.getElementById("TxtPagarCon").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 CerrarDIV(){
	DivDatos = document.getElementById("TAB_AJAX");
	DivCaption = document.getElementById("TAB_CAPTION");
	DivCaption.style.visibility="hidden";
	DivDatos.style.visibility="hidden";	
	document.getElementById("TxtDes").focus();
}
//**************************************************************************
function TDP(){
	var StrTdp=document.getElementById("CboTdp").value;
	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){
	if(estado==2 && jLen(gv("TxtSer"))>0){
		
	}else{
		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("TxtFec").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 LoadRef(){
	var dr=gv("CboComR");
	var emp=gv("CboEmpR");
	var ser=gv("TxtSerR");
	var num=gv("TxtNumR");
	if(jL(dr)==0){
		alert("Seleccione el tipo de documento de referencia");
		document.getElementById("CboComR").focus();
		return;
	}
	if(jL(emp)==0){
		alert("Seleccione una empresa");
		return jF("CboEmpR");
	}
	if(jL(ser)==0){
		alert("Ingrese la serie");
		return jF("TxtSerR");
	}
	if(jL(num)==0){
		alert("Ingrese el numero");
		return jF("TxtNumR");
	}
	if(gv("CmdLoad")=="Cargar referencia"){
		SM("LOAD_REF");
	}else{
		SM("LOAD_REF_X");
	}
}
//
function fChDesc(){
	var p=gv("DR_DES");
	if(jVal(p)>0){
		document.getElementById("Ch_DES").checked=false;
		var DR=gv("CboComR");
		if(DR=="PROFORMA"){
			alert("La opcion descontar stock no se puede "+
			      "aplicar cuando se hace referencia a "+
				  "una PROFORMA, para descontar stock "+
				  "de una proforma debe emitir una guia interna");
			return;
		}
		if(DR=="GUIA INTERNA"){
			alert("La opcion descontar stock no se puede "+
			      "aplicar cuando se hace referencia a una GUIA INTERNA");
			return;
		}
		if(DR=="TRANSFERENCIA"){
			alert("No se aplica cuando el doc. de referencia es una 'TRANSFERENCIA'");
			return;	
		}
		if(DR=="CONTENEDOR"){
			alert("No se aplica cuando el doc. de referencia es una 'CONTENEDOR'");
			return;	
		}
		alert("El documento de referencia ya ha descontado el stock");
		return;
	}

}
//**************************************************************************
function CboRef(){
	if(jLen(gv("DR_NOM"))>0){
		return;
	}
	var dr=gv("CboComR");	
	var Plom=document.getElementById("TxtTC").style.backgroundColor;
	var Blan=document.getElementById("TxtCod").style.backgroundColor;
	if(jL(dr)==0){
		document.getElementById("TxtSerR").style.backgroundColor=Plom;
		document.getElementById("TxtSerR").readOnly=true;		
		document.getElementById("TxtNumR").style.backgroundColor=Plom;
		document.getElementById("TxtNumR").readOnly=true;		
		return;
	}
	document.getElementById("TxtNumR").style.backgroundColor=Blan;
	document.getElementById("TxtNumR").readOnly=false;
	document.getElementById("TxtSerR").style.backgroundColor=Blan;
	document.getElementById("TxtSerR").readOnly=false;
}
function fCls(){
	
	document.getElementById("TxtIdCliente").value="0";
	document.getElementById("TxtCliente").value="";
	document.getElementById("TxtRuc").value="";
}
//**************************************************************************
function fKiller(lpIndex){
	if(fValEE()){
		document.getElementById("Pro_TxtId").value=lpIndex;
		document.getElementById("TxtAc").value="KILLER";
		document.getElementById("Frm").submit();
	}
}
//**************************************************************************
function fGetTabla(){
var Cod=document.getElementById("TxtCod").value;
var Des=document.getElementById("TxtDes").value;
var Mar=document.getElementById("TxtMarcas").value;
if(Des.trim().length>0 || Mar.trim().length>0 || Cod.trim().length>0){
	DivDatos = document.getElementById("TAB_AJAX");
	DivCaption = document.getElementById("TAB_CAPTION");
	ajax=CreateAJAX();
var StrU="ajax_funciones.php?Cmd=COMPRAS_PROD_FILTRAR&TxtPar="+Des+"&TxtPar2="+Mar+"&TxtPar3="+Cod;
	ajax.open("GET", StrU);	
	ajax.onreadystatechange=function() {
		   if (ajax.readyState==4) {
					var StrDatos=ajax.responseText;
					if(StrDatos.trim().length>0){			  
					   DivDatos.innerHTML = StrDatos;
					   DivCaption.style.visibility="visible";
					   DivDatos.style.visibility="visible";	
					}else{
						DivCaption.style.visibility="hidden";
						DivDatos.style.visibility="hidden";	
					}
		   }
	}
	ajax.send(null);
}
}
//**************************************************************************
function fGetProdDatos_Id(lpStrId){
	if(lpStrId.trim().length>0){
	DivDatos = document.getElementById("DivDatosProd");
	ajax=CreateAJAX();
	ajax.open("GET", "ajax_funciones.php?Cmd=COMPRAS_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("TxtDes").value="";
				   document.getElementById("TxtMarcas").value="";
  				   document.getElementById("TxtPre").value="";				   
				   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("TxtMarcas").value=document.getElementById("Pro_TxtMarca").value;
document.getElementById("TxtDes").value=document.getElementById("Pro_TxtDes").value;
document.getElementById("TxtPre").value=document.getElementById("Pro_TxtPre").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){
	DivDatos = document.getElementById("DivDatosProd");
	ajax=CreateAJAX();
	ajax.open("GET", "ajax_funciones.php?Cmd=COMPRAS_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("TxtDes").value="";
				   document.getElementById("TxtMarcas").value="";
				   document.getElementById("TxtCant").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("TxtMarcas").value=document.getElementById("Pro_TxtMarca").value;
document.getElementById("TxtDes").value=document.getElementById("Pro_TxtDes").value;
document.getElementById("TxtCant").value="1";
document.getElementById("TxtCant").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("TxtDes").value="";
				   document.getElementById("TxtMarcas").value="";
				   document.getElementById("TxtCant").value="";
				   document.getElementById("TxtCod").value="";				   
				   alert("Codigo no registrado");
				   document.getElementById("TxtCod").focus();
				   }else{
document.getElementById("TxtMarcas").value=document.getElementById("Pro_TxtMarca").value;
document.getElementById("TxtDes").value=document.getElementById("Pro_TxtDes").value;
document.getElementById("TxtCant").value="1";
document.getElementById("TxtCant").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 fAgregar(){
	if(DetAuto()){
		return ;
	}
	//
	var G_NL=jVal(gv("TxtGIA_NL"));	
	var T_NL=jVal(gv("TxtTOT_NL"));	
	if(G_NL > 0 ){
		if(T_NL == G_NL){
			alert("El numero maximo de items para GIA es "+G_NL);
			fLimDet();
			jFocus("TxtCod");
			return;
		}
	}
	//
	var Pro_Id=document.getElementById("Pro_TxtId").value;
	var Pro_Cod=document.getElementById("Pro_TxtCod").value;
	var Pro_Des=document.getElementById("Pro_TxtDes").value;
	
	var Cod=document.getElementById("TxtCod").value;
	var Des=document.getElementById("TxtDes").value;
	var Can=document.getElementById("TxtCant").value;
	var CUni=document.getElementById("TxtCUni").value;
	
	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;
	}

	if(CUni.length==0){
		alert("Ingrese el nro. de piezas");
		document.getElementById("TxtCUni").focus();
		return;
	}

	document.getElementById("TxtAc").value="ADD";
	document.getElementById("Frm").submit();
}
//
function fValGua1(){
	//
	var r_d=gv("CboComR");
	var r_s=gv("TxtSerR");
	var r_n=gv("TxtNumR");
	//
	ajax=CreateAJAX();
	var StrUrl="";
	StrUrl="aj_gui.php?C=VV&P1="+r_d+"&P2="+r_s+"&P3="+r_n;
	ajax.open("GET",StrUrl,false);	
	ajax.send(null);
	var StrHtml=ajax.responseText;
	return StrHtml.trim();
}
//
function fGuardar(){
	//
	var G_NL=jVal(gv("TxtGIA_NL"));	
	var T_NL=jVal(gv("TxtTOT_NL"));
	if(G_NL > 0 ){
		if(T_NL > G_NL){
			alert("El numero maximo de items para GUIA es "+G_NL);
			jFocus("TxtCod");
			return;
		}
	}
	//
	var Emp=gv("CboEmp");
	var Alm=document.getElementById("CboAlm").value;
	var Fec=document.getElementById("TxtFec").value;
	var Num=document.getElementById("TxtNum").value;
	var Ser=document.getElementById("TxtSer").value;
	var Par=document.getElementById("TxtPar").value;
	var DesRs=document.getElementById("TxtDesRs").value;
	var DesDir=document.getElementById("TxtDesDir").value;
	if(jL(Emp)==0){
		alert("Seleccione una empresa");
		jF("CboEmp");return;
	}
	if(Alm.trim().length==0){alert("Seleccione un almacen");
		document.getElementById("CboAlm").focus();return;
	}
	if(Fec.trim().length==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(document.getElementById("ChN_AUTO").checked==false){
		if(Ser.trim().length==0){alert("Ingrese la serie del comprobante.");
			document.getElementById("TxtSer").focus();return;}
		if(Num.trim().length==0){alert("Ingrese el numero de comprobante");
			document.getElementById("TxtNum").focus();
			return;}
	}	
	if(Par.trim().length==0){alert("Ingrese el punto de partida");
		document.getElementById("TxtPar").focus();return;}
	if(DesRs.trim().length==0){alert("Ingrese la razon social del destinatario");
		document.getElementById("TxtDesRs").focus();return;}
	if(DesDir.trim().length==0){alert("Ingrese la direccion del destinatario");
		document.getElementById("TxtDesDir").focus();return;}
	if(document.getElementById("Ch_DES").checked==true){
		var EmpZ=gv("CboEmpZ");
		var AlmZ=gv("CboZto");
		if(jL(EmpZ)==0){
			alert("Seleccione una empresa");return jF("CboEmpZ");
		}
		if(jL(AlmZ)==0){
			alert("Seleccione un alamcen");return jF("CboEmpZ");
		}
	}
	//
	if(document.getElementById("CmdG").value=="Guardar"){		
		var Rpta = confirm("Esta seguro que desea Guardar?")		
		if (Rpta==false){
			return;
		}
		if(fOkGM()==false){
			return;
		}
		document.getElementById("TxtAc").value="G";
	}else{
		var Rpta = confirm("Esta seguro que desea modificar?")		
		if (Rpta==false){
			return;
		}
		if(fOkGM()==false){
			return;
		}
		document.getElementById("TxtAc").value="M";
	}
	document.getElementById("Frm").submit();
}
//
function fOkGM(){
	//
	var CMR=gv("CmdLoad");
	var DOR=gv("CboComR");
	var SER=gv("TxtSerR");
	var NUR=gv("TxtNumR");
	//
	if(CMR!="Cargar referencia"){
		if(DOR=="FACTURA" || DOR=="BOLETA"){
			var RPT=fValGua1();
			if(RPT=="NR"){
				alert("Documento de referencia NO REGISTRADO");
				jFocus("CboComR");return false;
			}
			if(RPT=="AN"){
				alert("Documento de referencia ha sido ANULADO");
				jFocus("CboComR");return false;
			}
			if(RPT=="CO"){
				/*
				alert("Documento de referencia depende de "+
					  "una proforma/cotizacion por lo tanto "+
					  "NO SE PUEDE PROCEDER");
				jFocus("CboComR");return false;
				*/
			}
			if(RPT=="D_NO"){
				if(document.getElementById("Ch_DES").checked==false){
					alert("Active check 'DESCONTAR STOCK', y "+
						  "determine un almacen, el documento de "+
						  "referencia no ha descontado stock");
					jFocus("Ch_DES");return false;
				}
			}			
		}
	}else{
		return true;
	}
}
//
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 fSelSuc(){
	var Cli=gv("TxtDesRs");
	Ow("clientes_suc_sel.php?C="+Cli, 720*ZO(),600*ZO());	
}

//**************************************************************************
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 EM_OC_Z(){
	var Emp=gv("CboEmpZ");	
	var r=AX("02",Emp);
	if(r=="X"){
		CBO_CLS("CboZto",1);
	}else{
		CBO_FILL("CboZto",r,0);
	}
}
function EM_OCD(){
	var Emp=gv("CboEmpZ");	
	var r=AX("00",Emp);
	if(r=="X"){
		CBO_CLS("CboZto",1);
	}else{
		CBO_FILL("CboZto",r,0);
	}
}