Hola:
Los nodos que no son controles del formulario no tienen atributo type, pero todos los nodos tienen el nodeType... y algunos otros... y también se puede hacer un bucle asociativo... pero con algo de tu código supongo que se puede arreglar el asunto:
for(a=0; a<=document.form1.elements.length; a++)
with(document.form1.elements[a]) if (nodeType == 1 && type == "select-one"){
}
Pruébalo y cuéntanos...
Saludos