Здравствуйте, pavelsua, Вы писали:
P>Далее, текущий документ заменяется на вновь созданный,
Вот она, ошибка

Не надо просто вот так брать HTML-текст документа, чего-то там с ним делать и потом назначать его документу. Косяки гарантированы практически 100%, за исключением совсем уж вырожденных случаев.
Решение: использовать DOM, т.е. искать нужный элемент в дереве и заменять его innerHTML, как вариант. Ну или вставлять новые элементы юзая appendChild. Да, это требует большее количество кода, но работает надежней.
<< Если гора идет к тебе, спасайся: это обвал. >>