Pues sí, esto es Javascript. En todo caso, yo creo que una posible idea puede ser no usar focus() en sí, sino una función recursiva que en caso de que el siguiente campo sea oculto intente hacer focus sobre el siguiente.
La idea sería algo así:
Código PHP:
function hacerFocus( numElem ) {
frm = obj.form;
if ( frm.elements[numElem].type == "hidden" ) {
hacerFocus( numElem+1 );
} else {
frm.elements[numElem].focus()
}
return false;
}
No sé mucho de Javascript, pero si no se puede así supongo que con esta idea se podrá hacer algo parecido.