
	var tasacofis=new Array();
	//var tasaiva=new Array();
	var tablacofis=new Array();
	var tablaiva=new Array();
	var tablaivag=new Array();
	var ruccli=new Array();
	var ctasfav=new Array();
	var ctasg=new Array();
	var ctasprovart =new Array();
	var temp;
	var tieneruc;
	var i=0;
	var j=0;
	var tipodocvig=1;
	var porcofis;
	var codcofis;
	var codiva;
	var poriva;
	var tecla;
	var colord;
	var facpcimp=1;
	var yaconfirmo = 0;
	var parawin = "width=800,height=400,top=" + ((screen.height - 400) / 2) + ",left=" + ((screen.width - 800) / 2) + ",location=no,toolbar=no,menubar=no,scrollbars=yes, resizable=no";
	
	function cambiamodofac(){
		if (document.datos.labimp.value=="Imp.Incl."){
			document.datos.labimp.value = "Sin Imp.";
			document.datos.labimp.style.backgroundColor="LemonChiffon";
			facpcimp = 0;
		}
		else{
			document.datos.labimp.value = "Imp.Incl.";
			document.datos.labimp.style.backgroundColor="LightCyan";
			facpcimp = 1;
		};
	}
	function redondea(num){
//		return  (Math.round(num*100)/100);
		return  roundNumber(num,2);
	}
	function roundNumber(num, dec) {
	    var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	    return result;
	}	
	function inicializamatriz(tamano){
		//tasacofis[tamano]=0;
		//for (i=0;i<tamano;++i){ tasacofis[i]=new Array(3)};
		tablaiva[tamano]=0;
		for (i=0;i<tamano;++i){ tablaiva[i]=new Array(4)};
		i=0;
	}
	function inicializatablaivag(tamano){
		//tasacofis[tamano]=0;
		//for (i=0;i<tamano;++i){ tasacofis[i]=new Array(3)};
		tablaivag[tamano]=0;
		for (i=0;i<tamano;++i){ tablaivag[i]=new Array(4)};
		i=0;
	}
	function inicializaruccli(tamano){
		ruccli[tamano]=0;
		for (i=0;i<tamano;++i){ ruccli[i]=new Array(5)};
		i=0;
	}
	function inicializactasfav(tamano){
		ctasfav[tamano]=0;
		for (i=0;i<tamano;++i){ctasfav[i]=new Array(3)};
		i=0;
	}
	function inicializactasg(tamano){
		ctasg[tamano]=0;
		for (i=0;i<tamano;++i){ctasg[i]=new Array(6)};
		i=0;
	}
	function inicializactasprovart(tamano){
		ctasprovart[tamano]=0;
		for (i=0;i<tamano;++i){ctasprovart[i]=new Array(3)};
		i=0;
	}
	function inicializatablaiva(tamano){
		tablaiva[tamano]=0;
		for (i=0;i<tamano;++i){tablaiva[i]=new Array(4)};
		i=0;
	}
	function inicializatablacofis(tamano){
		tablacofis[tamano]=0;
		for (i=0;i<tamano;++i){tablacofis[i]=new Array(3)};
		i=0;
	}
	function cargaruccli(dato, dato1, dato2, dato3, dato4, dato5){
		ruccli[i][0] = dato;
		ruccli[i][1] = dato1;
		ruccli[i][2] = dato2;
		ruccli[i][3] = dato3;
		ruccli[i][4] = dato4;
		ruccli[i][5] = dato5;
		i = i + 1;
	}
	function cargactasfav(dato, dato1, dato2){
		ctasfav[i][0] = dato;
		ctasfav[i][1] = dato1;
		ctasfav[i][2] = dato2;
		i = i + 1;
	}
	function cargactasg(dato, dato1, dato2, dato3, dato4, dato5){
		ctasg[i][0] = dato;
		ctasg[i][1] = dato1;
		ctasg[i][2] = dato2;
		ctasg[i][3] = dato3;
		ctasg[i][4] = dato4;
		ctasg[i][5] = dato5;
		i = i + 1;
	}
	function cargactasprovart(dato, dato1, dato2){
		ctasprovart[i][0] = dato;
		ctasprovart[i][1] = dato1;
		ctasprovart[i][2] = dato2;
		i = i + 1;
	}

	function cambiacli(secc, flag){
		var url;
		var resp=true;
		var totgral = document.getElementById("totalgral");
		var resp=true;
		var acimport=false;
        var tipodoc = parseFloat(document.getElementById("tipodoc").value);
		
		//if ((secc=="compras")||(secc=="inicompras")||(secc=="gastos")){
			var provant = document.getElementById("provant");
			var haygasto = document.getElementById("tabdetg").rows.length;

			if  (flag=='GUARDA'){
    			if  (parseFloat(totgral.value)!==0){
                    resp = confirm("Atenci\xf3n: Esta acci\xf3n restablecer\xe1 el documento eliminando el detalle ingresado. \n \xbfDesea continuar?");
                }
			}
			if (resp){
				if (flag=="GUARDA"){
					eliminadetalletodo();
				};
				temp = buscaruc(document.datos.clientes.value);
                if ((secc!=="ventas")&&(secc!=="iniventas")){
                    facpcimp = ruccli[i][3];
                }else{
                    facpcimp = 0;
                }
				acimport = ruccli[i][4];
				if (facpcimp==1){
					document.datos.labimp.value = "Imp.Incl.";
					document.datos.labimp.style.backgroundColor="LightCyan";
				}
				else{
					document.datos.labimp.value = "Sin Imp.";
					document.datos.labimp.style.backgroundColor="LemonChiffon";
				};
                if ((secc!=='ventas')&&(secc!=='iniventas')){
                    document.datos.precio.value=0;
                };
				provant.value=document.datos.clientes.value;
				if (acimport==1){
					activarimport('form');
				}else{
                    if ((secc!=='ventas')&&(secc!=="iniventas")){
                        quitarimport();
                    }
				}
				//cargaartprov(ruccli[i][0]);
				url = "libsajax/listaprovart.php?reg=" + ruccli[i][0];
                if ((secc!=="ventas")&&(secc!=="iniventas")){
                    cargarajax('ajaxresp', url, 'selcuentasprovart', '', '','datosctacte', 'ctasprovart');
                    desbloqueactrl('selcuentasprovart');
                }
                borradet(flag, 'nopregunta');
                
/*				rmfilastodas('tabdet');
				rmfilastodas('tabdetg');
				
				document.datos.totdto.value = '0';
				document.datos.total.value = '0';
				document.datos.subtotalsi.value = '0';
				document.datos.totiva.value = '0';
				document.datos.ivaper.value = '0';

				document.datos.totdtog.value = '0';
				document.datos.totalg.value = '0';
				document.datos.subtotalsig.value = '0';
				document.datos.totivag.value = '0';

				document.datos.totdtogral.value = '0';
				document.datos.totalgral.value = '0';
				document.datos.subtotalsigral.value = '0';
				document.datos.totivagral.value = '0';*/
                /*quitagasto('nopreguntar');
                eliminagasto('encabezado');
                if (seccion=='gastos'){
                    incluirgasto('nopreguntar');
                }
				if (flag=="GUARDA"){
                    if ((secc!=='gastos')){
                        guardatmp('compras', 'detalle', 'borradetalle', '');
                    }else{
                        if (tipodoc==5){
                            guardatmp('recibog', 'detalle', 'borradetalle', '');
                        }else{
                            guardatmp('comprasg', 'detalle', 'borradetalle', '');
                        }
                    }
					if ((haygasto>1)&&(secc!=='gastos')){
						guardatmp('comprasg', 'detalle', 'borradetalle', '');
					}
				}
			}else{
				document.datos.clientes.value = provant.value;
			}*/
            }
		/*}else{
			facpcimp = 1;
			//temp = selcuenta();
		}*/
		//temp = borradet();
	}
	function buscaruc(cuenta){
		i=0;
		while (ruccli[i][0]!=cuenta){
			i= i +1;
		};
		if (ruccli[i][0]==cuenta){
			if (ruccli[i][1]!=0){
				tieneruc = true;
			}
			else{
				tieneruc = false;
			};
		}
		else{
			tieneruc = false;
		};
	}
	function cargacofis(dato, dato1, dato2){
		tasacofis[i][0] = dato;
		tasacofis[i][1] = dato1;
		tasacofis[i][2] = dato2;
	}
	function cargaiva(dato, dato1, dato2, dato3){
		tablaiva[i][0] = dato;
		tablaiva[i][1] = dato1;
		tablaiva[i][2] = dato2;
		tablaiva[i][3] = dato3;
		//como cargo cofis e iva juntos en este orden incremento el indice solo aqui
		i = i + 1;
	}
	function cargaivag(dato, dato1, dato2, dato3){
		tablaivag[i][0] = dato;
		tablaivag[i][1] = dato1;
		tablaivag[i][2] = dato2;
		tablaivag[i][3] = dato3;
		//como cargo cofis e iva juntos en este orden incremento el indice solo aqui
		i = i + 1;
	}
	function cargatablaiva(dato, dato1, dato2, dato3){
		tablaiva[i][0] = dato;
		tablaiva[i][1] = dato1;
		tablaiva[i][2] = dato2;
		tablaiva[i][3] = dato3;
		i = i + 1;
	}
	function cargatablacofis(dato, dato1, dato2){
		tablacofis[i][0] = dato;
		tablacofis[i][1] = dato1;
		tablacofis[i][2] = dato2;
		i = i + 1;
	}
	function cargaseliva(){
		var tamano;
		
		//borro datos del select
		document.datos.seltasaiva.length = 0;
		//redimensiono select
		tamano = tablaiva.length - 1;
		document.datos.seltasaiva.length = tamano;
		//traspaso datos
		for (i=0;i<tamano;i++){
			document.datos.seltasaiva.options[i].value = tablaiva[i][0];
			document.datos.seltasaiva.options[i].text = tablaiva[i][1];
		}
		//marco la opcion i como seleccionada
		document.datos.seltasaiva.options[0].selected = true;
		document.datos.seltasaiva.value = document.datos.seltasaiva.options[0].value;
	}
	function cargaselcofis(){
		var tamano;
		
		//borro datos del select
		document.datos.seltasacofis.length = 0;
		//redimensiono select
		tamano = tablacofis.length - 1;
		document.datos.seltasacofis.length = tamano;
		//traspaso datos
		for (i=0;i<tamano;i++){
			document.datos.seltasacofis.options[i].value = tablacofis[i][0];
			document.datos.seltasacofis.options[i].text = tablacofis[i][1];
		}
		//marco la opcion i como seleccionada
		document.datos.seltasacofis.options[0].selected = true;
		document.datos.seltasacofis.value = document.datos.seltasacofis.options[0].value;
	}
	function buscacofis(cuenta){
		i=0;
		while (tasacofis[i][0]!=cuenta){
			i=i+1;
		};
		if (tasacofis[i][0]==cuenta){
			codcofis = tasacofis[i][1];
			porcofis = tasacofis[i][2];
		};
	}
	function buscaiva(cuenta){
		var tope = tablaiva.length;
		var acierto=false;
		
		i=0;
		while ((i < tope)&&(!acierto)){
			if ((tablaiva[i][0] == cuenta)){
				acierto=true;
			}else{
				i=i+1;
			};
		};
		if (acierto){
			codiva = tablaiva[i][3];
			poriva = tablaiva[i][2];
		};
	}
	function buscacta(cuenta){
		i=0;
		var tope = ctasfav.length;
		var acierto=false;
		
		i=0;
		while ((i < tope)&&(!acierto)){
			if ((ctasfav[i][0] == cuenta)){
				acierto=true;
			}else{
				i=i+1;
			};
		};
	}
	function buscactas(lista, cuenta){
		i=0;
		var tope = lista.length;
		var acierto=false;
		
		i=0;
		while ((i < tope)&&(!acierto)){
			if ((lista[i][0] == cuenta)){
				acierto=true;
			}else{
				i=i+1;
			};
		};
	}
	function miorden(a, b){
		if (a[colord]>b[colord]) return 1;
		if (a[colord]<b[colord]) return -1;
		return 0;
	}
	function ordenacli() {
		colord = 2;
		ruccli = ruccli.sort(miorden);
	}
	function cargaselcli(j) {
		var tamano;
		var acimport;
        var secc=document.getElementById("seccion").value;
		
		//borro datos del select
		document.datos.clientes.length = 0;
		//redimensiono select
		tamano = ruccli.length - 1;
		document.datos.clientes.length = tamano;
		//traspaso datos
		for (i=0;i<tamano;i++){
			document.datos.clientes.options[i].value = ruccli[i][0];
			document.datos.clientes.options[i].text = ruccli[i][2];
		}
		if (tamano>0){
            if ((secc!=="ventas")&&(secc!=="iniventas")){
                facpcimp = ruccli[j][3];
            }else{
                facpcimp = 0;
            }
			acimport = ruccli[j][4];
			//marco la opcion j como seleccionada
			document.datos.clientes.options[j].selected = true;
			document.datos.clientes.value = document.datos.clientes.options[j].value;
		}else{
			facpcimp=0;
			acimport=0;
		}
		if (facpcimp){
			document.datos.labimp.value = "Imp.Incl.";
			document.datos.labimp.style.backgroundColor = "LightCyan";
		}else{
			document.datos.labimp.value = "Sin Imp.";
			document.datos.labimp.style.backgroundColor = "LemonChiffon";
		}
		if (acimport){
			activarimport('form');
		}else{
            if ((secc!=="ventas")&&(secc!=="iniventas")){
                quitarimport();
            }
		}
	}
	function selcliant(num){
		var secc = document.getElementById("seccion").value;
		
		document.datos.clientes.value = num;
		if (secc=="compras"){
			temp = buscaruc(document.datos.clientes.value);
    		facpcimp = ruccli[i][3];
			if (facpcimp){
				document.datos.labimp.value = "Imp.Incl.";
				document.datos.labimp.style.backgroundColor="LightCyan";
			}
			else{
				document.datos.labimp.value = "Sin Imp.";
				document.datos.labimp.style.backgroundColor="LemonChiffon";
			};
		}
		else {
			facpcimp = 0;
		};
	}
	function agregacli(dato, dato1, dato2, dato3, dato4){
		i = ruccli.length - 1;
		temp=ruccli.push(1);
		ruccli[i]= new Array(4);
		ruccli[i][0]=dato;
		ruccli[i][1]=dato1;
		ruccli[i][2]=dato2;
		ruccli[i][3]=dato3;
		ruccli[i][4]=dato4;
//		temp = ordenacli();
		temp = cargaselcli(i);
	}
	function modificacli(dato, dato1, dato2, dato3, dato4){
		var secc = document.getElementById("seccion").value;
		temp = buscaruc(dato);
		//i tiene el indice
		ruccli[i][1]=dato1;
		ruccli[i][2]=dato2;
		ruccli[i][3]=dato3;
		ruccli[i][4]=dato4;
		if ((secc=="compras")||(secc=="gastos")){
			facpcimp = ruccli[i][3];
			if (facpcimp){
				document.datos.labimp.value = "Imp.Incl.";
				document.datos.labimp.style.backgroundcolor="LightCyan";
			}
			else{
				document.datos.labimp.value = "Sin Imp.";
				document.datos.labimp.style.backgroundcolor="LemonChiffon";
			};
		}
		else {
			facpcimp = 0;
		};
		temp = cargaselcli(i);
	}
	function modificactafav(lista, dato1, dato2, dato3){
		//var secc = document.datos.seccion.value;
		
		temp = buscactas(lista, dato1);
		if (i<lista.length){
			//i tiene el indice
			lista[i][1]=dato1;
			lista[i][2]=dato2;
			lista[i][3]=dato3;
		}
	}
	function cargaselctas(lista, listadesp, sel) {
		var tamano;
		var fin=false;
		
		//borro datos del select
//		document.datos.cuentas.length = 0;
		listadesp.length = 0;
		//redimensiono select
		tamano = lista.length - 1;
		listadesp.length = tamano;
		//traspaso datos
		for (i=0;i<tamano;i++){
			listadesp.options[i].value = lista[i][0];
			listadesp.options[i].text = lista[i][1];
		}
		if (sel>0){
			i=0;
			while ((i<tamano)&&(!fin)){
				if (listadesp.options[i].value==sel){
				listadesp.options[i].selected = true;
				listadesp.value = listadesp.options[i].value;
				fin=true;
				};
				i=i+1;
			};
		};
	}
	function agregactafav(lista, listadesp, dato, dato1, dato2){
		i = lista.length - 1;
		temp=lista.push(1);
		lista[i]= new Array(2);
		lista[i][0]=dato;
		lista[i][1]=dato1;
		lista[i][2]=dato2;
		temp = cargaselctas(lista, listadesp, 0);
	}
	function quitactafav(lista, listadesp, num){
		temp = buscacta(num);
		lista.splice(i,1);
		temp = cargaselctas(lista, listadesp, 0);
	}
	function cambiasindto(){
		var sindto = document.datos.sindesc.checked;
		var sindtoant = document.datos.sindtoant.checked;
				
		if (sindto){
			if (!sindtoant){
				alert ("Esta acción eliminará cualquier descuento concedido a clientes sobre este artículo cuando guarde los datos.");
			}
			document.datos.nodtomax.checked=false;
			document.datos.nodtomax.disabled=true;
		}else{
			if (sindtoant){
				alert ("Esta acción permitirá conceder descuentos a clientes sobre este artículo cuando guarde los datos.");
			}
			document.datos.nodtomax.disabled=false;
		}
	}
	function incluirenfav(){
		var numreg;
		var ventana;
		var resp;
		var desc;
		var accion ='';
		var tiva;
		
		numreg = document.datos.numctasel.value;
		tiva = document.datos.seltasaiva.value;
		if (numreg!=""){
			if (document.datos.incfav.checked){
				resp = confirm("Se agregar\xe1 como FAVORITA. ¿Desea Continuar?");
				if (resp == true){
					desc = document.datos.cuentasel.value;
					//envia datos a base de datos
					ventana ="libsajax/incluirfav.php?numreg=" + numreg + "&descripcion=" + desc;
					//openWindow(ventana);
					accion ="agregactafav(ctasfav, document.datos.cuentas, '" + numreg + "','" +  desc + "','" +  tiva + "');";
					cargarajax('ajaxrespincfav', ventana, 'ajaxrespincfav', '', '', accion,'');
				}
				else{
					document.datos.incfav.checked = false;
				}
			}
			else{
				resp = confirm("La cuenta seleccionada se marcara como NO FAVORITA. ¿Desea Continuar?");
				if (resp == true){
					//envia datos a base de datos
					ventana ="libsajax/quitarfav.php?numreg=" + numreg;
					accion ="quitactafav(ctasfav, document.datos.cuentas, '" + numreg +"');";
					cargarajax('ajaxrespincfav', ventana, 'ajaxrespincfav', '', '', accion,'');					
					//openWindow(ventana);
				}
				else{
					document.datos.incfav.checked = true;
				}
			}
		}
	}
	function controlanumero(control){
	    eval ("var valor = parseFloat(document.datos." + control + ".value);");
	    if (isNaN(valor)){
		eval ("document.datos." + control + ".value=0;");
	    }else{
		eval ("document.datos." + control + ".value=valor;");
	    };
	};
	function controlarango(control, r1, r2){
	    eval ("var valor = parseFloat(document.datos." + control + ".value);");
	    if (isNaN(valor)){
		eval ("document.datos." + control + ".value=0;");
	    }else{
		eval ("document.datos." + control + ".value=valor;");
	    };
	    if ((valor<r1)||(valor>r2)){
		eval ("document.datos." + control + ".value=0;");
	    };
	};
	function calcpventa(modulo, modo){
	    var pcosto=0;
	    var gan=0;
	    var tasaiva=0;
	    var pvta=0;
	    var pvtacimp=0;
	    var pcostocimp=0;
	    var temp=0;
	    var impincl ='';
	    var cant=0;
	    var dtos = new Array();
	    var tope=0;
	    var verif=0;
        

	switch (modulo){
		//ARTICULOS
		case 'art':
		    pcosto = parseFloat(document.datos.pcostosimp.value);
		    gan = parseFloat(document.datos.ganancia.value);
		    tasaiva = parseFloat(document.datos.tasaiva.options[document.datos.tasaiva.selectedIndex].text);
		    pcostocimp = parseFloat(document.datos.pcostocimp.value);
		    pvta = parseFloat(document.datos.pventasinimp.value);
		    pvtacimp = parseFloat(document.datos.pvtacimp.value);

		    if (isNaN(pcosto)){
			pcosto = 0;
		    };
		    if (isNaN(gan)){
			gan = 0;
		    };
		    if (isNaN(tasaiva)){
			tasaiva = 0;
		    };
		    if (isNaN(pcostocimp)){
			pcostocimp = 0;
		    };
		    if (isNaN(pvta)){
			pvta = 0;
		    };
		    if (isNaN(pvtacimp)){
			pvtacimp = 0;
		    };

			switch (modo){
			case 'pcostosimp':
			case 'tasaiva':
/*				pvta = redondea(pcosto * (1+(gan/100)));
				pcostocimp = redondea(pcosto * (1+(tasaiva/100)));
				pvtacimp= redondea(pvta * (1+(tasaiva/100)));
				break;*/
			case 'ganancia':
				if (pcosto==0){
				    pvta = pvtacimp / (1+(tasaiva/100));
				    pcosto = pvta / (1+(gan/100));
				    pcostocimp = pcosto * (1+(tasaiva/100));
				}else{
				    pvta = pcosto * (1+(gan/100));
				    pcostocimp = pcosto * (1+(tasaiva/100));
				    pvtacimp= pvta * (1+(tasaiva/100));
				};
				break;
			case 'pventasinimp':
				pvtacimp= pvta * (1+(tasaiva/100));
				if (pcosto==0){
				    pcosto = pvta / (1+(gan/100));
				    pcostocimp = pcosto * (1+(tasaiva/100));
				}else{
				    pcostocimp = pcosto * (1+(tasaiva/100));
				    gan= ((pvta/pcosto)*100)-100;
				};
				break;
			case 'pvtacimp':
				pvta= pvtacimp / (1+(tasaiva/100));
				if (pcosto==0){
				    pcosto = pvta / (1+(gan/100));
				    pcostocimp = pcosto * (1+(tasaiva/100));
				}else{
				    pcostocimp = pcosto * (1+(tasaiva/100));
				    gan= ((pvta/pcosto)*100)-100;
				};
				break;
			case 'pcostocimp':
				pvtacimp = pcostocimp * (1+(gan/100));
				pcosto = pcostocimp / (1+(tasaiva/100));
				pvta = pvtacimp / (1+(tasaiva/100));
				break;
			};
			document.datos.pcostosimp.value = redondea(pcosto);
			document.datos.ganancia.value = roundNumber(gan,1);
			//document.datos.tasaiva.text = redondea(tasaiva);
			document.datos.pcostocimp.value = redondea(pcostocimp);
			document.datos.pventasinimp.value = redondea(pvta);
			document.datos.pvtacimp.value = redondea(pvtacimp);
		break;
		
		//COMPRAS
        case 'Gastos':
		case 'Compras':
		case 'ventas':
			pcosto = parseFloat(document.datos.precio.value);
			gan = (document.datos.dto.value);
			cant = (document.datos.cant.value);
            cantmax=parseFloat(document.getElementById("cantmax").value);
			dtos = gan.split('+');
			tope = dtos.length;
			//tasaiva = parseFloat(document.datos.seltasaiva.options[document.datos.seltasaiva.selectedIndex].text);
			//pcostocimp = parseFloat(document.datos.pcostocimp.value);
			//pvta = parseFloat(document.datos.pventasinimp.value);
			pvtacimp = parseFloat(document.datos.importe.value);
			tasaiva = poriva;
			impincl = document.datos.labimp.value == 'Imp.Incl.';
			tipodoc = parseFloat(document.datos.tipodoc.value);
			eval ("cant = parseFloat(" + cant + ");");
		    if (isNaN(cant)){
			cant = 0;
		    };
		    if (isNaN(pcosto)){
			pcosto = 0;
		    };
		    if (isNaN(gan)){
			gan = 0;
		    };
		    if (isNaN(tasaiva)){
			tasaiva = 0;
		    };
		    if (isNaN(pcostocimp)){
			pcostocimp = 0;
		    };
		    if (isNaN(pvta)){
			pvta = 0;
		    };
		    if (isNaN(pvtacimp)){
			pvtacimp = 0;
		    };
			for (i=0;i<tope;i++){
				temp = parseFloat(dtos[i]);
				if (isNaN(temp)){
					dtos[i]=0;
					dtos.splice(i, 1);
				}else{
					dtos[i]=parseFloat(dtos[i]);
				};
			};
			gan = dtos.join("+");
			//si gan es nulo establece dtos[0]=0
			if (isNaN(parseFloat(gan))){
				gan =0;
				dtos[0]=0;
			};
			tope=dtos.length;
			
			if (impincl){
				pcostocimp = pcosto;
				pcosto = pcostocimp / (1+(tasaiva/100));
				pvta = pvtacimp / (1+(tasaiva/100));
			}else{
				pcostocimp = pcosto * (1+(tasaiva/100));
				pvta = pvtacimp;
				pvtacimp = pvta * (1+(tasaiva/100));
			};
			eval("verif=" + gan + ";");
		    //alert ('pcosto'+pcosto + ' gan' + gan + ' tasaiva' + tasaiva + ' pcostocimp' + pcostocimp + ' pvta' + pvta + ' pvtacimp' + pvtacimp + ' iva' + poriva);

		switch (modo){
			case 'labimp':
			case 'precio':
			case 'tasaiva':
/*				pvta = redondea(pcosto * (1+(gan/100)));
				pcostocimp = redondea(pcosto * (1+(tasaiva/100)));
				pvtacimp= redondea(pvta * (1+(tasaiva/100)));
				break;*/
			case 'cant':
                    if ((cantmax==-1)){
                        alert("Atenci\xf3n: Se agotaron las unidades disponibles a devolver para este art\xedculo.");
                        document.datos.cant.focus();
                        break;
                    }else{
                        if ((cantmax>0)&&(cant>cantmax)){
                        alert("Atenci\xf3n: No puede especificar cantidad mayor a " +  cantmax + ".");
                        document.datos.cant.focus();
                        break;
                        }
                    }
			case 'dto':
				if (cant==0){
					pvta = 0;
					pvtacimp= 0;
					pcostocimp = pcosto * (1+(tasaiva/100));
				}else{
                    if (pcosto==0){
                        pvta = pvtacimp / (1+(tasaiva/100));
                        pcosto = pvta;
                        for (i=0;i<tope;i++){
                            pcosto = (pcosto / (1-(parseFloat(dtos[i])/100)));
                        };
                        if (cant!==0){
                            pcosto = pcosto / cant;
                        }else{
                            cant=1;
                        };
                        pcostocimp = pcosto * (1+(tasaiva/100));
                    }else{
                        pvta = pcosto;
                        for (i=0;i<tope;i++){
                            pvta = (pvta * (1-(parseFloat(dtos[i])/100)));
                        };
                        pvta = pvta * cant;
//						pvta = pcosto * cant * (1-(gan/100));
                        pcostocimp = pcosto * (1+(tasaiva/100));
                        pvtacimp= pvta * (1+(tasaiva/100));
                    };
				};
				break;
/*			case 'pventasinimp':
				pvtacimp= pvta * (1+(tasaiva/100));
				if (pcosto==0){
				    pcosto = pvta / (1+(gan/100));
				    pcostocimp = pcosto * (1+(tasaiva/100));
				}else{
				    pcostocimp = pcosto * (1+(tasaiva/100));
				    gan= ((pvta/pcosto)*100)-100;
				};
				break;*/
			case 'importe':
				pvta= pvtacimp / (1+(tasaiva/100));
				if (pcosto==0){
					pcosto = pvta;
					for (i=0;i<tope;i++){
						pcosto = (pcosto / (1-(parseFloat(dtos[i])/100)));
					};
					if (cant!==0){
						pcosto = pcosto / cant;
					}else{
						cant=1;
					};
					//pcosto = (pvta / (1-(gan/100)))/cant;
					pcostocimp = pcosto * (1+(tasaiva/100));
				}else{
					//si dto es 0
					if (verif==0){
						if (cant!==0){
							//calcula dto.
							pcosto = pcostocimp / (1+(tasaiva/100));
							gan= parseFloat(100-((pvta/(pcosto*cant))*100));
							if (gan<0) {
								gan=0;
							}else{
								if ((gan == 100)&&(pvtacimp==0)){
									switch (tipodoc){
										//remito
										case 6:
											gan =0;
											break;
									};
								}else{
									gan = roundNumber(gan,5);
								};
							};
						}else{
							pcostocimp=0;
						};
					}else{
						//calcula precio
						pcosto = pvta;
						for (i=0;i<tope;i++){
							pcosto = (pcosto / (1-(parseFloat(dtos[i])/100)));
						};
						if (cant!==0){
							pcosto = pcosto / cant;
						}else{
							cant=1;
						};
	//					pcosto = (pvta / (1-(gan/100)))/cant;
						pcostocimp = pcosto * (1+(tasaiva/100));
						//gan= ((pcosto/pvta)*100)-100;
					};
				};
				break;
/*			case 'pcostocimp':
				pvtacimp = pcostocimp * (1+(gan/100));
				pcosto = pcostocimp / (1+(tasaiva/100));
				pvta = pvtacimp / (1+(tasaiva/100));
				break;*/

		};
		    if (isNaN(cant)){
			cant = 0;
		    };
		    if (isNaN(pcosto)){
			pcosto = 0;
		    };
		    /*if (isNaN(gan)){
			gan = 0;
		    };*/
		    if (isNaN(tasaiva)){
			tasaiva = 0;
		    };
		    if (isNaN(pcostocimp)){
			pcostocimp = 0;
		    };
		    if (isNaN(pvta)){
			pvta = 0;
		    };
		    if (isNaN(pvtacimp)){
			pvtacimp = 0;
		    };
			if (impincl){
				document.datos.precio.value = roundNumber(pcostocimp, 3);
				document.datos.dto.value = gan;
				document.datos.cant.value = cant;
				document.datos.precioop.value = roundNumber(pcosto,3);
				document.datos.importeop.value = redondea(pvta);
				document.datos.importe.value = redondea(pvtacimp);
			}else{
				document.datos.precio.value = roundNumber(pcosto,3);
				document.datos.dto.value = gan;
				document.datos.cant.value = cant;
				document.datos.precioop.value = roundNumber(pcostocimp,3);
				document.datos.importeop.value = redondea(pvtacimp);
				document.datos.importe.value = redondea(pvta);
			};
		break;
		//COMPRAS GASTOS
        case 'Gastosg':
        case 'Comprasg':
            var porcivag = parseFloat(document.datos.seltasaivag.value);
            temp = buscactas(tablaivag, porcivag);
            if (i<tablaivag.length){
                porcivag = tablaivag[i][2];
            };
			pcosto = parseFloat(document.datos.costo.value);
			gan = (document.datos.dtog.value);
			cant = (document.datos.cantg.value);
			dtos = gan.split('+');
			tope = dtos.length;
			//tasaiva = parseFloat(document.datos.seltasaiva.options[document.datos.seltasaiva.selectedIndex].text);
			//pcostocimp = parseFloat(document.datos.pcostocimp.value);
			//pvta = parseFloat(document.datos.pventasinimp.value);
			pvtacimp = parseFloat(document.datos.importeg.value);
			tasaiva = porcivag;
			impincl = document.datos.labimp.value == 'Imp.Incl.';
			tipodoc = parseFloat(document.datos.tipodoc.value);

			eval ("cant = parseFloat(" + cant + ");");
		    if (isNaN(cant)){
			cant = 0;
		    };
		    if (isNaN(pcosto)){
			pcosto = 0;
		    };
		    if (isNaN(gan)){
			gan = 0;
		    };
		    if (isNaN(tasaiva)){
			tasaiva = 0;
		    };
		    if (isNaN(pcostocimp)){
			pcostocimp = 0;
		    };
		    if (isNaN(pvta)){
			pvta = 0;
		    };
		    if (isNaN(pvtacimp)){
			pvtacimp = 0;
		    };
			for (i=0;i<tope;i++){
				temp = parseFloat(dtos[i]);
				if (isNaN(temp)){
					dtos[i]=0;
					dtos.splice(i, 1);
				}else{
					dtos[i]=parseFloat(dtos[i]);
				};
			};
			gan = dtos.join("+");
			//si gan es nulo establece dtos[0]=0
			if (isNaN(parseFloat(gan))){
				gan =0;
				dtos[0]=0;
			};
			tope=dtos.length;
			
			if (impincl){
				pcostocimp = pcosto;
				pcosto = pcostocimp / (1+(tasaiva/100));
				pvta = pvtacimp / (1+(tasaiva/100));
			}else{
				pcostocimp = pcosto * (1+(tasaiva/100));
				pvta = pvtacimp;
				pvtacimp = pvta * (1+(tasaiva/100));
			};
			eval("verif=" + gan + ";");
		    //alert ('pcosto'+pcosto + ' gan' + gan + ' tasaiva' + tasaiva + ' pcostocimp' + pcostocimp + ' pvta' + pvta + ' pvtacimp' + pvtacimp + ' iva' + poriva);

		switch (modo){
			case 'labimp':
			case 'precio':
			case 'tasaiva':
/*				pvta = redondea(pcosto * (1+(gan/100)));
				pcostocimp = redondea(pcosto * (1+(tasaiva/100)));
				pvtacimp= redondea(pvta * (1+(tasaiva/100)));
				break;*/
			case 'cant':
			case 'dto':
				if (cant==0){
					pvta = 0;
					pvtacimp= 0;
					pcostocimp = pcosto * (1+(tasaiva/100));
				}else{
					if (pcosto==0){
						pvta = pvtacimp / (1+(tasaiva/100));
						pcosto = pvta;
						for (i=0;i<tope;i++){
							pcosto = (pcosto / (1-(parseFloat(dtos[i])/100)));
						};
						if (cant!==0){
							pcosto = pcosto / cant;
						}else{
							cant=1;
						};
						pcostocimp = pcosto * (1+(tasaiva/100));
					}else{
						pvta = pcosto;
						for (i=0;i<tope;i++){
							pvta = (pvta * (1-(parseFloat(dtos[i])/100)));
						};
						pvta = pvta * cant;
//						pvta = pcosto * cant * (1-(gan/100));
						pcostocimp = pcosto * (1+(tasaiva/100));
						pvtacimp= pvta * (1+(tasaiva/100));
					};
				};
				break;
/*			case 'pventasinimp':
				pvtacimp= pvta * (1+(tasaiva/100));
				if (pcosto==0){
				    pcosto = pvta / (1+(gan/100));
				    pcostocimp = pcosto * (1+(tasaiva/100));
				}else{
				    pcostocimp = pcosto * (1+(tasaiva/100));
				    gan= ((pvta/pcosto)*100)-100;
				};
				break;*/
			case 'importe':
				pvta= pvtacimp / (1+(tasaiva/100));
				if (pcosto==0){
					pcosto = pvta;
					for (i=0;i<tope;i++){
						pcosto = (pcosto / (1-(parseFloat(dtos[i])/100)));
					};
					if (cant!==0){
						pcosto = pcosto / cant;
					}else{
						cant=1;
					};
					//pcosto = (pvta / (1-(gan/100)))/cant;
					pcostocimp = pcosto * (1+(tasaiva/100));
				}else{
					//si dto es 0
					if (verif==0){
						if (cant!==0){
							//calcula dto.
							pcosto = pcostocimp / (1+(tasaiva/100));
							gan= parseFloat(100-((pvta/(pcosto*cant))*100));
							if (gan<0) {
								gan=0;
							}else{
								if ((gan == 100)&&(pvtacimp==0)){
									switch (tipodoc){
										//remito
										case 6:
											gan =0;
											break;
									};
								}else{
									gan = roundNumber(gan,5);
								};
							};
						}else{
							pcostocimp=0;
						};
					}else{
						//calcula precio
						pcosto = pvta;
						for (i=0;i<tope;i++){
							pcosto = (pcosto / (1-(parseFloat(dtos[i])/100)));
						};
						if (cant!==0){
							pcosto = pcosto / cant;
						}else{
							cant=1;
						};
	//					pcosto = (pvta / (1-(gan/100)))/cant;
						pcostocimp = pcosto * (1+(tasaiva/100));
						//gan= ((pcosto/pvta)*100)-100;
					};
				};
				break;
/*			case 'pcostocimp':
				pvtacimp = pcostocimp * (1+(gan/100));
				pcosto = pcostocimp / (1+(tasaiva/100));
				pvta = pvtacimp / (1+(tasaiva/100));
				break;*/

		};
		    if (isNaN(cant)){
			cant = 0;
		    };
		    if (isNaN(pcosto)){
			pcosto = 0;
		    };
		    /*if (isNaN(gan)){
			gan = 0;
		    };*/
		    if (isNaN(tasaiva)){
			tasaiva = 0;
		    };
		    if (isNaN(pcostocimp)){
			pcostocimp = 0;
		    };
		    if (isNaN(pvta)){
			pvta = 0;
		    };
		    if (isNaN(pvtacimp)){
			pvtacimp = 0;
		    };
			if (impincl){
				document.datos.costo.value = roundNumber(pcostocimp, 3);
				document.datos.dtog.value = gan;
				document.datos.cantg.value = cant;
				document.datos.costoop.value = roundNumber(pcosto,3);
				document.datos.importeopg.value = redondea(pvta);
				document.datos.importeg.value = redondea(pvtacimp);
			}else{
				document.datos.costo.value = roundNumber(pcosto,3);
				document.datos.dtog.value = gan;
				document.datos.cantg.value = cant;
				document.datos.costoop.value = roundNumber(pcostocimp,3);
				document.datos.importeopg.value = redondea(pvtacimp);
				document.datos.importeg.value = redondea(pvta);
			};
		break;

	    };

/*	    document.datos.pcostosimp.value = (pcosto);
	    document.datos.ganancia.value = (gan);
	    document.datos.tasaiva.text = (tasaiva);
	    document.datos.pcostocimp.value = (pcostocimp);
	    document.datos.pventasinimp.value = (pvta);
	    document.datos.pvtacimp.value = (pvtacimp);*/
    }
