function valida(form) {
  var spazio = /\s+/;
  var trimVal = '';
	var emailPat = /^\w+[.\w-]+\w@\w+[.\w-]+\.[a-zA-Z]{2,6}$/;
  
	trimVal = form.cognome.value.replace(spazio, '');
  if(trimVal.length == 0) {
		alert('ATTENZIONE! Occorre inserire il cognome');
		return false;
	}
	if(trimVal.length > 64) {
		alert('ATTENZIONE! Il cognome non puo\' superare 64 caratteri');
		return false;
	}
	
	trimVal = form.nome.value.replace(spazio, '');
  if(trimVal.length == 0) {
		alert('ATTENZIONE! Occorre inserire il nome');
		return false;
	}
	if(trimVal.length > 64) {
		alert('ATTENZIONE! Il nome non puo\' superare 64 caratteri');
		return false;
	}
	
	trim_gg = form.data_gg.value.replace(spazio, '');
	trim_mm = form.data_mm.value.replace(spazio, '');
	trim_aa = form.data_aa.value.replace(spazio, '');
	
  if(trim_gg.length == 0 || trim_gg > 31 || trim_gg < 1 || isNaN(trim_gg) || trim_mm.length == 0 || trim_mm > 12 || trim_mm < 1 || isNaN(trim_mm) || trim_aa.length == 0 || trim_aa < 1900 || isNaN(trim_aa)) {
		alert('ATTENZIONE! Data di nascita non valida');
		return false;
	}
	
	trimVal = form.luogo.value.replace(spazio, '');
  if(trimVal.length == 0) {
		alert('ATTENZIONE! Occorre inserire il luogo di nascita');
		return false;
	}
	if(trimVal.length > 64) {
		alert('ATTENZIONE! Il luogo di nascita non puo\' superare 64 caratteri');
		return false;
	}
	
	trimVal = form.professione.value.replace(spazio, '');
	if(trimVal.length > 64) {
		alert('ATTENZIONE! La professione non puo\' superare 64 caratteri');
		return false;
	}
	
	trimVal = form.organizzazione.value.replace(spazio, '');
	if(trimVal.length > 64) {
		alert('ATTENZIONE! L\'organizzazione non puo\' superare 64 caratteri');
		return false;
	}
	
	trimVal = form.email.value.replace(spazio, '');
  if(trimVal.length == 0) {
		alert('ATTENZIONE! Occorre inserire l\'indirizzo e-mail');
		return false;
	}
	if(trimVal.length > 64) {
		alert('ATTENZIONE! L\'indirizzo e-mail non puo\' superare i 64 caratteri');
		return false;
	}
	if(!trimVal.match(emailPat)) {
		alert('ATTENZIONE! L\'indirizzo e-mail non risulta valido');
		return false;
	}
	
	trimVal = form.tel.value.replace(spazio, '');
	if(trimVal.length > 64) {
		alert('ATTENZIONE! Il numero di telefono non puo\' superare 64 caratteri');
		return false;
	}
	
	if(form.privacy.checked == false) {
		alert('ATTENZIONE! Per inviare la richiesta e\' necessario autorizzare il trattamento dei dati personali');
		return false;
	}
	return true;
}
