dimenticavo. forse già lo sai.
se vuoi utilizzare il DOM, quindi il getElement e il resto chiaramente la pagina html che contiente gli elementi su cui vuoi lavorare dovrà essere caricata prima di qualsiasi chiamata.

quindi devi lanciare lo script che contiene le funzioni DOM dopo aver caricato la pagina html. quindi o fai un link come ho fatto io, oppure con un evento onload nel body

<body onload="vai()">

.....



</body>