La logica del tuo programma e` giusta, ma l'uso di alcune variabili non proprio.

1. non usare nomi riservati (ad esempio form e` nome riservato, camibialo ad es in form1);

2. il passaggio di qualche parametro non e` corretto:

function nomefun(form1) {
...
}

il nome del form viene passato con
onSubmit="nomefun(this);" // nel tag form
onClick="nomefun(this.form);" // nel tag input

Puoi anche metter un alert appena entrato nelle funzioni, per vedere se entra nelle funzioni.

Ciao
Michele