Whats wrong here? I need to format a value.
Example:

Before: 1000
After : 1.000

Code:
function NumForm(valor){
  numval = valor;
  len = String(numval);
  len = len.length;

  if (len >= 3){
    while (len > 0){
      TempString = numval.substring(len - 3, len);     // <-- Error
      if (TempString.length == 3){
        OutString = "." + TempString + OutString;
        len = len - 3;
      }
      else{
        OutString = TempString + OutString;
        lenx = 0;
      }
    }
    if (OutString.substring(0, 1) == ".") 
      numval = OutString.substring (1, OutString.length);
    else
      numval = OutString;
  }
  return (numval);
}