
	function quitaFormatoRut(strVal)
	{
		var strTmp = ''
		var i;
		
		if (strVal.charAt(0) =='0') 
		{
			for ( i=1; i < strVal.length ; i++ )
			if ( strVal.charAt(i) != ' ' && strVal.charAt(i) != '.' && strVal.charAt(i) != '-' && strVal.charAt(i) != ',' )
			strTmp = strTmp + strVal.charAt(i);
		}
		else
		for ( i=0; i < strVal.length ; i++ )
		if ( strVal.charAt(i) != ' ' && strVal.charAt(i) != '.' && strVal.charAt(i) != '-' && strVal.charAt(i) != ',' )
		strTmp = strTmp + strVal.charAt(i);
		return strTmp;
	}
	
	function validaDV( strDV )
	{
		dv = strDV + ""
		if ( dv != '0' && dv != '1' && dv != '2' && dv != '3' && dv != '4' && dv != '5' && dv != '6' && dv != '7' && dv != '8' && dv != '9' && dv != 'k' && dv != 'K')
		return false;
		return true;
	}
	
	function chequeaDV(thisRut)
	{		
		var strRut = quitaFormatoRut(thisRut.value);
		var i;
		
		if (thisRut.value =="")
		return false;
		largo = strRut.length;
		if ( largo < 2 )
		{
			thisRut.value="";
			alert("Debe ingresar el RUT completo")
			thisRut.focus();
			thisRut.select();
			thisRut.value="";
			return false;
		}
		if ( largo > 2 )
		strRutSD = strRut.substring(0, largo - 1);
		else
		strRutSD = strRut.charAt(0);
		strDv = strRut.charAt(largo-1);
		if (!validaDV( strDv ))
		{
			alert("Su digito validador del RUT " + thisRut.value + " es incorrecto")
			thisRut.focus();
			thisRut.select();
			thisRut.value="";
			return false
		}
		if ( strRutSD == null || strDv == null )
		return 0
		var dvr = '0'
		intSuma = 0
		intFactor  = 2
		for (i= strRutSD.length -1 ; i >= 0; i--)
		{
			intSuma = intSuma + strRutSD.charAt(i) * intFactor
			if (intFactor == 7)
			intFactor = 2
			else    
			intFactor++
		}
		intResto = intSuma % 11
		if (intResto == 1)
		dvr = 'k'
		else if (intResto == 0)
		dvr = '0'
		else
		{
			dvi = 11 - intResto
			dvr = dvi + ""
		}
		
		if ( dvr != dv.toLowerCase() )
		{
			alert("EL RUT " + thisRut.value + " es incorrecto")
			thisRut.focus();
			thisRut.select();
			thisRut.value="";
			return false
		}
		return true
	}
	
	function formateaRut(thisRut)
	{  
		var tmpstr = "";
		var strRut = thisRut.value
		var i
		
		if (thisRut.value == "")
		return false;
		for ( i=0; i < strRut.length ; i++ )
		if ( strRut.charAt(i) != ' ' && strRut.charAt(i) != '.' && strRut.charAt(i) != '-' )
		tmpstr = tmpstr + strRut.charAt(i);
		strRut = tmpstr;
		largo = strRut.length;
		if ( largo < 2 )
		{
			alert("Debe ingresar el RUT completo");
			thisRut.focus();
			thisRut.select();
			thisRut.value="";
			return false;
		}
		for (i=0; i < largo ; i++ )
		{ 
			if ( strRut.charAt(i) !="0" && strRut.charAt(i) != "1" && strRut.charAt(i) !="2" && strRut.charAt(i) != "3" && strRut.charAt(i) != "4" && strRut.charAt(i) !="5" && strRut.charAt(i) != "6" && strRut.charAt(i) != "7" && strRut.charAt(i) !="8" && strRut.charAt(i) != "9" && strRut.charAt(i) !="k" && strRut.charAt(i) != "K" ) 
			{
				alert("El valor ingresado no corresponde a un RUT valido");
				thisRut.focus();
				thisRut.select();
				thisRut.value="";
				return false;
			}
		}
		var invertido = "";
		for ( i=(largo-1),j=0; i>=0; i--,j++ )
		invertido = invertido + strRut.charAt(i);
		var dtexto = "";
		dtexto = dtexto + invertido.charAt(0);
		dtexto = dtexto + '-';
		cnt = 0;
		for ( i=1,j=2; i<largo; i++,j++ )
		{		  
			if ( cnt == 3 )
			{
				dtexto = dtexto + '.';
				j++;
				dtexto = dtexto + invertido.charAt(i);
				cnt = 1;
			}
			else
			{ 
				dtexto = dtexto + invertido.charAt(i);
				cnt++;
			}
		}
		invertido = "";
		for ( i=(dtexto.length-1),j=0; i>=0; i--,j++ )
		invertido = invertido + dtexto.charAt(i);
		thisRut.value = invertido;  
		if ( validaDV(strRut) )
		return true;
		return false; 
	}

	function Char_Invalidos(Char,id,name)
	{
		if (name != '') { Max_Caracter(name); }
		
		var Char, tmp;
		if (Char.indexOf("'") == -1 && Char.indexOf("%") == -1 && Char.indexOf('"') == -1)
		{
			//window.event.keyCode=0;
			document.getElementById('btngrabar').disabled=false;
		}
		else
		{
			c = '"';
			cs = "'";
			alert('Atención caracteres no permitidos! (% , '+c+' , '+cs+')');
			tmp = Char.length;
			tmp = Char.substring(0,tmp-1);
			document.getElementById(id).value = tmp;
			document.getElementById('btngrabar').disabled=true;
		}
		
		var key; 
		if(window.event) { key = window.event.keyCode; } //IE
		else { key = e.which; } //firefox

		//		if (event.keyCode==13)
		//		{
		//			alert('Atención!\nNo se puede teclear la Tecla Enter para esta opción.');
		//			tmp = Char.length;
		//			tmp = Char.substring(0,tmp-2);
		//			document.getElementById(id).value = tmp;
		//			document.getElementById('btngrabar').style.display='none';
		//		}

		if(key==13)
		{
			alert('Atención!\nNo se puede teclear la Tecla Enter para esta opción.');
			tmp = Char.length;
			tmp = Char.substring(0,tmp-2);
			document.getElementById(id).value = tmp;
			document.getElementById('btngrabar').disabled=true;
			return false;
		}
		else { return true; }
	}
	
	function validarEmail(valor,txt)
	{
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)) { return (true) }
		else
		{
			alert("La dirección de email es incorrecta.");
			document.form[txt].focus();
			return (false);
		}
	}

	function nuevoAjax()
	{
		var xmlhttp=false;
	
		try { xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }
	
		catch(e)
		{
			try { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }
	
			catch(E) { xmlhttp=false; }
		}

		if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }

		return xmlhttp;
	}
	
	var nav = window.Event;
	function OnlyNumbers(evt)
	{
		var key = nav ? evt.which : evt.keyCode;
		return ((key >= 48 && key <= 57)|| (key == 8)); 
	}
	
	function Max_Caracter(nombre)
	{
        var maximo = 200;
		if (document.form[nombre].value.length >= maximo) { document.form[nombre].value = document.form[nombre].value.substring(0, maximo); }
		else
		{
			Quedan = new Number(maximo) - new Number(document.form[nombre].value.length);
			Texto = "Quedan: " + Quedan + " caracteres";
			document.getElementById("id_restantes").innerHTML = Texto;
			document.form.txtrestantes.value = Quedan;
		}
	}
	
	//setTimeout("oculta()", 0);
	var textoCargando = "Cargando datos, por favor espere un momento";
	var numeroPuntos = 1;
	var maxPuntos = 3;
	var timerID = 0;
	var cargado = false;
	var tiempo = 500;
	
	function oculta()
	{
		document.getElementById("cargando").style.display = "none";
		cargado = true;
		clearTimeout(timerID);
	}
	
	function muestra()
	{
		document.getElementById("cargando").style.display = "block";
		cargado = false;
	}
	
	function fTimer()
	{
		var puntos = "";
		for(i=0;i<numeroPuntos;i++) { puntos += "."; }
		if (numeroPuntos++ >= maxPuntos) { numeroPuntos = 0; }
		document.getElementById("cargando").innerHTML = textoCargando + puntos;
		if (!cargado) { timerID = setTimeout("fTimer()", 500); }
	}
	
	function formatoamil(numero,punto)
	{
		if(punto=='') { return numero.replace(/[.]+/g,''); }
		else
		{
			if(numero.length>3)
				return formatoamil(numero.substring(0,numero.length-3),punto) + punto + "" + numero.substring(numero.length-3,numero.length); 
			else 
				return numero;
		}
	}
	
	function esNumero(campo)
	{
		campo.value = campo.value.replace (/[ ]+$/,"");
		campo.value = campo.value.replace (/^[ ]+/,"");
		campo.value = campo.value.replace (/^[0]+/,"");
	
		if (campo.value=="") return true;
	
		if (/^\d+$/.test(campo.value)) return true;
		else
		{
			alert("Debe ingresar un valor numérico.");
			campo.focus();
			return false;
		}
	}

