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 fFiltrar(){
	document.getElementById("TxtAc").value="F";
	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 fEditar(lpIndex){
	var hw=document.getElementById("TxtHW").value;
	Ow("cotizaciones_editar.php?I="+lpIndex+"&H="+hw+"&M=1",550,280);	
}
function CalcularVuelto(){
	var Mod=gv("CboMod");
	var Tot=jVal(gv("TxtTReal"));
	if(document.getElementById("ChN_INC").checked==true){
		Tot=Tot * 1.18;
		Tot=Tot.toFixed(2);
	}
	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" ){
		if(Tot>=Acu){			
			var Sal=Tot - Acu;	
			document.getElementById("TxtSal").value=formato_numero(Sal ,1,".");
		}		
	}
}
//
function fLoad(){
	document.getElementById("TxtAc").value="UP";
	document.getElementById("Frm").submit();
}
//
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 fCls(){
	document.getElementById("TxtIdCliente").value="0";
	document.getElementById("TxtCliente").value="";
	document.getElementById("TxtRuc").value="";
}

//**************************************************************************
function fImporte(){
	var Pre=document.getElementById("TxtPre").value;
	var Can=document.getElementById("TxtCant").value;
	var Des="";
	var Uni=document.getElementById("TxtCUni").value;
	var Importe=parseFloat("0");
	if(Des.trim().length==0)Des="0";
	if(Pre.trim().length==0)Pre="0";
	if(Can.trim().length==0)Can="0";
	if(Uni.trim().length==0)Uni="0";
	Des=parseFloat(Des);
	Pre=parseFloat(Pre);
	Can=parseFloat(Can);
	Uni=parseFloat(Uni);
	Importe=(Pre - Des )* 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 ELIMINAR");		
	}else{
		document.getElementById("Pro_TxtId").value=lpIndex;
		document.getElementById("TxtAc").value="KILLER";
		document.getElementById("Frm").submit();
	}
}
//**************************************************************************
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 fGetTabla(){
	DivDatos = document.getElementById("TAB_AJAX");
	DivCaption = document.getElementById("TAB_CAPTION");	
var Ver=1;
var Cod=document.getElementById("TxtCod").value;
var Des=document.getElementById("TxtDes").value;
var Mar=document.getElementById("TxtMarca").value;
var Alm=document.getElementById("CboAlm").value;
if(Des.trim().length>0 || Cod.trim().length>0 || Mar.trim().length>0){		
	ajax=CreateAJAX();
	var StrU="aj.php?Cmd=COT&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(StrDatos.trim().length>0){			  
					   DivDatos.innerHTML = StrDatos;
					   DivCaption.style.visibility="visible";
					   DivDatos.style.visibility="visible";
					   document.getElementById("TAB_AJAX").scrollTop=0;
					}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=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("TxtMarca").value="";
			   document.getElementById("TxtPre").value="";				   
			   document.getElementById("TxtPreM").innerHTML="0.0";
			   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 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(3);		
	}	
	return ff(Pre,3,".","");
}
function fGetProdDatos(lpStrCod){
	EsNew = document.getElementById("CboNew").value;
	if(EsNew=="SI"){
		return;
	}	
	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_TxtPre").value="";
			document.getElementById("Pro_TxtPreM").value="";
			document.getElementById("TxtDes").value="";
			document.getElementById("TxtPre").value="";				   
			document.getElementById("TxtMarca").value="";				   
			document.getElementById("TxtCant").value="";
			document.getElementById("TxtImp").value="";
			document.getElementById("TxtCod").value="";
			document.getElementById("TxtPreM").innerHTML="0.00";		   
			alert("Codigo no registrado, si el producto es nuevo estableza *SI* en *Es Nuevo*");
			document.getElementById("TxtCod").focus();
		   }else{
			document.getElementById("TxtDes").value=document.getElementById("Pro_TxtDes").value;
			document.getElementById("TxtMarca").value=document.getElementById("Pro_TxtMarca").value;
			document.getElementById("TxtPre").value=PP(document.getElementById("Pro_TxtPre").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 fAgregar(){	
	//
	var P_NL=jVal(gv("TxtPRO_NL"));	
	var T_NL=jVal(gv("TxtTOT_NL"));	
	if(P_NL>0){
		if(T_NL == P_NL){
			alert("El numero maximo de items para PROFORMA es "+P_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 Pre=document.getElementById("TxtPre").value;
	var Dsto=""
	var PreM=document.getElementById("TxtPreM").innerHTML;
	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();
	
	Dsto=Dsto.trim();
	Pre=Pre.trim();
	PreM=PreM.trim();
	if(Pre.length==0){
		alert("Ingrese el precio de venta");
		document.getElementById("TxtPre").focus();
		return;
	}
	if(CUni.length==0){
		alert("Ingrese el nro. de piezas");
		document.getElementById("TxtCUni").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";
	if(Dsto.length==0)Dsto="0";
	Pre=parseFloat(Pre) - parseFloat(Dsto);
	PreM=parseFloat(PreM);
	
	if(PreM>Pre){
		Rpta= confirm("El precio de venta menos el descuento "+
		              "ES MENOR al precio de venta minimo,"+
				      "¿Aun asi desea continuar?")		
		if (Rpta==false){
			document.getElementById("TxtPre").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 fVModificar(){
	var Id=gv("TxtId");
	var Z="aj_cot.php?C=VM&P1="+Id;
		ajax=CreateAJAX();	
		ajax.open("GET",Z,false);	
		ajax.send(null);	
	return ajax.responseText;
}
//**************************************************************************
function fGuardar(){	
	//
	var R_TOT=jVal(gv("T_Importe"));
	var R_TRE=jVal(gv("TxtTReal"));
	var R_DES=jVal(gv("TxtTDes"));
	if(R_TOT!=(R_TRE + R_DES)){
		alert("Inconsistencia de datos, el TOTAL IMPORTE mas TOT. DSCTO debe ser igual al TOT. IMPORTE");
		jFocus("TxtTReal");return;
	}
	//
	//var TOT=jVal(gv("T_Importe"));
	var TOT=jVal(gv("TxtTReal"));
	if(document.getElementById("ChN_INC").checked==true){
		TOT=TOT * 1.18;
		TOT=TOT.toFixed(2);
	}
	var TDP=gv("CboTdp");
	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 Num=document.getElementById("TxtNum").value;
	var Ser=document.getElementById("TxtSer").value;
	var Ven=gv("CboVen");
	//
	if(TDP=="CONTADO"){
		if(ACU==0){
			document.getElementById("CboMon").value="SOLES"
			document.getElementById("TxtACuenta").value=TOT;			
		}else{
			if(ACU<TOT){
				alert("El total a cuenta debe ser mayor o igual al tot. importe");
				jFocus("TxtACuenta");
				return;
			}
		}
	}else{
		if(ACU>=TOT){
			alert("El total a cuenta debe ser menor al tot. importe");
			jFocus("TxtACuenta");
			return;
		}
	}
	//
	var Rpta = confirm("Esta seguro que desea modificar?")		
	if (Rpta==false){
		return;
	}
	var R=fVModificar();
	if(R=="COB"){
		alert("El presente registro esta relacionado a uno o mas cobros. NO SE PUEDE MODIFICAR");
		return;
	}
	if(R=="VE"){
		alert("El presente registro esta relacionado a una venta. NO SE PUEDE MODIFICAR");
		return;
	}
	if(R=="GR"){
		alert("El presente registro esta relacionado a una guia de remision. NO SE PUEDE MODIFICAR");
		return;
	}
	if(R=="GI"){
		alert("El presente registro esta relacionado a una guia de interna. NO SE PUEDE MODIFICAR");
		return;
	}
	
	if(R=="OK"){
		document.getElementById("TxtAc").value="M";
	}else{
		alert("Error interno");
		return;		
	}	
	document.getElementById("Frm").submit();
}

/**************************************************************************
	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 TReal(){
	var TOT=jVal(gv("T_Importe"));
	var TOR=jVal(gv("TxtTReal"));
	var DES= (TOT - TOR).toFixed(2);
	document.getElementById("TxtTDes").value=DES;
	CalcularVuelto();
}
function TDes(){
	var TOT=jVal(gv("T_Importe"));
	var DES=jVal(gv("TxtTDes"));
	var TOR=(TOT - DES).toFixed(2);	
	document.getElementById("TxtTReal").value=TOR;
	CalcularVuelto();
}