// JavaScript Document
function VerificaPetizione() 
{ 
// Recupero tutti i campi 
//var cognome = document.contatti.cognome.value;
var nome = document.petizione.nome.value; 
var cognome = document.petizione.cognome.value;
var email = document.petizione.email.value;
var informativa = document.petizione.check_informativa;

// Espressione regolare per un campo alfanumerico 
var re_abc = /^[a-z0-9]+$/; 

// Espressione regolare per un indirizzo email 
var re_email = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/; 

// Verifico la validità di ogni campo con un criterio differente a seconda dell'elemento HTML 

if (nome == "" || nome == "undefined" || nome.charAt(0) == " ") 
{ 
alert("Inserisci il tuo nome"); 
document.petizione.nome.value = ""; 
document.petizione.nome.focus(); 
return false;
}

if (cognome == "" || cognome == "undefined" || cognome.charAt(0) == " ") 
{ 
alert("Inserisci il tuo cognome"); 
document.petizione.cognome.value = ""; 
document.petizione.cognome.focus();
return false;
}

if (email == "" || email == "undefined" || email.charAt(0) == " ") 
{ 
alert("Inserisci il tuo indirizzo e-mail"); 
document.petizione.email.value = ""; 
document.petizione.email.focus(); 
return false;
} 

if (!re_email.test(email))
{ 
alert("Inserisci correttamente il tuo indirizzo e-mail"); 
document.petizione.email.focus();
return false;
}

if (!informativa[0].checked && !informativa[1].checked) 
{ 
alert("Devi prestare il consenso al trattamento dei tuoi dati personali");
return false;
}

if (informativa[1].checked) 
{ 
alert("Se non accetti al trattamento dei tuoi dati personali non puoi sottoscrivere la petizione");
return false;
}

else 
{ 
// Una volta che tutte le condizioni sono soddisfatte imposto 
// il method e l'action del contatti HTML e lo invio allo script 
// lato server che elaborerà i dati, previa richiesta di conferma 
if (window.confirm("Vuoi inviare i dati?")) 
{ 
document.petizione.method = "post";
document.petizione.action = "../response.php"; 
document.petizione.submit(); 
} 
else 
{ 
document.petizione.reset(); 
} 
} 
}


/* controllo form "Scrivi alle aziende" */

function ctrlCampi() 
{
var aziende = document.info.aziende.value;
var nome = document.info.nome.value;
var cognome = document.info.cognome.value;
var oggetto = document.info.oggetto.value;
var messaggio = document.info.messaggio.value;
var informativa = document.info.check_informativa;
var email = document.info.email.value;
var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;

	if (aziende == "" || aziende == "undefined") {
	   alert("Seleziona l'azienda a cui vuoi scrivere.");
	   document.info.aziende.focus();
	   return false;
	}
	if (nome == "" || nome == "undefined") {
	   alert("Inserisci il tuo nome.");
	   document.info.nome.focus();
	   return false;
	}
	if (cognome == "" || cognome == "undefined") {
	   alert("Inserisci il tuo cognome.");
	   document.info.cognome.focus();
	   return false;
	}
	if (!email_reg_exp.test(email) || email == "" || email == "undefined") {
	   alert("Inserire un indirizzo email corretto.");
	   document.info.email.select();
	   return false;
	}	
	if (oggetto == "" || oggetto == "undefined") {
	   alert("Inserisci l'oggetto del messaggio.");
	   document.info.oggetto.focus();
	   return false;
	}	
	if (messaggio == "" || messaggio == "undefined") {
	   alert("Inserisci il tuo messaggio.");
	   document.info.messaggio.focus();
	   return false;
	}
	/*if (!consenso.checked) {
	   alert("Devi dare il cosenso al trattamento dei tuoi dati personali");
	   return false;
	}*/
	if (!informativa[0].checked && !informativa[1].checked) { 
		alert("Devi prestare il consenso al trattamento dei tuoi dati personali");
		return false;
	}

	if (informativa[1].checked) { 
		alert("Se non accetti al trattamento dei tuoi dati personali non puoi inviare il reclamo");
		return false;
	}
	else 
	{ 
	// Una volta che tutte le condizioni sono soddisfatte imposto 
	// il method e l'action del contatti HTML e lo invio allo script 
	// lato server che elaborerà i dati, previa richiesta di conferma 
	if (window.confirm("Vuoi inviare i dati?")) 
	{ 
	document.info.submit();
} 
	else 
	{ 
	document.info.reset(); 
} 
} 
}



