////////////////////////////////////////////////////////////////
//                                                            //
//                                                            //
//                    FORM VALIDATOR v1.2                     //
//                                                            //
//             realizzato da Paolo Mario Cipriani             //
//                                                            //
//              per info - paolo.cipriani@tin.it              //
//                                                            //
//                                                            //
////////////////////////////////////////////////////////////////


function verificaVuoto(campo){
  nome_campo = campo.attributes["name"].value.replace("_NUM_","");
  if (campo.value == "")
    {
     alert('Il campo '+nome_campo+' è vuoto !')
     campo.value = "";
     campo.focus();
     return false;
    }
  else
    {
     return true;
    }
}


function verificaNumero(numero){
  if (isFinite(numero.value))
    {
     return true;
    }
  else
    {
     nome_campo = numero.attributes["name"].value.replace("_NUM_","")
     alert('Il campo '+nome_campo+' deve essere numerico!');
     numero.value = "";
     numero.focus();
     return false;
    }
}


function controllaEmail(mail){
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  if (mail.value != "")
    {
     if (!r1.test(mail.value) && r2.test(mail.value))
       {return true;}
     else
       {
        alert('Indirizzo E-Mail errato !');
        mail.value = "";
        mail.focus();
        return false;
       }
    }
}


function validaCampi(field) {
  if (field.attributes["name"].value != "")
    {
     non_vuoto = verificaVuoto(field);
     risultato = non_vuoto;
    }
  if ((non_vuoto)&&(field.attributes["name"].value.indexOf("_NUM_") != -1))
    {
     risultato = verificaNumero(field);
    }
  if ((non_vuoto)&&(field.attributes["name"].value == "Mail"))
    {
     risultato = controllaEmail(field);
    }
 return risultato;
}


function controllaForm(nome) {
  var i
  var fields = nome.elements
  var l = fields.length
  var valid = false
  for (i=0; i<l; i++)
     {
      valid = validaCampi(fields[i])
      if (!valid){return false}
     }
}