// JavaScript Document
//------------------------------------------------------------------------
// checkForm : checks each field for a given pattern of chars
function checkForm(frm){
	var pattern;
	// Utente (lettere, numeri, e i segni . _ -)
  pattern = /^([a-zA-Z0-9\.\_\-])+$/;
	if(!checkPatternChars('Nome',frm.Nome.value,pattern,true))
  { 
    frm.Nome.focus();
    return false; 
  }
	// Password (min 6, max 12 di caratteri, numeri, _ * - + ! ? , : ; . 
  // e lettere accentate)
  pattern = /^([a-zA-Z0-9\.\_\-])+$/;
	if(!checkPatternChars('Cognome',frm.Cognome.value,pattern,true))
  { 
    frm.Cognome.focus();
    return false; 
  }
	// E-mail  
	pattern = /^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	if(!checkPatternChars('Email',frm.Email.value,pattern,true))
  { 
    frm.Email.focus();
    return false; 
  }

	// Codice fiscale
  pattern = /^([a-zA-Z0-9\.\_\-])+$/;
  if(!checkPatternChars('Telefono',frm.Telefono.value,pattern,true))
  { 
    frm.Telefono.focus();
    return false; 
  }
  
  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; 
  }
}

