	function validaNombre(thisNombre)
	
	{
		var strTmp = ''
		var strNombre = thisNombre.value
		
		for ( i=0; i < strNombre.length ; i++ )
			if ( strNombre.charAt(i) != '0' && strNombre.charAt(i) != '1' && strNombre.charAt(i) != '2' && strNombre.charAt(i) != '3' && strNombre.charAt(i) != '4' && strNombre.charAt(i) != '5' && strNombre.charAt(i) != '6' && strNombre.charAt(i) != '7' && strNombre.charAt(i) != '8' && strNombre.charAt(i) != '9')
			{
				strTmp = strTmp + strNombre.charAt(i);
				return true
			}
		
		if (strTmp == '')
		{
			alert("El nombre ingresado no es válido");
			thisNombre.focus();
			thisNombre.select();
			return false;	
		}					
	}



	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 quitaFormatoRut(strVal)
	
	{
		var strTmp = ''
		var i;
		
		for ( i=0; i < strVal.length ; i++ )
			if ( strVal.charAt(i) != ' ' && strVal.charAt(i) != '.' && strVal.charAt(i) != '-' )
				strTmp = strTmp + strVal.charAt(i);
		
		return strTmp;
	}

	

	function chequeaDV(thisRut)

	{		
		var strRut = quitaFormatoRut(thisRut.value);
		var i;
		
		largo = strRut.length;
		
		if ( strRut == "" )
		{
			thisRut.value="";
			return false;
		}


		if ( largo < 2 )
		{
			alert("Debe ingresar el rut completo")
			thisRut.value="";
			thisRut.focus();
			thisRut.select();
			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.value="";
			thisRut.focus();
			thisRut.select();
			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.value="";
			thisRut.focus();
			thisRut.select();
			return false
		}

		return true

	}



	
	function formateaRut(thisRut)

	{  
		var tmpstr = "";
		var strRut = thisRut.value
		var i
		
		if ( strRut == "" )
		{
			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.value="";
			thisRut.focus();
			thisRut.select();
			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 R.U.T valido");
				thisRut.value="";
				thisRut.focus();
				thisRut.select();
				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 validaClave(thisClave)
	{	
		var strClave = thisClave.value				
		var k
					
		
			if (strClave.length != 4 )
			{		
				if ( strClave.charAt(k) !="0" && strClave.charAt(k) != "1" && strClave.charAt(k) !="2" && strClave.charAt(k) != "3" && strClave.charAt(k) != "4" && strClave.charAt(k) !="5" && strClave.charAt(k) != "6" && strClave.charAt(k) != "7" && strClave.charAt(k) !="8" && strClave.charAt(k) != "9" ) 		
				{
					alert("La clave ingresada es incorrecta")
					thisClave.value="";
					thisClave.focus();
					thisClave.select();
					return false;
				}
				else
				{
				alert("La clave ingresada debe poseer un largo de 4 dígitos");
				thisClave.value="";
				thisClave.focus();
				thisClave.select();
				return false;
				}
			}
		
			for (k=0; k < strClave.length ; k++ )
			{ 			
				if ( strClave.charAt(k) !="0" && strClave.charAt(k) != "1" && strClave.charAt(k) !="2" && strClave.charAt(k) != "3" && strClave.charAt(k) != "4" && strClave.charAt(k) !="5" && strClave.charAt(k) != "6" && strClave.charAt(k) != "7" && strClave.charAt(k) !="8" && strClave.charAt(k) != "9" ) 
				{
					alert("La clave ingresada es incorrecta")
					thisClave.value="";
					thisClave.focus();
					thisClave.select();
					return false;
				}
			}		
		return true	
	}
	

function Trim( str ) {
	var resultStr = "";
	
	resultStr = TrimLeft(str);
	resultStr = TrimRight(resultStr);
	
	return resultStr;
}


function TrimRight( str ) {
	var resultStr = "";
	var i = 0;

	// Return immediately if an invalid value was passed in
	if (str+"" == "undefined" || str == null)	
		return null;

	// Make sure the argument is a string
	str += "";
	
	if (str.length == 0) 
		resultStr = "";
	else {
  		// Loop through string starting at the end as long as there
  		// are spaces.
  		i = str.length - 1;
  		while ((i >= 0) && (str.charAt(i) == " "))
 			i--;
 			
 		// When the loop is done, we're sitting at the last non-space char,
 		// so return that char plus all previous chars of the string.
  		resultStr = str.substring(0, i + 1);
  	}
  	
  	return resultStr;  	
}


function TrimLeft( str ) {
	var resultStr = "";
	var i = len = 0;

	// Return immediately if an invalid value was passed in
	if (str+"" == "undefined" || str == null)	
		return null;

	// Make sure the argument is a string
	str += "";

	if (str.length == 0) 
		resultStr = "";
	else {	
  		// Loop through string starting at the beginning as long as there
  		// are spaces.
//	  	len = str.length - 1;
		len = str.length;
		
  		while ((i <= len) && (str.charAt(i) == " "))
			i++;

   	// When the loop is done, we're sitting at the first non-space char,
 		// so return that char plus the remaining chars of the string.
  		resultStr = str.substring(i, len);
  	}

  	return resultStr;
}