// Login

function fuocoLogin(){
	document.enter.username.focus();
}

function VerificaLogin() {
	var user = document.enter.username.value;
	var pass = document.enter.password.value;
	
	if (user == "" || user == "undefined" || user.charAt(0) == " ") {
		alert("Inserisci il tuo Username");
		document.enter.username.value = "";
		document.enter.username.focus();
		return false;
	}
	
	if (pass == "" || pass == "undefined" || pass.charAt(0) == " ") {
		alert("Inserisci la password");
		document.enter.password.value = "";
		document.enter.password.focus();
		return false;
	}

	else {
		document.enter.submit(); 
	}  
}


// Form di registrazione

function fuocoRegister(){
	document.register.Username.focus();
}

function VerificaRegister() {
	var user = document.register.Username.value;
	var pass1 = document.register.password1.value;
	var pass2 = document.register.password2.value;
	var nome = document.register.FirstName.value;
	var cognome = document.register.LastName.value;	
	var sesso = document.register.Gender;	
	/*var indirizzo = document.register.Address.value;*/
	var stato = document.register.Country.value;
	var provincia = document.register.Province.value;
	var citta = document.register.City.value;
	/*var cap = document.register.Zip.value;*/
	var data_nascita = document.register.BirthDate.value;
	var occupazione = document.register.Job.value;
	/*var fisso = document.register.Phone.value;*/
	/*var cellulare = document.register.Mobile.value;*/
	var mail = document.register.Email.value;
	var titolo_studio = document.register.Education.value;
	var stato_civile = document.register.MaritalStatus.value;	
	var codice = document.register.TaxpayerCode.value;

	// 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,})+$/;

	if (user == "" || user == "undefined" || user.charAt(0) == " ") {
		alert("Inserisci il tuo Username");
		document.register.Username.value = "";
		document.register.Username.focus();
		return false;
	}
	if (pass1 == "" || pass1 == "undefined" || pass1.charAt(0) == " ") {
		alert("Inserisci la password");
		document.register.password1.value = "";
		document.register.password1.focus();
		return false;
	}

	if (pass2 == "" || pass2 == "undefined" || pass2.charAt(0) == " ") {
		alert("Ripeti la password");
		document.register.password2.value = "";
		document.register.password2.focus();
		return false;
	}
	
	if (pass2 != pass1) {
		alert("Le password non corrispondono!");
		document.register.password2.value = "";
		document.register.password2.focus();
		return false;
	}

	if (nome == "" || nome == "undefined" || nome.charAt(0) == " ") {
		alert("Inserisci il tuo nome");
		document.register.FirstName.value = "";
		document.register.FirstName.focus();
		return false;
	}

	if (cognome == "" || cognome == "undefined" || cognome.charAt(0) == " ") {
		alert("Inserisci il tuo cognome");
		document.register.LastName.value = "";
		document.register.LastName.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.register.Address.value = "";
		document.register.Address.focus();
		return false;
	}*/
	
	if (stato == "" || stato == "undefined" || stato.charAt(0) == " ") {
		alert("Seleziona lo Stato");
		document.register.Country.value = "";
		document.register.Country.focus();
		return false;
	}

	if (stato == "93" && provincia == "" || provincia == "undefined" || provincia.charAt(0) == " ") {
		alert("Seleziona la provincia");
		document.register.Province.value = "";
		document.register.Province.focus();
		return false;
	}

	if (citta == "" || citta == "undefined" || citta.charAt(0) == " ") {
		alert("Inserisci la città");
		document.register.City.value = "";
		document.register.City.focus();
		return false;
	}

	/*if (cap == "" || cap == "undefined" || cap.charAt(0) == " ") {
		alert("Inserisci il cap");
		document.register.Zip.value = "";
		document.register.Zip.focus();
		return false;
	}*/
	
	if (data_nascita == "" || data_nascita == "undefined" || data_nascita.charAt(0) == " ") {
		alert("Inserisci la tua data di nascita");
		document.register.BirthDate.value = "";
		document.register.BirthDate.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.register.BirthDate.value = "";
		document.register.BirthDate.focus();
		return false;
	}

	 if (occupazione == "" || occupazione == "undefined" || occupazione.charAt(0) == " ") {
		alert("Inserisci la tua occupazione");
		document.register.Job.value = "";
		document.register.Job.focus();
		return false;
	}
	
	/*if (fisso == "" || fisso == "undefined" || fisso.charAt(0) == " ") {
		alert("Inserisci il tuo numero di telefono fisso");
		document.register.Phone.value = "";
		document.register.Phone.focus();
		return false;
	}
	
	if (cellulare == "" || cellulare == "undefined" || cellulare.charAt(0) == " ") {
		alert("Inserisci il tuo numero di telefono cellulare");
		document.register.Mobile.value = "";
		document.register.Mobile.focus();
		return false;
	}*/

	 if (mail == "" || mail == "undefined" || mail.charAt(0) == " ") {
		alert("Inserisci il tuo indirizzo e-mail");
		document.register.Email.value = "";
		document.register.Email.focus();
		return false;
	}

	if (!re_email.test(mail)) {
		alert("Inserisci correttamente il tuo indirizzo email");
		document.register.Email.value = "";
		document.register.Email.focus();
		return false;
	}

	else if (titolo_studio == "" || titolo_studio == "undefined" || titolo_studio.charAt(0) == " ") {
		alert("Inserisci il tuo titolo di studio");
		document.register.Education.value = "";
		document.register.Education.focus();
		return false;
	}

	else if (stato_civile == "" || stato_civile == "undefined" || stato_civile.charAt(0) == " ") {
		alert("Inserisci il tuo stato civile");
		document.register.MaritalStatus.value = "";
		document.register.MaritalStatus.focus();
		return false;
	}
	
	if (codice == "" || codice == "undefined" || codice.charAt(0) == " ") {
		alert("Inserisci il tuo codice fiscale");
		document.register.TaxpayerCode.value = "";
		document.register.TaxpayerCode.focus();
		return false;
	}
	
	if (!codice == "" || !codice == "undefined" || !codice.charAt(0) == " ") {
		controlla_codice_registrazione(document.register.TaxpayerCode);
		return false;
	}

	else {
		return true; 
	}
}

