function check_mail(mail){
  var emailStr=mail
  var emailPat=/^(.+)@(.+)$/
  var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
  var validChars="\[^\\s" + specialChars + "\]"
  var quotedUser="(\"[^\"]*\")"
  var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
  var atom=validChars + '+'
  var word="(" + atom + "|" + quotedUser + ")"
  var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
  var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
  var matchArray=emailStr.match(emailPat)
  if(matchArray==null) {
     alert("Indirizzo e-mail non valido");
	 return false;
  }
  var user=matchArray[1]
  var domain=matchArray[2]
  if(user.match(userPat)==null) {
	 alert("Indirizzo e-mail non valido");
	 return false;
  }
  var IPArray=domain.match(ipDomainPat)
  if(IPArray!=null) {
	 for(var i=1;i<=4;i++) {
		if(IPArray[i]>255) {
		 	alert("Indirizzo e-mail non valido");
	 		return false;
	    }
	 }
	 return true
   }
   var domainArray=domain.match(domainPat)
   if(domainArray==null) {
	   alert("Indirizzo e-mail non valido");
       return false;
   }
   var atomPat=new RegExp(atom,"g")
   var domArr=domain.match(atomPat)
   var len=domArr.length
   if(domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3){
	  alert("Indirizzo e-mail non valido");
	  return false;
	}
	if(len<2) {
	    alert("Indirizzo e-mail non valido");
	 	return false;
	}
	return true
}

function checkForm(f){
    if(f.privacy[1].checked){
	  alert("Per procedere deve autorizzare il trattamento dei dati!");
	  return false  
	}
	if(f.nome.value==""){
	  alert("Nome e Cognome mancanti");
	  return false  
	}
	if(f.ente.value==""){
	  alert("Ente/Istituto/Parrocchia mancante");
	  return false  
	}
	if(f.localita.value==""){
	  alert("Manca la località");
	  return false  
	}
	if(f.mail.value==""){
	  alert("Manca l\'indirizzo e-mail");
	  return false 
    }else {
	  if(!check_mail(f.mail.value)){
	     return false;
	  }
    }
	return true;
}//fine checkForm()