﻿function FormatoRut(texto) {

    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;

    //alert(texto + ' 1');

    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;

    //alert(texto + ' 2');

    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++;
        }
    }

    //alert(texto + ' 3');

    invertido = "";
    for (i = (dtexto.length - 1), j = 0; i >= 0; i--, j++)
        invertido = invertido + dtexto.charAt(i);

    //alert(invertido + ' txt invertido');

    return invertido;
}
	
	function validar_rut(source, arguments) 
	{
          var cedula = arguments.Value;
          cedula = cedula.replace(/[-]/gi, '');
          cedula = cedula.replace(/[.]/gi, '');
          var dv = cedula.charAt(cedula.length - 1).toUpperCase();
		  
          var total = 0;
          var mul = 2;

          for (i = cedula.length - 2; i >= 0; i--) {
              total = total + parseInt(cedula.charAt(i)) * mul;
              mul = mul == 7 ? 2 : mul + 1;
          }
          var resultDv = (11 - total % 11);

          switch (resultDv) {
              case 10: resultDv = 'K';
                  break
              case 11: resultDv = '0';
                  break;
          }

          if (dv != resultDv)
              arguments.IsValid = false;
          else
              arguments.IsValid = true;
	}
	
