//http://unicode-suche.de/unicode-namesearch.pl?term=left%20arrow
//http://home.claranet.de/xyzzy/ibm850.htm
function ControlloEmailCustom (field)
{
  var field_er=d.getElementById("email_error");
  var ar_not_dominio=['libero.it','blu.it','inwind.it','iol.it','staff.libero.it'];
  if ( empty (field) )
  {
     field_er.innerHTML = arrow+"Campo obbligatorio";
     return false;
  }

  if (  !field.match (/^[a-z0-9_\-\.]+@[a-z0-9]+[a-z0-9_\-\.]*\.[a-z]{2,}$/ ) || field.length > 96 )
  {
     field_er.innerHTML = arrow+"Indirizzo non valido";
     return false;
  }
  return true;
}

/*
function ControlloEmailSecondaria (field)
{
	var field_er=d.getElementById("emailsecondaria_error");

  if ( empty (field) ){
		return true;
  }
  if (  !field.match (/^[a-z0-9_\-\.]+@[a-z0-9]+[a-z0-9_\-\.]*\.[a-z]{2,}$/ ) || field.length > 256 ) {
		field_er.innerHTML = arrow+"Indirizzo non valido";
		return false;
  }
  return true;
}
*/

function ControlloNickname (field)
{
   var field_er=d.getElementById("nick_error");
   if ( empty(field) )
   {
       field_er.innerHTML = arrow+"Campo obbligatorio";
       return false;
   }
   if (field.length > 20 )
   { 
       field_er.innerHTML= arrow+"Il nick non pu&ograve; contenere pi&ugrave; di 20 caratteri"; 
       return false;
   }
   if (field.substring( 0, 1) == '.' ) 
   {
       field_er.innerHTML= arrow+"Il primo carattere deve essere una lettera";
       return false;
   }   
   if ( field.substring( 0, 1) == '_' ) 
   {
       field_er.innerHTML= arrow+"Il primo carattere deve essere una lettera";
       return false;
   }   
   if ( field.substring( field.length-1, field.length) == '.' ) 
   {
       field_er.innerHTML= arrow+"L'ultimo carattere deve essere una lettera o un numero";
     return false;
   }   
   if ( field.substring( field.length-1, field.length) == '_' ) 
   {
       field_er.innerHTML= arrow+"L'ultimo carattere deve essere una lettera o un numero";
       return false;
   }   
   if ( field.match(/\._/) || field.match(/_\./) || field.match(/\.\./) || field.match(/__/) )
   {
       field_er.innerHTML= arrow+"La presenza cosecutiva dei caratteri [.] e [_] non &egrave; consentita"; 
       return false;
   }
   if ( field.match(/^[0-9]/) )
   {
       field_er.innerHTML= arrow+"Il primo carattere deve essere una lettera";
       return false;
   }
	 field = field.replace(/\./, "");
   if ( field.match(/\W/) )
   {
       field_er.innerHTML= arrow+"Presenza di uno o pi&ugrave; caratteri non validi";
       return false;
   }

   return true;
}


function ControlloPassword ( field, field_er )
{
   var field_er=d.getElementById(field_er);

   if ( empty( field ) )
   {
      field_er.innerHTML = arrow+"Campo obbligatorio";
      return false;
   }
   if ( field.length < 6 )
   {
      field_er.innerHTML= arrow+"La Password non pu&ograve; contenere meno di 6 caratteri";
      return false;
   }
   if ( field.length > 15 )
   {
      field_er.innerHTML= arrow+"La Password non pu&ograve; contenere pi&ugrave; di 15 caratteri"; 
      return false;
   }

   var int = 0;
   var precChar= field.charAt(int);
   var currChar='';
   for (int=1; int < field.length; int++)
   {
      currChar = field.charAt(int);
      if ( precChar!=currChar )
         break;
   }

   if( int == field.length)
   {
      field_er.innerHTML = arrow + "La password non pu&ograve; essere composta dalla sequenza di un unico carattere."; 
      return false;
   }
   
   if ( field.substring( 0, 1) == '.' )
   {
      field_er.innerHTML = arrow + "La Password non pu&ograve; iniziare con il carattere '.'";
      return false;
   }   
  
   field = field.replace( /[\.]+/g, '');   
   field = field.replace( /[\-]+/g, ''); 
   // field = field.replace( /\_/, "");
   if ( field.match(/\W/) )
   {
       field_er.innerHTML= arrow+"Presenza di uno o pi&ugrave; caratteri non validi";
       return false;
   }

   var ar = concatArrrayNotPwd();
   if( ar.length > 0 && ar.inArray(field) )
   {
      field_er.innerHTML = arrow + 'Password non consentita per motivi di sicurezza.'; 
      return false;
   }

   return true;
}

