// JavaScript Document

var actualDiv

function menuChange(div){
	document.getElementById('right_home').style.display = 'none'
	document.getElementById('right_form').style.display = 'none'
	document.getElementById('right_login').style.display = 'none'
	document.getElementById('right_account').style.display = 'none'
	document.getElementById(div).style.display = 'block'
}

function setActualDiv(div){
	actualDiv = div
}

function controllocampi()
	{var tuttoOK = true
	 var stringa_codice_fiscale = document.reg_form.att_codf.value;
	 var stringa_partita_iva = document.reg_form.att_piva.value;
	 var stringa_licenza = document.reg_form.att_license.value;
	 stringa_codice_fiscale = stringa_codice_fiscale.toUpperCase();
	 document.reg_form.att_codf.value = stringa_codice_fiscale;

		if ((document.reg_form.att_nominativo.value == '') && (tuttoOK == true))
			{
				window.alert('Nome, cognome ragione sociale mancante');
				tuttoOK = false
			}
		if ((document.reg_form.att_indirizzo.value == '') && (tuttoOK == true))
			{
				window.alert('Manca l\'indirizzo');
				tuttoOK = false
			}
		if ((document.reg_form.att_cap.value == '') && (tuttoOK == true))
			{
				window.alert('Scrivere il cap');
				tuttoOK = false
			}
		if ((document.reg_form.att_citta.value == '') && (tuttoOK == true))
			{
				window.alert('Scrivere la città');
				tuttoOK = false
			}
		if ((document.reg_form.att_prov.value == '') && (tuttoOK == true))
			{
				window.alert('Scrivere la provincia');
				tuttoOK = false
			}
		
		if (((document.reg_form.att_piva.value == '') && (document.reg_form.att_codf.value == '')) && (tuttoOK == true)){
				window.alert('Mancano sia la Partita IVA che il Codice Fiscale.\nIn caso di utente aziendale occorrono entrambi.');
				tuttoOK = false
			}
		
	
		// ***********************
		
		if (((document.reg_form.att_piva.value != '') && (stringa_partita_iva.length < 11))  && (tuttoOK == true))
			{
				window.alert('La partita IVA contiene meno di 11 cifre');
				tuttoOK = false
			}
				
		if (((document.reg_form.att_piva.value != '') && (controllaPIVA(stringa_partita_iva) == 'KO'))  && (tuttoOK == true))
			{
				window.alert('La partita IVA non è corretta');
				tuttoOK = false
			}
		
		if (((document.reg_form.att_codf.value == ''))  && (tuttoOK == true))
			{
				window.alert('Scrivere il codice fiscale.\nIn caso di utente aziendale occorrono sia la partita IVA che il Codice Fiscale, anche se coincidenti.');
				tuttoOK = false
			}

		if ((document.reg_form.att_codf.value !='') && (tuttoOK == true))
			{
				if (stringa_codice_fiscale.length < 16) 
					{
						if (stringa_codice_fiscale.length == 11) 
							{
								if (controllaPIVA(stringa_codice_fiscale) == 'KO')
									{
										window.alert('Il Codice Fiscale inserito non è corretto');
										tuttoOK = false
									}
							}
						else
							{
								window.alert('Il Codice Fiscale non rispetta i parametri di lunghezza richiesti');
								tuttoOK = false
							}
					}
				else
					{
					if (controllaCF(stringa_codice_fiscale) == 'KO')
						{
							window.alert('Il Codice Fiscale inserito non è corretto');
							tuttoOK = false
						}
					}
			}
			
				
		if ((document.reg_form.att_prefix.value == '') && (tuttoOK == true))
			{
				window.alert('Selezionare il prefisso del numero mobile');
				tuttoOK = false
			}
			
		if ((document.reg_form.att_cell.value == '') && (tuttoOK == true))
			{
				window.alert('Completare il numero di cellulare');
				tuttoOK = false
			}
		
		if ((document.reg_form.att_tel.value == '') && (tuttoOK == true))
			{
				window.alert('Scrivere il telefono');
				tuttoOK = false
			}
		
		
		if ((document.reg_form.att_fax.value == '') && (tuttoOK == true))
			{
				window.alert('Scrivere il fax');
				tuttoOK = false
			}
		
		if ((ControllaMail(document.reg_form.att_email.value) == 'KO') && (tuttoOK == true))
			{
				window.alert('L\'indirizzo di posta elettronica inserito\nnon sembra essere valido.\nVi preghiamo di controllarlo. Grazie');
				tuttoOK = false
			}
		
		if ((document.reg_form.att_license.value == '') && (tuttoOK == true))
			{
				window.alert('Trascrivere il numero di licenza del programma scaricato.\nSi trova nella barra di stato della finestra principale, in basso a sinistra.');
				tuttoOK = false
			}
		
		if (((stringa_licenza.length < 10) || (stringa_licenza.length > 10)) && (tuttoOK == true)){
			{
				window.alert('Il numero di licenza inserito non contiene un numero di cifre corretto.');
				tuttoOK = false
			}
		}
		
		if ((document.reg_form.att_password.value == '') && (tuttoOK == true))
			{
				window.alert('Inserire la propria password personale.\nCon il numero di licenza costituisce le credenziali per l\'accesso all\'area riservata del sito.');
				tuttoOK = false
			}
		
		if ((document.reg_form.att_password.value != document.reg_form.att_password2.value) && (tuttoOK == true))
			{
				window.alert('La password e la conferma non corrispondono.');
				tuttoOK = false
			}
		
		if ((document.reg_form.ctrCtrl.value == '') && (tuttoOK == true))
			{
				window.alert('Inserite il codice anti spam.');
				tuttoOK = false
			}
		
		
		if ((document.reg_form.att_privacy[0].checked == false) && (tuttoOK == true))
			{
				window.alert('Per effettuare l\'ordine è necessario aver letto\ne approvato la normativa sulla privacy\nlegge 196/03.)');
				tuttoOK = false
			}
		if ((document.reg_form.att_privacy2[0].checked == false) && (tuttoOK == true))
			{
				window.alert('Per effettuare l\'ordine è necessario esprimere il consenso al trattamento dei dati\ncome indicato dalla normativa sulla privacy (legge 196/03).)');
				tuttoOK = false
			}
			
		if (tuttoOK == true)
			{document.reg_form.submit();}
	}
	
	