function ActivateProvince(){
	var stato = document.register.Country.value;
	
	if (stato == "93") {
		//document.register.Province.disabled = true;
		document.getElementById("province").disabled= false;
	}
	else {
		document.register.Province.disabled = true;
		document.register.Province.selectedIndex = "";
	}
}

// Controllo codice fiscale

function controlla_codice_registrazione(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 {
		if (window.confirm("Vuoi inviare i dati?")) { 
			document.register.submit(); 
			return false;
		} 
		else { 
		document.register.reset(); 
		} 
	}  
}





//Form di modifica

function fuocoEdit(){
	document.user_edit.FirstName.focus();
}

function VerificaEdit() {
	var nome = document.user_edit.FirstName.value;
	var cognome = document.user_edit.LastName.value;	
	var sesso = document.user_edit.Gender;	
	/*var indirizzo = document.user_edit.Address.value;*/
	var stato = document.user_edit.Country.value;
	var provincia = document.user_edit.Province.value;
	var citta = document.user_edit.City.value;
	/*var cap = document.user_edit.Zip.value;*/
	var data_nascita = document.user_edit.BirthDate.value;
	var occupazione = document.user_edit.Job.value;
	/*var fisso = document.user_edit.Phone.value;*/
	/*var cellulare = document.user_edit.Mobile.value;*/
	var mail = document.user_edit.Email.value;
	var titolo_studio = document.user_edit.Education.value;
	var stato_civile = document.user_edit.MaritalStatus.value;	
	var codice = document.user_edit.TaxpayerCode.value;

	// 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,})+$/;

	

	if (nome == "" || nome == "undefined" || nome.charAt(0) == " ") {
		alert("Inserisci il tuo nome");
		document.user_edit.FirstName.value = "";
		document.user_edit.FirstName.focus();
		return false;
	}

	if (cognome == "" || cognome == "undefined" || cognome.charAt(0) == " ") {
		alert("Inserisci il tuo cognome");
		document.user_edit.LastName.value = "";
		document.user_edit.LastName.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.user_edit.Address.value = "";
		document.user_edit.Address.focus();
		return false;
	}*/
	
	if (stato == "" || stato == "undefined" || stato.charAt(0) == " ") {
		alert("Seleziona lo Stato");
		document.user_edit.Country.value = "";
		document.user_edit.Country.focus();
		return false;
	}

	if (stato == "93" && provincia == "" || provincia == "undefined" || provincia.charAt(0) == " ") {
		alert("Seleziona la provincia");
		document.user_edit.Province.value = "";
		document.user_edit.Province.focus();
		return false;
	}

	if (citta == "" || citta == "undefined" || citta.charAt(0) == " ") {
		alert("Inserisci la città");
		document.user_edit.City.value = "";
		document.user_edit.City.focus();
		return false;
	}

	/*if (cap == "" || cap == "undefined" || cap.charAt(0) == " ") {
		alert("Inserisci il cap");
		document.user_edit.Zip.value = "";
		document.user_edit.Zip.focus();
		return false;
	}*/
	
	if (data_nascita == "" || data_nascita == "undefined" || data_nascita.charAt(0) == " ") {
		alert("Inserisci la tua data di nascita");
		document.user_edit.BirthDate.value = "";
		document.user_edit.BirthDate.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.user_edit.BirthDate.value = "";
		document.user_edit.BirthDate.focus();
		return false;
	}

	 if (occupazione == "" || occupazione == "undefined" || occupazione.charAt(0) == " ") {
		alert("Inserisci la tua occupazione");
		document.user_edit.Job.value = "";
		document.user_edit.Job.focus();
		return false;
	}
	
	/*if (fisso == "" || fisso == "undefined" || fisso.charAt(0) == " ") {
		alert("Inserisci il tuo numero di telefono fisso");
		document.user_edit.Phone.value = "";
		document.user_edit.Phone.focus();
		return false;
	}
	
	if (cellulare == "" || cellulare == "undefined" || cellulare.charAt(0) == " ") {
		alert("Inserisci il tuo numero di telefono cellulare");
		document.user_edit.Mobile.value = "";
		document.user_edit.Mobile.focus();
		return false;
	}*/

	 if (mail == "" || mail == "undefined" || mail.charAt(0) == " ") {
		alert("Inserisci il tuo indirizzo e-mail");
		document.user_edit.Email.value = "";
		document.user_edit.Email.focus();
		return false;
	}

	if (!re_email.test(mail)) {
		alert("Inserisci correttamente il tuo indirizzo email");
		document.user_edit.Email.value = "";
		document.user_edit.Email.focus();
		return false;
	}

	else if (titolo_studio == "" || titolo_studio == "undefined" || titolo_studio.charAt(0) == " ") {
		alert("Inserisci il tuo titolo di studio");
		document.user_edit.Education.value = "";
		document.user_edit.Education.focus();
		return false;
	}

	else if (stato_civile == "" || stato_civile == "undefined" || stato_civile.charAt(0) == " ") {
		alert("Inserisci il tuo stato civile");
		document.user_edit.MaritalStatus.value = "";
		document.user_edit.MaritalStatus.focus();
		return false;
	}
	
	if (codice == "" || codice == "undefined" || codice.charAt(0) == " ") {
		alert("Inserisci il tuo codice fiscale");
		document.user_edit.TaxpayerCode.value = "";
		document.user_edit.TaxpayerCode.focus();
		return false;
	}
	
	if (!codice == "" || !codice == "undefined" || !codice.charAt(0) == " ") {
		controlla_codice_modifica(document.user_edit.TaxpayerCode);
		return false;
	}

	else {
		return true; 
	}
}

