ho l'impressione che uno dei frame si chiami "top". Dato che top e` il frameset, non puoi usare lo stesso nome per un frame!!!
A mio parere la funzione va chiamata sui singoli <body> , per cui dovresti ripeterla in ogni documento (o fare uno script che la attribuisce ad ogni document della finestra).