String indexes
While s[i] will return the char at index i in the string s on FF and Safari, you need to use s.charAt(i) so that it works also in IE7.
Null vs. Undefined
It seems obvious but I made the mistake: unassigned variable and objects properties begin with a special value of undefined which is different from null.