function ActivateProvinceE(){
	var stato = document.user_edit.Country.value;
	if (stato == "93") {
		document.getElementById("province").disabled= false;
	}
	else {
		document.user_edit.Province.disabled = true;
		document.user_edit.Province.selectedIndex = "";
	}
}


// Controllo codice fiscale

function controlla_codice_modifica(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 {
		if (window.confirm("Vuoi inviare i dati?")) { 
			document.user_edit.submit(); 
			return false;
		} 
		else { 
		document.user_edit.reset(); 
		} 
	}  
}

// Ricorda password

function fuocoRemember(){
	document.remember.Username.focus();
}

function VerificaRemember(remember)
{
	var error = "";

	with (remember)
	{

	var n;

		// input text, controllo del contenuto
			if (Username.value == "" && Email.value == "") error += "Compilare almeno uno dei due campi\n";
			document.remember.Username.focus();


	}

	if (error != '')
	{
		alert(error);
		return false;
	}

	else
	{
		return true;
	}
}


// Cambia password

function fuocoChange(){
	document.change.password.focus();
}

function VerificaChange() {
	var oldpass = document.change.password.value;
	var newpass = document.change.newpassword.value;
	var newpass2 = document.change.newpassword2.value;
	
	if (oldpass == "" || oldpass == "undefined" || oldpass.charAt(0) == " ") {
		alert("Inserisci la vecchia password");
		document.change.password.value = "";
		document.change.password.focus();
		return false;
	}

	if (newpass == "" || newpass == "undefined" || newpass.charAt(0) == " ") {
		alert("Inserisci la nuova password");
		document.change.newpassword.value = "";
		document.change.newpassword.focus();
		return false;
	}
	
	if (newpass2 == "" || newpass2 == "undefined" || newpass2.charAt(0) == " ") {
		alert("Ripeti la nuova password");
		document.change.newpassword2.value = "";
		document.change.newpassword2.focus();
		return false;
	}
	
	if (newpass2 != newpass) {
		alert("Le password non corrispondono!");
		document.change.newpassword2.value = "";
		document.change.newpassword2.focus();
		return false;
	}

	else {
		if (window.confirm("Vuoi inviare i dati?")) { 
			document.change.submit(); 
			return false;
		} 
		else { 
		document.change.reset(); 
		} 
	}  
}



// Cambia password

function VerificaDelete() {
	var password = document.cancella.password.value;
	var check = document.cancella.check_delete;
	
	if (password == "" || password == "undefined" || password.charAt(0) == " ") {
		alert("Inserisci la tua password");
		document.cancella.password.value = "";
		document.cancella.password.focus();
		return false;
	}

	if (!check.checked) {
		alert("Devi acconsentire alla cancellazione dei tuoi dati");
		return false;
	}

	else {
		if (window.confirm("Sei sicuro di voler cancellare i tuoi dati?")) { 
			document.cancella.submit(); 
			return false;
		} 
		else { 
		document.cancella.reset(); 
		} 
	}  
}
