Intanto provo a rispondere io, ma spero che proseguano i guru di JS. Io sono un po' arrugginito, specie con le cose nuove.

Comunque non so se e` valido
if(document.getElementById(div)!==null)
che significa !== ? Lo ho visto in altri linguaggi, non in JS.


E cosa e` la variabile div?
A parte che il nome div e` gia` usato dal DOM e potrebbe non venir trattato correttamente, deve essere una stringa uguale all'id di un elemento della pagina.
Nel blocco precedente usi div come se fosse un oggetto del DOM, non come stringa.
In IE puoi usare un oggetto al posto della stringa che lo rappresenta o viceversa, in altri browser questo non funzionia.

document.all
La cosa che piu` gli assomiglia e` document.getElementById('ID_OGGETTO'), ma la sintassi e` chiaramente diversa.

numerocampi potrebbe essere dato da:
document.getElementById('ID_FORM').elements.length ;