//CALCIMPORTE DESCARTADO
	function calcimporte(modulo, modo){
	    var pcosto=0;
	    var gan=0;
	    var tasaiva=0;
	    var pvta=0;
	    var pvtacimp=0;
	    var pcostocimp=0;
	    var porcivag = parseFloat(document.datos.seltasaivag.value);
	    var temp=0;
//	    var impincl ='';
	    var cant=0;
	    var dtos = new Array();
	    var tope=0;
	    var verif=0;

	temp = buscactas(tablaivag, porcivag);
	if (i<tablaivag.length){
		porcivag = tablaivag[i][2];
	};
	switch (modulo){
		//ARTICULOS
		case 'Comprasg':
			pcosto = parseFloat(document.datos.costo.value);
			gan = (document.datos.dtog.value);
			cant = (document.datos.cantg.value);
			dtos = gan.split('+');
			tope = dtos.length;
			//tasaiva = parseFloat(document.datos.seltasaiva.options[document.datos.seltasaiva.selectedIndex].text);
			//pcostocimp = parseFloat(document.datos.pcostocimp.value);
			//pvta = parseFloat(document.datos.pventasinimp.value);
			pvtacimp = parseFloat(document.datos.importeg.value);
			tasaiva = porcivag;
		//	impincl = document.datos.labimp.value == 'Imp.Incl.';
			tipodoc = parseFloat(document.datos.tipodoc.value);

			eval ("cant = parseFloat(" + cant + ");");
			if (isNaN(cant)){
			cant = 0;
			};
			if (isNaN(pcosto)){
			pcosto = 0;
			};
			if (isNaN(gan)){
			gan = 0;
			};
			if (isNaN(tasaiva)){
			tasaiva = 0;
			};
			if (isNaN(pcostocimp)){
			pcostocimp = 0;
			};
			if (isNaN(pvta)){
			pvta = 0;
			};
			if (isNaN(pvtacimp)){
			pvtacimp = 0;
			};
			for (i=0;i<tope;i++){
				temp = parseFloat(dtos[i]);
				if (isNaN(temp)){
					dtos[i]=0;
					dtos.splice(i, 1);
				}else{
					dtos[i]=parseFloat(dtos[i]);
				};
			};
			gan = dtos.join("+");
			//si gan es nulo establece dtos[0]=0
			if (isNaN(parseFloat(gan))){
				gan =0;
				dtos[0]=0;
			};
			tope=dtos.length;
			if (facpcimp){
				pcostocimp = pcosto;
				pcosto = pcostocimp / (1+(tasaiva/100));
				pvta = pvtacimp / (1+(tasaiva/100));
			}else{
				pcostocimp = pcosto * (1+(tasaiva/100));
				pvta = pvtacimp;
				pvtacimp = pvta * (1+(tasaiva/100));
			};
			eval("verif=" + gan + ";");
			//alert ('pcosto'+pcosto + ' gan' + gan + ' tasaiva' + tasaiva + ' pcostocimp' + pcostocimp + ' pvta' + pvta + ' pvtacimp' + pvtacimp + ' iva' + poriva);

			switch (modo){
				case 'labimp':
				case 'precio':
				case 'tasaiva':
	/*				pvta = redondea(pcosto * (1+(gan/100)));
					pcostocimp = redondea(pcosto * (1+(tasaiva/100)));
					pvtacimp= redondea(pvta * (1+(tasaiva/100)));
					break;*/
				case 'cant':
				case 'dto':
					if (cant==0){
						pvta = 0;
						pvtacimp= 0;
						pcostocimp = pcosto * (1+(tasaiva/100));
					}else{
						if (pcosto==0){
							pvta = pvtacimp / (1+(tasaiva/100));
							pcosto = pvta;
							for (i=0;i<tope;i++){
								pcosto = (pcosto / (1-(parseFloat(dtos[i])/100)));
							};
							if (cant!==0){
								pcosto = pcosto / cant;
							}else{
								cant=1;
							};
							pcostocimp = pcosto * (1+(tasaiva/100));
						}else{
							pvta = pcosto;
							for (i=0;i<tope;i++){
								pvta = (pvta * (1-(parseFloat(dtos[i])/100)));
							};
							pvta = pvta * cant;
	//						pvta = pcosto * cant * (1-(gan/100));
							pcostocimp = pcosto * (1+(tasaiva/100));
							pvtacimp= pvta * (1+(tasaiva/100));
						};
					};
					break;
	/*			case 'pventasinimp':
					pvtacimp= pvta * (1+(tasaiva/100));
					if (pcosto==0){
					pcosto = pvta / (1+(gan/100));
					pcostocimp = pcosto * (1+(tasaiva/100));
					}else{
					pcostocimp = pcosto * (1+(tasaiva/100));
					gan= ((pvta/pcosto)*100)-100;
					};
					break;*/
				case 'importe':
					pvta= pvtacimp / (1+(tasaiva/100));
					if (pcosto==0){
						pcosto = pvta;
						for (i=0;i<tope;i++){
							pcosto = (pcosto / (1-(parseFloat(dtos[i])/100)));
						};
						if (cant!==0){
							pcosto = pcosto / cant;
						}else{
							cant=1;
						};
						//pcosto = (pvta / (1-(gan/100)))/cant;
						pcostocimp = pcosto * (1+(tasaiva/100));
					}else{
						//si dto es 0
						if (verif==0){
							if (cant!==0){
								//calcula dto.
								pcosto = pcostocimp / (1+(tasaiva/100));
								gan= parseFloat(100-((pvta/(pcosto*cant))*100));
								if (gan<0) {
									gan=0;
								}else{
									if ((gan == 100)&&(pvtacimp==0)){
										switch (tipodoc){
											//remito
											case 6:
												gan =0;
												break;
										};
									}else{
										gan = roundNumber(gan,5);
									};
								};
							}else{
								pcostocimp=0;
							};
						}else{
							//calcula precio
							pcosto = pvta;
							for (i=0;i<tope;i++){
								pcosto = (pcosto / (1-(parseFloat(dtos[i])/100)));
							};
							if (cant!==0){
								pcosto = pcosto / cant;
							}else{
								cant=1;
							};
		//					pcosto = (pvta / (1-(gan/100)))/cant;
							pcostocimp = pcosto * (1+(tasaiva/100));
							//gan= ((pcosto/pvta)*100)-100;
						};
					};
					break;
	/*			case 'pcostocimp':
					pvtacimp = pcostocimp * (1+(gan/100));
					pcosto = pcostocimp / (1+(tasaiva/100));
					pvta = pvtacimp / (1+(tasaiva/100));
					break;*/
			};
		    if (isNaN(cant)){
			cant = 0;
		    };
		    if (isNaN(pcosto)){
			pcosto = 0;
		    };
		    /*if (isNaN(gan)){
			gan = 0;
		    };*/
		    if (isNaN(tasaiva)){
			tasaiva = 0;
		    };
		    if (isNaN(pcostocimp)){
			pcostocimp = 0;
		    };
		    if (isNaN(pvta)){
			pvta = 0;
		    };
		    if (isNaN(pvtacimp)){
			pvtacimp = 0;
		    };
			if (facpcimp){
				document.datos.costo.value = roundNumber(pcostocimp, 3);
				document.datos.dtog.value = gan;
				document.datos.cantg.value = cant;
				document.datos.costoop.value = roundNumber(pcosto,3);
				document.datos.importeopg.value = redondea(pvta);
				document.datos.importeg.value = redondea(pvtacimp);
			}else{
				document.datos.costo.value = roundNumber(pcosto,3);
				document.datos.dtog.value = gan;
				document.datos.cantg.value = cant;
				document.datos.costoop.value = roundNumber(pcostocimp,3);
				document.datos.importeopg.value = redondea(pvtacimp);
				document.datos.importeg.value = redondea(pvta);
			};
		break;
	    };

/*	    document.datos.pcostosimp.value = (pcosto);
	    document.datos.ganancia.value = (gan);
	    document.datos.tasaiva.text = (tasaiva);
	    document.datos.pcostocimp.value = (pcostocimp);
	    document.datos.pventasinimp.value = (pvta);
	    document.datos.pvtacimp.value = (pvtacimp);*/
    }

	function cambiadevart(){
	var cambiadev = 0;

	cambiadev = document.datos.cambio.checked || document.datos.devol.checked;
	if (cambiadev){
		document.datos.diascambio.disabled = false;
	}else{
		document.datos.diascambio.disabled = true;
		//document.datos.diascambio.style.background = '#ffffff';
		//document.datos.diascambio.value.fontcolor('#000066');
	};
    }
    function cambiaimpincl(modulo){
	var impincl = 0;

	switch (modulo){
	    case 'art':
		impincl = document.datos.impincl.checked;
		if (impincl){
		    document.datos.pcostosimp.disabled = true;
		    document.datos.pventasinimp.disabled = true;
		    document.datos.pcostocimp.disabled = false;
		    document.datos.pvtacimp.disabled = false;
		    document.datos.pventasinimp.style.background = '#ffffff';
		    document.datos.pcostosimp.style.background = '#ffffff';
//		    document.datos.pventasinimp.value.fontcolor('#000066');
//		    document.datos.pcostosimp.value.fontcolor('#000066');
//		    document.datos.pvtacimp.syle.font-weight= 'bold';
		}else{
		    document.datos.pcostosimp.disabled = false;
		    document.datos.pventasinimp.disabled = false;
		    document.datos.pcostocimp.disabled = true;
		    document.datos.pvtacimp.disabled = true;
		    document.datos.pcostocimp.style.background = '#ffffff';
		    document.datos.pvtacimp.style.background = '#ffffff';
//		    document.datos.pcostocimp.value.fontcolor('#000066');
//		    document.datos.pvtacimp.value.fontcolor('#000066');
//		    document.datos.pvtacimp.syle.font-weight= 'bold';
		};
		break;

	};

    }
    // desde puserver
function cambiaformato(fecha, separa){
	var vanio;
	var vmes;
	var vdia;
	var temp;
	var temp2;
	switch (separa){
	case '/':
		if (fecha.indexOf("-")==-1){
			return false;
		};
	temp = fecha.indexOf("-");
	//alert (temp);
		vanio = parseFloat(fecha.substring(0, 4));
		if (isNaN(vanio)){
			return false;
		};
	temp = fecha.indexOf("-",6);
		vmes = parseFloat(fecha.substring(5,temp));
		if (isNaN(vmes)){
			return false;
		};
		if ((vmes>12)||(vmes<1)){
			return false;
		};
		if ((vmes<10)){
			vmes = "0" + vmes;
		};
		vdia = parseFloat(fecha.substring(temp + 1,fecha.length));
		if (isNaN(vdia)){
			return false;
		};
		if ((vdia<10)){
			vdia = "0" + vdia;
		};
		fecha = vdia + "/" + vmes + "/" + vanio;
		return fecha;
		break;
	case '-':
		if (fecha.indexOf("/")==-1){
			return false;
		};
	temp = fecha.indexOf("/");
	//alert (temp);
		vdia = parseFloat(fecha.substring(0, temp));
		if (isNaN(vdia)){
			return false;
		};
	temp2 = fecha.indexOf("/",temp+1);
		vmes = parseFloat(fecha.substring(temp+1,temp2));
		if (isNaN(vmes)){
			return false;
		};
		if ((vmes>12)||(vmes<1)){
			return false;
		};
		if ((vmes<10)){
			vmes = "0" + vmes;
		};
		vanio = parseFloat(fecha.substring(temp2 + 1,fecha.length));
		if (isNaN(vanio)){
			return false;
		};
		fecha = vanio + "-" + vmes + "-" + vdia;
		return fecha;
		break;
	}
}

