Вы получаете
$("rub") is null
потому что в этот момент вы пытаетесь манипулировать элементом, который больше не существует, потому что вы заменили его текстовым узлом.
Когда вы звоните
$("rubs").replace("Rubs selected:");
Вы берете элемент DIV с идентификатором «rubs» и заменяете его текстовым узлом без идентификатора.
Вам необходимо использовать:
$("rubs").replace("<div id='rubs'>Rubs selected:</div>");
или, возможно, лучше:
$("rubs").update("Rubs selected:");
Помните, что при использовании JavaScript-инфраструктуры, такой как Prototype, документы являются вашими друзьями. Когда у вас возникают проблемы с функцией, первое, что вы должны сделать, это внимательно прочитать документы по этой функции. Я никогда не использовал Prototype в своей жизни, все, что я делал, это проверял документы на функцию, которую вы использовали, и ответ на вашу проблему был прямо в первой строке (чтобы быть справедливым, хотя я вижу, как вы могли его пропустить, если Вы читали документы).
Надеюсь, это поможет.