//
// Validador de Rut
// Descargado desde http://www.juque.cl/
//
function revisarDigito( dvr )
{	
	dv = dvr + ""	
	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')	
	{		
		alert("Debe ingresar un digito verificador valido");		
		//window.document.form1.txRut.focus();		
		//window.document.form1.txRut.select();		
		return false;	
	}	
	return true;
}


function habilita(){
	
	if(document.formBuscar.listaFiltroEdad.value=="entre"){
   	 	window.document.formBuscar.txBuscarEdad2.disabled = false;
	}
   }

   function deshabilita(){
	
	if(document.formBuscar.listaFiltroEdad.value!="entre"){
   	 	window.document.formBuscar.txBuscarEdad2.disabled = true;
		window.document.formBuscar.txBuscarEdad2.value = "";
	}
    
   } 




function revisarDigito2( crut )
{	
	largo = crut.length;	

        if ( largo < 2 )	
	{		
		return false;	
	}	
	if ( largo > 2 )		
		rut = crut.substring(0, largo - 1);	
	else		
		rut = crut.charAt(0);	
	dv = crut.charAt(largo-1);	
	revisarDigito( dv );	

	if ( rut == null || dv == null )
		return 0;	

	var dvr = '0';	
	suma = 0;	
	mul  = 2;	

	for (i= rut.length -1 ; i >= 0; i--)	
	{	
		suma = suma + rut.charAt(i) * mul;	
		if (mul == 7)			
			mul = 2;		
		else    			
			mul++;	
	}	
	res = suma % 11;	
	if (res==1)		
		dvr = 'k';	
	else if (res==0)		
		dvr = '0';	
	else	
	{		
		dvi = 11-res;		
		dvr = dvi + "";	
	}
	if ( dvr != dv.toLowerCase() )	
	{		
		alert("EL rut es incorrecto");
	//	window.document.form1.txRut.focus();		
	//	window.document.form1.txRut.select();	
                return false;	
	}

	return true;
}
function revisarDigito3( crut )
{	
	largo = crut.length;	

        if ( largo < 2 )	
	{		
		return false;	
	}	
	if ( largo > 2 )		
		rut = crut.substring(0, largo - 1);	
	else		
		rut = crut.charAt(0);	
	dv = crut.charAt(largo-1);	
	revisarDigito( dv );	

	if ( rut == null || dv == null )
		return 0;	

	var dvr = '0';	
	suma = 0;	
	mul  = 2;	

	for (i= rut.length -1 ; i >= 0; i--)	
	{	
		suma = suma + rut.charAt(i) * mul;	
		if (mul == 7)			
			mul = 2;		
		else    			
			mul++;	
	}	
	res = suma % 11;	
	if (res==1)		
		dvr = 'k';	
	else if (res==0)		
		dvr = '0';	
	else	
	{		
		dvi = 11-res;		
		dvr = dvi + "";	
	}
	if ( dvr != dv.toLowerCase() )	
	{		
		alert("EL rut es incorrecto");
		//window.document.formLogin.user.focus();		
		//window.document.formLogin.user.select();	
                return false;	
	}

	return true;
}




