<!--

function capitalize(str){
   str = str.toLowerCase();
   re1= /^\s+/;
   re2= /\s+/g;
   str = str.replace(re1, "");
   str = str.replace(re2, " ");
   capstr=(str.charAt(0)).toUpperCase();
   for (i=1; i<str.length; i++){
      if (str.charAt(i)== " ") {
         capstr=capstr+str.charAt(i);
         i++;
         if (str.charAt(i) == "(") {
         	capstr=capstr+str.charAt(i)+(str.charAt(i+1)).toUpperCase();
         	i++;
         }
         else {
         	capstr=capstr+str.charAt(i).toUpperCase();
         }  
      }
      
      else capstr=capstr+str.charAt(i);
   }

   str=capstr;
   capstr=str.charAt(0);
   for (i=1; i<str.length; i++){
      if (str.charAt(i)== "'") {
         capstr=capstr+str.charAt(i)+str.charAt(i+1).toUpperCase();
         i++;
      }
      else capstr=capstr+str.charAt(i);
   }
   return capstr;
}

function validmail(addr){
  /* Ammessi solo caratteri alfanumerici, la chiocciola, 
     il punto, il trattino e il sottotratto. L'iniziale e la
     finale devono essere caratteri alfanumerici */
  re1 = /[^a-z0-9@\._\-]|^[@\.\-_]|[@\.\-_]$/i;

  /* Un indirizzo e-mail deve contenere una chiocciola, seguita dal
     nome del dominio, da un punto e da un suffisso lungo tra 2 e 4 caratteri */
  re2 = /@.+\.[a-z]{2,4}$/i;

  // Deve esserci una sola chiocciola!
  if (addr.match(/@/g)!= null) chiocciole = addr.match(/@/g).length;
  else chiocciole = 0;

  // Verifica tutte le suddette condizioni
  if ((re1.test(addr)) || (chiocciole > 1) || (!(re2.test(addr)))) return false;
  else return true;
}


