Неопределенная ошибка вызвана этой строкой:
document.body.innerHTML = newaltr;
newaltr еще не определено, но вы пытаетесь установить innerHTML тела вместе с ним. Есть и другие проблемы, которые также необходимо решить. Например, эта строка:
var newaltr = bodytext.replace(avidno, altrstr);
Каждый раз, когда вы проходите цикл, вы перезаписываете предыдущее значение newaltr. Если вы пытаетесь добавить (я не уверен), то правильный синтаксис:
newaltr += bodytext.replace(avidno, altrstr);
EDIT
Как упоминалось в моем и других постах, у вас есть несколько проблем с вашей логикой. В дополнение к вопросам логики, я думаю, что ваш подход неверен. Посмотрите на вопрос ниже (на самом деле ответ, помеченный как ответ), он должен направить вас в правильном направлении.
/1239597/v-javascript-kak-ya-mogu-zamenit-tekst-na-stranitse-html-ne-zatragivaya-tegi...