function controlloupdate()
	{var tuttoOK = true
	 var stringa_codice_fiscale = document.upd_form.att_codf.value;
	 var stringa_partita_iva = document.upd_form.att_piva.value;
	 var stringa_licenza = document.upd_form.att_license.value;
	 stringa_codice_fiscale = stringa_codice_fiscale.toUpperCase();
	 document.upd_form.att_codf.value = stringa_codice_fiscale;

		if ((document.upd_form.att_nominativo.value == '') && (tuttoOK == true))
			{
				window.alert('Nome, cognome ragione sociale mancante');
				tuttoOK = false
			}
		if ((document.upd_form.att_indirizzo.value == '') && (tuttoOK == true))
			{
				window.alert('Manca l\'indirizzo');
				tuttoOK = false
			}
		if ((document.upd_form.att_cap.value == '') && (tuttoOK == true))
			{
				window.alert('Scrivere il cap');
				tuttoOK = false
			}
		if ((document.upd_form.att_citta.value == '') && (tuttoOK == true))
			{
				window.alert('Scrivere la città');
				tuttoOK = false
			}
		if ((document.upd_form.att_prov.value == '') && (tuttoOK == true))
			{
				window.alert('Scrivere la provincia');
				tuttoOK = false
			}
		
		if (((document.upd_form.att_piva.value == '') && (document.upd_form.att_codf.value == '')) && (tuttoOK == true)){
				window.alert('Mancano sia la Partita IVA che il Codice Fiscale.\nIn caso di utente aziendale occorrono entrambi.');
				tuttoOK = false
			}
		
	
		// ***********************
		
		if (((document.upd_form.att_piva.value != '') && (stringa_partita_iva.length < 11))  && (tuttoOK == true))
			{
				window.alert('La partita IVA contiene meno di 11 cifre');
				tuttoOK = false
			}
				
		if (((document.upd_form.att_piva.value != '') && (controllaPIVA(stringa_partita_iva) == 'KO'))  && (tuttoOK == true))
			{
				window.alert('La partita IVA non è corretta');
				tuttoOK = false
			}
		
		if (((document.upd_form.att_codf.value == ''))  && (tuttoOK == true))
			{
				window.alert('Scrivere il codice fiscale.\nIn caso di utente aziendale occorrono sia la partita IVA che il Codice Fiscale, anche se coincidenti.');
				tuttoOK = false
			}

		if ((document.upd_form.att_codf.value !='') && (tuttoOK == true))
			{
				if (stringa_codice_fiscale.length < 16) 
					{
						if (stringa_codice_fiscale.length == 11) 
							{
								if (controllaPIVA(stringa_codice_fiscale) == 'KO')
									{
										window.alert('Il Codice Fiscale inserito non è corretto');
										tuttoOK = false
									}
							}
						else
							{
								window.alert('Il Codice Fiscale non rispetta i parametri di lunghezza richiesti');
								tuttoOK = false
							}
					}
				else
					{
					if (controllaCF(stringa_codice_fiscale) == 'KO')
						{
							window.alert('Il Codice Fiscale inserito non è corretto');
							tuttoOK = false
						}
					}
			}
			
				
		if ((document.upd_form.att_prefix.value == '') && (tuttoOK == true))
			{
				window.alert('Selezionare il prefisso del numero mobile');
				tuttoOK = false
			}
			
		if ((document.upd_form.att_cell.value == '') && (tuttoOK == true))
			{
				window.alert('Completare il numero di cellulare');
				tuttoOK = false
			}
		
		if ((document.upd_form.att_tel.value == '') && (tuttoOK == true))
			{
				window.alert('Scrivere il telefono');
				tuttoOK = false
			}
		
		
		if ((document.upd_form.att_fax.value == '') && (tuttoOK == true))
			{
				window.alert('Scrivere il fax');
				tuttoOK = false
			}
		
		if ((ControllaMail(document.upd_form.att_email.value) == 'KO') && (tuttoOK == true))
			{
				window.alert('L\'indirizzo di posta elettronica inserito\nnon sembra essere valido.\nVi preghiamo di controllarlo. Grazie');
				tuttoOK = false
			}
		
		if ((document.upd_form.att_password.value == '') && (tuttoOK == true))
			{
				window.alert('Inserire la propria password personale.\nCon il numero di licenza costituisce le credenziali per l\'accesso all\'area riservata del sito.');
				tuttoOK = false
			}
		
		if ((document.upd_form.att_password.value != document.upd_form.att_password2.value) && (tuttoOK == true))
			{
				window.alert('La password e la conferma non corrispondono.');
				tuttoOK = false
			}
		
		if (tuttoOK == true)
			{document.upd_form.submit();}
	}


