var indiceReq;
// il carattere § verrā sostituito con il nome "umano" del campo(vedi sotto)
var messAlert = "Attenzione! Il campo '§' č obbligatorio";
//nomi ("name") dei campi obbligatori nella form
aObblig = new Array("Privacy");
//nomi "umani" (per l'alert) degli stessi campi
aObbligNomi = new Array("Privacy");
//lascia vuoto se non c'č campo email
//questo campo deve comunque essere presente nell'elenco sopra
campoEmail = "ut_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;
     }
    }
   }
  }
 }
}