Тут
var cloudtext = document.getElementById("cloud").getElementsByTagName("p")[0].innerHTML;
Вам необходимо брать не содержимое тегов а сам объект.
Насколько я понял Вам нужно это:
showcloud = function(text)
{
var cloudtext = document.getElementById("cloud").getElementsByTagName("p")[0];
if (text == 1)
{
cloudtext.innerHTML = "Перейти на главную страницу";
}
document.getElementById("cloud").style.display="block";
}
hidecloud = function()
{
document.getElementById("cloud").style.display="none";
}