/* controllo form "Consulenza online" */

function ctrlConsulenza() {

var nome = document.consulenza.nome.value;
var cognome = document.consulenza.cognome.value;
var email = document.consulenza.email.value;
var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
var oggetto = document.consulenza.oggetto.value;
var messaggio = document.consulenza.messaggio.value;
var informativa = document.consulenza.check_informativa;

	if (nome == "" || nome == "undefined") {
	   alert("Inserisci il tuo nome.");
	   document.consulenza.nome.focus();
	   return false;
	}
	if (cognome == "" || cognome == "undefined") {
	   alert("Inserisci il tuo cognome.");
	   document.consulenza.cognome.focus();
	   return false;
	}
	if (email == "" || email == "undefined") {
	   alert("Inserisci il tuo indirizzo e-mail.");
	   document.consulenza.email.focus();
	   return false;
	}
	
	if (!email_reg_exp.test(email) || email == "" || email == "undefined") {
	   alert("Inserire un indirizzo email corretto.");
	   document.consulenza.email.select();
	   return false;
	}
	if (oggetto == "" || oggetto == "undefined") {
	   alert("Inserisci l'oggetto del messaggio.");
	   document.consulenza.oggetto.focus();
	   return false;
	}
	if (messaggio == "" || messaggio == "undefined") {
	   alert("Inserisci il tuo messaggio.");
	   document.consulenza.messaggio.focus();
	   return false;
	}
	if (!informativa[0].checked && !informativa[1].checked) { 
		alert("Devi prestare il consenso al trattamento dei tuoi dati personali");
		return false;
	}		
	if (informativa[1].checked) { 
	alert("Se non accetti al trattamento dei tuoi dati personali non puoi chiedere la consulenza");
	return false;
	}
	else 
	{ 
	// Una volta che tutte le condizioni sono soddisfatte imposto 
	// il method e l'action del contatti HTML e lo invio allo script 
	// lato server che elaborerà i dati, previa richiesta di conferma 
	if (window.confirm("Vuoi inviare i dati?")) 
	{ 
	document.consulenza.submit();
	} 
	else 
	{ 
	document.consulenza.reset(); 
} 
} 
}


/* controllo form iscrizione socio sostenitore */

