Non basta.

il value di un campo si ottiene in modo diverso a seconda del tipo di campo:

var valore1 = document.NOMEFORM.NOMECAMPO.value; // text, textarea, hidden

var rr = document.NOMEFORM.NOMECAMPO; // radio
var valore2 = rr[i].value; // dove i e` l'indice del radio

var ss = document.NOMEFORM.NOMECAMPO; //select
var valore3 = ss.options[ss.selectedIndex].value;

la matrice elements[] raccoglie tutti i campi di un form, per cui prima di testare il value occorre sapere che sia un select.

Ora tu mi dici che distingui i select solo dal value della prima opzione, per cui devi testare
document.forms[0].elements[i].options[0].value
cosa che si puo` fare solo se e` una select, quindi prima occorre testare che sia una select:

var ss = document.forms[0].elements[i];
if(ss.type=="select-one" && ss.options[0].value=="....")

Ciao
Michele