Trattandosi di una struttura a frames, devi essere certo che la pagina su cui intendi agire sia completamente caricata prima di agire... prova ad usare:

var obj = top.frames['frameelenco'].document;
var tipo = <? echo $tipo; ?> ;
obj.getElementById('tipo').selectedIndex = tipo;
top.frames['frameelenco'].location.hash="#topindex";

Il parametro selected e' meglio metterlo lato server a seconda dell'opzione scelta... ti sposto