no...ho cannato... distrazione... giusto.. e ho anche trovato numerose inesattezze!!!

ho corretto in questo modo:
codice:
function decripta(frase) {
  var trasla = 5;
  var decriptafrase ="";
  var carattere = "";
  var newchar = carattere;
  var escifor = false;
  for (var I = 1; I<= Len(frase); I++) {
    carattere = Mid(frase, I, 1);
    var escifor = false;
    for (var k = 97; k<= 122 && escifor == false; k++) {
	if (carattere = Chr(k)) {
		if ((k-trasla) >= 97) {
			newchar = Chr(k-trasla);
			escifor = true;
		} else {
			newchar = Chr(k-trasla+26);
			escifor = true;
		}
	} else {
	    newchar = carattere;
	}
     }
     decriptafrase = decriptafrase + newchar;
   }
   return decriptafrase;
}
ma il valore restituito è:
una parola con tante v quante sono le lettere in frase...!!!

non capisco... ora la funzione in se non da errori... ma non funziona come dovrebbe...

spiego meglio... ho una funzione che mi cripta la frase...
se cripto prova1 mi diventa: uwtaf1
se la decripto con la funziona ora descritta (tradotta dalla precedente funzione scritta in vbscript e funzionante) diventa vvvv invece che tornare prova1

perchè?