function ControlloConfermaPassword (field,field2,field_er)
{
   var field_er=d.getElementById(field_er);

   if ( empty( field ) )
   {
      field_er.innerHTML = arrow + 'Campo obbligatorio';
      return false;
   }
   if ( field != field2 )
   {
      field_er.innerHTML = arrow + 'Le due password non coincidono';
      return false;
   }
   return true;
}

function ControlloDatanascita (day,m,y)
{
   var data = new Date();
   var field_er=d.getElementById("dateofbirth_error");
   var str_data=day+"/"+m+"/"+y;
   y=parseInt(y);
   if ( empty (str_data) || (str_data == '//') || empty(day) || empty(m) || empty(y) || isNaN(y))
   {
       field_er.innerHTML = arrow+'Campo obbligatorio';
       return false;
   }
   data.setTime(0);
   if ( y > parseInt(data.getYear()+1938) )
   {
      field_er.innerHTML = arrow+'Data inserita non valida';
      return false;
   }

   if ( y < 1900 )
   {
      field_er.innerHTML = arrow+'Data inserita non valida';
      return false;
   }

   return true;
}

function ControlloNome (field)
{
   var field_er=d.getElementById("nome_error");
   if ( empty( field ) )
   {
       field_er.innerHTML = arrow + 'Campo obbligatorio.';
       return false;
   }
   if ( field.length < 3 )
   {
       field_er.innerHTML = arrow + 'Il Nome non pu&ograve; contenere meno di 3 caratteri.';
       return false;
   }
   if (field.length > 20 )
   {
       field_er.innerHTML = arrow + "Il Nome non puo` contenere piu' di 20 caratteri";
       return false;
   }
   field = field.replace(new RegExp(/[\s\']/g),'');
   field = field.replace(new RegExp(/[\340\350\351\354\362\371]/g),''); // a, e, i, o ,u accentati
   // field = field.replace(new RegExp(/[\s|à|è|é|ì|ò|ù]/g),'');

   // if ( field.match(/\W/) || field.match(/([0-9])/) )
   if ( field.match(/[^a-zA-Z]/) )  // A differenza della riga sopra commentata questa esclude l'underscore
   {
      field_er.innerHTML = arrow + 'Presenza di uno o pi&ugrave; caratteri non validi.';
      return false;
   }

   return true;
}

function ControlloCognome (field)
{
   var field_er = d.getElementById('cognome_error');
   if ( empty( field ) )
   {
       field_er.innerHTML = arrow + 'Campo obbligatorio.';
       return false;
   }
   if ( field.length < 2 )
   {
       field_er.innerHTML = arrow + 'Il Cognome non pu&ograve; contenere meno di 2 caratteri.';
       return false;
   }
   if (field.length > 20 )
   {
       field_er.innerHTML = arrow + "Il Cognome non puo' contenere piu' di 20 caratteri";
       return false;
   }
   field = field.replace(new RegExp(/[\s\']/g),'');
   field = field.replace(new RegExp(/[\340\350\351\354\362\371]/g),''); // a, e, i, o ,u accentati
   // field = field.replace(new RegExp(/[\s|à|è|é|ì|ò|ù]/g),'');

   // if ( field.match(/\W/) || field.match(/([0-9])/) )
   if ( field.match(/[^a-zA-Z]/) ) // A differenza della riga sopra commentata questa esclude l'underscore
   {
       field_er.innerHTML = arrow + 'Presenza di uno o pi&ugrave; caratteri non validi.';
       return false;
   }

   return true;
}

function ControlloComune (field,obb,field_er)
{
	var field_er=d.getElementById(field_er);
   if ( empty( field ) && obb)
   {
       field_er.innerHTML = arrow + 'Campo obbligatorio.';
       return false;
   }
   if ( field.length < 2 && field.length > 0)
   {
       field_er.innerHTML = arrow + 'Il comune non pu&ograve; contenere meno di 2 caratteri.';
       return false;
   }
   if (field.length > 40 )
   {
       field_er.innerHTML = arrow + "Il comune non puo' contenere piu' di 40 caratteri";
       return false;
   }

   field = field.replace(new RegExp(/[\s|\']/g),'');
   if ( field.match(/[^a-zA-Z]/) )
   {
       field_er.innerHTML = arrow + 'Presenza di uno o pi&ugrave; caratteri non validi.';
       return false;
   }
   return true;
}

function ControlloCellulare (field,obb) 
{
   var field_er = d.getElementById('cel_phone_error');
   if ( empty( field ) && obb)
   {
       field_er.innerHTML = arrow + 'Campo obbligatorio.';
       return false;
   }
   if ( field.length < 9 && field.length > 0)
   {
       field_er.innerHTML = arrow + 'Il cellulare non pu&ograve; contenere meno di 9 caratteri.';
       return false;
   }
  if ( field.length > 15 )
  { 
     field_er.innerHTML = arrow + 'Il cellulare non pu&ograve; contenere pi&ugrave; di 15 caratteri.'; 
     return false;
  }
  if ( field.match(/{ +}/))
  {
     field_er.innerHTML = arrow + 'Il cellulare inserito non &egrave; corretto.';
     return false;
  }

   if (field.substring( 0, 1) != '3' && field.length > 0) 
   {
       field_er.innerHTML = arrow + 'Il primo carattere deve essere 3.';
       return false;
   }   

  field = field.replace(new RegExp(/[0-9]/g),'');
  if ( !empty( field ) )
  {
     field_er.innerHTML = arrow+ "Il cellulare deve contenere solo numeri.";
     return false;
  }
  return true;

}

/*
function ControlloUsername (field)
{
   var field_er=d.getElementById("username_error");
   if ( empty( field ) )
   {
       field_er.innerHTML = arrow+ "Campo obbligatorio";
       return false;
   }
   if ( field.length  < 1 ) 
   {
       field_er.innerHTML = arrow+ "Il Nome utente non pu&ograve; contenere meno di 1 carattere.";
       return false;
   }
   if (field.length > 20 )
   { 
       field_er.innerHTML = arrow+ "Il Nome utente non pu&ograve; contenere pi&ugrave; di 20 caratteri."; 
       return false;
   }
	 field = field.replace(new RegExp(/[_\-]/g),'');
   if ( field.substring(  0, 1) == '.' ) 
   {
       field_er.innerHTML = arrow+ "Il Nome utente non pu&ograve; iniziare con il carattere '.'";
       return false;
   }   
   if ( field.substring( field.length-1,field.length) == '.' ) 
   {
       field_er.innerHTML = arrow+ "Il Nome utente non pu&ograve; finire con il carattere '.'";
       return false;
   }   
   if ( substr_count (field, ".") > 1 )
   {
       field_er.innerHTML = arrow+ "Il Nome utente non pu&ograve; contenere pi&ugrave; di un carattere '.'";
       return false;
   }
   if ( field.match(/[^a-z0-9\.]/)) 
   {
       field_er.innerHTML = arrow+ "Presenza di uno o pi&ugrave; caratteri non validi.";
       return false;
   }

   return true;
}
*/


function ControlloRagionesociale (field,obb){
	var field_er=d.getElementById("ragionesociale_error");
  if ( empty( field ) && obb){
       field_er.innerHTML = arrow+"Campo obbligatorio";
       return false;
   }
  if ( field.length < 2 && field.length > 0){
       field_er.innerHTML = arrow+ "Il Campo non pu&ograve; contenere meno di 2 caratteri";
       return false;
   }
  if ( field.length > 50 ){ 
     field_er.innerHTML = arrow+  "Il Campo non pu&ograve; contenere pi&ugrave; di 50 caratteri."; 
     return false;
  }
  field = field.replace(new RegExp(/['|\s|,|\/|\.|\-]/g),'');
  if (  field.match(/\W/) || field.match(/\_/) ){
     field_er.innerHTML = arrow+ "Presenza di uno o pi&ugrave; caratteri non validi";
     return false;
  }
  return true;
}

function ControlloAddress (field,obb,field_er){
	var field_er=d.getElementById(field_er);
  if ( empty( field ) && obb){
       field_er.innerHTML = arrow+"Campo obbligatorio";
       return false;
   }
  if ( field.length < 6 && field.length > 0){
       field_er.innerHTML = arrow+ "Il Campo non pu&ograve; contenere meno di 6 caratteri";
       return false;
   }
  if ( field.length > 50 ){ 
     field_er.innerHTML = arrow+  "Il Campo non pu&ograve; contenere pi&ugrave; di 50 caratteri."; 
     return false;
  }
  field = field.replace(new RegExp(/[\.|\,|\'|\/|\s|\-|à|è|é|ì|ò|ù]/g),'');
  if (  field.match(/\W/) || field.match(/\_/) ){
     field_er.innerHTML = arrow+ "Presenza di uno o pi&ugrave; caratteri non validi";
     return false;
  }
  return true;
}
function ControlloCap (field,obb,field_er){
	var field_er=d.getElementById(field_er);
  if ( empty( field ) && obb){
       field_er.innerHTML = arrow+"Campo obbligatorio";
       return false;
   }
  if ( field.length != 5 && field.length > 0){
       field_er.innerHTML = arrow+ "Il Campo non pu&ograve; contenere meno di 5 caratteri";
       return false;
   }
  if ( field.match(/[^0-9]/)){ 
     field_er.innerHTML = arrow+ "Presenza di uno o pi&ugrave; caratteri non validi";
     return false;
  }
  return true;
}
function ControlloTelefono (field,obb,field_er){
	var field_er=d.getElementById(field_er);
  if ( empty( field ) && obb){
       field_er.innerHTML = arrow+"Campo obbligatorio";
       return false;
   }
  if ( field.length < 6 && field.length > 0){
       field_er.innerHTML = arrow+ "Il Campo non pu&ograve; contenere meno di 5 caratteri";
       return false;
   }
  if ( field.match(/[^0-9]/)){ 
     field_er.innerHTML = arrow+ "Presenza di uno o pi&ugrave; caratteri non validi";
     return false;
  }
  return true;
}

function ControlloFrasesegreta (field, obb, field_er)
{
	var field_er = d.getElementById ( field_er );
  if ( empty ( field ) )
  {
    if ( obb )
    {
       field_er.innerHTML = arrow + 'Campo obbligatorio';
       return false;
    }
    return true;
  }
  if ( field.length < 3 && field.length > 0)
  {
     field_er.innerHTML = arrow + 'Il Campo non pu&ograve; contenere meno di 3 caratteri.';
     return false;
  }
  field = field.replace(new RegExp(/[_\.|,|'|\/|\s|\-|?|\(|\)|à|è|é|ì|ò|ù]/g),'');

  if (  field.match(/\W/) || field.match(/\_/) ){
     field_er.innerHTML = arrow+ "Presenza di uno o pi&ugrave; caratteri non validi";
     return false;
  }

  return true;
}

function ControlloCodicefiscale (field,obb,field_er){
	var field_er=d.getElementById(field_er);
  if ( empty( field ) && obb){
       field_er.innerHTML = arrow+"Campo obbligatorio";
       return false;
   }
  if ( field.length != 16 && field.length > 0){
       field_er.innerHTML = arrow+ "Il Campo non pu&ograve; contenere meno di 16 caratteri";
       return false;
   }
  if ( field.match(/[^a-zA-Z0-9]/)){ 
     field_er.innerHTML = arrow+ "Presenza di uno o pi&ugrave; caratteri non validi";
     return false;
  }
  return true;
}

function ControlloLiberoID (field)
{
	var field_er=d.getElementById("liberoid_error");
   if ( empty( field ) )
   {
       field_er.innerHTML = arrow+"Campo obbligatorio";
       return false;
   }
  if ( !field.match (/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9]+[A-Za-z0-9_\-\.]*\.[A-Za-z]{2,}$/ ) || field.length > 96 ) {
		field_er.innerHTML = arrow+"Indirizzo non valido";
		return false;
  }
   return true;
}

