var verificaRut = true;

function checkCDV( dvi ) {
	dv = dvi + "";
	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.");
		return false;
  }
	return true;
}


function checkDV( rut ) {
	
	rut = UnFormatRut( rut );
	
	if(rut.charAt(0)=='R'){
		verificaRut = false;
	}
if(verificaRut){

	largo = rut.length;
	var dv = rut.lastIndexOf("-");
	
	if(dv == -1){
		dv = rut.substring(largo-1);
		rut =rut.substring(0,largo-1);
	}else{
		dv  = rut.substring(largo-1);
		rut = rut.substring(0,rut.lastIndexOf("-"));
	}
		
//	alert(rut+"-"+dv);
	
	if ( largo < 2 ) {
		alert("Debe ingresar el rut completo.");
		return false;
	}
	

	checkCDV( 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() ) {
		return false;
	}

	return true;
}else{	
	return true;
}
	
}

function FormatRut(Obj)
{

 
texto = Obj.value;

 var tmpstr = "";
 var tmpstr2 = "";
 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;

  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++ )  {
    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);

  //return invertido;
  Obj.value = invertido;
}

/*desformateo de RUT*/
function UnFormatRut( rut ) {
	var oAux = new String('');
	var oRut = new String(rut);
	var ch, j, k
	var oStr = oRut ; //oRut.substring(0, i );
	j = oStr.length ;

	for(k=0;k<=j;k=k+1){
		ch = oStr.charAt(k);
		if (ch!='.' && ch!='-') {
			oAux = oAux + ch ;
			}
	}
	ruty = oAux;
	return oAux;
}