function esfechavalida2(fecha){
	var vanio;
	var vmes;
	var vdia;
	var temp;
	var temp2;
	
	if (fecha.indexOf("/")==-1){
		return false;
	};
temp = fecha.indexOf("/");
//alert (temp);
//	vdia = parseFloat(fecha.substring(0,2));
	vdia = parseFloat(fecha.substring(0,temp));
	if (isNaN(vdia)){
		return false;
	};
temp2 = fecha.indexOf("/",temp+1);
//	vmes = parseFloat(fecha.substring(3,5));
	vmes = parseFloat(fecha.substring(temp+1,temp2));
	if (isNaN(vmes)){
		return false;
	};
//	vanio = parseFloat(fecha.substring(6, 10));
	vanio = parseFloat(fecha.substring(temp2+1, fecha.length));
	if (isNaN(vanio)){
		return false;
	};
	
	if ((vmes>12)||(vmes<1)){
		return false;
	};
	switch(vmes){
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12: if ((vdia<1)||(vdia>31)){
				return false;
			};
			break;
		case 2: temp = vanio / 4;
			temp2 = Math.round(temp) - temp;
			if (temp2 == 0){
				if ((vdia<1)||(vdia>29)){
					return false;
				};
			}
			else{
				if ((vdia<1)||(vdia>28)){
					return false;
				};
			};
			break;
		case 4:
		case 6:
		case 9:
		case 11: if ((vdia<1)||(vdia>30)){
				return false;
			};
			break;
	};
	return true;
};
function esfechavalida(fecha){
	var vanio;
	var vmes;
	var vdia;
	var temp;
	var temp2;
	
	if (fecha.indexOf("-")==-1){
		return false;
	};
	
temp = fecha.indexOf("-");
//alert (temp);
	if (temp==4){
		vanio = parseFloat(fecha.substring(0, 4));
		if (isNaN(vanio)){
			return false;
		};
	}else{
		return false;
	};
temp = fecha.indexOf("-",6);
	vmes = parseFloat(fecha.substring(5,temp));
	if (isNaN(vmes)){
		return false;
	};
	if ((vmes>12)||(vmes<1)){
		return false;
	};
	vdia = parseFloat(fecha.substring(temp + 1,fecha.length));
	if (isNaN(vdia)){
		return false;
	};
//alert(vdia + "/" + vmes + "/" + vanio);
	
	switch(vmes){
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12: if ((vdia<1)||(vdia>31)){
				return false;
			};
			break;
		case 2: temp = vanio / 4;
			temp2 = Math.round(temp) - temp;
			if (temp2 == 0){
				if ((vdia<1)||(vdia>29)){
					return false;
				};
			}
			else{
				if ((vdia<1)||(vdia>28)){
					return false;
				};
			};
			break;
		case 4:
		case 6:
		case 9:
		case 11: if ((vdia<1)||(vdia>30)){
				return false;
			};
			break;
	};
	return true;
};
    
    
    function validafecha(modulo, idcontrol, fecha){
	var temp;
	var hoy = new Date();
	var dia = hoy.getDate();
	var mes = hoy.getMonth()+1;
	var anio = hoy.getFullYear();
	var control = document.getElementById(idcontrol);
	var retorno = false;
	var fvto = new Date();
	var ffac = new Date();
	var mensaje = "Fecha no v\xe1lida. Ingrese fecha con formato 'dd/mm/aaaa' o 'aaaa-mm-dd'";

	//if (fecha!=='') {
		if (esfechavalida(fecha)){
			control.value=cambiaformato(fecha, '/');
			retorno = true;
		}else{
			if (esfechavalida2(fecha)){
				control.value=fecha;
				retorno = true;
			}else{
				switch (modulo){
				case 'compras':
					var diafac = parseFloat(document.datos.dia.value);
					var mesfac = parseFloat(document.selmes.messel.value);
					var ejfac = parseFloat(document.selmes.ejsel.value);
					var tipodoc = parseFloat(document.datos.tipodoc.value);
					control.value='';
					switch (tipodoc){
					// credito
					case 2:
					// nota credito
					case 3:
					// remito
					case 6:
						control.value = diafac + "/" + mesfac + "/" + ejfac;
						break;
					}
					break;
				case 'clientes':
				case 'import':
					if (fecha!=='') {
						control.value = dia + "/" + mes + "/" + anio;
					};
					break;
				};
			}
		}
	// }
	if (retorno){
		fecha = fecha.split('/');
		/*var diaf = (fecha.substr(0,2));
		var mesf = (fecha.substr(3,2))-1;
		var aniof = (fecha.substr(6,4));*/
		/*alert(fecha[0]);
		alert(fecha[1]);		
		alert(fecha[2]);*/
		switch (modulo){
		case 'compras':
			var diafac = parseFloat(document.datos.dia.value);
			var mesfac = parseFloat(document.selmes.messel.value);
			var ejfac = parseFloat(document.selmes.ejsel.value);
			ffac.setFullYear(ejfac);
			ffac.setMonth(mesfac-1);
			ffac.setDate(diafac);
			ffac.setHours(0);
			ffac.setMinutes(0);
			ffac.setSeconds(0);
			//ffac.setMilliSeconds(0);
			fvto.setFullYear(fecha[2]);
			fvto.setMonth(fecha[1]-1);
			fvto.setDate(fecha[0]);
			fvto.setHours(0);
			fvto.setMinutes(0);
			fvto.setSeconds(0);
			//fvto.setMilliSeconds(0);
			if (fvto < ffac){
				mensaje = "Fecha menor a fecha de factura verifique.";
				retorno = false;
				control.value = diafac + "/" + mesfac + "/" + ejfac;
			}
			break;
		case 'import':
			break;
		}
	}
	if (!retorno){
		alert (mensaje);
        if ((modulo!='clientes')&&(modulo!='import')){
            temp = enfoca(6, 'contrap');
        }
	}
	return retorno;
    }