function ctrlSocioSostenitore(sostenitore) 
{
	// Recupero tutti i campi 
	var nome = document.sostenitore.firstname.value;
	var cognome = document.sostenitore.lastname.value;
	var data_nascita = document.sostenitore.BirthDate.value;
	var luogo_nascita = document.sostenitore.Custom1.value;
	var codice = document.sostenitore.Custom2.value;	
	var sesso = document.sostenitore.Gender;	
	var indirizzo = document.sostenitore.address.value;
	var cap = document.sostenitore.cap.value;
	var citta = document.sostenitore.city.value;	
	var provincia = document.sostenitore.province.value;	
	var mail = document.sostenitore.email.value;
	var informativa = document.sostenitore.check_informativa;

	// Espressione regolare per un campo alfanumerico 
	var re_abc = /^[a-z0-9]+$/; 
	
	// Espressione regolare per un indirizzo email 
	var re_email = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/; 

// Verifico la validità di ogni campo con un criterio differente a seconda dell'elemento HTML 

	if (nome == "" || nome == "undefined" || nome.charAt(0) == " ") 
	{
	alert("Inserisci il tuo nome"); 
	document.sostenitore.firstname.value = ""; 
	document.sostenitore.firstname.focus(); 
	return false;
	}

	if (cognome == "" || cognome == "undefined" || cognome.charAt(0) == " ") 
	{
	alert("Inserisci il tuo cognome"); 
	document.sostenitore.lastname.value = ""; 
	document.sostenitore.lastname.focus();
	return false;
	}
	
	// Creo una serie di sottostringhe per verificare il formato della data
	if
	( data_nascita.length != 10 ||
	isNaN(data_nascita.substring(0, 2)) ||
	data_nascita.substring(2, 3) != "/" ||
	isNaN(data_nascita.substring(3, 5)) ||
	data_nascita.substring(5, 6) != "/" ||
	isNaN(data_nascita.substring(6, 10))) {
		alert("Inserisci la tua data di nascita in formato gg/mm/aaaa");
		document.sostenitore.BirthDate.value = "";
		document.sostenitore.BirthDate.focus();
		return false;
	}
	
	if (luogo_nascita == "" || luogo_nascita == "undefined" || luogo_nascita.charAt(0) == " ") 
	{
	alert("Inserisci il tuo luogo di nascita"); 
	document.sostenitore.Custom1.value = ""; 
	document.sostenitore.Custom1.focus();
	return false;
	}
	
	if (codice == "" || codice == "undefined" || codice.charAt(0) == " ") 
	{
	alert("Inserisci il tuo codice fiscale"); 
	document.sostenitore.Custom2.value = ""; 
	document.sostenitore.Custom2.focus();
	return false;
	}
	
	if (!sesso[0].checked && !sesso[1].checked) {
		alert("Specifica il tuo sesso");
		return false;
	}
	
	if (indirizzo == "" || indirizzo == "undefined" || indirizzo.charAt(0) == " ") 
	{
	alert("Inserisci il tuo indirizzo"); 
	document.sostenitore.address.value = ""; 
	document.sostenitore.address.focus();
	return false;
	}
	
	if (cap == "" || cap == "undefined" || cap.charAt(0) == " ") 
	{
	alert("Inserisci il cap"); 
	document.sostenitore.cap.value = ""; 
	document.sostenitore.cap.focus();
	return false;
	}
	
	if (citta == "" || citta == "undefined" || citta.charAt(0) == " ") 
	{
	alert("Inserisci il cap"); 
	document.sostenitore.city.value = ""; 
	document.sostenitore.city.focus();
	return false;
	}
	
	if (provincia == "" || provincia == "undefined" || provincia.charAt(0) == " ") 
	{
	alert("Inserisci la provincia"); 
	document.sostenitore.province.value = ""; 
	document.sostenitore.province.focus();
	return false;
	}
	
	if (mail == "" || mail == "undefined" || mail.charAt(0) == " ")
	{
	alert("Inserisci il tuo indirizzo e-mail");
	document.sostenitore.email.value = "";
	document.sostenitore.email.focus();
	return false;
	}

	if (!re_email.test(mail))
	{
	alert("Inserisci correttamente il tuo indirizzo email");
	document.sostenitore.email.value = "";
	document.sostenitore.email.focus();
	return false;
	}
	
	if (!informativa[0].checked && !informativa[1].checked)
	{
	alert("Devi prestare il consenso al trattamento dei tuoi dati personali");
	return false;
	}	
		
	if (informativa[1].checked)
	{
	alert("Se non accetti al trattamento dei tuoi dati personali non puoi chiedere l'iscrizione on line");
	return false;
	}
	
	else 
	{
	controlla_codice_sostenitore(document.sostenitore.Custom2);
	}
}



