Questa è la funzione che effettua il controllo:

function verifica()
{
if(contatto.nome.value == "" || contatto.cognome.value == "" || contatto.email.value == "" || (contatto.tipologia_altro.value == "" && contatto.tipologia.value == "altro") || contatto.mesasggio.value == ""){
alert('compilare i campi obbligatori : Tipologia - Nome - Cognome - Email - Messaggio');
return false;
}
}

nella form ho 3 input text, una textarea(messaggio) e 4 radio(tipologia) (mi sono appena accorto che i checkbox non andavano bene e li ho sostituiti) di cui l'ultimo ha un'altra input da riempire nel caso venga scelto.