En realidad lo que se le pasa a la funcion toString es la nueva base, asi que si le pasamos base 16 (hexadecimal) coge por caracteres validos 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F; como ya sabemos.
Lo que estoy intentando ahora pasarle de base la longitud del abecedario (26), de la variable 'letras' de javierB. Lo que pasa es que no se como decirle que elimine el 0,1,2,3,4,5,6,7,8,9 de toda la secuencia 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H....
Es la misma duda que la que tienes tu.
Para la primera pasada (del 0 al 25) es facil porque con sumarle 10 antes de convertirlo como he hecho aqui:
Código PHP:
(parseInt(caja.value)+10).toString(letras.length);
pues ya vale. La segunda pasada se me complica mas, pero con tiempo yo creo que lo sacaremos.
A ver si le dedico al script mas neuronas.