function controlla_codice_sostenitore(campo){
   caratteri= new Array ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
   pari= new Array (0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25)
   dispari=new Array (1,0,5,7,9,13,15,17,19,21,1,0,5,7,9,13,15,17,19,21,2,4,18,20,11,3,6,8,12,14,16,10,22,25,24,23)
   cod=campo.value.toLowerCase();
   check=true;
   if (cod.length!=16){
      check=false
      }
     else
      {
      lettere=cod.substr(0,6)+cod.substr(8,1)+cod.substr(11,1)+cod.substr(15);
      numeri=cod.substr(6,2)+cod.substr(9,2)+cod.substr(12,3);
      for (i=0;i<10;i++){
         if (lettere.charCodeAt(i)<97 || lettere.charCodeAt(i)>122){
            check=false;}
      }
      for (i=0;i<8;i++){
         if (numeri.charCodeAt(i)<48 || numeri.charCodeAt(i)>57){
            check=false;
         }
      }   
     }
   //checksum del codice fiscale
   test=cod.substr(15,1);
   var somma=0
   for (i=0;i<16;i=i+2){ //dispari
       carattere=cod.substr(i,1)
       for (k=0;k<36;k++){
          if (carattere==caratteri[k]){
             somma=somma+dispari[k]
             break
          }
       }
    }
    for (i=1;i<15;i=i+2){ //pari
       carattere=cod.substr(i,1)
       for (k=0;k<36;k++){
          if (carattere==caratteri[k]){
             somma=somma+pari[k]
             break
          }
       }
    }
   resto=somma % 26;
   var lettera=String.fromCharCode(97+resto);            
   if (test != lettera){
      check=false;
      }   
   if (check==false){
      alert("Codice fiscale errato!")
      }
      else
      {
    // Una volta che tutte le condizioni sono soddisfatte imposto 
	// il method e l'action del contatti HTML e lo invio allo script 
	// lato server che elaborerà i dati, previa richiesta di conferma 
	if (window.confirm("Vuoi inviare i dati?")) 
	{ 
	document.sostenitore.submit(); 
	} 
	else 
	{ 
	document.sostenitore.reset(); 
} 
      }
   
}


/* controllo form iscrizione socio ordinario */

function ctrlSocioOrdinario(ordinario) 
{
	// Recupero tutti i campi 
	var nome = document.ordinario.firstname.value;
	var cognome = document.ordinario.lastname.value;
	var data_nascita = document.ordinario.BirthDate.value;
	var luogo_nascita = document.ordinario.Custom1.value;
	var codice = document.ordinario.Custom2.value;	
	var sesso = document.ordinario.Gender;	
	var indirizzo = document.ordinario.address.value;
	var cap = document.ordinario.cap.value;
	var citta = document.ordinario.city.value;	
	var provincia = document.ordinario.province.value;	
	var mail = document.ordinario.email.value;
	var informativa = document.ordinario.check_informativa;

	// Espressione regolare per un campo alfanumerico 
	var re_abc = /^[a-z0-9]+$/; 
	
	// Espressione regolare per un indirizzo email 
	var re_email = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/; 

// Verifico la validità di ogni campo con un criterio differente a seconda dell'elemento HTML 

	if (nome == "" || nome == "undefined" || nome.charAt(0) == " ") 
	{
	alert("Inserisci il tuo nome"); 
	document.ordinario.firstname.value = ""; 
	document.ordinario.firstname.focus(); 
	return false;
	}

	if (cognome == "" || cognome == "undefined" || cognome.charAt(0) == " ") 
	{
	alert("Inserisci il tuo cognome"); 
	document.ordinario.lastname.value = ""; 
	document.ordinario.lastname.focus();
	return false;
	}
	
	// Creo una serie di sottostringhe per verificare il formato della data
	if
	( data_nascita.length != 10 ||
	isNaN(data_nascita.substring(0, 2)) ||
	data_nascita.substring(2, 3) != "/" ||
	isNaN(data_nascita.substring(3, 5)) ||
	data_nascita.substring(5, 6) != "/" ||
	isNaN(data_nascita.substring(6, 10))) {
		alert("Inserisci la tua data di nascita in formato gg/mm/aaaa");
		document.ordinario.BirthDate.value = "";
		document.ordinario.BirthDate.focus();
		return false;
	}
	
	if (luogo_nascita == "" || luogo_nascita == "undefined" || luogo_nascita.charAt(0) == " ") 
	{
	alert("Inserisci il tuo luogo di nascita"); 
	document.ordinario.Custom1.value = ""; 
	document.ordinario.Custom1.focus();
	return false;
	}
	
	if (codice == "" || codice == "undefined" || codice.charAt(0) == " ") 
	{
	alert("Inserisci il tuo codice fiscale"); 
	document.ordinario.Custom2.value = ""; 
	document.ordinario.Custom2.focus();
	return false;
	}
	
	if (!sesso[0].checked && !sesso[1].checked) {
		alert("Specifica il tuo sesso");
		return false;
	}
	
	if (indirizzo == "" || indirizzo == "undefined" || indirizzo.charAt(0) == " ") 
	{
	alert("Inserisci il tuo indirizzo"); 
	document.ordinario.address.value = ""; 
	document.ordinario.address.focus();
	return false;
	}
	
	if (cap == "" || cap == "undefined" || cap.charAt(0) == " ") 
	{
	alert("Inserisci il cap"); 
	document.ordinario.cap.value = ""; 
	document.ordinario.cap.focus();
	return false;
	}
	
	if (citta == "" || citta == "undefined" || citta.charAt(0) == " ") 
	{
	alert("Inserisci il cap"); 
	document.ordinario.city.value = ""; 
	document.ordinario.city.focus();
	return false;
	}
	
	if (provincia == "" || provincia == "undefined" || provincia.charAt(0) == " ") 
	{
	alert("Inserisci la provincia"); 
	document.ordinario.province.value = ""; 
	document.ordinario.province.focus();
	return false;
	}
	
	if (mail == "" || mail == "undefined" || mail.charAt(0) == " ")
	{
	alert("Inserisci il tuo indirizzo e-mail");
	document.ordinario.email.value = "";
	document.ordinario.email.focus();
	return false;
	}

	if (!re_email.test(mail))
	{
	alert("Inserisci correttamente il tuo indirizzo email");
	document.ordinario.email.value = "";
	document.ordinario.email.focus();
	return false;
	}
	
	if (!informativa[0].checked && !informativa[1].checked)
	{
	alert("Devi prestare il consenso al trattamento dei tuoi dati personali");
	return false;
	}	
		
	if (informativa[1].checked)
	{
	alert("Se non accetti al trattamento dei tuoi dati personali non puoi chiedere l'iscrizione on line");
	return false;
	}
	
	else
	{
	controlla_codice_ordinario(document.ordinario.Custom2);
	}
}



