Il browser esegue le istruzioni degli script non inclusi in funzioni quando le incontra nel caricamento sequenziale della pagina... ed ogni riferimento ad oggetti non ancora esistenti (quali quelli all'interno del body che non e' ancora stato caricato, generano quell'ovvio messaggio.
Cerca di stabilire il momento, rispetto al caricamento della pagina, nel quale dette istruzioni devono essere eseguite... eventualmente racchiudile in una function da richiamare all'onload del body.
ciao