var indiceReq;
// il carattere § verrà sostituito con il nome "umano" del campo(vedi sotto)
var messAlert = "Attenzione! Campo '§' obbligatorio";
//nomi ("name") dei campi obbligatori nella form
aObblig = new Array("nome - dasandro", "email");
//nomi "umani" (per l'alert) degli stessi campi
aObbligNomi = new Array("Nome", "Email");
//lascia vuoto se non c'è campo email
//questo campo deve comunque essere presente nell'elenco sopra
campoEmail = "email";
Array.prototype.inArray = function (cercato){
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] == cercato) {
			indiceReq = i;
			return true;
		}
	}
	return false;
};
function alertErr(){
	alert(messAlert.replace("§",aObbligNomi[indiceReq]));
}
function controllaForm2(qualeForm){
	for (n=0; n<qualeForm.elements.length; n++){
		alert(qualeForm[n].name+" : "+qualeForm[n].type);
	}
}
function controllaForm(qualeForm){
	for (n=0; n<qualeForm.elements.length; n++){
		if(aObblig.inArray(qualeForm[n].name)){
			if(qualeForm[n].type=="radio"){
				almenoUnRadio = false;
				for(j=0; j<qualeForm[qualeForm[n].name].length; j++){
					if (qualeForm[qualeForm[n].name][j].checked){
						almenoUnRadio = true;
					} 
				}
				if(!almenoUnRadio){
					alertErr();
					qualeForm[n].focus();
					return false;
				}
			} else if(qualeForm[n].type=="checkbox"){
				if(qualeForm[n].checked==false){
					alertErr();
					qualeForm[n].focus();
					return false;
				}
			} else if(qualeForm[n].type=="select-one"){
				if(qualeForm[n].value==null || qualeForm[n].value=="" || qualeForm[n].selectedIndex==0){
					alertErr();
					qualeForm[n].focus();
					return false;
				}
			} else {
				if (qualeForm[n].value==null || qualeForm[n].value==""){
					alertErr();
					qualeForm[n].focus();
					return false;
				} else if (qualeForm[n].name == campoEmail){
					stampoEmail = /^([a-zA-Z0-9_\.\-])+@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
					if(!stampoEmail.test(qualeForm[n].value)){
						alert("Indirizzo email non valido!");
						qualeForm[n].focus();
						return false;
					}
				}
			}
		}
	}
}