function controlla_codice_ordinario(campo){
   caratteri= new Array ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
   pari= new Array (0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25)
   dispari=new Array (1,0,5,7,9,13,15,17,19,21,1,0,5,7,9,13,15,17,19,21,2,4,18,20,11,3,6,8,12,14,16,10,22,25,24,23)
   cod=campo.value.toLowerCase();
   check=true;
   if (cod.length!=16){
      check=false
      }
     else
      {
      lettere=cod.substr(0,6)+cod.substr(8,1)+cod.substr(11,1)+cod.substr(15);
      numeri=cod.substr(6,2)+cod.substr(9,2)+cod.substr(12,3);
      for (i=0;i<10;i++){
         if (lettere.charCodeAt(i)<97 || lettere.charCodeAt(i)>122){
            check=false;}
      }
      for (i=0;i<8;i++){
         if (numeri.charCodeAt(i)<48 || numeri.charCodeAt(i)>57){
            check=false;
         }
      }   
     }
   //checksum del codice fiscale
   test=cod.substr(15,1);
   var somma=0
   for (i=0;i<16;i=i+2){ //dispari
       carattere=cod.substr(i,1)
       for (k=0;k<36;k++){
          if (carattere==caratteri[k]){
             somma=somma+dispari[k]
             break
          }
       }
    }
    for (i=1;i<15;i=i+2){ //pari
       carattere=cod.substr(i,1)
       for (k=0;k<36;k++){
          if (carattere==caratteri[k]){
             somma=somma+pari[k]
             break
          }
       }
    }
   resto=somma % 26;
   var lettera=String.fromCharCode(97+resto);            
   if (test != lettera){
      check=false;
      }   
   if (check==false){
      alert("Codice fiscale errato!")
      }
      else
      {
    // Una volta che tutte le condizioni sono soddisfatte imposto 
	// il method e l'action del contatti HTML e lo invio allo script 
	// lato server che elaborerà i dati, previa richiesta di conferma 
	if (window.confirm("Vuoi inviare i dati?")) 
	{ 
	document.ordinario.submit(); 
	} 
	else 
	{ 
	document.ordinario.reset(); 
} 
      }
   
}



