О, часть проблемы решена. В строке for (i = group * 10 + 1; i <= (group + 1) * 10; i++) { ...
group была строкой, и group + 1 вместо 2 получалось 11
Хорошо. А почему она не перезагружает нижний фрейм? И да, восстановление поля с файлом тоже не работает, хотя стоит в обработчике onload