function controllaPIVA(piva) {
	var cifre = new Array;
	var i
	var calcolo = 0
	var totPari = 0
	var totDispari = 0
	var tot = 0
	var complemento
	var check = piva.charAt(10);
	
	//operazioni di verifica
	for(i=0;i<10;i++) 
		{
			cifre[i] = piva.charAt(i)
		}
		
	for(i=0;i<10;i++) 
		{
			if ((i==1) || (i==3) || (i==5) || (i==7) || (i==9)) 
				{
					calcolo = parseInt(cifre[i],10) * 2;
					if (calcolo > 9) 
						{
							totPari = totPari + Math.floor(calcolo/10);
							totPari = totPari + (calcolo - (Math.floor(calcolo/10))*10);
						}
					else
						{
							totPari = totPari + calcolo;
						}
				}
			else
				{
					totDispari = totDispari + parseInt(cifre[i],10);
				}
		}
	
	tot = totPari + totDispari;
	var totaleStringa = String(tot);
	
	if (totaleStringa.charAt(1) == '0')
		{
			if (check == totaleStringa.charAt(1))
				{
					return('OK')
				}
			else
				{
					return('KO')
				}
		}
	else
		{
			complemento = 10 - parseInt(totaleStringa.charAt(1),10);
			if (check == String(complemento))
				{
					return('OK')
				}
			else
				{
					return('KO')
				}
		}
}

