function ControllaForm(frm)
   {
    // Cognome (caratteri, lettere accentate apostrofo e un solo spazio fra le parole)
    pattern = /^([a-zA-Z\xE0\xE8\xE9\xF9\xF2\xEC\x27]\s?)+$/;
    if(!checkPatternChars('Cognome',frm.cognome.value,pattern,true))
    { 
    frm.cognome.focus();
    return false; 
    }
    // Nome (caratteri, lettere accentate apostrofo e un solo spazio fra le parole)
    pattern = /^([a-zA-Z\xE0\xE8\xE9\xF9\xF2\xEC\x27]\s?)+$/;
    if(!checkPatternChars('Nome',frm.nome.value,pattern,true))
    { 
    frm.nome.focus();
    return false; 
    }
    // E-mail  
    pattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    if(!checkPatternChars('E-mail',frm.email.value,pattern,true))
    { 
    frm.email.focus();
    return false; 
    }
  
    window.open('', 'popup1', 'height=200,width=400,scrollbars=yes');
    frm.target='popup1';

    return true;
}

    //------------------------------------------------------------------------
    // checkPatternChars : checks a specific pattern of typed chars
    function checkPatternChars(nm,vlu,pattern,required){
      if ( required === undefined ) {
	  required = false;
      } 
      if(!required && vlu==""){
	return true;
      }
      if (!pattern.test(vlu)){
	alert("Il campo "+nm+" non e\' valido!");
	return false;
      }
      else { 
	return true; 
      }
    }


