function WithNumber(StrVerif){
  var i
  var wvarRetorno=""
  for (i=0; i < StrVerif.length; i++){
    n = parseInt(StrVerif.charCodeAt(i, i+1))
    if ((n!=107) && (n!=75)) {
      if ((n <48)  || (n >57)) {
        wvarRetorno=1
      }
    }
  }
  return  wvarRetorno
}
function glb_LTrim(str){
  var i
  var ch
  var wvarRetorno
  var wvarSeSigueCheckeando
  
  wvarRetorno = ""
  wvarSeSigueCheckeando = true
  for (i=0; i < str.length; i++){
  
    ch = str.substring(i, i+1)

    if (ch == " " && wvarSeSigueCheckeando){
    }else{
      wvarPasanTodos = false
      wvarRetorno = wvarRetorno + ch
    }   
  }      

  return wvarRetorno
}

function glb_RTrim(str){
  var i
  var ch
  var wvarRetorno
  var wvarSeSigueCheckeando

  wvarRetorno = ""
  wvarSeSigueCheckeando = true
  for (i = str.length -1; i >= 0; i--){
    ch = str.substring(i, i+1)

    if (ch == " " && wvarSeSigueCheckeando){
    }else{
      wvarSeSigueCheckeando = false
      wvarRetorno = ch + wvarRetorno 
    }
  }      

  return wvarRetorno
}

function glb_Trim(str){
  return glb_LTrim(glb_RTrim(str))
}

function limpiaPuntos(pvarCadena){
  var re2 = /\.*/g;
  var r2;
  r2 = pvarCadena.replace(re2, "");
  pvarCadena = r2;
  pvarCadena.toString();
  return (pvarCadena);

}

function verificaRut(iRut){
var digit
var ind
var Lar
var Suma 
var RutAux
var DigCal
var fac

  DigCal=""
  RutAux=iRut
  Lar=RutAux.length
  if (Lar < 9) {
    var Cad="000000000"
    RutAux= Cad.substr(1, 9 - Lar) + RutAux
  }
  fac="432765432"
  Suma=0
  ind=9
  while (ind >1) {
    Pa= RutAux.substr(ind - 1 ,1);
    Pb=fac.substr(ind - 1,1);
    Suma = parseFloat(Suma) + (parseFloat(Pa) * parseFloat(Pb))
    ind = ind - 1 
  }
  digit = 11 - (Suma -   parseInt(Suma / 11) * 11)
  if (digit==10) {
    DigCal="K"
  }
  if (digit != 10) {
    if (digit == 11) {
      DigCal=0
    }
    if (digit != 11) {
      DigCal=(digit)
    }
  } 
  return (DigCal)
}

/*******************************************************************
  Funcion Valida Rut
  dado un Rut, retorna Verdadero Si el DV es correcto, y Falso Si no
********************************************************************/
/*************************************************
  Funcion Para validar rut al cambiar el valor del campo
  Recibe el objeto (un campo de un formulario), y manda mensaje ante rut invalido.
  para ser instalado en el onBlur del campo.(OnBlur="OnChangeRut(this)")
  si se pone en el onChange, por alguna razon no pesca el focus y lo deja salir del campo,
  con lo que no valida correctamente
  *************************************************/  
  
  function ValidaRut(ObjRut){
    
    //si es vacio retorno (esta linea es para cuando el campo no es obligatorio, o si su obligatoriedad se valida en validacion tradicional)
    if (ObjRut.value=="") {
      return(true)
    }
    
    var rut = ObjRut.value
    //Le quito espacios, puntos y guión
    var er =/ |-|\./g;
    rut = rut.replace(er, "")
    
    //separo el ultimo digito del resto asumiendo que es el Digito Verificador
    var DV = rut.substring(rut.length - 1, rut.length)
    //Si el último digito no es un numero, imagino que es una k, la transformo en mayuscula
    if (isNaN(DV)) DV = DV.toUpperCase()
    var parteNumerica = rut.substring(0,rut.length - 1)
    
    if (verificaRut(parteNumerica)==DV){
      ObjRut.value = rut;
      return(true)
    }
    else {
      ObjRut.focus()
      alert("El rut ingresado es incorrecto")
      return(false)
    }
    
    
  }
  
  
  
  
  