function checkall(){

  errors = "";

  if (!document.iscrizione.privacy.checked) {
  	alert("Non è stata accettata la notifica sulla privacy!");
  	return false;
  }
  	
    
  //Controllo il cognome
  document.iscrizione.cognome.value=capitalize(document.iscrizione.cognome.value);
  reg = /^[A-Za-zèìòàùé\s\']+$/;
  if (!reg.test(document.iscrizione.cognome.value)){
    errors += "- Cognome\n";
  }
  
  //Controllo il nome
  document.iscrizione.nome.value=capitalize(document.iscrizione.nome.value);
  reg = /^[A-Za-zèìòàùé\s\']+$/;
  if (!reg.test(document.iscrizione.nome.value)){
    errors += "- Nome\n";
  }

  //Controllo il luogo di nascita
  document.iscrizione.luogonascita.value=capitalize(document.iscrizione.luogonascita.value);
  reg = /^[\wàèéìòù\'\,\.\/\\\s]+$/;
  if (!reg.test(document.iscrizione.luogonascita.value)){
    errors += "- Luogo di nascita\n";
  }
  
  //Controllo la provincia di nascita
  if (document.iscrizione.naznascita.value == "Italia") {
    if (document.iscrizione.provnascita.value == ""){
    errors += "- Provincia di nascita\n";
    }
  }
  else {
  	document.iscrizione.provnascita.value="";
  }
  

  //Controllo la data di nascita
  reg = /^[0-3]{1}\d{1}\/[0-1]{1}\d{1}\/[1-2]{1}[09]{1}\d{2}$/
  dateerror = false; 
  if (!reg.test(document.iscrizione.datanascita.value)){
    dateerror = true;
  }
  //Controllo che i mesi giorni ed anni siano all' interno dei rispettivi estremi
  today = new Date();
  gg = document.iscrizione.datanascita.value.slice(0,2);
  mm = document.iscrizione.datanascita.value.slice(3,5);
  aaaa = document.iscrizione.datanascita.value.slice(6,10);
  if (
      ((Number(gg)<1) || (Number(gg)>31)) ||
      ((Number(mm)<1) || (Number(mm)>12)) ||
      ((Number(aaaa)<1900) || (Number(aaaa)>(Number(today.getFullYear()))))
     )
  {
    dateerror = true;
  }
  //Controllo che i giorni non siano superiori a 30
  if (
       ((mm == "11") || (mm == "04") || (mm == "06") || (mm == "09")) && (Number(gg) > 30))
  {
    dateerror = true;
  }
       
  //Controllo l' anno bisestile
  if ((Number(aaaa) % 400 == 0) || ((Number(aaaa) % 4 == 0) && (Number(aaaa) % 100 != 0))) 
  {
        if ((mm == "02") && (Number(gg) > 29)) 
        {
          dateerror = true;
        }
  }
  else 
  {
        //Se l' anno non e' bisestile, controllo che i giorni non siano superiori a 28
        if ((mm == "02") && (Number(gg) > 28)) 
        {
          dateerror = true;
        }
  }
  //Controllo che la data inserita non sia superiore a quella odierna
  datai = new Date();
  datai.setFullYear(aaaa);
  datai.setDate(gg);
  datai.setMonth(mm-1);
  if (Date.parse(today)-Date.parse(datai) < 0)  
  {
    dateerror = true;
  }
    if (dateerror) 
  {
  	errors += "- Data di nascita (gg/mm/aaaa)\n";
  }

  //Controllo la professione
  document.iscrizione.professione.value=capitalize(document.iscrizione.professione.value);
  reg = /^[\D\sàèéìòù\'\,\.\/\\]+$/;
  if (!reg.test(document.iscrizione.professione.value)){
    errors += "- Professione\n";
  }

  //Controllo l'indirizzo
  document.iscrizione.indirizzo.value=capitalize(document.iscrizione.indirizzo.value);
  reg = /^[\wàèéìòù\'\,\.\/\\\s]+$/;
  if (!reg.test(document.iscrizione.indirizzo.value)){
    errors += "- Indirizzo\n";
  }  
 
  //Controllo il C.A.P.
  if (document.iscrizione.nazione.value == "Italia") {
  	
  	reg = /^\d{5}$/;
  	if (!reg.test(document.iscrizione.cap.value)){
    	errors += "- C.A.P.\n";
	}
  }

  //Controllo la città
  document.iscrizione.citta.value=capitalize(document.iscrizione.citta.value);
  reg = /^[\wàèéìòù\'\,\.\/\\\s]+$/i;
  if (!reg.test(document.iscrizione.citta.value)) errors += "- Città\n";
    
  //Controllo la provincia di residenza
  if (document.iscrizione.nazione.value == "Italia" && document.iscrizione.provincia.value == "") {
    	errors += "- Provincia\n";
  }
  if (document.iscrizione.nazione.value != "Italia") {
  	document.iscrizione.provincia.value="";
  }
  
  //Controllo il numero di telefono
  if (document.iscrizione.nazione.value == "Italia") {
  	reg = /^[0]{1}[0-9\/\-\s]+$/;
  	if ((!reg.test(document.iscrizione.tel.value))||(document.iscrizione.tel.value == "prefisso/numero")){
    	errors += "- Telefono (prefisso/numero)\n";
  	}
  }    
  //Controllo il numero di fax
  if (document.iscrizione.nazione.value == "Italia") {
  	if (document.iscrizione.fax.value != ""){
		  if (document.iscrizione.fax.value == "prefisso/numero"){
		    document.iscrizione.fax.value = "";
	  	  }
	  	  else {    
		  	reg = /^[0]{1}[0-9\/\-\s]+$/;
		  	if (!reg.test(document.iscrizione.fax.value)){
		    	errors += "- Fax (prefisso/numero)\n";
		 	}
	  	  }
  	}
  }
    
  //Controllo l'e-mail
    if (document.iscrizione.mail.value!="") {
	    if (!validmail(document.iscrizione.mail.value)){
	      errors += "- e-mail\n";
	    }
	 }
  
   //Controllo la causale
    if (document.iscrizione.causale.value=="") {
	    errors += "- Causale: prima iscrizione o rinnovo\n";
    }
  
  //Controllo l'anno di iscrizione
    if (Number(document.iscrizione.anno.value) < Number(today.getFullYear()) || Number(document.iscrizione.anno.value) > (Number(today.getFullYear())+1)){
      errors += "- Quota per l'anno...\n";
    }
        
  //Controllo la quota di iscrizione
    reg = /^[1-9]{1}[0-9]+$/;
		  if (!reg.test(document.iscrizione.importo.value)){
		    errors += "- Quota d'iscrizione\n";
		  }
		  else {
		  			//reg = /\./g;
		  			//document.iscrizione.importo.value=document.iscrizione.importo.value.replace(reg,"");
		  			if (document.iscrizione.socio[0].checked=="1"&&document.iscrizione.importo.value!=30) {
		  					errors += "- Quota socio ordinario: 30 Euro\n";
		  			}
		  			if (document.iscrizione.socio[1].checked=="1"&&document.iscrizione.importo.value<60) {
		  					errors += "- Quota socio sostenitore: min. 60 Euro\n";
		  			}
		  		}
		  			  

  if (errors!="") {
  	alert('I seguenti campi non sono stati inseriti o contengono caratteri non ammessi:\n\n'+errors);
  	errors="";
  	return false;
  }
  else return true;
  	 
}



//-->