/*  function NOesfechavalida(vdia, vmes, vanio){
	var temp;
	var temp2;
	
	if (isNaN(vanio)){
		return false;
	};
	if (isNaN(vmes)){
		return false;
	};
	if ((vmes>12)||(vmes<1)){
		return false;
	};
	if (isNaN(vdia)){
		return false;
	};
	switch(vmes){
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12: if ((vdia<1)||(vdia>31)){
				return false;
			};
			break;
		case 2: 
			temp = vanio / 4;
			temp2 = Math.round(temp) - temp;
			if (temp2 == 0){
				if ((vdia<1)||(vdia>29)){
					return false;
				};
			}
			else{
				if ((vdia<1)||(vdia>28)){
					return false;
				};
			};
			break;
		case 4:
		case 6:
		case 9:
		case 11: if ((vdia<1)||(vdia>30)){
				return false;
			};
			break;
	};
	return true;
}
*/
	function cancelardoc(){
		var resp;
		
		resp = confirm("\xbfRealmente desea cancelar?");
		if (resp){
			eliminadoc('compras', 'TODO');
			//window.location="entrarmodulo.php";
		}
	}
	function guardardatos(modo, flag){
		var tipodoc = document.datos.tipodoc.options[document.datos.tipodoc.selectedIndex].text;
		var moneda = parseFloat(document.datos.moneda.value);
		var contrap = document.datos.contrap.value;
		var prov = parseFloat(document.datos.provs.value);
        var ctadtos = parseFloat(document.getElementById("ctadtos").value);
		var fvto = (document.datos.fvto.value);
		var obs = (document.datos.comenta.value);
		var ivaper = 0;
		var accion;
		var tabdet= document.getElementById("tabdet");
		var tabdetg= document.getElementById("tabdetg");
		var cantart = tabdet.rows.length;
		var cantg = tabdetg.rows.length;
        var tc=0;
		var url;
		var datos='';
		var tr;
		var filas;
		var celdas;
		var cuenta;
		var cuentasel;
		var moneda;
		var precio;
		var dto;
		var cant;
		var impliq;
		var tipo = 'detalle'; //siempre guarda todo el documento
		var idfilaelim='elim';
        var numintcp = document.datos.numintcp.value;
        
		switch (modo){
        case 'recibovta':
        case 'ventas':
            var fecha = document.datos.fecha.value;
            var seriecp = document.datos.seriecp.value;
            if (fecha!==""){
                temp = cambiaformato(fecha, '-');
                if (!temp){
                    //si es false fvto puede tener formato aaaa-mm-dd
                }else{
                    fecha = temp;
                }
            }
            break;
        case 'compras':
        case 'comprasg':
        case 'recibo':
            var numdoc = document.datos.numdoc.value;
            var nimport = parseFloat(document.datos.nimport.value);
            var dia = document.datos.dia.value;
            var mes = parseFloat(document.selmes.messel.value);
            var anio = parseFloat(document.selmes.ejsel.value);
            break;
        }
		if (fvto!==""){
			temp = cambiaformato(fvto, '-');
			if (!temp){
				//si es false fvto puede tener formato aaaa-mm-dd
			}else{
				fvto = temp;
			}
		}
		
		document.location.href = "#anclatop";
//		divcont.style.display = 'none';
		switch (modo){
        case 'ventas':
		case 'compras':
			var nencab = parseFloat(document.datos.encabezado.value);
			var subtotal = parseFloat(document.datos.subtotalsi.value);
			var totiva = parseFloat(document.datos.totiva.value);
			var total = parseFloat(document.datos.total.value);
			var subtotalgral = parseFloat(document.datos.subtotalsigral.value);
			var subtotg = parseFloat(document.datos.subtotalsig.value);
            var subtotgact =0;
			var totalgral = parseFloat(document.datos.totalgral.value);
			//var ivaper = parseFloat(document.datos.ivaper.value);
			var coef=0;
			var valfifo=0;
            //si hay gasto asociado
			if (subtotg !==0){
                buscactas(ruccli, prov);
                if (i<ruccli.length){
                    if (ruccli[i][5]==0){
                        if (cantg>1){
                            //busca y suma importe de gastos que pueden activarse
                            filas = tabdetg.getElementsByTagName("tr");
                            for (j=1;j<cantg;j++){
                                idfilaelim = 'elimtabdetg'+j;
                                if (filas[j].id!==idfilaelim){
                                    celdas = filas[j].getElementsByTagName("td");
                                    cuenta = parseFloat(celdas[0].innerHTML);
                                    impliq= parseFloat(celdas[6].innerHTML);
                                    buscactas(ctasg, cuenta);
                                    if (i<ctasg.length){
                                        if (nimport>0){
                                            if (ctasg[i][5]==1){
                                                subtotgact = subtotgact + impliq;
                                            }
                                        }else{
                                            if (ctasg[i][4]==1){
                                                subtotgact = subtotgact + impliq;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        //alert (subtotgact);
                        //alert (subtotal);
                        coef = subtotgact / subtotal;
                        //alert(coef);
                    }
                }
			}
//			alert (subtotal + ',' + subtotg + ',' + coef);
			
			//datos = "tabdet<linea>";
			if (cantart>1){
				filas = tabdet.getElementsByTagName("tr");
				for (i=1;i<cantart;i++){
                    idfilaelim = 'elimtabdet'+i;
                    if (filas[i].id!==idfilaelim){
                        celdas = filas[i].getElementsByTagName("td");
                        cuenta = parseFloat(celdas[0].innerHTML);
                        cuentasel = (celdas[1].innerHTML);
                        moneda= parseFloat(celdas[2].innerHTML);
                        precio= parseFloat(celdas[3].innerHTML);
                        dto= parseFloat(celdas[4].innerHTML);
                        cant= parseFloat(celdas[5].innerHTML);
                        impliq= parseFloat(celdas[6].innerHTML);
                        codiva= parseFloat(celdas[7].innerHTML);
                        iva= parseFloat(celdas[8].innerHTML);
                        importe= parseFloat(celdas[9].innerHTML);
                        valfifo = (impliq * coef) ;
                        valfifo = (valfifo + impliq)/ cant;
                        if (datos==''){
                        
                            datos = cuenta + "<;>" + cuentasel + "<;>" +  moneda + "<;>" + redondea(precio) + "<;>" + dto  + "<;>" + cant  + "<;>" + redondea(impliq)  + "<;>" + codiva + "<;>" + redondea(iva)  + "<;>" + redondea(importe) + "<;>" + redondea(valfifo);
                        }else{
                        
                            datos = datos + "<linea>" + cuenta + "<;>" + cuentasel + "<;>" +  moneda + "<;>" + redondea(precio) + "<;>" + dto  + "<;>" + cant  + "<;>" + redondea(impliq)  + "<;>" + codiva + "<;>" + redondea(iva)  + "<;>" + redondea(importe) + "<;>" + redondea(valfifo);
                        }
                        /*if ((i+1)<cantart){
                            datos = datos + ;
                        }*/
                    }
				}
			}
					
			break;
		case 'comprasg':
			var nencab = parseFloat(document.datos.encabezadog.value);
			var subtotal = parseFloat(document.datos.subtotalsig.value);
			var dtos = parseFloat(document.datos.totdtog.value);
			var total = parseFloat(document.datos.totalg.value);
		//	datos = "tabdetg<linea>";
			if (cantg>1){
				filas = tabdetg.getElementsByTagName("tr");
				for (i=1;i<cantg;i++){
                    idfilaelim = 'elimtabdetg'+i;
                    if (filas[i].id!==idfilaelim){
                        celdas = filas[i].getElementsByTagName("td");
                        cuenta = parseFloat(celdas[0].innerHTML);
                        cuentasel = (celdas[1].innerHTML);
                        moneda= parseFloat(celdas[2].innerHTML);
                        precio= parseFloat(celdas[3].innerHTML);
                        dto= parseFloat(celdas[4].innerHTML);
                        cant= parseFloat(celdas[5].innerHTML);
                        impliq= parseFloat(celdas[6].innerHTML);
                        codiva= parseFloat(celdas[7].innerHTML);
                        iva= parseFloat(celdas[8].innerHTML);
                        importe= parseFloat(celdas[9].innerHTML);
                                            
                        if (datos==''){
                            
                            datos = cuenta + "<;>" + cuentasel + "<;>" +  moneda + "<;>" + redondea(precio) + "<;>" + dto  + "<;>" + cant  + "<;>" + redondea(impliq)  + "<;>" + codiva + "<;>" + redondea(iva)  + "<;>" + redondea(importe);
                        }else{
                            datos = datos + "<linea>" + cuenta + "<;>" + cuentasel + "<;>" +  moneda + "<;>" + redondea(precio) + "<;>" + dto  + "<;>" + cant  + "<;>" + redondea(impliq)  + "<;>" + codiva + "<;>" + redondea(iva)  + "<;>" + redondea(importe);
                        }
                        
                        /*if ((i+1)<cantg){
                            datos = datos + "<linea>";
                        }*/
                    }
				}
			}
			break;
        case 'recibovta':
		case 'recibo':
			var nencab = parseFloat(document.datos.encabezado.value);
			var subtotal = parseFloat(document.datos.subtotalsi.value);
			var iva = parseFloat(document.datos.totiva.value);
			var total = parseFloat(document.datos.total.value);
			var subtotalgral = parseFloat(document.datos.subtotalsigral.value);
			var subtotg = parseFloat(document.datos.subtotalsig.value);
			var total = parseFloat(document.datos.totalgral.value);
			//var ivaper = parseFloat(document.datos.ivaper.value);
			var totivagral = parseFloat(document.datos.totivagral.value);
			var porcdto=0;
			var valfifo=0;
			var dtos = 0;
            var acro = -1;
            var impacro1=0;
            var impacro2=0;
            var elementos = document.getElementsByName("acro");
            var j=0;
    
            for(j=0; j<elementos.length; j++) {
              //alert(" Elemento: " + elementos[i].value + "\n Seleccionado: " + elementos[i].checked);
              if (elementos[j].checked){
                acro=j;
              }
            }
            if (acro==(-1)){
                alert("Atenci\xf3n: No se estableci\xf3 Acreditaci\f3n. Verifique.");
                break;
            }    
            
            tc = parseFloat(document.datos.tcprov.value);
            switch (acro){
            //ac todo a pesos
            case 0:
                impacro1=parseFloat(document.getElementById("impconv").value);
                break;
            //ac todo a dolar
            case 1:
                impacro2=parseFloat(document.getElementById("impconv").value);
                break;
            //desglose
            case 2:
                impacro1=parseFloat(document.getElementById("desgpart1").value);
                impacro2=parseFloat(document.getElementById("desgpart2").value);
                break;
            }
            //impacro1=document.getElementById("impconv");
                        
                        
			if (subtotg !==0){
				porcdto = roundNumber((subtotg*(-1)) / subtotal * 100,2);
                dtos = subtotg;
			}
//			alert (subtotal + ',' + subtotg + ',' + coef);
			//datos = "tabdet<linea>";
            //si hay descuentos
			if (cantg>1){
				filas = tabdetg.getElementsByTagName("tr");
				for (i=1;i<cantg;i++){
                    idfilaelim = 'elimtabdetg'+i;
                    if (filas[i].id!==idfilaelim){
                        celdas = filas[i].getElementsByTagName("td");
                        cuenta = parseFloat(celdas[0].innerHTML);
                        cuentasel = (celdas[1].innerHTML);
                        moneda= parseFloat(celdas[2].innerHTML);
                        precio= parseFloat(celdas[3].innerHTML);
                        dto= parseFloat(celdas[4].innerHTML);
                        cant= parseFloat(celdas[5].innerHTML);
                        impliq= parseFloat(celdas[6].innerHTML);
                        codiva= parseFloat(celdas[7].innerHTML);
                        iva= parseFloat(celdas[8].innerHTML);
                        importe= parseFloat(celdas[9].innerHTML);
                                            
                        if (datos==''){
                            
                            datos = cuenta + "<;>" + cuentasel + "<;>" +  moneda + "<;>" + redondea(precio) + "<;>" + dto  + "<;>" + cant  + "<;>" + redondea(impliq)  + "<;>" + codiva + "<;>" + redondea(iva)  + "<;>" + redondea(importe);
                        }else{
                            datos = datos + "<linea>" + cuenta + "<;>" + cuentasel + "<;>" +  moneda + "<;>" + redondea(precio) + "<;>" + dto  + "<;>" + cant  + "<;>" + redondea(impliq)  + "<;>" + codiva + "<;>" + redondea(iva)  + "<;>" + redondea(importe);
                        }
                        
                        /*if ((i+1)<cantg){
                            datos = datos + "<linea>";
                        }*/
                    }
				}
            }
			break;
		};
		//alert(datos);
		url = "libsajax/addprodoc.php";
        if  (modo=='ventas'){
            url = "libsajax/addprodocvtas.php";
        }
		url = url + "?modo=" + modo + "&tipo=" + tipo + "&nencab=" + nencab + "&flag=" + flag + "&numdoc=" + numdoc + "&tipodoc=" + tipodoc + "&dia=" + dia + "&mes=" + mes + "&anio=" + anio + "&fecha=" + fecha  + "&fvto=" + fvto + "&moneda=" + moneda + "&contrap=" + contrap + "&numintcp=" + numintcp + "&prov=" + prov + "&subtotal=" + subtotal + "&dtos=" + dtos + "&ctadtos=" + ctadtos + "&totiva=" + totiva + "&ivaper=" + ivaper + "&total=" + total + "&obs=" + obs + "&nimport=" + nimport + "&subtotg=" + subtotg + "&tc=" + tc + "&porcdto=" + porcdto + "&ctadto=" + cuenta + "&codiva=" + codiva + "&iva=" + totivagral + "&acro=" + acro + "&impacro1=" + impacro1 + "&impacro2=" + impacro2 + "&datos=" + datos;
		accion = "respup(ajax.responseText,'" + modo + "', '" + tipo +"');";
		//alert (url);
		cargarajax('ajaxrespdet', url, 'ajaxrespdet', '','',accion,'');
	}
	function respup(respuesta, modo, tipo){
//	alert(respuesta);
		var numintdet;
		var resp;
		var encabezado = document.getElementById("encabezado");
		var numintenca= document.getElementById("numintenca");
		var numintencag= document.getElementById("numintencag");
		var numintro= document.getElementById("numintro");
		var encabezadog = document.getElementById("encabezadog");
		var largo;
		
		if (respuesta.search(/<OK>/)>-1){
			if (respuesta.search(/<EXISTE>/)>-1){
				//si EXISTE
				alert("Atenci\xf3n: el documento que ha especificado ya est\xe1 procesado. No se permite continuar.");
				eliminadoc(modo, 'TODO');
			}else{
				if (respuesta.search(/<Error>/)>-1){
					alert("Se provoc\xf3 un error al guardar: " + respuesta + "\nNo se permite continuar");
					eliminadoc(modo, 'PARCIAL');
				}else{
				/*
					if (respuesta.search(/<Encabezado>/)>-1){
						temp = respuesta.search(/<Encabezado>/) + 12;
						encabezado.value =parseFloat(respuesta.substr(temp, respuesta.length));
					}
					if (respuesta.search(/<Encabezadog>/)>-1){
						temp = respuesta.search(/<Encabezadog>/) + 13;
						encabezadog.value =parseFloat(respuesta.substr(temp, respuesta.length));
					}
					if (respuesta.search(/<NumInternoDet>/)>-1){
						temp = respuesta.search(/<NumInternoDet>/) + 15;
						largo = respuesta.indexOf(';', temp)-temp;
						numintdet = redondea(parseFloat(respuesta.substr(temp, largo)));
						var tabdet = document.getElementById("tabdet");
						i = tabdet.rows.length-1;
						eval("document.datos.numinttabdet" + i + ".value = numintdet;");
					}			
					if (respuesta.search(/<NumInternoDetg>/)>-1){
						temp = respuesta.search(/<NumInternoDetg>/) + 16;
						largo = respuesta.indexOf(';', temp)-temp;
						numintdet = redondea(parseFloat(respuesta.substr(temp, largo)));
						var tabdet = document.getElementById("tabdetg");
						i = tabdet.rows.length-1;
						eval("document.datos.numinttabdetg" + i + ".value = numintdet;");
					}			
					if (respuesta.search(/<ELIMLineaDet>/)>-1){
						temp = respuesta.search(/<ELIMLineaDet>/) + 14;
						largo = respuesta.indexOf(';', temp)-temp;
						numintdet = redondea(respuesta.substr(temp, largo));
						eval("document.datos.numinttabdet" + numintdet + ".value = 0;");
					}			
					if (respuesta.search(/<ELIMLineaDetg>/)>-1){
						temp = respuesta.search(/<ELIMLineaDetg>/) + 15;
						largo = respuesta.indexOf(';', temp)-temp;
						numintdet = redondea(respuesta.substr(temp, largo));
						eval("document.datos.numinttabdetg" + numintdet + ".value = 0;");
					}			
					if (respuesta.search(/<NumDoc>/)>-1){
						resp = confirm("Atenci\xf3n: Hay otra sesi\xf3n abierta o no complet\xf3 correctamente el proceso de un documento.\n Presione Aceptar para completar el proceso ahora. Si Cancela se eliminar\xe1n los datos temporales guardados. \n En este m\xf3dulo no se permite trabajar con m\xe1s de una sesi\xf3n.");
						if (resp){
							recuperatmp(respuesta, modo);
						}else{
							eliminatmp(modo, 'encabezado');
						}
					}*/
					if (respuesta.search(/<GuardadoOk>/)>-1){
                        if (respuesta.search(/<Encabezado>/)>-1){
                            temp = respuesta.search(/<Encabezado>/) + 12;
                            numintenca.value =parseFloat(respuesta.substr(temp, respuesta.length));
                        }
                        if (respuesta.search(/<Encabezadog>/)>-1){
                            temp = respuesta.search(/<Encabezadog>/) + 13;
                            numintencag.value =parseFloat(respuesta.substr(temp, respuesta.length));
                        }
                        if (respuesta.search(/<Encabezadoro>/)>-1){
                            temp = respuesta.search(/<Encabezadoro>/) + 14;
                            numintro.value =parseFloat(respuesta.substr(temp, respuesta.length));
                        }
                        creaformreceptor(modo);
					}else{
						alert ("Ocurrieron Errores. No se pudo guardar el documento. \n Informaci\xf3n del Error: " + respuesta);
					}
				}
			}
			/*if (respuesta.search(/<DUPLICADO>/)>-1){
				//si DUPLICADO
				alert("Atenci\xddn: por alguna raz\xdd ya existe un documento temporal similar al que est\xdd procesando.");
				resp = confirm("\xddDesea sobreescribirlo?");
				if (resp){
					guardatmp(modo, tipo, 'sobreescribir');
				};
			};*/

		}
	}
	
	function remitir(modo) {
		var resp;
		var tabdet = document.getElementById("tabdet");
		var tabdetg = document.getElementById("tabdetg");
		var fvto  = document.getElementById("fvto");
		var tipodoc = document.getElementById("tipodoc");
		var seccion = document.getElementById("seccion").value;
		var contrap = document.getElementById("contrap").value;
		var nimport = parseFloat(document.getElementById("import").value);
		var provsel = parseFloat(document.getElementById("provs").value);
		var continuar=false;
        
        switch (modo){
        case "gastos":
        case "comprasg":
        case "compras":
            if (!yaconfirmo){
            yaconfirmo=1;
            if (document.datos.numdoc.value ==""){
                alert("Ingrese numero de documento.");
                yaconfirmo=0;
                return false;
            }
            else {if ((contrap=="")&&((tipodoc==2)||(tipodoc==3))&&(nimport>0)){
                alert("Debe especificar contrapartida del documento.");
                yaconfirmo=0;
                return false;}
            else {if ((document.datos.dia.value =="")){
                alert("Ingrese dia del documento.");
                yaconfirmo=0;
                return false;}
            else {if ((parseFloat(document.datos.dia.value) > 31)||(document.datos.dia.value =="Na")||(document.datos.dia.value =="0")){
                alert("El dia no es correcto.");
                yaconfirmo=0;
                return false;}
            else {	if ((fvto=="")&&((tipodoc==2)||(tipodoc==6))){
                alert("Ingrese Fecha de Vencimiento del documento.");
                yaconfirmo=0;
                return false;}
            else {if ((tabdet.rows.length==1)&&(modo=='compras')){
                alert("No ingreso ninguna linea al documento.");
                yaconfirmo=0;
                return false;}
            else{if (document.datos.total.value =="NaN"){
                alert("Se detectó un importe inválido verifique.");
                document.datos.total.value=0;
                yaconfirmo=0;
                return false;}
            else{
                continuar=true;
            }}}}}}}}
            break;
        
        case "ventas":
            if (!yaconfirmo){
            yaconfirmo=1;
            if ((contrap=="")&&((tipodoc==2)||(tipodoc==3))){
                alert("Debe especificar contrapartida del documento.");
                yaconfirmo=0;
                return false;}
            else {if ((document.datos.fecha.value =="")){
                alert("Error en la fecha.");
                yaconfirmo=0;
                return false;}
            else {	if ((fvto=="")&&((tipodoc==2)||(tipodoc==6))){
                alert("Error en Fecha de Vencimiento.");
                yaconfirmo=0;
                return false;}
            else {if ((tabdet.rows.length==1)){
                alert("No ingreso ninguna linea al documento.");
                yaconfirmo=0;
                return false;}
            else{if (document.datos.total.value =="NaN"){
                alert("Se detectó un importe inválido verifique.");
                document.datos.total.value=0;
                yaconfirmo=0;
                return false;}
            else{
                continuar=true;
            }}}}}}
            break;
			/*if (modo=='compras'){
				buscactas(ruccli, provsel);
				if (i<ruccli.length){
					var tabdetg = document.getElementById("tabdetg");
					var acimport=ruccli[i][5];
					if ((acimport==1)&&(tabdetg.rows.length==1)){
						resp=confirm("Advertencia: El proveedor es acreedor por importaciones.\n Cuando ingrese mercader\xeda importada")
					}
				}
			}*/
        }
        if (continuar){
			resp = confirm("\xbfEst\xe1 seguro de confirmar el documento?");
			if (resp==true){
                switch (modo){
                case 'ventas':
                    if (tabdet.rows.length>1){
                        switch (parseFloat(tipodoc.value)){
                        case 1:
                        case 2:
                        case 3:
                        case 4:
                            guardardatos('ventas', '');
                            break;
                        case 5:
                            guardardatos('recibovta', '');
                            break;
                        }
                    }
                    break;
                case 'compras':
                    if (tabdet.rows.length>1){
                        switch (parseFloat(tipodoc.value)){
                        case 1:
                        case 2:
                        case 3:
                        case 4:
                            if (tabdetg.rows.length>1){
                                guardardatos('compras', 'congasto');
                                guardardatos('comprasg', 'congasto');
                            }else{
                               guardardatos('compras', 'singasto');
                            }
                            break;
                        case 5:
                            if (tabdetg.rows.length>1){
                                guardardatos('recibo', 'congasto');
                            }else{
                                guardardatos('recibo', 'singasto');
                            }
                            break;
                        }
                    }
                    break;
                case 'gastos':
                case 'comprasg':
                    if (tabdetg.rows.length>1){
                        switch (parseFloat(tipodoc.value)){
                        case 1:
                        case 2:
                        case 3:
                        case 4:
                            if (seccion=='compras'){
                                guardardatos('comprasg', 'compracongasto');
                            }else{
                                guardardatos('comprasg', 'gasto');
                            }
                            break;
                        case 5:
                            if (seccion=='compras'){
                                guardardatos('recibo', 'compracongasto');
                            }else{
                                guardardatos('recibo', 'gasto');
                            }
                            break;
                        }
                    }
                    break;
                }
			}else{
				temp = enfoca(6, 'confirmar');
				yaconfirmo=0;
			}
		}
	}
	function sumaivaper(ivaper){
		document.datos.total.value = redondea(parseFloat(document.datos.total.value)+parseFloat(ivaper));
		document.datos.totalgral.value = redondea(parseFloat(document.datos.total.value)+parseFloat(ivaper)+parseFloat(document.datos.totalg.value));
	}
	function volver() {
		var resp;
		resp = confirm("¿Esta seguro de salir?");
		if (resp==true){
			window.close();
		};
	}
	function selcuentabus(secc, idorigen, nart, ind){
		var origen = document.getElementById(idorigen);
		var cuenta;
		window.opener.document.datos.cuentasel.value = "";
		window.opener.document.datos.numint.value = "";
		if ((origen.selectedIndex!=-1) && (window.opener.document.datos.tipodoc.value != 5)){
			if (idorigen=='busart'){
				//var nart = parseFloat(idorigen.substr(6,idorigen.length));
				var TABLE = document.getElementById("busart");
				var tr = TABLE.getElementsByTagName("tr")[ind];
				var art = (tr.getElementsByTagName("td")[2].innerHTML.replace(/<br>/gi, ''));
				art = art.replace(/&/gi, 'y');
				art = art.replace(/amp;/gi, '');
				window.opener.codiva =  eval("parseFloat(document.getElementById('tiva"+ nart + "').value);");
				//temp = buscactas(ctasprovart, cuenta);
				temp = window.opener.buscactas(window.opener.ctasfav, nart);
				if (i == window.opener.ctasfav.length){
					window.opener.document.datos.incfav.checked=false;
				}else{
					window.opener.document.datos.incfav.checked=true;
				};
				window.opener.document.datos.numctasel.value = nart;
				window.opener.document.datos.cuentasel.value = art;
				window.opener.document.datos.numint.value = nart;
			};
		};
		temp = window.opener.seltablaivawo(window.opener.codiva);
		if ((secc == 'ventas')||(secc=='iniventas')){
            window.opener.cargapreciovta('ventas', nart);
			if (!tieneruc){
				window.opener.codcofis=0;
				window.opener.porcofis=0;
				//document.datos.seltasacofis.disabled = true;
			}
			else{
				//document.datos.seltasacofis.disabled = false;
			};
    		window.opener.document.datos.cant.focus();
		}else{
    		window.opener.document.datos.precio.focus();
        }
		window.close();
	}
	function selcuenta(idorigen) {
		var origen = document.getElementById(idorigen);
		var cuenta;
		var secc = document.getElementById("seccion").value;
		var nimport = parseFloat(document.getElementById("import").value);
		
		document.datos.cuentasel.value = "";
		document.datos.numint.value = "";
		if ((origen.selectedIndex!=-1) && (document.datos.tipodoc.value != 5)){
			if (idorigen!=='numorig'){
				//alert(document.datos.cuentas.options[document.datos.cuentas.selectedIndex].text);
				document.datos.numctasel.value = origen.value;
				document.datos.cuentasel.value = origen.options[origen.selectedIndex].text;
				document.datos.numint.value = origen.options[origen.selectedIndex].value;
		//		document.datos.importe.focus();
				//posiciona tasas impuestos
				cuenta = document.datos.numctasel.value;
				//temp = buscarcargaselivauc(parseInt(document.datos.clientes.value));
				//temp = buscacofis(cuenta);
				//no encontro cuenta
			};
			switch (idorigen){
			case 'cuentas':
                if (nimport>0){
    				codiva = 1;
                }else{
                    temp = buscactas(ctasfav, cuenta);
    				codiva = ctasfav[i][2];
                }
				document.datos.incfav.checked=true;
				break;
			case 'selcuentasprovart':
                if (nimport>0){
    				codiva = 1;
                }else{
                    temp = buscactas(ctasprovart, cuenta);
                    codiva = ctasprovart[i][2];
                }
                temp = buscactas(ctasfav, cuenta);
                if (i == ctasfav.length){
                    document.datos.incfav.checked=false;
                }else{
                    document.datos.incfav.checked=true;
                }
				break;
			case 'numorig':
				var TABLE = document.getElementById("tabnumorig");
				var tr = TABLE.getElementsByTagName("tr")[1];
				var nart = parseFloat(tr.getElementsByTagName("td")[0].innerHTML);
				var a = document.getElementById("a" + nart);
				var art =a.innerHTML;
				//var art = tr.getElementsByTagName("td")[1].innerHTML;
				codiva =  parseFloat(tr.getElementsByTagName("td")[2].innerHTML);
                if (nimport>0){
    				codiva = 1;
                }
				//temp = buscactas(ctasprovart, cuenta);
				temp = buscactas(ctasfav, nart);
				if (i == ctasfav.length){
					document.datos.incfav.checked=false;
				}else{
					document.datos.incfav.checked=true;
				};
				document.datos.numctasel.value = nart;
				document.datos.cuentasel.value = art;
				document.datos.numint.value = nart;
				break;
			/*case 'contrap':
				var TABLE = document.getElementById("tabcontrap");
				var tr = TABLE.getElementsByTagName("tr")[1];
				var nart = parseFloat(tr.getElementsByTagName("td")[0].innerHTML);
				var a = document.getElementById("a" + nart);
				var art =a.innerHTML;
				//var art = tr.getElementsByTagName("td")[1].innerHTML;
				codiva =  parseFloat(tr.getElementsByTagName("td")[5].innerHTML);
				//temp = buscactas(ctasprovart, cuenta);
				temp = buscactas(ctasfav, nart);
				if (i == ctasfav.length){
					document.datos.incfav.checked=false;
				}else{
					document.datos.incfav.checked=true;
				};
				document.datos.numctasel.value = nart;
				document.datos.cuentasel.value = art;
				document.datos.numint.value = nart;
				break;*/
		};
		//temp = buscaiva(codiva);
		//temp = buscaiva(codiva);
		temp = seltablaiva(codiva);
		if ((secc == 'ventas')||(secc=='iniventas')){
            cargapreciovta('ventas', cuenta);
            document.datos.cant.focus();
            if (!tieneruc){
				codcofis=0;
				porcofis=0;
				//document.datos.seltasacofis.disabled = true;
			}
			else{
				//document.datos.seltasacofis.disabled = false;
			};
		};
		//temp = seltablacofis(codcofis);
		};
	}
        function quitagasto (flag){
            var selgasto = document.getElementById("selgasto");
            if (selgasto.style.display== ''){
                //quita gastos
                incluirgasto(flag);
            }
        }
	function incluirgasto(flag){
            var tipodoc = parseFloat(document.getElementById("tipodoc").value);
            var selgasto = document.getElementById("selgasto");
            var detgasto = document.getElementById("detgasto");
            var totgasto = document.getElementById("totgasto");
            var totgral = document.getElementById("totgral");
            var imginsgasto = document.getElementById("imginsgasto");
            var resp=true;
            var ctadtos = parseFloat(document.getElementById("ctadtos").value);
            var selctadto = document.getElementById("cuentagsel");
            var costo = document.getElementById("costo");
            var cantg = document.getElementById("cantg");
            var dtog = document.getElementById("dtog");
            var numctag = document.getElementById("numctag");
            var capanexo = document.getElementById("capanexo");
            var importeg = document.getElementById("importeg");
            
        
        switch (tipodoc){
        //Recibo Oficial
        case 5:
            if (selgasto.style.display== 'none'){
                imginsgasto.src = 'imagenes/png-24/24-frame-close.png';
                imginsgasto.title = 'Quitar Descuentos';
                capanexo.value='Descuentos';
                selgasto.style.display= '';
                detgasto.style.display= '';
                totgasto.style.display= '';
                totgral.style.display= '';
                selctadto.value=ctadtos;
                numctag.value=ctadtos;
                selctadto.disabled=true;
                costo.disabled=true;
                cantg.disabled=true;
                dtog.disabled=true;
                importeg.focus();
                
            }else{
                if (flag=='preguntar'){
                    resp = confirm ("\xbfEst\xe1 Seguro de Quitar Descuentos? Los Datos ingresados se eliminar\xe1an.");
                }
                if (resp){
                    imginsgasto.src = 'imagenes/png-24/24-frame-add.png';
                    imginsgasto.title = 'Insertar Descuentos';
                    selgasto.style.display= 'none';
                    detgasto.style.display= 'none';
                    totgasto.style.display= 'none';
                    totgral.style.display= 'none';
                    eliminagasto('encabezado');
                }
            }
            
            break;
        default:
            selctadto.disabled=false;
            costo.disabled=false;
            cantg.disabled=false;
            dtog.disabled=false;
            if (selgasto.style.display== 'none'){
                imginsgasto.src = 'imagenes/png-24/24-frame-close.png';
                imginsgasto.title = 'Quitar Gasto';
                capanexo.value='Gasto';
                selgasto.style.display= '';
                detgasto.style.display= '';
                totgasto.style.display= '';
                totgral.style.display= '';
                costo.focus();
            }else{
                if (flag=='preguntar'){
                    resp = confirm ("\xbfEst\xe1 Seguro de Quitar Gastos? Los Datos ingresados se eliminar\xe1an.");
                }
                if (resp){
                    imginsgasto.src = 'imagenes/png-24/24-frame-add.png';
                    imginsgasto.title = 'Insertar Gasto';
                    selgasto.style.display= 'none';
                    detgasto.style.display= 'none';
                    totgasto.style.display= 'none';
                    totgral.style.display= 'none';
                    eliminagasto('encabezado');
                }
            }
            break;
        }   
	}
	function eliminadetalletodo(){
		eliminadetalle();
		eliminagasto('detalle');
	}
	function eliminadetalle(){
		rmfilastodas('tabdet');
		document.datos.total.value = 0;
		document.datos.subtotalsi.value = 0;
		document.datos.totiva.value = 0;
		document.datos.totdto.value = '0';

		document.datos.totdtogral.value = parseFloat(document.datos.totdtog.value);
		document.datos.totalgral.value = parseFloat(document.datos.totalg.value);
		document.datos.subtotalsigral.value = parseFloat(document.datos.subtotalsig.value );
		document.datos.totivagral.value = parseFloat(document.datos.totivag.value);
		eliminatmp('compras', 'detalle');
	}	
	function eliminagasto(flag){
        var tipodoc = parseFloat(document.getElementById("tipodoc").value);
        
		rmfilastodas('tabdetg');
		document.datos.totalg.value = 0;
		document.datos.subtotalsig.value = 0;
		document.datos.totivag.value = 0;
		document.datos.totdtog.value = 0;

		document.datos.totdtog.value = parseFloat(document.datos.totdto.value);
		document.datos.totalgral.value = parseFloat(document.datos.total.value);
		document.datos.subtotalsigral.value = parseFloat(document.datos.subtotalsi.value );
		document.datos.totivagral.value = parseFloat(document.datos.totiva.value);
        //Recibo Oficial
        if (tipodoc==5){
            detacro('importe','0','0');
        }    
		eliminatmp('comprasg', flag);
	}
	function selcuentag(){
		var ctag = parseFloat(document.datos.cuentagsel.value);
		if (!isNaN(ctag)){
			temp = buscactas(ctasg, ctag);
			if (i<ctasg.length){
				//establece iva gasto
				temp = buscactas(tablaivag, roundNumber(ctasg[i][3],0));
				if (i<tablaivag.length){
					document.datos.seltasaivag.value = tablaivag[i][0];
					document.datos.numctag.value = ctag;
				}
			}
		}
	}
	function selcuentanumorig(j, nart){
		var TABLE = document.getElementById("tabnumorig");
		var DIV = document.getElementById("resbusartnumorig");
		var secc = document.getElementById("seccion").value;
		var tr = TABLE.getElementsByTagName("tr")[j];
		var a = document.getElementById("a" + nart);
		var art =a.innerHTML;

        //Excluye Recibo Oficial
		if (document.datos.tipodoc.value != 5){
            //var nart = parseFloat(tr.getElementsByTagName("td")[0].innerHTML);
            //var art = tr.getElementsByTagName("td")[1].innerHTML;
            codiva =  parseFloat(tr.getElementsByTagName("td")[3].innerHTML);
            //temp = buscactas(ctasprovart, cuenta);
            temp = buscactas(ctasfav, nart);
            if (i == ctasfav.length){
                document.datos.incfav.checked=false;
            }else{
                document.datos.incfav.checked=true;
            };
            document.datos.numctasel.value = nart;
            document.datos.cuentasel.value = art;
            document.datos.numint.value = nart;	
            temp = seltablaiva(codiva);
            DIV.style.display = 'none';
            if ((secc == 'ventas')||(secc=='iniventas')){
                cargapreciovta('ventas', nart);
                document.datos.cant.focus();
            }else{
                document.datos.precio.focus();
            }
        }
	}
				
	function seltablaiva(codigo){
		var tope = document.datos.seltasaiva.options.length;
		var acierto = false;

		document.datos.seltasaiva.value = parseFloat(codigo);
		i=0
		while ((i < tope)&&(!acierto)){
			if ((document.datos.seltasaiva.options[i].value ==parseFloat(codigo))){
				acierto=true;
			}else{
				i=i+1;
			};
		};
		if (i<tope){
			document.datos.seltasaiva.options[i].selected=true;
			poriva = tablaiva[i][2];
		};
	}
	function seltablaivawo(codigo){
		var tope = window.document.datos.seltasaiva.options.length;
		var acierto = false;

		window.document.datos.seltasaiva.value = parseFloat(codigo);
		i=0
		while ((i < tope)&&(!acierto)){
			if ((document.datos.seltasaiva.options[i].value ==parseFloat(codigo))){
				acierto=true;
			}else{
				i=i+1;
			};
		};
		if (i<tope){
			document.datos.seltasaiva.options[i].selected=true;
			poriva = tablaiva[i][2];
		};
        //window.opener.codigo=codigo;
//        alert (codigo);
  //      alert (poriva);
	}
	function seltablaivawoorig(codigo){
		var tope = window.opener.document.datos.seltasaiva.options.length;
		var acierto = false;

		window.opener.document.datos.seltasaiva.value = parseFloat(codigo);
		window.opener.i=0
		while ((window.opener.i < tope)&&(!acierto)){
			if ((window.opener.document.datos.seltasaiva.options[window.opener.i].value ==parseFloat(codigo))){
				acierto=true;
			}else{
				window.opener.i=window.opener.i+1;
			};
		};
		if (i<tope){
			window.opener.document.datos.seltasaiva.options[window.opener.i].selected=true;
			window.opener.poriva = window.opener.tablaiva[window.opener.i][2];
		};
	}
	function seltablacofis(codigo){
		if (!document.datos.seltasacofis.disabled){
		document.datos.seltasacofis.value = codigo;
		i=0
		while (tablacofis[i][0]!=codigo){
			i=i+1;
		};
		document.datos.seltasacofis.options[i].selected=true;
		}
	}
	function establececofis(codigo){
		i=0
		while (tablacofis[i][0]!=codigo){
			i=i+1;
		};
		codcofis = codigo;
		porcofis = tablacofis[i][2];
	};
	function estableceiva(codigo){
		i=0
		while (tablaiva[i][0]!=codigo){
			i=i+1;
		};
		codiva = codigo;
		poriva = tablaiva[i][2];
	};
	function carganumdoc(numdoc){
		var secc = document.getElementById("seccion").value;
		if ((secc=='ventas') && (numdoc!=0)){
			document.datos.numdoc.value = numdoc;
		};
	}
	function capturaTecla(e){
		if(document.all){
			tecla=event.keyCode;
			var tabix=parseFloat(event.srcElement.getAttribute("tabindex"));
			var nameobj=(event.srcElement.getAttribute("name"));
		}
		else{
			tecla=e.which; 
			var tabix=parseFloat(e.target.getAttribute("tabindex"));
			var nameobj=(e.target.getAttribute("name"));
		};
		if(tecla==13){
			/*if (miboton==6){
				//temp=selcuenta('cuentas');
			};*/
			temp=enfoca(tabix, nameobj);
		}
	}  
	function modificacliente(){
		var numerocli = document.datos.clientes.value;
		var ventana;
		
		if ((numerocli>0)){
			ventana = "modcliente.php?numerocli=" + numerocli;
			temp = openWindow(ventana);
		}
		else{
			alert("No hay elementos seleccionados");
		}
	}
	function editimport(){
		var boton = document.getElementById("desactivaimport");
		
		if (!boton.disabled){
			var numimp = document.datos.nimport.value;
			var ventana;
			
			if ((numimp>0)){
				ventana = "editimport.php?reg=" + numimp;
				temp = openWindow(ventana);
			}
			else{
				alert("No hay elementos seleccionados");
			}
		}
	}
	function editprov(){
		var numerocli = document.getElementById("provs").value;
		var ventana;
		
		if ((numerocli>0)){
			ventana = "editproveedor.php?reg=" + numerocli;
			temp = openWindow(ventana);
		}
		else{
			alert("No hay elementos seleccionados");
		}
	}
	function continuaaddart(){
		document.datos.submit();
	}
	function validarart(){
	    var linea = parseFloat(document.datos.linea.value);
	    var proce = parseFloat(document.datos.procedencia.value);
	    var nombre = limpiatexto(document.datos.nombre.value);
	    var numorig = limpiatexto(document.datos.numorig.value);
	    var marca = limpiatexto(document.datos.marca.value);
	    var modelo = limpiatexto(document.datos.modelo.value);
	    var color = limpiatexto(document.datos.color.value);
	    var medida = limpiatexto(document.datos.medida.value);
	    var talle = limpiatexto(document.datos.talle.value);
	    var estante = limpiatexto(document.datos.estante.value);
	    var obs = limpiatexto(document.datos.obs.value);
	    var provs;
	    var temp;
	    var i;
	    
	    var error=false;
	    var msg="Atenci\u00f3n: errores encontrados:";
	    
	    //para el art\u00EDculo.
	    if ((isNaN(linea))||(linea==0)) {
		error=true;
		msg+="\nDebe seleccionar una L\u00EDnea.";
	    };
	    if ((nombre)==""){
		error=true;
		msg+="\nDebe ingresar un Nombre.";
	    };
	    if ((isNaN(proce))||(proce==0)){
		error=true;
		msg+="\nDebe seleccionar una Procedencia.";
	    };
	    if(!error){
		if (confirm("¿Est\u00E1 seguro de confirmar los datos?")){
			//escribo datos proveedores
			temp = document.datos.provs.length;
			for (i=0;i<temp;i++){
				if (document.datos.provs.options[i].value>0){
					document.datos.strprovs.value = document.datos.strprovs.value + document.datos.provs.options[i].value + ';';
				}
			}
			document.datos.strprovs.value = document.datos.strprovs.value + ':';	document.datos.nombre.value=nombre;
			document.datos.numorig.value=numorig;
			document.datos.marca.value=marca;
			document.datos.modelo.value=modelo;
			document.datos.color.value=color;
			document.datos.medida.value=medida;
			document.datos.talle.value=talle;
			document.datos.estante.value=estante;
			document.datos.obs.value=obs;
			document.datos.diascambio.disabled = false;
			document.datos.pcostosimp.disabled = false;
			document.datos.pventasinimp.disabled = false;
			document.datos.pcostocimp.disabled = false;
			document.datos.pvtacimp.disabled = false;
			document.datos.nodtomax.disabled=false;
			
			document.datos.submit();
		}
	    }else{
		alert(msg);
	    }
	}
	function validarprov(){
	    var nombre = limpiatexto(document.datos.nombre.value);
	    var razon = limpiatexto(document.datos.razonsoc.value);
	    var dir = limpiatexto(document.datos.dir.value);
	    var local = limpiatexto(document.datos.local.value);
	    var depto = (document.datos.depto.value);
	    var ruc = limpiatexto(document.datos.ruc.value);
	    var provs;
	    var temp;
	    var i;
	    
	    var error=false;
	    var msg="Atenci\u00f3n: errores encontrados:";
	    
	    //para el art\u00EDculo.
	    if ((isNaN(depto))||(depto==0)) {
		error=true;
		msg+="\nDebe seleccionar un Departamento.";
	    };
	    if ((nombre)==""){
		error=true;
		msg+="\nDebe ingresar un Nombre Comercial.";
	    };
	    if ((ruc)==""){
		error=true;
		msg+="\nDebe ingresar un N\xfamero de Ruc.";
	    };
	    if ((razon)==""){
		error=true;
		msg+="\nDebe ingresar una Raz\xf3n Social.";
	    };
	    if ((dir)==""){
		error=true;
		msg+="\nDebe ingresar una Direcci\xf3n.";
	    };
	    if ((local)==""){
		error=true;
		msg+="\nDebe ingresar una Localidad.";
	    };

	    if(!error){
		if (confirm("¿Est\u00E1 seguro de confirmar los datos?")){
			document.datos.ruc.value=ruc;
			document.datos.nombre.value=nombre;
			document.datos.razonsoc.value=razon;
			document.datos.dir.value=dir;
			document.datos.local.value=local;
			
			document.datos.submit();
		}
	    }else{
		alert(msg);
	    }
	}
	function validalinea(){
		var setsindtos = (document.datos.sindtos.checked);
		var setsindtosant = parseFloat(document.datos.sindtosant.value);
		var resp;

		if (setsindtos){
		    setsindtos = 1;
		}else{
		    setsindtos = 0;
		}
		if (setsindtos !== setsindtosant){
		    if (setsindtos == 1){
			resp = confirm("Ha cambiado la configuraci\u00f3n de la l\u00ednea para NO aceptar descuentos. Esto eliminar\u00e1 cualquier descuento concedido a clientes sobre art\u00edculos de esta l\u00ednea. ¿Confirma el cambio?");
		    }else{
			resp = confirm("Ha cambiado la configuraci\u00f3n de la l\u00ednea para Aceptar descuentos. Esto permitir\u00e1 conceder descuentos a clientes sobre art\u00edculos de esta l\u00ednea. ¿Confirma el cambio?");
		    }
		    if (resp){
			alert("Se aplicaran los cambios establecidos");
			document.datos.submit();
		    }else{
			alert("La modificacion fue Cancelada.");
			window.close();
		    }
		}else{
			document.datos.submit();
		}
	}
	function modlinea(dato, dato1, dato2, dato3){
	    var i=0;
	    var ind=0;
	    var max = 0;
	    var opt;
		
	    max = window.opener.document.datos.linea.length;
	    ind=max;
	    for (i=0;i<max;i++){
		if (window.opener.document.datos.linea.options[i].value ==dato){
		    ind = i;
		};
	    };
	    if (ind<max){
		window.opener.document.datos.linea.options[ind].text = dato1;
	    }else{
		opt = new Option(dato1, dato);
		window.opener.document.datos.linea.options[ind] = opt;
	    };
	    window.opener.document.datos.linea.value = dato;
	    window.close();
	}
	
	function modificaproc(modo){
		var numeroproc = parseFloat(document.datos.procedencia.value);
		var ventana;

		if (modo==0){
		    if ((numeroproc>0)){
			    ventana = "modificaprocedencia.php?reg=" + numeroproc;
			    temp = openWindow(ventana);
		    }
		    else{
			    alert("No hay elementos seleccionados");
		    }
		}else{
			    ventana = "modificaprocedencia.php";
			    temp = openWindow(ventana);
		}
	}
	function modprocedencia(dato, dato1){
	    var i=0;
	    var ind=0;
	    var max = 0;
	    var opt;
		
	    max = window.opener.document.datos.procedencia.length;
	    ind=max;
	    for (i=0;i<max;i++){
		if (window.opener.document.datos.procedencia.options[i].value ==dato){
		    ind = i;
		};
	    };
	    if (ind<max){
		window.opener.document.datos.procedencia.options[ind].text = dato1;
	    }else{
		opt = new Option(dato1, dato);
		window.opener.document.datos.procedencia.options[ind] = opt;
	    };
	    window.opener.document.datos.procedencia.value = dato;
	    window.close();
	}
	function addprovart(numprov){
	    document.datos.provsel.value = numprov;
	    //document.datos.artsel.value = window.opener.document.datos.numart.value;
	    document.datos.submit();
	}
	function modificaprovart(modo){
		var numeroprov = parseFloat(document.getElementById('provs').value);
		var numeroart = parseFloat(document.getElementById('selcuentasprovart').value);
		var ventana;

		if ((isNaN(numeroprov)) || (isNaN(numeroart))){
			alert("No hay elementos seleccionados");
		}else{
			if (modo==0){
			if ((numeroprov>0)){
				if (numeroart>0){
					ventana = "modificaprovart.php?prov=" + numeroprov + "&art=" + numeroart;
					temp = openWindow(ventana);
				}else{
				alert("No hay elementos seleccionados");
				}
			}
			else{
				alert("No hay elementos seleccionados");
			}
			}else{
				if (modo==1){
				ventana = "buscaprov.php";
				temp = openWindow(ventana);
				}else{
					if ((numeroprov>0)){
						if (confirm("\xbfEst\u00e1 seguro de eliminar la relacion del art\u00edculo con el proveedor seleccionado?")){
							ventana = "borraprovart.php?prov=" + numeroprov + "&art=" + numeroart;
							temp = openWindow(ventana);
						}
					}else{
						alert("No hay elementos seleccionados");
					}
				}
			}
		}
	}
	function modprovart(dato, dato1){
	    var i=0;
	    var ind=0;
	    var max = 0;
	    var opt;

	    max = window.opener.document.datos.provs.length;
	    ind=max;
	    for (i=0;i<max;i++){
		if (window.opener.document.datos.provs.options[i].value ==dato){
		    ind = i;
		};
	    };
	    if (ind<max){
		window.opener.document.datos.provs.options[ind].text = dato1;
	    }else{
		opt = new Option(dato1, dato);
		window.opener.document.datos.provs.options[ind] = opt;
	    };
	    window.opener.document.datos.provs.value = dato;
	    window.close();
	}

	function selprov(dato){
	    var i=0;
	    var ind=0;
	    var max = 0;
	    var opt;
        var seccion = window.opener.document.getElementById("seccion").value;

        window.opener.document.datos.clientes.value = dato;
    
/*
	max = window.opener.document.datos.clientes.length;
	    ind=max;
	    for (i=0;i<max;i++){
		if (window.opener.document.datos.clientes.options[i].value ==dato){
		    ind = i;
		};
	    };
	    if (ind<max){
		window.opener.document.datos.clientes.value = ind;
	    };*/
	    window.close();
        window.opener.cambiacli(seccion, 'GUARDA');
	}

	function enfoca(tabix, nameobj){
        var control;
        var tipodoc = parseFloat(document.getElementById("tipodoc").value);
			switch (nameobj) {
            case 'provs':
            case 'clientes':
                if (tipodoc==5){
					temp = document.datos.importe.focus();
					temp = document.datos.importe.select();
                }
                break;
			case 'numorig':
			case 'cuentasprovart':
			case 'cuentas':
					temp = document.datos.precio.focus();
					temp = document.datos.precio.select();
					break;
/*				case 'ok':
		//			temp = agregalinea();
					break;
				case 'confirmar':
		//			temp = remitir();
					break;*/
            default:
                tabix = tabix + 1;
                for( j = 0 ; j < document.datos.elements.length; j++){
                    if( document.datos.elements[j].tabIndex == tabix){
                        if( document.datos.elements[j].disabled){
                            tabix = tabix + 1;
                        }else{
                            control = document.getElementById(document.datos.elements[j].id);
                            if (control.parentNode.display=='none'){
                                tabix = tabix + 1;
                            }else{
                                break;
                            }
                        }
                    }
                }
                if (document.datos.elements[j]){
                    document.datos.elements[j].focus();
                };
                break;
			};		
			return false;
        
/*	alert(tabix, idobj);
		if (idobj){
			var obj = document.getElementById(idobj);
			switch (obj.name) {
				case ('cuentas' || 'cuentasel'):
					temp = document.datos.cant.focus();
					temp = document.datos.cant.select();
					break;
				case 'ok':
		//			temp = agregalinea();
					break;
				case 'confirmar':
		//			temp = remitir();
					break;
				default:
					tabix = tabix + 1;
					while ((document.datos.elements[num].disabled)||(document.datos.elements[num].readonly)){
						num = num + 1;
					};
					document.datos.elements[num].focus();
		//			if ((num==1)||(num==3)||(num==7)){
		//				document.datos.elements[num].select();
		//			}
					break;
			};
		};*/
	}
	function borradet(flag, pregunta){
		var tipodoc = document.getElementById("tipodoc");
		var seccion = document.getElementById("seccion").value;
		var selart = document.getElementById("selart");
		var tabartsel = document.getElementById("tabartsel");
		var tabdet= document.getElementById("tabdet");
		var tabdetg= document.getElementById("tabdetg");
		var divtotart = document.getElementById("divtotart");
		var divro = document.getElementById("divro");
		var cp = document.getElementById("contrap");
		var cant = document.getElementById("cant");
		var precio = document.getElementById("precio");
		var dto = document.getElementById("dto");
		var fvto = document.getElementById("fvto");
		var totgral = document.getElementById("totalgral");
		var cantg = document.getElementById("cantg");
		var costo = document.getElementById("costo");
		var dtog = document.getElementById("dtog");
		var ctasel = document.getElementById("cuentasel");
		var divimport = document.getElementById("selimport");
		var resp=true;
		var haygasto = document.getElementById("tabdetg").rows.length;
        var herramart = document.getElementById("herramart");
        var seltasaiva = document.getElementById("seltasaiva");
        var importe = document.getElementById("importe");
		
		if  (((tabdetg.rows.length>1)||(tabdet.rows.length>1))&&(flag=='GUARDA')&&(pregunta=='pregunta')){
			resp = confirm("Atenci\xf3n: Esta acci\xf3n restablecer\xe1 el documento eliminando el detalle ingresado. \n \xbfDesea continuar?");
		};
		if (resp){
			cant.disabled=false;
			precio.disabled=false;
			dto.disabled=false;
            divro.style.display='none';
            ctasel.value='';
            precio.value=0;
            if (seccion=='gastos'){
                selart.style.display='none';
                tabartsel.style.display='none';
                divtotart.style.display='none';
                tabdet.style.display='none';
            }else{
                if (divimport.style.display==''){
                    desbloqueaimport();
                }else{
                    selart.style.display='';
                    herramart.style.display='';
                } 
				seltasaiva.disabled=false;
            }
            if ((seccion=='ventas')||(seccion=='iniventas')){
                var fecha = new Date();
                var mes = fecha.getMonth()+1;
                fvto.value = fecha.getDate() + '/' + mes + '/' + fecha.getFullYear();
                importe.value=0;
                importe.disabled = true;
                importe.readonly = true;
				seltasaiva.disabled=true;
            };
			switch (parseFloat(tipodoc.value)){
			case 5:
                cant.value=0;
                precio.value=0;
                dto.value=0;
                cantg.value=0;
                costo.value=0;
                dtog.value=0;
                ctasel.value='Recibo Oficial';
                herramart.style.display='none';
                divro.style.display='';
                selart.style.display='none';
				seltasaiva.disabled=true;
                tabartsel.style.display='';
                tabdet.style.display='';
                divtotart.style.display='';
				cant.disabled=true;
				precio.disabled=true;
				dto.disabled=true;
                if ((seccion!=='gastos')&&(seccion!=='ventas')&&(seccion!=='iniventas')){
                    incluirgasto('nopreguntar');
                }
                if ((seccion=='ventas')||(seccion=='iniventas')){
                    var scp = document.getElementById("seriecp");
                    scp.value="";
                    scp.disabled=true;
                    importe.disabled = false;
                    importe.readonly = false;
                }
			case 6:
				cp.value ="";
				cp.disabled=true;
                if (((seccion=='ventas')||(seccion=='iniventas'))&&(parseFloat(tipodoc.value)==6)){
                    var fecha = new Date();
                    var plazocto = parseFloat(document.getElementById("plazocto").value);
                    var dia = parseFloat(fecha.getDate()) + plazocto;
                    fecha.setDate(dia);
                    var mes = fecha.getMonth()+1;
                    fvto.value = fecha.getDate() + '/' + mes + '/' + fecha.getFullYear();
                }
				break;
			case 1:
			case 2:
                if (((seccion=='ventas')||(seccion=='iniventas'))&&(parseFloat(tipodoc.value)==2)){
                    var fecha = new Date();
                    var plazocto = parseFloat(document.getElementById("plazocto").value);
                    var dia = parseFloat(fecha.getDate()) + plazocto;
                    fecha.setDate(dia);
                    var mes = fecha.getMonth()+1;
                    fvto.value = fecha.getDate() + '/' + mes + '/' + fecha.getFullYear();
                }
			case 3:
			case 4:
				cp.disabled = false;
                if ((seccion=='ventas')||(seccion=='iniventas')){
                    var scp = document.getElementById("seriecp");
                    scp.disabled=false;
                }
				break;
			};
    		if  (flag=='GUARDA'){
                //borra ingresos
                eliminadetalletodo();
                quitagasto('nopreguntar');
                eliminagasto('encabezado');
            }
            if (seccion=='gastos'){
                incluirgasto('nopreguntar');
            }

/*			rmfilastodas('tabdet');
			rmfilastodas('tabdetg');
			
			document.datos.totdto.value = '0';
			document.datos.total.value = '0';
			document.datos.subtotalsi.value = '0';
			document.datos.totiva.value = '0';
			document.datos.ivaper.value = '0';

			document.datos.totdtog.value = '0';
			document.datos.totalg.value = '0';
			document.datos.subtotalsig.value = '0';
			document.datos.totivag.value = '0';

			document.datos.totdtogral.value = '0';
			document.datos.totalgral.value = '0';
			document.datos.subtotalsigral.value = '0';
			document.datos.totivagral.value = '0';*/
			tipodocvig = parseFloat(document.datos.tipodoc.value);
    		if  (flag=='GUARDA'){
                    switch (seccion){
                    case 'compras':
                    case 'inicompras':
                        guardatmp('compras', 'detalle', 'borradetalle', '');
                        if (haygasto>1){
                            guardatmp('comprasg', 'detalle', 'borradetalle', '');
                        }
                        break;
                    case 'gastos':
                        if ((parseFloat(tipodoc.value)==5)){
                            guardatmp('recibog', 'detalle', 'borradetalle', '');
                        }else{
                            guardatmp('comprasg', 'detalle', 'borradetalle', '');
                        }
                        break;
                    case 'ventas':
                    case 'iniventas':
                        guardatmp('ventas', 'detalle', 'borradetalle', '');
                        break;
                    }
/*                if ((seccion!=='gastos')){
                    guardatmp('compras', 'detalle', 'borradetalle', '');
                }else{
                    if ((parseFloat(tipodoc.value)==5)){
                        guardatmp('recibog', 'detalle', 'borradetalle', '');
                    }else{
                        guardatmp('comprasg', 'detalle', 'borradetalle', '');
                    }
                }
                if ((haygasto>1)&&(seccion!=='gastos')){
                    guardatmp('comprasg', 'detalle', 'borradetalle', '');
                }*/
			}
			
		//accion cancelada
		}else{
			document.datos.tipodoc.value = tipodocvig;
		};
			//si se selecciono recibo oficial
	/*		if (document.datos.tipodoc.value==5){
				document.datos.cuentasel.value="";
		};*/
	}
	function borrarlinea(idtable, linea){
		var total = 0;
		var subtotal;
		var totiva;
		var TABLE = document.getElementById(idtable);
		var tr = document.getElementById(idtable).getElementsByTagName("tr")[linea];
		var nart = tr.getElementsByTagName("td")[0].innerHTML;
		var art = tr.getElementsByTagName("td")[1].innerHTML;
		var lprecio = tr.getElementsByTagName("td")[3].innerHTML;
		var lcant = tr.getElementsByTagName("td")[5].innerHTML;
		var lsubtot = parseFloat(tr.getElementsByTagName("td")[6].innerHTML);
		var liva = parseFloat(tr.getElementsByTagName("td")[8].innerHTML);
		var ltotal = parseFloat(tr.getElementsByTagName("td")[9].innerHTML);
		var ldto = ((lcant * lprecio)-lsubtot);
		var dto=0;
		var datos;
		var resp;
		var numintdet;
		var encabezado = document.getElementById("encabezado");
		var seccion = document.getElementById("seccion").value;
        var tipodoc = parseFloat(document.getElementById("tipodoc").value);

		resp = confirm("\xbfEst\xe1 seguro de eliminar la l\xednea: " + art + " importe: " + ltotal + "?");
		if (resp){
			rmfila(idtable, linea);
			//cargarajax('ajaxrespdet', url, 'ajaxrespdet', '', '', '', '');
			switch (idtable){
			case 'tabdet':
				total = redondea(parseFloat(document.datos.total.value) - ltotal);
				subtotal = redondea(parseFloat(document.datos.subtotalsi.value) - lsubtot);
				totiva = redondea(parseFloat(document.datos.totiva.value) - liva);
                if (tipodoc!==5){
                    dto = redondea(parseFloat(document.datos.totdto.value) - ldto);
                }
				
				document.datos.total.value = total;
				document.datos.subtotalsi.value = subtotal;
				document.datos.totiva.value = totiva;
				document.datos.totdto.value = dto;
				
				document.datos.totdtogral.value = redondea(dto + parseFloat(document.datos.totdtog.value));
				document.datos.totalgral.value = redondea(total + parseFloat(document.datos.totalg.value));
				document.datos.subtotalsigral.value = redondea(subtotal + parseFloat(document.datos.subtotalsig.value ));
				document.datos.totivagral.value = redondea(totiva + parseFloat(document.datos.totivag.value));
				numintdet = parseFloat(document.getElementById("numinttabdet"+linea).value);
				datos = linea + "<;>" + numintdet + "<;>" + nart + "<;>" + ltotal;	

                    switch (seccion){
                    case 'compras':
                    case 'inicompras':
        				guardatmp('compras', 'detalle', 'borralinea', datos);
                        break;
                    case 'gastos':
                        if (tipodoc==5){
                            guardatmp('recibog', 'detalle', 'borralinea', datos);
                        }
                        break;
                    case 'ventas':
                    case 'iniventas':
                        guardatmp('ventas', 'detalle', 'borralinea', datos);
                        break;
                    }
                /*if ((seccion!=='gastos')){
    				guardatmp('compras', 'detalle', 'borralinea', datos);
                }else{
                    if (tipodoc==5){
        				guardatmp('recibog', 'detalle', 'borralinea', datos);
                    }
                }*/
				break;
			case 'tabdetg':
				total = redondea(parseFloat(document.datos.totalg.value) - ltotal);
				subtotal = redondea(parseFloat(document.datos.subtotalsig.value) - lsubtot);
				totiva = redondea(parseFloat(document.datos.totivag.value) - liva);
                if (tipodoc!==5){
    				dto = redondea(parseFloat(document.datos.totdtog.value) - ldto);
                }
				
				document.datos.totdtog.value = dto;
				document.datos.totalg.value = total;
				document.datos.subtotalsig.value = subtotal;
				document.datos.totivag.value = totiva;

				document.datos.totdtogral.value = redondea(dto + parseFloat(document.datos.totdto.value));
				document.datos.totalgral.value = redondea(total + parseFloat(document.datos.total.value));
				document.datos.subtotalsigral.value = redondea(subtotal + parseFloat(document.datos.subtotalsi.value ));
				document.datos.totivagral.value = redondea(totiva + parseFloat(document.datos.totiva.value));

				numintdet = parseFloat(document.getElementById("numinttabdetg"+linea).value);
                    
				datos = linea + "<;>" + numintdet + "<;>" + nart + "<;>" + ltotal;	
				guardatmp('comprasg', 'detalle', 'borralinea', datos);
				break;
			};
            if (tipodoc==5){
                detacro('importe', '0','0');
            }
		};
	}
	
	function busartnumorig(numorig){
        var tipodoc = document.getElementById("tipodoc");
        //Excluye Recibo Oficial
		if (tipodoc.value != 5){
            if (numorig!==""){
                var url = "libsajax/busartnumorig.php?numorig=" + numorig;
                cargarajax('ajaxrespnumorig', url, 'tabnumorig', '','',"selcuenta('numorig');",'');
            }
        }
	}
	
	function borralineaviejo(num){
		eval("if (document.datos.detnumcta" + num + ".value != ''){document.datos.total.value = redondea(parseFloat(document.datos.total.value) - parseFloat(document.datos.detimporte" + num + ".value));document.datos.subtotalsi.value = redondea(parseFloat(document.datos.subtotalsi.value) - parseFloat(document.datos.detimpsinimp" + num + ".value));document.datos.totiva.value = redondea(parseFloat(document.datos.totiva.value) - parseFloat(document.datos.detiva" + num + ".value));document.datos.totcofis.value = redondea(parseFloat(document.datos.totcofis.value) - parseFloat(document.datos.detcofis" + num + ".value));document.datos.detnumcta" + num + ".value = '';document.datos.detcta" + num + ".value = '';document.datos.detmoneda" + num + ".value = '';document.datos.detimpsinimp" + num + ".value = '';document.datos.detcodcofis" + num + ".value = '';document.datos.detcofis" + num + ".value = '';document.datos.detcodiva" + num + ".value = '';document.datos.detiva" + num + ".value = '';document.datos.detimporte" + num + ".value = '';};");
	
	}
	function checktmp(modo, usuario){
        var importe = document.getElementById("importe");
        var tasaiva = document.getElementById("seltasaiva");
        //estos modos 
		switch (modo){
		case 'inicompras':
			var url = "libsajax/checkprodoctmp.php";
			break;
		case 'iniventas':
			var url = "libsajax/checkprodoctmpvtas.php";
            importe.value=0;
            importe.disabled = true;
            importe.readonly = true;
            tasaiva.disabled = true;
            tasaiva.readonly = true;
			break;
		};
		url = url + "?modo=" + modo + "&us=" + usuario;
		accion = "respuptmp(ajax.responseText,'" + modo + "', '');";
		cargarajax('ajaxrespdet', url, 'ajaxrespdet', '','',accion,'');
	}
	function guardatmp(modo, tipo, flag, datos){
		var tipodoc = document.datos.tipodoc.options[document.datos.tipodoc.selectedIndex].text;
		var moneda = parseFloat(document.datos.moneda.value);
		var contrap = document.datos.contrap.value;
		var prov = parseFloat(document.datos.provs.value);
		var fvto = (document.datos.fvto.value);
		var obs = (document.datos.comenta.value);
		var accion;
		var ivaper = 0;
                
		
		if (fvto!==""){
			temp = cambiaformato(fvto, '-');
			if (!temp){
				// si es false fvto puede tener formato aaaa-mm-dd
			}else{
				fvto = temp;
			}
		}
        //modo convierte seccion de prodoccompras de la siguiente forma
        //seccion compras es modo compras o comprasg
        //seccion gastos es modo comprasg o recibog
        //seccion ventas aún no implementado
		switch (modo){
		case 'recibog':
/*            if (parseFloat(document.datos.encabezado.value)==0){
                document.datos.encabezado.value = document.datos.encabezadog.value;
            }*/
		case 'compras':
            var dia = document.datos.dia.value;
            var mes = parseFloat(document.selmes.messel.value);
            var anio = parseFloat(document.selmes.ejsel.value);
            var numdoc = document.datos.numdoc.value;
            var nimport = parseFloat(document.datos.nimport.value);
			var nencab = parseFloat(document.datos.encabezado.value);
			var nencabg = parseFloat(document.datos.encabezadog.value);
			var subtotal = parseFloat(document.datos.subtotalsi.value);
			var dtos = parseFloat(document.datos.totdto.value);
			var total = parseFloat(document.datos.total.value);
			//var ivaper = parseFloat(document.datos.ivaper.value);
			//este switch no es necesario por ahora
			switch (tipo){
			case 'encabezado':
				var url = "libsajax/addprodoctmp.php";
				break;
			case 'detalle':
				var url = "libsajax/addprodoctmp.php";
				break;
			};
			break;
		case 'comprasg':
            var dia = document.datos.dia.value;
            var mes = parseFloat(document.selmes.messel.value);
            var anio = parseFloat(document.selmes.ejsel.value);
            var numdoc = document.datos.numdoc.value;
            var nimport = parseFloat(document.datos.nimport.value);
			var nencab = parseFloat(document.datos.encabezado.value);
			var nencabg = parseFloat(document.datos.encabezadog.value);
			var subtotal = parseFloat(document.datos.subtotalsig.value);
			var dtos = parseFloat(document.datos.totdtog.value);
			var total = parseFloat(document.datos.totalg.value);
			//var ivaper = 0;
			switch (tipo){
			case 'encabezado':
				var url = "libsajax/addprodoctmp.php";
				break;
			case 'detalle':
				var url = "libsajax/addprodoctmp.php";
				break;
			};
			break;
		case 'ventas':
            var numdoc = 0;
            var nimport = 0;
            var fecha = document.datos.fecha.value;
            var dia = fecha.substr(0,2);
            var mes = fecha.substr(3,2);
            var anio = fecha.substr(6,4);
            //alert (dia + '/' + mes + '/' + anio);
			var numintcp = parseFloat(document.datos.numintcp.value);
			var nencab = parseFloat(document.datos.encabezado.value);
			var nencabg = parseFloat(document.datos.encabezadog.value);
			var subtotal = parseFloat(document.datos.subtotalsi.value);
			var dtos = parseFloat(document.datos.totdto.value);
			var total = parseFloat(document.datos.total.value);
			ivaper = parseFloat(document.datos.totiva.value);
			//este switch no es necesario por ahora
			switch (tipo){
			case 'encabezado':
				var url = "libsajax/addprodoctmpvtas.php";
				break;
			case 'detalle':
				var url = "libsajax/addprodoctmpvtas.php";
				break;
			};
			break;
		};
		
		url = url + "?modo=" + modo + "&tipo=" + tipo + "&nencab=" + nencab + "&nencabg=" + nencabg + "&flag=" + flag + "&numdoc=" + numdoc + "&tipodoc=" + tipodoc + "&dia=" + dia + "&mes=" + mes + "&anio=" + anio + "&fvto=" + fvto + "&moneda=" + moneda + "&contrap=" + contrap + "&numintcp=" + numintcp + "&prov=" + prov + "&subtotal=" + subtotal + "&dtos=" + dtos + "&ivaper=" + ivaper + "&total=" + total + "&obs=" + obs + "&nimport=" + nimport + "&datos=" + datos;
		accion = "respuptmp(ajax.responseText,'" + modo + "', '" + tipo +"');";
		//alert (url);
		cargarajax('ajaxrespdet', url, 'ajaxrespdet', '','',accion,'');
	}
	function respuptmp(respuesta, modo, tipo){
//	alert(respuesta);
		var numintdet;
		var resp;
		var encabezado = document.getElementById("encabezado");
		var encabezadog = document.getElementById("encabezadog");
        var mestmp=0;
        var ejtmp=0;
        var nencabcp=0;
		var largo;
        var msgfecha='';
        if ((modo!=='iniventas')&&(modo!=='ventas')){
            var messel = parseFloat(document.getElementById("messel").value);
            var ejsel = parseFloat(document.getElementById("ejsel").value);
        }
		if (respuesta.search(/<OK>/)>-1){
			if (respuesta.search(/<EXISTE>/)>-1){
				// si EXISTE Atenci\xf3n: el documento que ha especificado ya est\xe1 procesando. No se permite continuar
				alert("Atenci\xf3n: el documento que ha especificado ya est\xe1 procesado. No se permite continuar.");
				eliminadoc(modo, 'PARCIAL');
			}else{
				if (respuesta.search(/<Error>/)>-1){
					alert("Se provoc\xf3 un error en autoguardar: " + respuesta + "\nNo se permite continuar");
					eliminadoc(modo, 'PARCIAL');
				}else{
                    if (respuesta.search(/<ErrorContrap>/)>-1){
                        alert("Atenci\xf3n: debe especificar una contrapartida correcta para el documento que est\xe1 procesando.");
                        eliminadetcontrap();
                    }
/*                    if (respuesta.search(/<ContrapOK>/)>-1){
                        //if (confirm("Especific\f3n una contrapartida correcta. \n \xbfDesea cargar los datos de la contrapartida autom\xe1ticamente?.")){
                        temp = respuesta.search(/<ContrapOK>/) + 11;
                        largo = respuesta.indexOf(';', temp)-temp;
                        nencabcp = redondea(respuesta.substr(temp, largo));
                        cargadetcontrap(nencabcp, "GUARDA");
                        //};
                    }*/
                    if (respuesta.search(/<Encabezado>/)>-1){
                        temp = respuesta.search(/<Encabezado>/) + 12;
                        encabezado.value =parseFloat(respuesta.substr(temp, respuesta.length));
                    }
                    if (respuesta.search(/<Encabezadog>/)>-1){
                        temp = respuesta.search(/<Encabezadog>/) + 13;
                        encabezadog.value =parseFloat(respuesta.substr(temp, respuesta.length));
                    }
                    if (respuesta.search(/<NumInternoDet>/)>-1){
                        temp = respuesta.search(/<NumInternoDet>/) + 15;
                        largo = respuesta.indexOf(';', temp)-temp;
                        numintdet = redondea(parseFloat(respuesta.substr(temp, largo)));
                        var tabdet = document.getElementById("tabdet");
                        i = tabdet.rows.length-1;
                        eval("document.datos.numinttabdet" + i + ".value = numintdet;");
                    }			
                    if (respuesta.search(/<NumInternoDetg>/)>-1){
                        temp = respuesta.search(/<NumInternoDetg>/) + 16;
                        largo = respuesta.indexOf(';', temp)-temp;
                        numintdet = redondea(parseFloat(respuesta.substr(temp, largo)));
                        var tabdet = document.getElementById("tabdetg");
                        i = tabdet.rows.length-1;
                        eval("document.datos.numinttabdetg" + i + ".value = numintdet;");
                    }			
                    if (respuesta.search(/<ELIMLineaDet>/)>-1){
                        temp = respuesta.search(/<ELIMLineaDet>/) + 14;
                        largo = respuesta.indexOf(';', temp)-temp;
                        numintdet = redondea(respuesta.substr(temp, largo));
                        eval("document.datos.numinttabdet" + numintdet + ".value = 0;");
                    }			
                    if (respuesta.search(/<ELIMLineaDetg>/)>-1){
                        temp = respuesta.search(/<ELIMLineaDetg>/) + 15;
                        largo = respuesta.indexOf(';', temp)-temp;
                        numintdet = redondea(respuesta.substr(temp, largo));
                        eval("document.datos.numinttabdetg" + numintdet + ".value = 0;");
                    }
                            if (respuesta.search(/<EXISTEContrap>/)>-1){
                                alert("Atenci\xf3n: Existen remitos pendientes del proveedor seleccionado. \n Verifique si el documento tiene un remito como contrapartida para evitar duplicaciones en el stock.");
                                        }
                                        
                    if (respuesta.search(/<NumDoc>/)>-1){
                        if (respuesta.search(/<Mes>/)>-1){
                            temp = respuesta.search(/<Mes>/) + 5;
                            largo = respuesta.indexOf(';', temp)-temp;
                            mestmp =parseFloat(respuesta.substr(temp, largo));
                        }
                        if (respuesta.search(/<Ejercicio>/)>-1){
                            temp = respuesta.search(/<Ejercicio>/) + 11;
                            largo = respuesta.indexOf(';', temp)-temp;
                            ejtmp =parseFloat(respuesta.substr(temp, largo));
                        }
                        if ((modo!=='iniventas')&&(modo!=='ventas')){
                            if ((mestmp==messel)&&(ejtmp==ejsel)){
                            }else{
                                msgfecha='\n La fecha del documento temporal (mes: ' + mestmp + ' ejercicio: ' + ejtmp + ') no corresponde al mes seleccionado, si continua con el proceso ahora cambiara el mes y ejercicio del documento a mes:' + messel + ' ejercicio: ' + ejsel;
                            }
                        }
                        resp = confirm("Atenci\xf3n: Hay otra sesi\xf3n abierta o no complet\xf3 correctamente el proceso de un documento." + msgfecha + "\n Presione Aceptar para completar el proceso ahora. Si Cancela se eliminar\xe1n los datos temporales guardados. \n En este m\xf3dulo no se permite trabajar con m\xe1s de una sesi\xf3n.");
                        if (resp){
                            recuperatmp(respuesta, modo);
                        }else{
                            eliminatmp(modo, 'encabezado');
                        }
                        temp = enfoca('0','');
                    }else{
                        if (modo=='inicompras'){
                            quitarimport();
                            temp = enfoca('0','');
                        }
                    }
				}
			}
			/*if (respuesta.search(/<DUPLICADO>/)>-1){
				//si DUPLICADO
				alert("Atenci\xddn: por alguna raz\xdd ya existe un documento temporal similar al que est\xdd procesando.");
				resp = confirm("\xddDesea sobreescribirlo?");
				if (resp){
					guardatmp(modo, tipo, 'sobreescribir');
				};
			};*/

		}
	}
	function recuperatmp(respuesta, modo){
		var largo;
		var detalle;
		var lineas=new Array();
		var celdas=new Array();
		var ind=0;
		var iva=0;
		var ivag=0;
        var tipodoc =0;
        var monsel=0;
		var nimport=0;
        var cargacontrap=false;
        var secc = document.getElementById("seccion").value;

//alert(respuesta);
		if (respuesta.search(/<Encabezado>/)>-1){
			temp = respuesta.search(/<Encabezado>/) + 12;
			largo = respuesta.indexOf(';')-temp;
			document.datos.encabezado.value =parseFloat(respuesta.substr(temp, largo));
		}			
        if ((modo!=='iniventas')&&(modo!=='ventas')){
            if (respuesta.search(/<NumDoc>/)>-1){
                temp = respuesta.search(/<NumDoc>/) + 8;
                largo = respuesta.indexOf(';', temp)-temp;
                document.datos.numdoc.value =(respuesta.substr(temp, largo));
            }			
            if (respuesta.search(/<Dia>/)>-1){
                temp = respuesta.search(/<Dia>/) + 5;
                largo = respuesta.indexOf(';', temp)-temp;
                document.datos.dia.value =parseFloat(respuesta.substr(temp, largo));
            }
        }else{
            if (respuesta.search(/<Fecha>/)>-1){
                temp = respuesta.search(/<Fecha>/) + 7;
                largo = respuesta.indexOf(';', temp)-temp;
                document.datos.fecha.value =respuesta.substr(temp, largo);
            }
        }
		if (respuesta.search(/<TipoDoc>/)>-1){
			temp = respuesta.search(/<TipoDoc>/) + 9;
			largo = respuesta.indexOf(';', temp)-temp;
            tipodoc=parseFloat(respuesta.substr(temp, largo))
			document.datos.tipodoc.value =tipodoc;
			tipodocvig = parseFloat(document.datos.tipodoc.value);
		}			
		if (respuesta.search(/<Moneda>/)>-1){
			temp = respuesta.search(/<Moneda>/) + 8;
			largo = respuesta.indexOf(';', temp)-temp;
            monsel=parseFloat(respuesta.substr(temp, largo));
			document.datos.moneda.value =monsel;
			cambiamon(modo);
		}			
		if (respuesta.search(/<FVto>/)>-1){
			temp = respuesta.search(/<FVto>/) + 6;
			largo = respuesta.indexOf(';', temp)-temp;
			document.datos.fvto.value =(respuesta.substr(temp, largo));
		}			
		if (respuesta.search(/<Proveedor>/)>-1){
			temp = respuesta.search(/<Proveedor>/) + 11;
			largo = respuesta.indexOf(';', temp)-temp;
			document.datos.clientes.value =parseFloat(respuesta.substr(temp, largo));
		}			
        if ((modo!=='iniventas')&&(modo!=='ventas')){
            if (respuesta.search(/<Importacion>/)>-1){
                temp = respuesta.search(/<Importacion>/) + 13;
                largo = respuesta.indexOf(';', temp)-temp;
                nimport = parseFloat(respuesta.substr(temp, largo));
                document.datos.nimport.value =nimport;
            }			
            if (respuesta.search(/<Contrapartida>/)>-1){
                temp = respuesta.search(/<Contrapartida>/) + 15;
                largo = respuesta.indexOf(';', temp)-temp;
                document.datos.contrap.value =(respuesta.substr(temp, largo));
                if (largo>0){
                    cargacontrap=true;
                }
            }			
            if (respuesta.search(/<IVAPercibido>/)>-1){
                temp = respuesta.search(/<IVAPercibido>/) + 14;
                largo = respuesta.indexOf(';', temp)-temp;
                //document.datos.ivaper.value =redondea(parseFloat(respuesta.substr(temp, largo)));
            }
        }else{
            if (respuesta.search(/<Contrapartida>/)>-1){
                temp = respuesta.search(/<Contrapartida>/) + 15;
                largo = respuesta.indexOf(';', temp)-temp;
                document.datos.numintcp.value =parseFloat(respuesta.substr(temp, largo));
                if (largo>0){
                    cargacontrap=true;
                }
                if (respuesta.search(/<SerieFContraP>/)>-1){
                    temp = respuesta.search(/<SerieFContraP>/) + 15;
                    largo = respuesta.indexOf(';', temp)-temp;
                    document.datos.seriecp.value =respuesta.substr(temp, largo);
                }
                if (respuesta.search(/<NumFContraP>/)>-1){
                    temp = respuesta.search(/<NumFContraP>/) + 13;
                    largo = respuesta.indexOf(';', temp)-temp;
                    document.datos.contrap.value =respuesta.substr(temp, largo);
                }
            }
        }
		if (respuesta.search(/<SubTotal>/)>-1){
			temp = respuesta.search(/<SubTotal>/) + 10;
			largo = respuesta.indexOf(';', temp)-temp;
			document.datos.subtotalsi.value =redondea(parseFloat(respuesta.substr(temp, largo)));
			document.datos.subtotalsigral.value = redondea(document.datos.subtotalsi.value);
		}			
		if (respuesta.search(/<Dto>/)>-1){
			temp = respuesta.search(/<Dto>/) + 5;
			largo = respuesta.indexOf(';', temp)-temp;
			document.datos.totdto.value =redondea(parseFloat(respuesta.substr(temp, largo)));
			document.datos.totdtogral.value = redondea(document.datos.totdto.value);
		}			
		if (respuesta.search(/<Total>/)>-1){
			temp = respuesta.search(/<Total>/) + 7;
			largo = respuesta.indexOf(';', temp)-temp;
			document.datos.total.value =redondea(parseFloat(respuesta.substr(temp, largo)));
			document.datos.totalgral.value = redondea(document.datos.total.value);
		}			
		if (respuesta.search(/<Observaciones>/)>-1){
			temp = respuesta.search(/<Observaciones>/) + 15;
			largo = respuesta.indexOf(';', temp)-temp;
			document.datos.comenta.value =(respuesta.substr(temp, largo));
		}			
		if (respuesta.search(/<Encabezadog>/)>-1){
			temp = respuesta.search(/<Encabezadog>/) + 13;
			largo = respuesta.indexOf(';', temp)-temp;
			document.datos.encabezadog.value =redondea(parseFloat(respuesta.substr(temp, largo)));
		}			
		if (respuesta.search(/<SubTotalg>/)>-1){
			temp = respuesta.search(/<SubTotalg>/) + 11;
			largo = respuesta.indexOf(';', temp)-temp;
			document.datos.subtotalsig.value =redondea(respuesta.substr(temp, largo));
			document.datos.subtotalsigral.value = redondea(parseFloat(document.datos.subtotalsigral.value)  + parseFloat(document.datos.subtotalsig.value));
		}			
		if (respuesta.search(/<Dtog>/)>-1){
			temp = respuesta.search(/<Dtog>/) + 6;
			largo = respuesta.indexOf(';', temp)-temp;
			document.datos.totdtog.value =redondea(respuesta.substr(temp, largo));
			document.datos.totdtogral.value = redondea(parseFloat(document.datos.totdtog.value) + parseFloat(document.datos.totdtogral.value));
		}			
		if (respuesta.search(/<Totalg>/)>-1){
			temp = respuesta.search(/<Totalg>/) + 8;
			largo = respuesta.indexOf(';', temp)-temp;
			document.datos.totalg.value =redondea(respuesta.substr(temp, largo));
			document.datos.totalgral.value = redondea(parseFloat(document.datos.totalg.value ) + parseFloat(document.datos.totalgral.value));
            if (secc!=='gastos'){
                incluirgasto('nopreguntar');
            }
		}
		if (respuesta.search(/<Detalle>/)>-1){
			temp = respuesta.search(/<Detalle>/) + 9;
			largo = respuesta.search(/<FinDetalle>/)-temp;
			detalle = respuesta.substr(temp, largo);
			lineas = detalle.split(/<Linea>/);
			if (lineas.length==0){
				lineas[0]=detalle;
			}
			for (i=0;i<lineas.length;i++){
				celdas = lineas[i].split(/<;>/);
                    agregarfila ('tabdet', roundNumber(celdas[0],2), celdas[1], roundNumber(celdas[2],2), roundNumber(celdas[3],2), roundNumber(celdas[4],2),  roundNumber(celdas[5],2), roundNumber(celdas[6],2), roundNumber(celdas[7],2), roundNumber(celdas[8],2), roundNumber(celdas[9],2));
				ind = i +1;
				iva = iva + parseFloat(celdas[8]);
				eval ("document.datos.numinttabdet" + ind + ".value=" + roundNumber(celdas[10],0) + ";");
			}
		}
		document.datos.totiva.value = roundNumber(iva,2);
		if (respuesta.search(/<Detalleg>/)>-1){
			temp = respuesta.search(/<Detalleg>/) + 10;
			largo = respuesta.search(/<FinDetalleg>/)-temp;
			detalle = respuesta.substr(temp, largo);
			lineas = detalle.split(/<Linea>/);
			if (lineas.length==0){
				lineas[0]=detalle;
			}
			for (i=0;i<lineas.length;i++){
				celdas = lineas[i].split(/<;>/);
//agregarfila ('tabdet', cuenta, document.datos.cuentasel.value, moneda,  redondea(precio),  (dto), cant, redondea(impliq), redondea(iva), redondea(importe));	
				agregarfila ('tabdetg', roundNumber(celdas[0],2), celdas[1], roundNumber(celdas[2],2), roundNumber(celdas[3],2), roundNumber(celdas[4],2),  roundNumber(celdas[5],2), roundNumber(celdas[6],2), roundNumber(celdas[7],2), roundNumber(celdas[8],2), roundNumber(celdas[9],2));
				ind = i +1;
				ivag = ivag + parseFloat(celdas[8]);
				eval ("document.datos.numinttabdetg" + ind + ".value=" + roundNumber(celdas[10],0) + ";");
			}
		}
		document.datos.totivag.value = roundNumber(ivag,2);
		iva = iva + ivag;
		document.datos.totivagral.value = roundNumber(iva,2);
        //recibo oficial
        if (tipodoc==5){
            muestradivro();
            detacro('acro',monsel,'0');
            if ((secc!=="ventas")&&(secc!=="iniventas")){
                marcodtos();
            }
        }
		cambiacli(modo, "NOGUARDA");
        if ((nimport>0)||((secc!=="ventas")&&(secc!=="iniventas"))){
            desactivarimport("recuperatmp");
        }
        if ((cargacontrap)&&(secc=='compras')){
            cargadetcontrap(0, "NOGUARDA");
        }
    }
	function eliminatmp(modo, flag){
		var url = "libsajax/delprodoctmp.php?modo=" + modo + "&flag=" + flag;
		cargarajax('ajaxrespdet', url, 'ajaxrespdet', '', '', '', '');
        
		switch (modo){
		case 'inicompras':
		case 'compras':
		case 'gastos':
		case 'recibo':
		case 'recibog':
		case 'iniventas':
		case 'ventas':
		case 'recibovta':
			if (flag=='encabezado'){
				document.datos.encabezado.value=0;
				document.datos.encabezadog.value=0;
			};
			break;
		case 'comprasg':
			if (flag=='encabezado'){
				document.datos.encabezadog.value=0;
			};
			break;
		}
	}
	function eliminadoc(modo, flag){
		if (flag=='TODO'){
            if ((modo!="ventas")&&(modo!="recibovta")){
                document.datos.numdoc.value = "";
            }else{
                document.datos.seriecp.value = "";
            }
			document.datos.contrap.value = "";
            eliminadetcontrap()            
		}
		rmfilastodas('tabdet');
		rmfilastodas('tabdetg');
		
		document.datos.totdto.value = '0';
		document.datos.total.value = '0';
		document.datos.subtotalsi.value = '0';
		document.datos.totiva.value = '0';
		//document.datos.ivaper.value = '0';

		document.datos.totdtog.value = '0';
		document.datos.totalg.value = '0';
		document.datos.subtotalsig.value = '0';
		document.datos.totivag.value = '0';

		document.datos.totdtogral.value = '0';
		document.datos.totalgral.value = '0';
		document.datos.subtotalsigral.value = '0';
		document.datos.totivagral.value = '0';
        
        document.datos.desgpart1.value='0';
        document.datos.desgpart2.value='0';
		
		//switch (modo){
		//case 'compras':
		//case 'comprasg':
			//elimina todo
			eliminatmp(modo, 'encabezado');
        if (modo!=='ventas'){
			document.datos.numdoc.focus();
        }else{
			document.datos.tipodoc.focus();
        }
//			break;
	//	}
		yaconfirmo=0;
	}
	function agregalinea() {
		var importe;
		var impliq;
		var cuenta;
		var cofis;
		var iva;
		var total = 0;
		var subtotal;
		var totiva;
		var totcofis;
		var signo;
		var tipodoc=parseFloat(document.getElementById("tipodoc").value);
		var moneda = parseFloat(document.datos.moneda.value);
		var secc = document.getElementById("seccion").value;
		var nencab = parseFloat(document.datos.encabezado.value);
		var dtos = new Array();
		var dto=1;
		var impdto;
		var totdto;
		var tope;
		var cant;
		var precio;
		var busartnumorig = document.getElementById("resbusartnumorig");
        var cantmax= parseFloat(document.getElementById("cantmax").value);
        var syncdata= parseFloat(document.getElementById("syncdata").value);
		var datos;
        var continuar = false;
        
		if ((secc=='ventas')||(secc=='iniventas')){
            facpcimp=0;
        }
		if (((secc=='ventas')||(secc=='iniventas'))&&(syncdata==1)){
            continuar = true;
        }else{
            continuar =true;
        }
        if (continuar){
            if ((document.datos.cuentasel.value=="") && (tipodoc!=5)){
                alert("Seleccione una cuenta primero.");
            }else {
                if ((document.datos.importe.value=="")||(isNaN(document.datos.importeop.value))){
                    alert("Ingrese un Importe correcto.");
                }else{
                    cant = document.datos.cant.value;
                    if ((cantmax==-1)){
                        alert("Atenci\xf3n: Se agotaron las unidades disponibles a devolver para este art\xedculo.");
                        document.datos.cant.focus();
                    }else{
                        if ((cantmax>0)&&(cant>cantmax)){
                            alert("Atenci\xf3n: No puede especificar cantidad mayor a " +  cantmax + ".");
                            document.datos.cant.focus();
                        }else{
                            dtos = document.datos.dto.value.split("+");
                            tope = dtos.length;
                            for (i=0;i<tope;i++){
                                dto = dto * (1-(dtos[i]/100));
                            };
                            if (dto!==1){
                                dto = 100 - (dto * 100);
                                dto = roundNumber(dto,5);
                            }else{
                                dto=0;
                            }
                            //alert (dto);
                            //DEVOLUCIONES
                            if ((tipodoc==3)||(tipodoc==4)){
                                signo = (-1);
                            }else{
                                signo = 1;
                            };
                            if (tipodoc==5){
                                importe = parseFloat((document.datos.importe.value * signo));
                                impliq = (importe);
                                precio = 0;
                                cofis = 0;
                                iva = 0;
                                codcofis=0;
                                codiva=0;
                                porcofis=0;
                                poriva=0;
                                total = parseFloat(document.datos.total.value);
                                subtotal = parseFloat(document.datos.subtotalsi.value);
                                totiva = parseFloat(document.datos.totiva.value);
                                dto=0;
                                totdto = 0;
                                //totdto = parseFloat(document.datos.totdto.value);
                                //totcofis = parseFloat(document.datos.totcofis.value);
                                //document.datos.importe.value = "";
                                detacro('importe','0','0');
                            }else{
                                if (isNaN(codiva)) {
                                    codiva = parseFloat(document.datos.seltasaiva.value);
                                    estableceiva(codiva);
                                }
                                importe = parseFloat((document.datos.importe.value * signo));
                                cuenta = document.datos.numctasel.value;
                                cant = cant * signo;
            /*					temp = buscaruc(parseInt(document.datos.clientes.value));
                                temp = buscacofis(cuenta);
                                temp = buscaiva(cuenta);
                                if (secc == 'ventas'){
                                    if (!tieneruc){
                                        codcofis=0;
                                        porcofis=0;
                                    }
                                };*/
                        
                                impliq = parseFloat(document.datos.importeop.value * signo);
                                precio = parseFloat(document.datos.precioop.value * signo);
                                //cofis = impliq * (porcofis/100);
                                iva = (impliq) * (poriva/100);
                                total = parseFloat(document.datos.total.value);
                                subtotal = parseFloat(document.datos.subtotalsi.value);
                                totiva = parseFloat(document.datos.totiva.value);
                                totdto = parseFloat(document.datos.totdto.value);
                                //totcofis = parseFloat(document.datos.totcofis.value);
                                if (facpcimp==0){
                                //}else{
                                    impliq = (importe);
                                    importe = parseFloat(document.datos.importeop.value * signo);
                                    precio = parseFloat(document.datos.precio.value * signo);
                                    //cofis = impliq * (porcofis/100);
                                    iva = (impliq) * (poriva/100);
                                /*	total = parseFloat(document.datos.total.value);
                                    subtotal = parseFloat(document.datos.subtotalsi.value);
                                    totiva = parseFloat(document.datos.totiva.value);
                                    //totcofis = parseFloat(document.datos.totcofis.value);*/
                                };
                            };
                            if (tipodoc == 5){
                                agregarfila ('tabdet', '0', 'Recibo Oficial', moneda,  redondea(precio), (dto), cant, redondea(impliq), codiva, redondea(iva), redondea(importe));
                                datos = "tabdet<;>0<;>Recibo Oficial<;>" +  moneda + "<;>" + redondea(precio) + "<;>" + dto  + "<;>" + cant  + "<;>" + redondea(impliq)  + "<;>" + codiva + "<;>" + redondea(iva)  + "<;>" + redondea(importe);
                            }else{
                                agregarfila ('tabdet', cuenta, document.datos.cuentasel.value, moneda,  redondea(precio),  (dto), cant, redondea(impliq), codiva, redondea(iva), redondea(importe));
                                datos = "tabdet<;>" + cuenta + "<;>" + document.datos.cuentasel.value + "<;>" +  moneda + "<;>" + redondea(precio) + "<;>" + dto  + "<;>" + cant  + "<;>" + redondea(impliq)  + "<;>" + codiva + "<;>" + redondea(iva)  + "<;>" + redondea(importe);
                            };
                            impdto=0;
                            if (tipodoc==5){
                                impdto=0;
                            }else{
                                if (dto!==0){
                                    impdto = roundNumber((precio*cant)-impliq,2);
                                }
                            }
                            if ((secc!=='ventas')&&(secc!=='iniventas')){
                                document.datos.importe.value = "0";
                                document.datos.importeop.value = "0";
                                document.datos.precio.value = "0";
                                document.datos.precioop.value = "0";
                                document.datos.cantmax.value = "0";
                            }
                            document.datos.cant.value = "0";
                            busartnumorig.style.display = 'none';
                            document.datos.total.value = roundNumber(total + importe,2);
                            document.datos.subtotalsi.value = roundNumber(subtotal + impliq,2);
                            document.datos.totiva.value = roundNumber(totiva + iva,2);
                            document.datos.totdto.value = roundNumber(totdto + impdto,2);
                            
                            document.datos.totalgral.value = roundNumber(total + importe+ parseFloat(document.datos.totalg.value),2);
                            document.datos.subtotalsigral.value = roundNumber(subtotal + impliq + parseFloat(document.datos.subtotalsig.value ),2);
                            document.datos.totdtogral.value = roundNumber(totdto + impdto + parseFloat(document.datos.totdtog.value ),2);
                            document.datos.totivagral.value = roundNumber(totiva + iva + parseFloat(document.datos.totivag.value),2);
                            if (tipodoc==5){
                                detacro('importe', '0','0');
                            }
            
            //				if (nencab == 0){
            //					guardatmp('compras', 'encabezado', 'primera', '');
            //				}
                            switch (secc){
                            case 'compras':
                            case 'inicompras':
                                guardatmp('compras', 'detalle', 'agrega', datos);
                                break;
                            case 'gastos':
                                if (tipodoc==5){
                                    guardatmp('recibog', 'detalle', 'agrega', datos);
                                }
                                break;
                            case 'ventas':
                            case 'iniventas':
                                guardatmp('ventas', 'detalle', 'agrega', datos);
                                break;
                            }
    /*                        if ((secc!=='gastos')){
                                guardatmp('compras', 'detalle', 'agrega', datos);
                            }else{
                                if (tipodoc==5){
                                    guardatmp('recibog', 'detalle', 'agrega', datos);
                                }
                            }*/
                            if (tipodoc==5){
                                document.datos.importe.focus();
                            }else{
                                document.datos.cuentas.focus();
                            }
                        }
                    }
                }
            }
        }
	}
	
	function agregalineag() {
		var importe;
		var impliq;
		var cuenta;
		var descrip;
		var cofis;
		var iva;
		var total = 0;
		var subtotal;
		var totiva;
		var totcofis;
		var signo;
		var tipodoc;
		var moneda = parseFloat(document.datos.moneda.value);
		var porcivag = parseFloat(document.datos.seltasaivag.value);
		var nencabg = parseFloat(document.datos.encabezadog.value);
		var secc = document.getElementById("seccion").value;
		var dtos = new Array();
		var dto=1;
		var totdto;
		var impdto;
		var tope;
		var cant;
		var precio;
		var datos;
		var codivag;
		var secc = document.getElementById("seccion").value;
                
		
		codivag=porcivag;
		temp = buscactas(tablaivag, porcivag);
		if (i<tablaivag.length){
			porcivag=tablaivag[i][2];
		}
		if ((document.datos.numctag.value=="") && (document.datos.tipodoc.value!=5)){
			alert("Seleccione una cuenta primero.");
		}
		else {
			if ((document.datos.importeg.value=="")||(isNaN(document.datos.importeopg.value))){
				alert("Ingrese un Importe correcto.");
			}else{
				cuenta = document.datos.numctag.value;
				temp = buscactas(ctasg, cuenta);
				if (i<ctasg.length){
					descrip = ctasg[i][1];
				};
				tipodoc = parseFloat(document.datos.tipodoc.value);
				cant = document.datos.cantg.value;
				dtos = document.datos.dtog.value.split("+");
				tope = dtos.length;
				for (i=0;i<tope;i++){
					dto = dto * (1-(dtos[i]/100));
				};
				if (dto!==1){
					dto = 100 - (dto * 100);
					dto = roundNumber(dto,5);
				}else{
                    dto=0;
                }
				//DEVOLUCIONES
				if ((tipodoc==3)||(tipodoc==4)||(tipodoc==5)){
					signo = (-1);
				}else{
					signo = 1;
				};
/*				if (tipodoc==5){
                    signo = (-1);
                }
					importe = parseFloat((document.datos.importeg.value * signo));
					impliq = (importe);
					precio = 0;
					cofis = 0;
					iva = 0;
					codcofis=0;
					codiva=0;
					porcofis=0;
					porcivag=0;
					total = parseFloat(document.datos.totalg.value);
					subtotal = parseFloat(document.datos.subtotalsig.value);
					totiva = parseFloat(document.datos.totivag.value);
					totdto = parseFloat(document.datos.totdtog.value);
					//totcofis = parseFloat(document.datos.totcofis.value);
					//document.datos.importe.value = "";
                    detacro('importe','0');
				}else{*/
					importe = parseFloat((document.datos.importeg.value * signo));
/*					temp = buscaruc(parseInt(document.datos.clientes.value));
					temp = buscacofis(cuenta);
					temp = buscaiva(cuenta);
					if (secc == 'ventas'){
						if (!tieneruc){
							codcofis=0;
							porcofis=0;
						}
					};*/
			
					impliq = parseFloat(document.datos.importeopg.value * signo);
					precio = parseFloat(document.datos.costoop.value * signo);
                    cant = cant * signo;
					//cofis = impliq * (porcofis/100);
					iva = (impliq) * (porcivag/100);
					total = parseFloat(document.datos.totalg.value);
					subtotal = parseFloat(document.datos.subtotalsig.value);
					totiva = parseFloat(document.datos.totivag.value);
                    if (tipodoc==5){
                        dto=0;
                        totdto = 0;
                    }else{
                        totdto = parseFloat(document.datos.totdtog.value);
                    }
					//totcofis = parseFloat(document.datos.totcofis.value);
					if ((facpcimp==0)){
					//}else{
						impliq = (importe);
						importe = parseFloat(document.datos.importeopg.value * signo);
						precio = parseFloat(document.datos.costo.value * signo);
						//cofis = impliq * (porcofis/100);
						iva = (impliq) * (porcivag/100);
					/*	total = parseFloat(document.datos.total.value);
						subtotal = parseFloat(document.datos.subtotalsi.value);
						totiva = parseFloat(document.datos.totiva.value);
						//totcofis = parseFloat(document.datos.totcofis.value);*/
					};
				//};
			/*	if ((tipodoc == 5)&&(secc!=='compras')){
					agregarfila ('tabdetg', '0', 'Recibo Oficial', moneda,  redondea(precio), (dto), cant, redondea(impliq), codivag, redondea(iva), redondea(importe));
					datos = "tabdet<;>0<;>Recibo Oficial<;>" +  moneda + "<;>" + redondea(precio) + "<;>" + dto  + "<;>" + cant  + "<;>" + redondea(impliq)  + "<;>" + codivag + "<;>" + redondea(iva)  + "<;>" + redondea(importe);					
				}else{*/
					agregarfila ('tabdetg', cuenta, descrip, moneda,  redondea(precio),  (dto), cant, redondea(impliq), codivag, redondea(iva), redondea(importe));
					datos = "tabdet<;>" + cuenta + "<;>" + descrip + "<;>" +  moneda + "<;>" + redondea(precio) + "<;>" + dto  + "<;>" + cant  + "<;>" + redondea(impliq)  + "<;>" + codivag  + "<;>" +  redondea(iva)  + "<;>" + redondea(importe);					
				//};
                impdto=0;
                if (tipodoc==5){
                    impdto=0;
                }else{
                    if (dto!==0){
                        impdto = redondea((precio*cant)-impliq);
                    }
                }
				document.datos.importeg.value = "0";
				document.datos.importeopg.value = "0";
				document.datos.costo.value = "0";
				document.datos.costoop.value = "0";
				document.datos.cantg.value = "0";
				document.datos.totalg.value = redondea(total + importe);
				document.datos.subtotalsig.value = redondea(subtotal + impliq);
				document.datos.totivag.value = redondea(totiva + iva);
				document.datos.totdtog.value = redondea(totdto + impdto);

				document.datos.totalgral.value = redondea(total + importe + parseFloat(document.datos.total.value));
				document.datos.subtotalsigral.value = redondea(subtotal + impliq + parseFloat(document.datos.subtotalsi.value ));
				document.datos.totivagral.value = redondea(totiva + iva + parseFloat(document.datos.totiva.value));
				document.datos.totdtogral.value = redondea(totdto + impdto+ parseFloat(document.datos.totdto.value));
                if (tipodoc==5){
                    detacro('importe', '0','0');
                }
/*				if (nencabg == 0){
					guardatmp('comprasg', 'encabezado', 'primera', '');
				}*/
				guardatmp('comprasg', 'detalle', 'primera', datos);
                if (tipodoc==5){
    				document.datos.importeg.focus();
                }else{
    				document.datos.cuentagsel.focus();
                }
			};
		};
	}
	
	function agregalineaorig() {
		var importe;
		var impliq;
		var cuenta;
		var cofis;
		var iva;
		var total = 0;
		var subtotal;
		var totiva;
		var totcofis;
		var signo;
		var tipodoc;
		var secc = document.getElementById("seccion").value;
		
		if ((document.datos.cuentasel.value=="") && (document.datos.tipodoc.value!=5)){
			alert("Seleccione una cuenta primero.");
		}
		else {
			if (document.datos.importe.value==""){
				alert("Ingrese un Importe correcto.");
			}
			else{
				tipodoc = document.datos.tipodoc.value;
				//DEVOLUCIONES
				if ((tipodoc==3)||(tipodoc==4)){
					signo = (-1);
				}
				else{
					signo = 1;
				};
				if (tipodoc==5){
					importe = parseFloat((document.datos.importe.value * signo));
					impliq = (importe);
					cofis = 0;
					iva = 0;
					codcofis=0;
					codiva=0;
					porcofis=0;
					poriva=0;
					total = parseFloat(document.datos.total.value);
					subtotal = parseFloat(document.datos.subtotalsi.value);
					totiva = parseFloat(document.datos.totiva.value);
					totcofis = parseFloat(document.datos.totcofis.value);
					document.datos.importe.value = "";
				}
				else {
					importe = parseFloat((document.datos.importe.value * signo));
					cuenta = document.datos.numctasel.value;
/*					temp = buscaruc(parseInt(document.datos.clientes.value));
					temp = buscacofis(cuenta);
					temp = buscaiva(cuenta);
					if (secc == 'ventas'){
						if (!tieneruc){
							codcofis=0;
							porcofis=0;
						}
					};*/
					if (facpcimp){
						impliq = (importe / (1 + (porcofis/100)))/(1 + (poriva/100));
						cofis = impliq * (porcofis/100);
						iva = (impliq + cofis) * (poriva/100);
						total = parseFloat(document.datos.total.value);
						subtotal = parseFloat(document.datos.subtotalsi.value);
						totiva = parseFloat(document.datos.totiva.value);
						totcofis = parseFloat(document.datos.totcofis.value);
						document.datos.importe.value = "";
					}
					else{
						impliq = (importe);
						cofis = impliq * (porcofis/100);
						iva = (impliq + cofis) * (poriva/100);
						total = parseFloat(document.datos.total.value);
						subtotal = parseFloat(document.datos.subtotalsi.value);
						totiva = parseFloat(document.datos.totiva.value);
						totcofis = parseFloat(document.datos.totcofis.value);
						importe = importe + cofis + iva ;
						document.datos.importe.value = "";
					};
				};
			if (document.datos.detnumcta1.value==""){
				num=1;
			}
			else {
				if (document.datos.detnumcta2.value=="") 
					num=2;
			else{
				if (document.datos.detnumcta3.value=="")
					num=3;
			else{
				if (document.datos.detnumcta4.value=="")
					num=4;
			else{
				if (document.datos.detnumcta5.value=="")
					num=5;
			else{
				alert ("No se pueden agregar mas datos.");
				num=6;
			}}}}};
			if (num <6){
				if (tipodoc == 5){
				eval("document.datos.detnumcta" + num + ".value = 0;document.datos.detcta" + num + ".value = 'Recibo Oficial';document.datos.detmoneda" + num + ".value = document.datos.moneda.value;document.datos.detimpsinimp" + num + ".value = redondea(impliq);document.datos.detcodcofis" + num + ".value = codcofis;document.datos.detcofis" + num + ".value = redondea(cofis);document.datos.detcodiva" + num + ".value = codiva;document.datos.detiva" + num + ".value = redondea(iva);document.datos.detimporte" + num + ".value = redondea(importe);");
				}
				else{
				eval("document.datos.detnumcta" + num + ".value = cuenta;document.datos.detcta" + num + ".value = document.datos.cuentasel.value;document.datos.detmoneda" + num + ".value = document.datos.moneda.value;document.datos.detimpsinimp" + num + ".value = redondea(impliq);document.datos.detcodcofis" + num + ".value = codcofis;document.datos.detcofis" + num + ".value = redondea(cofis);document.datos.detcodiva" + num + ".value = codiva;document.datos.detiva" + num + ".value = redondea(iva);document.datos.detimporte" + num + ".value = redondea(importe);");
				};
				
				document.datos.total.value = redondea(total + importe);
				document.datos.subtotalsi.value = redondea(subtotal + impliq);
				document.datos.totiva.value = redondea(totiva + iva);
				document.datos.totcofis.value = redondea(totcofis + cofis);
				if ((secc=='ventas')||(secc=='iniventas')){
					temp = remitir(secc);
				};
			};
		document.datos.importe.focus();
		}};
	}
	function retornaLimpioOrig(Sucio){
	var limpio="";
	for (i=0; i<Sucio.length; i++){
	    if (Sucio.charAt(i)=="q" || Sucio.charAt(i)=="w" || Sucio.charAt(i)=="e" || Sucio.charAt(i)=="r" || Sucio.charAt(i)=="t" || Sucio.charAt(i)=="y" || Sucio.charAt(i)=="u" || Sucio.charAt(i)=="i" || Sucio.charAt(i)=="o" || Sucio.charAt(i)=="p" || Sucio.charAt(i)=="a" || Sucio.charAt(i)=="s" || Sucio.charAt(i)=="d" || Sucio.charAt(i)=="f" || Sucio.charAt(i)=="g" || Sucio.charAt(i)=="g" || Sucio.charAt(i)=="h" || Sucio.charAt(i)=="j" || Sucio.charAt(i)=="k" || Sucio.charAt(i)=="l" || Sucio.charAt(i)=="z" || Sucio.charAt(i)=="x" || Sucio.charAt(i)=="c" || Sucio.charAt(i)=="v" || Sucio.charAt(i)=="b" || Sucio.charAt(i)=="n" || Sucio.charAt(i)=="m" || Sucio.charAt(i)=="1" || Sucio.charAt(i)=="2" || Sucio.charAt(i)=="3" || Sucio.charAt(i)=="4" || Sucio.charAt(i)=="5" || Sucio.charAt(i)=="6" || Sucio.charAt(i)=="7" || Sucio.charAt(i)=="8" || Sucio.charAt(i)=="9" || Sucio.charAt(i)=="0" || Sucio.charAt(i)=="-" || Sucio.charAt(i)=="_" || Sucio.charAt(i)=="." || Sucio.charAt(i)=="@"){
	    limpio +=Sucio.charAt(i);
	    };
	};
	return limpio;
	};
	
	function limpiatexto(sucio){
	var limpio="";
	for (i=0; i<sucio.length; i++){
	    if ((sucio.charAt(i)=='"' || sucio.charAt(i)=="'")){
		limpio +="";
	    }else{
		limpio +=sucio.charAt(i);
	    };
	};
	return limpio;
	};

function upmodprov(nuevo){
	var nombre = document.datos.nombre.value;
	var numint = parseFloat(document.datos.numreg.value);
	var max = window.opener.document.getElementById("provs").length;
	var rsecc = parseFloat(document.getElementById("rsecc").value);
	var ruc = document.datos.ruc.value;

	if (nuevo){
		var opt = new Option(nombre, numint);
		window.opener.document.getElementById("provs").options[max] = opt;
		window.opener.document.getElementById("provs").value = numint;
		switch (rsecc){
        case 8:
        case 9:
            var modofac = parseFloat(document.getElementById("modofac").value);
            var acimport = parseFloat(document.getElementById("acimport").value);
			window.opener.agregacli(numint, ruc, nombre, modofac, acimport);
			if (acimport==1){
				window.opener.activarimport('form');
			}else{
				window.opener.quitarimport();
			}
            break;
        case 14:
			window.opener.agregacli(numint, ruc, nombre, 0, 0);
            break;
		}
	}else{
		window.opener.document.getElementById("provs").options[window.opener.document.getElementById("provs").selectedIndex].text = nombre;
		switch (rsecc){
        case 8:
        case 9:
			window.opener.modificacli(numint, ruc, nombre, modofac, acimport);
			if (acimport==1){
				window.opener.activarimport('form');
			}else{
				window.opener.quitarimport();
			}
            break;
        case 14:
			window.opener.modificacli(numint, ruc, nombre, 0, 0);
            break;
        }
	}
	window.close();
}
	function modificalinea(modo){
		var numerolin = parseFloat(document.datos.linea.value);
		var ventana;

		if (modo==0){
		    if ((numerolin>0)){
			    ventana = "modificalinea.php?reg=" + numerolin;
			    temp = openWindow(ventana);
//			    document.getElementById(modlin).href = ventana;
//			    return true;
		    }
		    else{
			    alert("No hay elementos seleccionados");
//			    return false;
		    }
		}else{
			    ventana = "modificalinea.php";
			    temp = openWindow(ventana);
//			    document.getElementById(modlin).href = ventana;
//			    return true;
		}
	}
	function modarticulo(modo){
		var numart = parseFloat(document.datos.numint.value);
		if (modo==1){
				openWindow('editarticulo.php' );
		}else{
			if (isNaN(numart)){
				alert ("Seleccione un art\xedculo primero.");
			}else{
				openWindow('editarticulo.php?reg=' + numart);
			}
		}
	}

function upmodart(nuevo){
	var nombre = document.datos.nombreant.value;
	var numint = parseFloat(document.datos.numint.value);
	var max = window.opener.document.datos.cuentas.length;
	var tiva = document.datos.tasaivaant.value;
//	var incfav = window.opener.document.datos.incfav.value;
//	alert (numint + ',' + nombre + ',' + max + ',' + tiva + ',' + incfav + ',' + nuevo);
	if (nuevo){
/*		var opt = new Option(nombre, numint);
		if (incfav==1){
			window.opener.document.datos.cuentas.options[max] = opt;
			window.opener.document.datos.cuentas.value = numint;
			window.opener.agregactafav(window.opener.ctasfav, window.opener.document.datos.cuentas, numint, nombre, tiva);
		};*/
		window.opener.document.datos.numart.value = numint;
		window.opener.document.datos.numctasel.value = numint;
		window.opener.document.datos.cuentasel.value = nombre;
		window.opener.document.datos.incfav.checked=false;
	}else{
		window.opener.buscactas(window.opener.ctasfav, numint);
		if (window.opener.i < window.opener.ctasfav.length){
			//NO era favorito
/*			if (incfav==1){
				//se marco como favorito
				window.opener.agregactafav(window.opener.ctasfav, window.opener.document.datos.cuentas, numint, nombre, tiva);
				window.opener.document.datos.incfav.checked=true;
			}else{
				window.opener.document.datos.incfav.checked=false;
			};
		}else{
			//era favorito
			if (incfav==1){
				window.opener.document.datos.incfav.checked=true;*/
				window.opener.document.datos.cuentas.options[window.opener.i].text = nombre;
/*			}else{
				//era favorito  y lo borro
				window.opener.quitactafav(window.opener.ctasfav, window.opener.document.datos.cuentas, numint);
				window.opener.document.datos.incfav.checked=false;
			}*/
		};
		window.opener.modificactafav(window.opener.ctasfav, numint, nombre, tiva);
		window.opener.document.datos.cuentasel.value = nombre;
	};
	seltablaivawo(tiva);
	window.opener.document.datos.precio.focus();
	window.close();
}
	function crearmesprodoc(){
		var url = "libsajax/crearmesprodoc.php";
		cargarajax('ajaxresp', url, 'ajaxresp', '','','document.selmes.submit();','');
	}
	function bloqueactrl(idctrl){
		var obj = document.getElementById(idctrl);

		obj.disabled = true;
	}
	function desbloqueactrl(idctrl){
		var obj = document.getElementById(idctrl);

		obj.disabled = false;
	}
	function activarimport(modo){
		var divselart = document.getElementById("selart");
		var divselgasto = document.getElementById("selgasto");
		var tabartsel= document.getElementById("tabartsel");
		var tabdet= document.getElementById("tabdet");
		var divimport = document.getElementById("selimport");
		var boton= document.getElementById("desactivaimport");
		var selectimport= document.getElementById("import");
		var imgnuevaimp= document.getElementById("nuevaimp");
		var imgmodimp= document.getElementById("modimp");
        var tipodoc=parseFloat(document.getElementById("tipodoc").value);
		var confirmar= document.getElementById("confirmar");
        var herramart = document.getElementById("herramart");
        var seltasaiva = document.getElementById("seltasaiva");

        //si se completo la carga de la pagina
        if (confirmar){
    		divselart.style.display='none';
            tabartsel.style.display='none';
    		divselgasto.style.display='none';
            divimport.style.display='';
            selectimport.disabled=false;
            boton.disabled=false;
            imgnuevaimp.disabled=false;
            imgmodimp.disabled=false;
            seltasaiva.disabled=true;
            confirmar.disabled=true;
            herramart.style.display='none';
        }
	}

	function desactivarimport(modo){
		var divselart = document.getElementById("selart");
		var divselgasto = document.getElementById("selgasto");
		var divcontrap= document.getElementById("rescontrap");
		var tabartsel= document.getElementById("tabartsel");
		var tabdet= document.getElementById("tabdet");
		var secc= document.getElementById("seccion").value;
		var selectimport= document.getElementById("import");
		var boton= document.getElementById("desactivaimport");
		var imgnuevaimp= document.getElementById("nuevaimp");
		var imgmodimp= document.getElementById("modimp");
		var divtotgral= document.getElementById("totgral");
		var haygasto = document.getElementById("tabdetg");
		var resp;
		var continuar=true;
		var tipodoc = parseFloat(document.getElementById("tipodoc").value);
		var confirmar= document.getElementById("confirmar");
        var herramart = document.getElementById("herramart");
        var seltasaiva = document.getElementById("seltasaiva");
		
        if (haygasto){
            haygasto = haygasto.rows.length;
        }else{
            haygasto=0;
        }
		if (modo=='form'){
			if (selectimport.value==0){
				resp=confirm("\xbfEst\xe1 seguro de continuar sin asignar una importaci\xf3n?");
				if (!resp){
					continuar=false;
				}else{
                    if (secc!=='gastos'){
                        guardatmp('compras', 'encabezado', 'sobreescribir', '');
                    }else{
                        if (tipodoc==5) {
                            guardatmp('recibog', 'encabezado', 'sobreescribir', '');
                        }else{
                            guardatmp('comprasg', 'encabezado', 'sobreescribir', '');
                        }
                    }
					if ((haygasto>1)&&(secc!=='gastos')){
						guardatmp('comprasg', 'encabezado', 'sobreescribir', '');
					}
				}
			}
		}
		if (continuar){
			var tdimport= document.getElementById("tabselimport").getElementsByTagName("td")[0];
			var alock =  document.getElementById("alock");
			if (!alock){
				var alock =document.createElement("a");
				var lock=document.createElement("img");
				lock.src="imagenes/png-24/24-security-lock.png";
				lock.id="lock";
				lock.title="Desbloquea Selecci\xf3n de Importaci\xf3n";
				alock.id='alock';
				alock.href='javascript:desbloqueaimport();';
				alock.appendChild(lock);
				tdimport.appendChild(alock);
			}
			boton.disabled=true;
            confirmar.disabled=false;
            //No es Recibo Oficial Ni Gasto
            if ((tipodoc!==5)&&(secc!=='gastos')){
                if (divcontrap.style.display!==''){
                    divselart.style.display='';
                    herramart.style.display='';
                }
                tabartsel.style.display='';
                tabdet.style.display='';
                seltasaiva.disabled=false;
            }
            if (tipodoc==5){
                tabartsel.style.display='';
                tabdet.style.display='';
            }
            if ((haygasto>1)||(secc=='gastos')){
                divselgasto.style.display='';
            }else{
                if (divtotgral.style.display==''){
                    divselgasto.style.display='';
                }
            }
			selectimport.disabled=true;
			imgnuevaimp.disabled=true;
			imgmodimp.disabled=true;
		}
	}
	function desbloqueaimport(){
		alock =  document.getElementById("alock");
		if (alock){
			alock.parentNode.removeChild(alock);
		}
//		lock =  document.getElementById("lock");
//		lock.parentNode.removeChild(lock);
		activarimport('form');
	}
	function quitarimport(){
		var divimport = document.getElementById("selimport");
		var selimport = document.getElementById("import");
        
		desbloqueaimport();
        desactivarimport('nopregunta');
        selimport.value=0;
		divimport.style.display='none';
        
        
/*		var secc= document.getElementById("seccion").value;
		var divselart = document.getElementById("selart");
		var divimport = document.getElementById("selimport");
		var tipodoc = parseFloat(document.getElementById("tipodoc").value);
		var selectimport= document.getElementById("import");
		var divselgasto = document.getElementById("selgasto");
		var tabartsel= document.getElementById("tabartsel");
		var tabdet= document.getElementById("tabdet");
		var divtotgral= document.getElementById("totgral");
		var haygasto = document.getElementById("tabdetg").rows.length;
        
/*		var boton= document.getElementById("desactivaimport");
		var imgnuevaimp= document.getElementById("nuevaimp");
		var imgmodimp= document.getElementById("modimp");
		
		desbloqueaimport();
        selectimport.value=0;
		divimport.style.display='none';
        //No es Recibo Oficial Ni Gasto
        if ((tipodoc!==5)&&(secc!=='gastos')){
            divselart.style.display='';
            tabartsel.style.display='';
            tabdet.style.display='';
        }
        if ((tipodoc!==5)&&(secc!=='gastos')){
            divselart.style.display='';
            tabartsel.style.display='';
            tabdet.style.display='';
        }
        if (tipodoc==5){
            tabartsel.style.display='';
            tabdet.style.display='';
        }
        if ((haygasto>1)||(secc=='gastos')){
            divselgasto.style.display='';
        }else{
            if (divtotgral.style.display==''){
                divselgasto.style.display='';
            }
        }*/
	}
    
	function nuevaimport (){
		var boton = document.getElementById("desactivaimport");
		
		if (!boton.disabled){
			openWindow('editimport.php');
		}
	}
	function validarimport(){
	    var nombre = limpiatexto(document.getElementById("descrip").value);
	    var fechasol = limpiatexto(document.getElementById("fechasol").value);
	    var fechaemb = limpiatexto(document.getElementById("fechaemb").value);
	    var fechaarribo = limpiatexto(document.getElementById("fechaarribo").value);
	    var fecharecibido = limpiatexto(document.getElementById("fecharecibido").value);
	    var prov = parseFloat(document.getElementById("provs").value);
	    var pais = parseFloat(document.getElementById("procedencia").value);
	    var medio = parseFloat(document.getElementById("medio").value);
	    var formu = document.getElementById("datos");
	    var temp;
	    var i;
	    
	    var error=false;
	    var msg="Atenci\u00f3n: errores encontrados:";
	    
	    //para el art\u00EDculo.
	    if ((isNaN(prov))||(prov==0)) {
		error=true;
		msg+="\nDebe seleccionar un Proveedor.";
	    };
	    if ((isNaN(pais))||(pais==0)) {
		error=true;
		msg+="\nDebe seleccionar un Pa\xeds.";
	    };
	    if ((isNaN(medio))||(medio==0)) {
		error=true;
		msg+="\nDebe seleccionar un Medio.";
	    };
	    if ((nombre)==""){
		error=true;
		msg+="\nDebe ingresar una Descripci\xf3n.";
	    };
	    if(!error){
		if (confirm("¿Est\u00E1 seguro de confirmar los datos?")){
			document.getElementById("descrip").value=nombre;
			formu.submit();
		}
	    }else{
		alert(msg);
	    }
	}
function upmodimport(nuevo){
	var nombre = limpiatexto(document.getElementById("rdescrip").value);
	var prov = document.getElementById("prov").value;
	var nomprov = document.getElementById("nomprov").value;
	var fecha = document.getElementById("fecha").value;
	var numint = parseFloat(document.getElementById("numreg").value);
	var selimport = window.opener.document.getElementById("import");
	var max = selimport.length;
	var texto=nombre + " - " + nomprov + " - " + fecha;

	if (nuevo){
		var opt = new Option(texto, numint);
		selimport.options[max] = opt;
		selimport.value = numint;
	}else{
//$nomimport = $linimport[descripcion] . " - " . $linimport[NombreComercial] . " - " . $linimport[fecha];	
		selimport.options[selimport.selectedIndex].text = texto;
	}
	window.close();
}
function muestraverif(modo){
	var numintenca= document.getElementById("numintenca").value;
	var numintencag= document.getElementById("numintencag").value;
	var numintro= document.getElementById("numintro").value;
    var url='verificacion.php?modo='+modo+'&numint='+numintenca+'&numintencag='+numintencag+'&numintro='+numintro;
    openWindow(url);
}
function muestradivro(){
    var divro = document.getElementById("divro");
    var moneda = parseFloat(document.getElementById("moneda").value);
    var desgpart1= document.getElementById("desgpart1");
    var desgpart2 = document.getElementById("desgpart2");
    var cant = document.getElementById("cant");
    var precio = document.getElementById("precio");
    var dto = document.getElementById("dto");
    var cuentasel = document.getElementById("cuentasel");
    var selart = document.getElementById("selart");
    var herramart= document.getElementById("herramart");
    var seltasaiva = document.getElementById("seltasaiva");
	var divtotart = document.getElementById("divtotart");
	var importe = document.getElementById("importe");
	var secc= document.getElementById("seccion").value;
        
    divro.style.display='';
    divtotart.style.display='';
    document.datos.acro[moneda].checked=true;
    document.datos.acro.value=moneda;
    desgpart1.disabled=true;
    desgpart2.disabled=true;
    cuentasel.value='Recibo Oficial';
    selart.style.display='none';
    seltasaiva.disabled=true;
    herramart.style.display='none';
    cant.disabled=true;
    precio.disabled=true;
    dto.disabled=true;
    if ((secc=='ventas')||(secc=='iniventas')){
        importe.value=0;
        importe.disabled=false;
        importe.readonly = false;
    }
}

function detacro(modo, opcion, numdesg){
    var totgral = parseFloat(document.getElementById("totalgral").value);
    var desgpart1= document.getElementById("desgpart1");
    var desgpart2 = document.getElementById("desgpart2");
    var acro =-1;
    var moneda = parseFloat(document.getElementById("moneda").value);
    var impconv = document.getElementById("impconv");
    var tc = parseFloat(document.getElementById("tcprov").value);
    var desgfijo = document.getElementById("desgfijo");
    var i;
    var elementos = document.getElementsByName("acro");
    
    opcion=parseFloat(opcion);
    for(var i=0; i<elementos.length; i++) {
      //alert(" Elemento: " + elementos[i].value + "\n Seleccionado: " + elementos[i].checked);
      if (elementos[i].checked){
        acro=i;
      }
    }
    if (acro==(-1)){
        elementos[opcion].checked=true;
    }    
    numdesg=parseFloat(numdesg);
/*    if (document.datos.acro[2].checked){
        acro=2;
    }else{
        if (document.datos.acro[1].checked){
            acro=1;
        }else{ 
            if (document.datos.acro[0].checked){
                acro=0;
            }
        }
    }*/
    //alert (modo + '-' + opcion + '-' + numdesg + '-' + acro + '-' + desgfijo.value);
    switch(modo){
    case 'importe':
        //desglose del pago
        if (acro==2){
            if (moneda==0){
                if (desgfijo.value==1){
                    //fijo el importe en desgpart1
                    desgpart2.value = roundNumber(((totgral - parseFloat(desgpart1.value)) / tc),2);
                }else{
                    //fijo el importe en desgpart2
                    desgpart1.value = roundNumber((totgral - (parseFloat(desgpart2.value) * tc)),2);
                }
            }else{
                if (desgfijo.value==1){
                    //fijo el importe en desgpart1
                    desgpart2.value = roundNumber((totgral - (parseFloat(desgpart1.value) / tc)),2);
                }else{
                    //fijo el importe en desgpart2
                    desgpart1.value = roundNumber(((totgral - parseFloat(desgpart2.value))* tc),2);
                }
            }
            impconv.value=0;
        }else{
            if (moneda==acro){
                impconv.value = totgral;    
            }else{
                if (moneda==0){
                    impconv.value = roundNumber(totgral/tc,2);
                }else{
                    impconv.value = roundNumber(totgral*tc,2);
                }
            }
            desgpart1.value=0;
            desgpart2.value=0;
        }
        break;
    case 'tc':
        if (acro==2){
            if (moneda==0){
                if (desgfijo.value==1){
                    //fijo el importe en desgpart1
                    desgpart2.value = roundNumber(((totgral - parseFloat(desgpart1.value)) / tc),2);
                }else{
                    //fijo el importe en desgpart2
                    desgpart1.value = roundNumber((totgral - (parseFloat(desgpart2.value) * tc)),2);
                }
            }else{
                if (desgfijo.value==1){
                    //fijo el importe en desgpart1
                    desgpart2.value = roundNumber((totgral - (parseFloat(desgpart1.value) / tc)),2);
                }else{
                    //fijo el importe en desgpart2
                    desgpart1.value = roundNumber(((totgral - parseFloat(desgpart2.value)) * tc),2);
                }
            }
            impconv.value=0;
        }else{
            if (moneda==acro){
                impconv.value = totgral;    
            }else{
                if (moneda==0){
                    impconv.value = roundNumber(totgral/tc,2);
                }else{
                    if (moneda==1){
                        impconv.value = roundNumber(totgral*tc,2);
                    }else{
                        impconv.value=0;
                    }
                }
            }
            desgpart1.value=0;
            desgpart2.value=0;
        }
        break;
    case 'acro':
        if (opcion==2){
            impconv.value=0;
            desgpart1.disabled=false;
            desgpart2.disabled=false;
            if (parseFloat(numdesg)>0){
                desgfijo.value = parseFloat(numdesg);
                switch (numdesg){
                case 1:
                    if (moneda==0){
                        //fijo el importe en desgpart1
                        desgpart2.value = roundNumber(((totgral - parseFloat(desgpart1.value)) / tc),2);
                    }else{
                        //fijo el importe en desgpart1
                        desgpart2.value = roundNumber((totgral - (parseFloat(desgpart1.value) / tc)),2);
                    }
                    break;
                case 2:
                    if (moneda==0){
                        //fijo el importe en desgpart2
                        desgpart1.value = roundNumber((totgral - (parseFloat(desgpart2.value) * tc)),2);
                    }else{
                        //fijo el importe en desgpart2
                        desgpart1.value = roundNumber(((totgral - parseFloat(desgpart2.value)) * tc),2);
                    }
                    break;
                }
            }
        }else{
            desgpart1.value=0;
            desgpart2.value=0;
            desgpart1.disabled=true;
            desgpart2.disabled=true;
            if (moneda==opcion){
                impconv.value = totgral;    
            }else{
                if (moneda==0){
                    impconv.value = roundNumber(totgral/tc,2);
                }else{
                    impconv.value = roundNumber(totgral*tc,2);
                }
            }
            
        }
        break;
    }
}

function cargatc(modo, idcapa, idreceptor){
    var capa = document.getElementById(idcapa);
    var receptor = document.getElementById(idreceptor);
    var url;
    url = "libsajax/cotizmin.php";
    cargarajax(idcapa, url, idreceptor, '','',"cargaultimatc('"+modo+"', '" + idcapa + "', '" + idreceptor + "');",'');
}
function cargaultimatc(modo, idcapa, idreceptor){
    var capa = document.getElementById(idcapa);
    var receptor = document.getElementById(idreceptor);
    var url;
    if (receptor.value==0){
        url = "libsajax/ultimacotizmin.php";
        cargarajax(idcapa, url, idreceptor, '','','','');
        alert("Atenci\xf3n: No se encontr\xf3 la cotizaci\xf3n del d\xeda de hoy. Se est\xe1 usando una cotizaci\xf3n anterior.");
    };
}
	function eliminadocbase(modo, numint){
        var url = "libsajax/delprodoc.php?modo="+modo+"&numint="+numint;
        var resp;
        
        resp = confirm("\xbfEst\xe1 Seguro de Eliminar este Documento? \n Esta operaci\xf3n no se puede deshacer");
        if (resp){
            cargarajax('ajaxresp', url, 'ajaxresp', '','',"posdocdel(ajax.responseText);",'');
        }
	}
    function posdocdel(resptext){
        var marco = document.getElementById("marco");
        var divajax= document.getElementById("ajaxresp");
        var elim= document.getElementById("eliminar");
        
		if (navigator.appName =="Microsoft Internet Explorer"){
            marco.style.bordercolor=red;
        }else{
            marco.setAttribute('style', 'border-color:red;border-style:solid;border-width:5px;');
        }
        divajax.innerHTML=resptext;
        divajax.style.display='';
        elim.style.display='none';
    }
    function chkbustodomesanio(){
        var messel=document.getElementById("messel");
        var ejsel=document.getElementById("ejsel");
        var todomes=document.getElementById("todomes");
        var todoanio=document.getElementById("todoanio");
        
        if (todomes.checked){
            messel.disabled=true;
        }else{
            messel.disabled=false;
        }
        if (todoanio.checked){
            ejsel.disabled=true;
        }else{
            ejsel.disabled=false;
        }
    }
    //funcion llamnada pero no utilizada no borrar
    function seleccionarimport(){
        
        
    }
    function marcodtos(){
        var selgasto = document.getElementById("selgasto");
        var detgasto = document.getElementById("detgasto");
        var totgasto = document.getElementById("totgasto");
        var totgral = document.getElementById("totgral");
        var imginsgasto = document.getElementById("imginsgasto");
        var resp=true;
        var ctadtos = parseFloat(document.getElementById("ctadtos").value);
        var selctadto = document.getElementById("cuentagsel");
        var costo = document.getElementById("costo");
        var cantg = document.getElementById("cantg");
        var dtog = document.getElementById("dtog");
        var numctag = document.getElementById("numctag");
        var capanexo = document.getElementById("capanexo");
        var importeg = document.getElementById("importeg");
        
        imginsgasto.src = 'imagenes/png-24/24-frame-close.png';
        imginsgasto.title = 'Quitar Descuentos';
        capanexo.value='Descuentos';
        selgasto.style.display= '';
        detgasto.style.display= '';
        totgasto.style.display= '';
        totgral.style.display= '';
        selctadto.value=ctadtos;
        numctag.value=ctadtos;
        selctadto.disabled=true;
        costo.disabled=true;
        cantg.disabled=true;
        dtog.disabled=true;
        importeg.focus();
        selctadto.disabled=false;
        costo.disabled=false;
        cantg.disabled=false;
        dtog.disabled=false;
    }
	function cargadetcontrap(nencabcp, flag){
        var tipodoc = document.getElementById("tipodoc");
        var tabdetg= document.getElementById("tabdetg");
        var tabdet= document.getElementById("tabdet");
        var prov = parseFloat(document.getElementById("provs").value);
        var contrap = document.getElementById("contrap").value;
        var seccion = document.getElementById("seccion").value;
        var resp=true;
        
        if (seccion=='compras'){
            if  (((tabdetg.rows.length>1)||(tabdet.rows.length>1))&&(flag=='GUARDA')){
                resp = confirm("Atenci\xf3n: Esta acci\xf3n restablecer\xe1 el documento eliminando el detalle ingresado. \n \xbfDesea continuar?");
                if (resp){
                    borradet(flag,'nopregunta');
                }
            }
            if (resp){
                //Excluye Recibo Oficial
                if (tipodoc.value != 5){
                    if ((nencabcp!=="")&&(contrap!=="")){
                        var url = "libsajax/busdetcontrap.php?nencab=" + nencabcp + "&prov=" + prov + "&contrap=" + contrap + "&tipodoc=" + tipodoc.value;
                        //alert(url);
                        cargarajax('ajaxrespcontrap', url, 'tabcontrap', '','','','');
                    }else{
                        eliminadetcontrap();
                    }
                }
            }
        }
        if ((seccion=='ventas')||(seccion=='iniventas')){
            var seriecp = document.getElementById("seriecp").value;
            var nintcp = document.getElementById("numintcp").value;
            
            if  (((tabdet.rows.length>1))&&(flag=='GUARDA')){
                resp = confirm("Atenci\xf3n: Esta acci\xf3n restablecer\xe1 el documento eliminando el detalle ingresado. \n \xbfDesea continuar?");
                if (resp){
                    borradet(flag,'nopregunta');
                }
            }
            if (resp){
                //Excluye Recibo Oficial
                if (tipodoc.value != 5){
                    if ((nencabcp!="")&&(contrap!="")){
                        var url = "libsajax/busdetcontrapvta.php?nintcp=" + nintcp + "&cli=" + prov + "&contrap=" + contrap + "&tipodoc=" + tipodoc.value;
                        //alert(url);
                        cargarajax('ajaxrespcontrap', url, 'tabcontrap','','','recupnintcp(ajax.responseText);','');
                    }else{
                        eliminadetcontrap();
                    }
                }
            }
        }
	}
    function eliminadetcontrap(){
        var divcontrap = document.getElementById("rescontrap");
        var seccion = document.getElementById("seccion").value;
        var divcontrap = document.getElementById("rescontrap");
        var selart = document.getElementById("selart");
        var contrap = document.getElementById("contrap");
        var divimport = document.getElementById("selimport");
        var desactivaimport = document.getElementById("desactivaimport");

        divcontrap.style.display='none';
        contrap.value='';
        if (seccion=='compras'){
            if ((divimport.style.display=='none')||((divimport.style.display=='')&&(desactivaimport.disabled))){
                selart.style.display='';
            }
        }
    }
	function selcuentacontrap(j, nart){
		var TABLE = document.getElementById("tabcontrap");
		var DIV = document.getElementById("rescontrap");
		var secc = document.getElementById("seccion").value;
		var tr = TABLE.getElementsByTagName("tr")[j];
		var a = document.getElementById("a" + nart);
		var art =a.innerHTML;
        var precio=0;
        var cant=0;
        var dto=0;
        var cantmax=0;

        //Excluye Recibo Oficial
		if (document.datos.tipodoc.value != 5){
            //nart = parseFloat(tr.getElementsByTagName("td")[0].innerHTML);
            //var art = tr.getElementsByTagName("td")[1].innerHTML;
            codiva =  parseFloat(tr.getElementsByTagName("td")[5].innerHTML);
            precio =  parseFloat(tr.getElementsByTagName("td")[2].innerHTML);
            cant =  parseFloat(tr.getElementsByTagName("td")[4].innerHTML);
            //para limitar a saldofifo la posibilidad de devoluciones establecer parseFloat(tr.getElementsByTagName("td")[6].innerHTML); en la siguiente linea
            cantmax =  cant;
            cantmax =  cuentacantdet(nart, cant);
            if (cantmax<=0){
                cantmax=-1;
            }
            dto =  parseFloat(tr.getElementsByTagName("td")[3].innerHTML);
            //temp = buscactas(ctasprovart, cuenta);
            temp = buscactas(ctasfav, nart);
            if (i == ctasfav.length){
                document.datos.incfav.checked=false;
            }else{
                document.datos.incfav.checked=true;
            }
            document.datos.numctasel.value = nart;
            document.datos.cuentasel.value = art;
            document.datos.numint.value = nart;	
            document.datos.precio.value = precio;	
            document.datos.cant.value = cant;	
            document.datos.cantmax.value = cantmax;	
            document.datos.dto.value = dto;	
            temp = seltablaiva(codiva);
            //DIV.style.display = 'none';
            if ((secc == 'ventas')||(secc=='iniventas')){
                cargapreciovta('ventas', nart);
                document.datos.cant.focus();
            }else{
                document.datos.precio.focus();
            }
        }
	}

    function cuentacantdet(nart, cant){
		var tabdet = document.getElementById("tabdet");
		var tr;
        var td;
        var j;
        var cantdet=0;
        
        for (j=1;j<tabdet.rows.length;j++){
            tr = tabdet.getElementsByTagName("tr")[j];
            if (parseFloat(tr.getElementsByTagName("td")[0].innerHTML)==parseFloat(nart)){
                cantdet = cantdet + parseFloat(tr.getElementsByTagName("td")[5].innerHTML);
            }
        }
        cantdet = cant + cantdet;
        return  cantdet;
    }

	function recupnintcp(respuesta){
//	alert(respuesta);
		var numintcp= document.getElementById("numintro");
		var largo;
        var linea;

		if (respuesta.length>0){
			linea = respuesta.split(/<espacio>/);
            if (linea.length>0){
                numintcp.value = 0;
			}else{
                numintcp.value = linea[7];
            }
        }else{
            numintcp.value = 0;
        }
    }
    function activactactecli(){
        var control = document.getElementById("conctacte");
        var fapctacte = document.getElementById("fapctacte");
        var moneda = document.getElementById("moneda");
        var limcto = document.getElementById("limcto");
        var plazocto = document.getElementById("plazocto");
        var hoy = new Date();
        
        if (control.checked){
            fapctacte.disabled=false;
            moneda.disabled=false;
            limcto.disabled=false;
            plazocto.disabled=false;
        }else{
            fapctacte.disabled=true;
            var mes = hoy.getMonth()+1 ;
            fapctacte.value=hoy.getDate() + '/' + mes + '/' + hoy.getFullYear() + ' ' + hoy.getHours() + ':' + hoy.getMinutes() + ':' + hoy.getSeconds();
            moneda.disabled=true;
            limcto.disabled=true;
            limcto.value=0;
            plazocto.disabled=true;
            plazocto.value=0;
        }
    }
    
	function validarcli(){
	    var nombre = limpiatexto(document.datos.nombre.value);
	    var cedula = limpiatexto(document.datos.cedula.value);
	    var dir = limpiatexto(document.datos.dir.value);
	    var local = limpiatexto(document.datos.local.value);
	    var depto = (document.datos.depto.value);
	    var ruc = limpiatexto(document.datos.ruc.value);
	    var provs;
	    var temp;
	    var i;
	    
	    var error=false;
	    var msg="Atenci\u00f3n: errores encontrados:";
	    
	    //para el art\u00EDculo.
	    if ((isNaN(depto))||(depto==0)) {
            error=true;
            msg+="\nDebe seleccionar un Departamento.";
	    }
	    if ((nombre)==""){
            error=true;
            msg+="\nDebe ingresar un Nombre.";
	    };
	    if (((ruc)=="")&&((cedula)=="")){
            error=true;
            msg+="\nDebe ingresar un N\xfamero de Ruc o C\xe9dula.";
	    };
	    if ((dir)==""){
            error=true;
            msg+="\nDebe ingresar una Direcci\xf3n.";
	    };
	    if ((local)==""){
            error=true;
            msg+="\nDebe ingresar una Localidad.";
	    };

	    if(!error){
            if (confirm("¿Est\u00E1 seguro de confirmar los datos?")){
                document.datos.ruc.value=ruc;
                document.datos.nombre.value=nombre;
                document.datos.cedula.value=cedula;
                document.datos.dir.value=dir;
                document.datos.local.value=local;
                
                document.datos.submit();
            }
	    }else{
    		alert(msg);
	    }
	}
	function editcli(){
		var numerocli = document.getElementById("provs").value;
		var ventana;
		
		if ((numerocli>0)){
			ventana = "editcliente.php?reg=" + numerocli;
			temp = openWindow(ventana);
		}
		else{
			alert("No hay elementos seleccionados");
		}
	}
    function cargapreciovta(seccmes, nart){
        nart = parseFloat(nart);
        if (nart){
            if ((seccmes=="ventas")||(seccmes=="iniventas")){
                var syncdata = document.getElementById("syncdata");
                var ncli = parseFloat(document.getElementById("provs").value);
                var moneda = parseFloat(document.getElementById("moneda").value);
                var url = "libsajax/artpvta.php?nart=" + nart + "&ncli=" + ncli + "&moneda=" + moneda;
                syncdata.value=0;
                cargarajax('ajaxresp', url, 'ajaxresp','','','recuppreciovta(ajax.responseText);','');
            }
        }
    }
    function recuppreciovta(respuesta){
        var syncdata = document.getElementById("syncdata");
        var largo=0;
        if (respuesta.search(/<Precio>/)>-1){
            temp = respuesta.search(/<Precio>/) + 8;
            largo = respuesta.indexOf(';', temp)-temp;
            document.datos.precio.value =(respuesta.substr(temp, largo));
        }			
        if (respuesta.search(/<Dto>/)>-1){
            temp = respuesta.search(/<Dto>/) + 5;
            largo = respuesta.indexOf(';', temp)-temp;
            document.datos.dto.value =(respuesta.substr(temp, largo));
        }
        calcpventa('ventas','cant');
        syncdata.value = 1;
        
        document.datos.cant.focus();
    }
    function muestrafac(modo){
        var numintenca= document.getElementById("numintenca").value;
        var numintro= document.getElementById("numintro").value;
        var url='factura.php?modo='+modo+'&numint='+numintenca+'&numintro='+numintro+'&copias=2';
        //openWindow(url);
        window.location=url;
    }

    function imprimefac(copias){
        var via =document.getElementById("via");
        var j;
        for (j=1;j<copias+1;j++){
            if (j>1){
                switch (via.value){
                    case 'Original Cliente':
                        via.value = 'Copia Archivo';
                        break;
                    case 'Copia Archivo':
                        via.value = 'Copia Viajero';
                        break;
                }
            }
            if ((navigator.appName == "Netscape")) { window.print() ;
            }else{
                var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
                document.body.insertAdjacentHTML('beforeEnd', WebBrowser); WebBrowser1.ExecWB(6, -1); WebBrowser1.outerHTML = "";
            }
        }
    }
	function openWindow(url) {
		var win1;
		//<a href="javascript:window.open('includes/formulario/formulario.html', 'nombreTarget', 'width=162,height=230,top='+ ((screen.height - 230) / 2) + ',left=' + ((screen.width - 162) / 2) + ',location=no,toolbar=no,menubar=no,scrollbars=no, resizable=yes');void(null);">Recomendanos</a>
		win1=window.open(url,'', 'width=680,height=400,top='+ ((screen.height - 400) / 2) + ',left=' + ((screen.width - 680) / 2) + ',location=no,toolbar=no,menubar=no,scrollbars=yes, resizable=no');
	}
    function checktodos(fin){
        for (i=1;i<fin;i++){
            eval ("document.datos.chk"+i+".checked=!(document.datos.chk"+i+".checked);");
        }
    }
    function confirmcambioest(fin){
        var haysel=0;
        var artsel='';
        var resp;
        for (i=1;i<fin;i++){
            eval ("if (document.datos.chk"+i+".checked){haysel=1;artsel=artsel+document.datos.numint"+i+".value+';';}");
        }
        if (haysel==1){
            artsel=artsel.substring(0,artsel.length - 1);
            resp = confirm("\xbfEst\xe1 seguro de confirmar la modificaci\xf3n");
            if (resp){
                document.datos.artsel.value=artsel;
                document.datos.submit();
            }
        }else{
            alert("Seleccione alg\xfan art\xedculo primero.");
        }
    }
	function datosctacte(){
		var accion = "respctacte(ajax.responseText);";
		var url = "libsajax/datosctacte.php?reg=" + ruccli[i][0];
        cargarajax ('ajaxresp', url, 'ajaxresp', '', '',accion, '');
	}
    function respctacte(respuesta){
        var infoctacte = document.getElementById("infoctacte");
        var largo=0;
        if (respuesta.search(/<Precio>/)>-1){
            temp = respuesta.search(/<Precio>/) + 8;
            largo = respuesta.indexOf(';', temp)-temp;
            document.datos.precio.value =(respuesta.substr(temp, largo));
        }			
        if (respuesta.search(/<Dto>/)>-1){
            temp = respuesta.search(/<Dto>/) + 5;
            largo = respuesta.indexOf(';', temp)-temp;
            document.datos.dto.value =(respuesta.substr(temp, largo));
        }
        calcpventa('ventas','cant');
        syncdata.value = 1;
        
        document.datos.cant.focus();
    }

	function modificazona(modo){
		var numeros = parseFloat(document.datos.zona.value);
		var ventana;

		if (modo==0){
		    if ((numeros>0)){
			    ventana = "modificazona.php?reg=" + numeroz;
			    temp = openWindow(ventana);
		    }
		    else{
			    alert("No hay elementos seleccionados");
		    }
		}else{
			    ventana = "modificazona.php";
			    temp = openWindow(ventana);
		}
	}

	function cargaloc(){
        var depto = document.getElementById('dpto').value;
        var url = "http://www.pymesuruguay.com/empresas/libsajax/buslocalidad.php?depto=" + depto;
        cargarajax('ajaxresp', url, 'selloc', '','',"",'');
	}
    document.onkeypress = capturaTecla;
	
/*
    * \n: Salto de linea.
    * \r: Retorno de carro.
    * \t: Tabulación horizontal.
    * \v: Tabulación vertical.
    * \': Comilla simple o apostrofe.
    * \": Comilla doble.
    * \\: Barra invertida.
    * \xdd: Caracter especial especificado por dos dígitos hexadecimanes dd

*/