function controllaCF(codice) {
	var cfctot
	var ndigit
	var ckd
	cfctot = 0
	ndigit = 0
   //Estrazione dei caratteri di posizione pari
	for(var i=1;i<14;i=i+2)
		{
			cfctot = cfctot + NumeriPari(codice.charAt(i))
   		}
   
   //Estrazione dei caratteri di posizione dispari
   for(var i=0;i<15;i=i+2)
		{
			cfctot = cfctot + NumeriDispari(codice.charAt(i))
   		}
  
   // Calcolo del check-digit di controllo
   ndigit = (cfctot / 26) - Math.floor(cfctot / 26)
   ndigit = Math.round(ndigit * 26)
   // check digit ricavato
   ckd = String.fromCharCode(65 + ndigit)
   if (ckd == codice.charAt(15))
   		{
			return 'OK'
		}
   else	
   		{
			return 'KO'
		}
}

function NumeriDispari(cifra) {
	var i
	var TD = new Array();
	TD[0] = new Array('B',"1");
	TD[1] = new Array('A','0');
	TD[2] = new Array('K','');
	TD[3] = new Array('P','');	
	TD[4] = new Array('L','');
	TD[5] = new Array('C','2');
	TD[6] = new Array('Q','');
	TD[7] = new Array('D','3');
	TD[8] = new Array('R','');
	TD[9] = new Array('E','4');
	TD[10] = new Array('V','');
	TD[11] = new Array('O','');
	TD[12] = new Array('S','');
	TD[13] = new Array('F','5');
	TD[14] = new Array('T','');
	TD[15] = new Array('G','6');
	TD[16] = new Array('U','');
	TD[17] = new Array('H','7');
	TD[18] = new Array('M','');
	TD[19] = new Array('I','8');
	TD[20] = new Array('N','');
	TD[21] = new Array('J','9');
	TD[22] = new Array('W','');
	TD[23] = new Array('Z','');
	TD[24] = new Array('Y','');
	TD[25] = new Array('X','');
	
	for(i=0;i<26;i++)
		{
			if ((TD[i][0] == cifra) || (TD[i][1] == cifra))
				{
					return i;
					//window.alert(i)
				}
		}
}

function NumeriPari(cifra) {
	var i
	var TP = new Array();
	TP[0] = new Array('A',"0");
	TP[1] = new Array('B','1');
	TP[2] = new Array('C','2');
	TP[3] = new Array('D','3');	
	TP[4] = new Array('E','4');
	TP[5] = new Array('F','5');
	TP[6] = new Array('G','6');
	TP[7] = new Array('H','7');
	TP[8] = new Array('I','8');
	TP[9] = new Array('J','9');
	TP[10] = new Array('K','');
	TP[11] = new Array('L','');
	TP[12] = new Array('M','');
	TP[13] = new Array('N','');
	TP[14] = new Array('O','');
	TP[15] = new Array('P','');
	TP[16] = new Array('Q','');
	TP[17] = new Array('R','');
	TP[18] = new Array('S','');
	TP[19] = new Array('T','');
	TP[20] = new Array('U','');
	TP[21] = new Array('V','');
	TP[22] = new Array('W','');
	TP[23] = new Array('X','');
	TP[24] = new Array('Y','');
	TP[25] = new Array('Z','');
	
	for(i=0;i<26;i++)
		{
			if ((TP[i][0] == cifra) || (TP[i][1] == cifra))
				{
					return i;
					//window.alert(i)
				}
		}
}

function ControllaMail(EmailAddr)
   {
   Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
   if (Filtro.test(EmailAddr))
      return 'OK';
   else
      {
      return 'KO';
      }
   }