// JavaScript Document
function controllocampi()
	{var tuttoOK = true
	 var stringa_codice_fiscale = document.reg_form.usr_cf.value;
	 var stringa_partita_iva = document.reg_form.usr_piva.value;
	 stringa_codice_fiscale = stringa_codice_fiscale.toUpperCase();
	 document.reg_form.usr_cf.value = stringa_codice_fiscale;

		if ((document.reg_form.usr_nominativo.value == '') && (tuttoOK == true))
			{
				window.alert('Nome, cognome ragione sociale mancante');
				tuttoOK = false
			}
		if ((document.reg_form.usr_indirizzo.value == '') && (tuttoOK == true))
			{
				window.alert('Manca l\'indirizzo');
				tuttoOK = false
			}
		if ((document.reg_form.usr_cap.value == '') && (tuttoOK == true))
			{
				window.alert('Scrivere il cap');
				tuttoOK = false
			}
		if ((document.reg_form.usr_citta.value == '') && (tuttoOK == true))
			{
				window.alert('Scrivere la città');
				tuttoOK = false
			}
		if ((document.reg_form.usr_provincia.value == '') && (tuttoOK == true))
			{
				window.alert('Scrivere la provincia');
				tuttoOK = false
			}
		
		if (((document.reg_form.usr_piva.value == '') && (document.reg_form.usr_cf.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.usr_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.usr_piva.value != '') && (controllaPIVA(stringa_partita_iva) == 'KO'))  && (tuttoOK == true))
			{
				window.alert('La partita IVA non è corretta');
				tuttoOK = false
			}
		
		if (((document.reg_form.usr_cf.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.usr_cf.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 ((ControllaCell(document.reg_form.usr_cellulare.value) == 'KO') && (tuttoOK == true))
			{
				window.alert('Cellulare mancante o numero con caratteri non corretti.');
				tuttoOK = false
			}
		if ((document.reg_form.usr_cellulare.value.length < 10 ) && (tuttoOK == true))
			{
				window.alert('Verificare che il numero di cellulare sia completo.');
				tuttoOK = false
			}
		
		
		
		if ((ControllaMail(document.reg_form.usr_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.usr_password.value == '') && (tuttoOK == true))
			{
				window.alert('Inserire la propria password personale.\nCon il numero di cellulare costituisce le credenziali per l\'accesso all\'area riservata del sito.');
				tuttoOK = false
			}
		
		if ((document.reg_form.usr_password.value != document.reg_form.usr_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.usr_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.usr_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 controllomanudest()
{
	var tuttoOK = true
	if ((ControllaAddCell(document.manudest_form.rub_cellulare.value) == 'KO') && (tuttoOK == true))
		{
			window.alert('Dopo aver selezionato correttamente il prefisso internazionele\nCompletare correttamente il numero di cellulare');
			tuttoOK = false
		}
	
	if (tuttoOK == true)
		{document.manudest_form.submit();
		document.manudest_form.rub_cellulare.value = ''
		}
}

function controllocontatti()
	{var tuttoOK = true
		if ((document.contact_form.rub_cognome.value == '') && (tuttoOK == true))
			{
				window.alert('Cognome del contatto?');
				tuttoOK = false
			}
		if ((document.contact_form.rub_nome.value == '') && (tuttoOK == true))
			{
				window.alert('Nome del contatto?');
				tuttoOK = false
			}
		if ((document.contact_form.rub_display.value == '') && (tuttoOK == true))
			{
				window.alert('Inserite il nick name, soprannome, nomignolo...');
				tuttoOK = false
			}
		if ((ControllaAddCell(document.contact_form.rub_cellulare.value) == 'KO') && (tuttoOK == true))
			{
				window.alert('Completare correttamente il numero di cellulare');
				tuttoOK = false
			}
		
		if (tuttoOK == true)
			{document.contact_form.submit();
				closeWindows('smsContact');
				contactFormReset()
			}
	}
	
function controllocon()
	{var tuttoOK = true
		if ((document.con_form.con_nominativo.value == '') && (tuttoOK == true))
			{
				window.alert('Inserite il vostro nome e cognome');
				tuttoOK = false
			}
		if ((ControllaMail(document.con_form.con_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 ((ControllaAddCell(document.con_form.con_cellulare.value) == 'KO') && (tuttoOK == true))
			{
				window.alert('Inserire correttamente il numero di cellulare');
				tuttoOK = false
			}
		if ((document.con_form.con_text.value == '') && (tuttoOK == true))
			{
				window.alert('Scrivete una richiesta');
				tuttoOK = false
			}		
		if (tuttoOK == true)
			{document.con_form.submit();
				conFormReset()
			}
	}

	

function controllopin()
	{var tuttoOK = true
		if ((document.pin_form.usr_pincode.value == '') && (tuttoOK == true))
			{
				window.alert('Inserite il PINCODE');
				tuttoOK = false
			}
		if (tuttoOK == true)
			{document.pin_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';
      }
   }

function ControllaCell(valorecampo)
	{
	   Filtro = /^([3+])([0-9]*)$/;
	   if (Filtro.test(valorecampo))
			{return 'OK';}
	   else
			{return 'KO';}	
	}

function ControllaAddCell(valorecampo)
	{
	   Filtro = /^([1-9]+)([0-9]*)$/;
	   if (Filtro.test(valorecampo))
			{return 'OK';}
	   else
			{return 'KO';}	
	}