Я не знаю, когда будет вызван метод welcomeMessage , но если это происходит после завершения загрузки документа, он закрывается. Вызов document.write затем вызовет document.open , что полностью очищает документ. Вероятно, у вас есть элемент, в который должно быть записано сообщение, гораздо лучше использовать события load или DOMReady (или все, что доступно в WebOS).
Рассмотрим гораздо более простую форму функции и не забудьте объявить переменные, чтобы ограничить их область действия только тем, что необходимо:
var tod = ['morning','morning','afternoon','evening'];
var now = new Date();
var greeting = 'Good ' + (tod[now.getHours()/6|0]) + '!';
Если вам нужна библиотека, попробуйте myLibrary . Нет, это не моя библиотека, это ваша библиотека, когда вы ее используете. Вы можете создать настроенное ядро и просто готовую деталь DOM, которая достаточно мала и качество кода превосходно.