function Rut(texto)
{	
  var tmpstr = "";	
	for ( i=0; i < texto.length ; i++ )		
		if ( texto.charAt(i) != ' ' && texto.charAt(i) != '.' && texto.charAt(i) != '-' )
			tmpstr = tmpstr + texto.charAt(i);	
	texto = tmpstr;	
	largo = texto.length;	

	if ( largo < 2 )	
	{		
		
		return false;	
	}	

	for (i=0; i < largo ; i++ )	
	{			
		if ( texto.charAt(i) !="0" && texto.charAt(i) != "1" && texto.charAt(i) !="2" && texto.charAt(i) != "3" && texto.charAt(i) != "4" && texto.charAt(i) !="5" && texto.charAt(i) != "6" && texto.charAt(i) != "7" && texto.charAt(i) !="8" && texto.charAt(i) != "9" && texto.charAt(i) !="k" && texto.charAt(i) != "K" )
 		{			
			alert("El valor ingresado no corresponde a un R.U.T valido");			
		//	window.document.form1.txRut.focus();			
		//	window.document.form1.txRut.select();	
        		return false;		
		}	
	}	

	var invertido = "";	
	for ( i=(largo-1),j=0; i>=0; i--,j++ )		
		invertido = invertido + texto.charAt(i);	
	var dtexto = "";	
	dtexto = dtexto + invertido.charAt(0);	
	dtexto = dtexto + '-';	
	cnt = 0;	

	for ( i=1,j=2; i<largo; i++,j++ )	
	{		
		//alert("i=[" + i + "] j=[" + 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);	
        window.document.form1.txRut.value = invertido.toUpperCase();		
        if ( revisarDigito2(texto) )		
		return true;	

	return false;
}

function RutVal(texto)
{	
  var tmpstr = "";	
	for ( i=0; i < texto.length ; i++ )		
		if ( texto.charAt(i) != ' ' && texto.charAt(i) != '.' && texto.charAt(i) != '-' )
			tmpstr = tmpstr + texto.charAt(i);	
	texto = tmpstr;	
	largo = texto.length;	

	if ( largo < 2 )	
	{		
		
		return false;	
	}	

	for (i=0; i < largo ; i++ )	
	{			
		if ( texto.charAt(i) !="0" && texto.charAt(i) != "1" && texto.charAt(i) !="2" && texto.charAt(i) != "3" && texto.charAt(i) != "4" && texto.charAt(i) !="5" && texto.charAt(i) != "6" && texto.charAt(i) != "7" && texto.charAt(i) !="8" && texto.charAt(i) != "9" && texto.charAt(i) !="k" && texto.charAt(i) != "K" )
 		{			
			alert("El valor ingresado no corresponde a un R.U.T valido");			
			//window.document.formLogin.user.focus();			
			//window.document.formLogin.user.select();	
        		return false;		
		}	
	}	

	var invertido = "";	
	for ( i=(largo-1),j=0; i>=0; i--,j++ )		
		invertido = invertido + texto.charAt(i);	
	var dtexto = "";	
	dtexto = dtexto + invertido.charAt(0);	
	dtexto = dtexto + '-';	
	cnt = 0;	

	for ( i=1,j=2; i<largo; i++,j++ )	
	{		
		//alert("i=[" + i + "] j=[" + 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);	
        window.document.formLogin.user.value = invertido.toUpperCase();		
        if ( revisarDigito3(texto) )		
		return true;	

	return false;
}


function revisarDV(x, dvr )	{	
	dv = dvr + ""	
	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')	{
		alert("Debe ingresar un digito verificador valido");		
		//x.focus();		
		//x.select();		
		return false;	
	}	
	return true;
}

  
function validarRut(x, crut )	{
	largo = crut.length;	

	if ( largo < 2 ) {		
		return false;
	}
	if ( largo > 2 )
		rut = crut.substring(0, largo - 1);	
	else		
		rut = crut.charAt(0);	
	dv = crut.charAt(largo-1);	
	revisarDV(x, dv );	

	if ( rut == null || dv == null )
		return 0;	

	var dvr = '0';	
	suma = 0;	
	mul  = 2;	

	for (i= rut.length -1 ; i >= 0; i--)	{
		suma = suma + rut.charAt(i) * mul;
		if (mul == 7)		
			mul = 2;
		else    			
			mul++;
	}
	res = suma % 11;	
	if (res==1)		
		dvr = 'k';	
	else if (res==0)		
		dvr = '0';	
	else	{
		dvi = 11-res;		
		dvr = dvi + "";	
	}
	if ( dvr != dv.toLowerCase() )	{		
		alert("EL rut es incorrecto");
	//	x.focus();		
	//	x.select();	
		return false;	
	}

	return true;
}


function formatearRut(x)
{	
	texto = x.value;

	var tmpstr = "";	
	for ( i=0; i < texto.length ; i++ )		
		if ( texto.charAt(i) != ' ' && texto.charAt(i) != '.' && texto.charAt(i) != '-' )
			tmpstr = tmpstr + texto.charAt(i);	
	texto = tmpstr;	
	largo = texto.length;	

	if ( largo < 2 )	
	{		
		
		return false;	
	}	

	for (i=0; i < largo ; i++ )	{			
		if ( texto.charAt(i) !="0" && texto.charAt(i) != "1" && texto.charAt(i) !="2" && texto.charAt(i) != "3" && texto.charAt(i) != "4" && texto.charAt(i) !="5" && texto.charAt(i) != "6" && texto.charAt(i) != "7" && texto.charAt(i) !="8" && texto.charAt(i) != "9" && texto.charAt(i) !="k" && texto.charAt(i) != "K" )	{
			alert("El valor ingresado no corresponde a un R.U.T valido");			
		//	x.focus();			
		//	x.select();	
        	return false;		
		}	
	}	

	var invertido = "";	
	for ( i=(largo-1),j=0; i>=0; i--,j++ )		
		invertido = invertido + texto.charAt(i);	
	var dtexto = "";	
	dtexto = dtexto + invertido.charAt(0);	
	dtexto = dtexto + '-';	
	cnt = 0;	

	for ( i=1,j=2; i<largo; i++,j++ )	{
		//alert("i=[" + i + "] j=[" + 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);
		x.value = invertido.toUpperCase();
		if ( validarRut(x, texto) )		
			return true;	
	return false;
}


function enviarRut(){
var text;
var aText;
var  nueva_cadena;

if(RutVal(window.document.formLogin.user.value)==false){
		return false;
	}
	else {
		text = window.document.formLogin.user.value;
		nueva_cadena = text.replace(".","");
		text = nueva_cadena.replace(".","");
		aText = text.split("-");
		window.document.formLogin.user.value = aText[0];
		return true;
	}


}
