ok, beccato l'errore.
sostituisci

newfirst=oldfirst[i]+newfirst;

con

newfirst=oldfirst.charAt(i)+newfirst;

e

newfirst=s[i]+newfirst;

con

newfirst=s.charAt(i)+newfirst;

con Firefox funzionava anche la prima versione, però.
fammi sapere.