//---------------------------------------------------------------------------
function numsOnly ( e ) {
	return matchRegExp(e, /[0-9]/);
}

function numCivicoCharsOnly ( e ) {
	return matchRegExp(e, /[\/a-zA-Z0-9.-]/);
}

function numDocumentoCharsOnly ( e ) {
	return matchRegExp(e, /[a-zA-Z0-9]/);
}

function usernameEdit ( e ) {
		return matchRegExp(e, /[a-zA-Z0-9-_.]/);
}


function emailCharNum ( e ) {
	return matchRegExp(e, /[a-zA-Z0-9@.-]/);
}

function promoCharsOnly ( e ) {
	return matchRegExp(e, /[a-zA-Z0-9-]/);
}

function alphaNumCharsOnly ( e ) {
	return matchRegExp(e, /[_a-zA-Z0-9.-]/); 
}

function nameCharsOnly ( e ) {
	return matchRegExp(e, /[\s\x27a-zA-Z]/);
}

function DateCharsOnly ( e ) {
	return matchRegExp(e, /[/0-9]/);
}

function indirizzoCharsOnly ( e ) {    
	return matchRegExp(e, /[\s\/a-zA-Z0-9\']/);
}                                 
                                      
function luogoNascitaCharsOnly ( e ) {                                         
	return matchRegExp(e, /[\s\/a-zA-Z0-9]/);
}                                     

function matchRegExp(e, reg)
{
	var key = window.event ? e.keyCode : e.which;
	var keychar = String.fromCharCode(key);
	
	if (key == 8 || key == 0)
		return true;
	else
		return reg.test(keychar);
}

// ControlloEmail -> Controlla la validità del campo Email e Conferma Email //
function controlloEmail(pLabel,pCampo)
{

   var email = document.getElementById(pCampo).value;
   var messaggio = "";
   
   if (email == "")
   {
      //alert("Campo " + pLabel + " e' Obbligatorio");
   }
   else
   {
	   var espressione = /^[A-Z_a-z0-9+-]+(\.[A-Z_a-z0-9+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)+$/;	
	   if (!espressione.test(email))	
	   {
		  //alert("La " + pLabel + " inserita non e' valida!");
		  messaggio = "La " + pLabel + " inserita non e' valida!";
	   }   
   }	   
   
   return messaggio;
}	

function oggi(){

dData = new Date();


giorno = dData.getDate() >= 10 ? dData.getDate() : '0'+ dData.getDate();

mese = (dData.getMonth() + 1) >= 10 ? (dData.getMonth() + 1) : '0'+ (dData.getMonth() + 1)

anno = dData.getFullYear();

today = giorno + '/' + mese + '/' + anno;

return today;

}

function calcoloData(dataAppoggio,anni){

giorno = dataAppoggio.substr(0,2);
mese   = dataAppoggio.substr(3,2);
anno   = dataAppoggio.substr(6,4);

anno = parseFloat(anno) + parseFloat(anni);
dataAppoggio = mese + '/' + giorno + '/' + anno;

return dataAppoggio;

}


function controlloCampi(formInput)
{
	

//alert ("controlloCampi = " + formInput.name);
id_email                	= formInput.id_email.value;
//setCookie('id_email',id_email,5)
//alert ("Email         			  = " + id_email                );
id_confermaemail        	= formInput.id_confermaemail.value;
//setCookie('id_confermaemail',id_confermaemail,5)
//alert ("ConfermaEmail 			  = " + id_confermaemail        );
id_telefono             	= formInput.id_telefono.value;
//setCookie('id_telefono',id_telefono,5)
//alert ("id_telefono 			  = " + id_telefono        );
id_username             	= formInput.id_username.value;
//setCookie('id_username',id_username,5)
//alert ("id_username 			  = " + id_username        );
id_nome                 	= formInput.id_nome.value.toUpperCase();
//setCookie('id_nome',id_nome,5)
//alert ("id_nome 			  = " + id_nome        );
id_cognome              	= formInput.id_cognome.value.toUpperCase();
//setCookie('id_cognome',id_cognome,5)
//alert ("id_cognome 			  = " + id_cognome        );
id_sessoM              	  = formInput.id_sesso[0].checked;
//alert ("id_sessoM 			  = " + id_sessoM        );
id_sessoF              	  = formInput.id_sesso[1].checked;
//alert ("id_sessoF 			  = " + id_sessoF        );
id_nazioneNascita       	= formInput.id_nazioneNascita.options[formInput.id_nazioneNascita.selectedIndex].value;
//alert ("id_nazioneNascita 			  = " + id_nazioneNascita        );
id_provinciaNascita     	= formInput.id_provinciaNascita.options[formInput.id_provinciaNascita.selectedIndex].value;
//alert ("id_provinciaNascita 			  = " + id_provinciaNascita        );
id_comuneDiNascita      	= formInput.id_comuneDiNascita.options[formInput.id_comuneDiNascita.selectedIndex].value.toUpperCase();
//alert ("id_comuneDiNascita 			  = " + id_comuneDiNascita        );
id_dataDiNascita        	= formInput.id_dataDiNascita.value;
//alert ("id_dataDiNascita 			  = " + id_dataDiNascita        );
id_codicefiscale        	= formInput.id_codicefiscale.value;
//setCookie('id_codicefiscale',id_codicefiscale,5)
//alert ("id_codicefiscale 			  = " + id_codicefiscale        );
id_nazionalita            = formInput.id_nazionalita.options[formInput.id_nazionalita.selectedIndex].value;
//alert ("id_nazionalita 			  = " + id_nazionalita        );
id_nazioneresidenza       = formInput.id_nazioneresidenza.options[formInput.id_nazioneresidenza.selectedIndex].value;
//setCookie('id_nazioneresidenza',id_nazioneresidenza,5)
//alert ("id_nazioneresidenza 			  = " + id_nazioneresidenza        );
id_provinciaResidenza     = formInput.id_provinciaResidenza.options[formInput.id_provinciaResidenza.selectedIndex].value;
//alert ("id_provinciaResidenza 			  = " + id_provinciaResidenza        );
id_comuneResidenza        = formInput.id_comuneResidenza.options[formInput.id_comuneResidenza.selectedIndex].value;
//alert ("id_comuneResidenza 			  = " + id_comuneResidenza        );
id_ProvinciaEsteraResidenza        = formInput.id_ProvinciaEsteraResidenza.value;
//setCookie('id_ProvinciaEsteraResidenza',id_ProvinciaEsteraResidenza,5)
//alert ("id_ProvinciaEsteraResidenza = " + id_ProvinciaEsteraResidenza);
id_comuneEsteroResidenza        = formInput.id_comuneEsteroResidenza.value;
//setCookie('id_comuneEsteroResidenza',id_comuneEsteroResidenza,5)
//alert ("id_comuneEsteroResidenza = " + id_comuneEsteroResidenza);
id_numcivico           = formInput.id_numcivico.value;
//setCookie('id_numcivico',id_numcivico,5)
//alert ("id_numcivico 			  = " + id_numcivico        );
id_indirizzo              = formInput.id_indirizzo.value;
//setCookie('id_indirizzo',id_indirizzo,5)
//alert ("id_indirizzo 			  = " + id_indirizzo        );
id_cap                    = formInput.id_cap.value;
//setCookie('id_cap',id_cap,5)
//alert ("id_cap 			  = " + id_cap        );
id_indirizziCoincidonoSI  = formInput.id_indirizziCoincidonoSi.checked;
//alert ("id_indirizziCoincidonoSI 			  = " + id_indirizziCoincidonoSI        );
id_indirizziCoincidonoNO  = formInput.id_indirizziCoincidonoNo.checked; 
//alert ("id_indirizziCoincidonoNO 			  = " + id_indirizziCoincidonoNO        );
id_provinciaDomicilio     = formInput.id_provinciaDomicilio.options[formInput.id_provinciaDomicilio.selectedIndex].value;
//alert ("id_provinciaDomicilio 			  = " + id_provinciaDomicilio        );
id_comuneDomicilio        = formInput.id_comuneDomicilio.options[formInput.id_comuneDomicilio.selectedIndex].value; 
//alert ("id_comuneDomicilio 			  = " + id_comuneDomicilio        );
id_indirizzoDomicilio     = formInput.id_indirizzoDomicilio.value;
//setCookie('id_indirizzoDomicilio',id_indirizzoDomicilio,5)
//alert ("id_indirizzoDomicilio 			  = " + id_indirizzoDomicilio        );
id_numCivicoDomicilio     = formInput.id_numCivicoDomicilio.value;
//setCookie('id_numCivicoDomicilio',id_numCivicoDomicilio,5)
//alert ("id_numCivicoDomicilio 			  = " + id_numCivicoDomicilio        );
id_capDomicilio           = formInput.id_capDomicilio.value;
//setCookie('id_capDomicilio',id_capDomicilio,5)
//alert ("id_capDomicilio 			  = " + id_capDomicilio        );
id_tipoDocumento          = formInput.id_tipoDocumento.options[formInput.id_tipoDocumento.selectedIndex].value;
//alert ("id_tipoDocumento 			  = " + id_tipoDocumento        );
id_numerodocumento        = formInput.id_numerodocumento.value;
//setCookie('id_numerodocumento',id_numerodocumento,5)
//alert ("id_numerodocumento 			  = " + id_numerodocumento        );
id_entiRilascio           = formInput.id_entiRilascio.value;
//alert ("id_entiRilascio 			  = " + id_entiRilascio        );
id_luogorilascio          = formInput.id_luogorilascio.value; 
//setCookie('id_luogorilascio',id_luogorilascio,5)
//alert ("id_luogorilascio 			  = " + id_luogorilascio        );
id_DataDiRilascio       	= formInput.id_DataDiRilascio.value;  
//setCookie('id_DataDiRilascio',id_DataDiRilascio,5)
//alert ("id_DataDiRilascio 			  = " + id_DataDiRilascio        ); 
id_DataDiScadenza       	= formInput.id_DataDiScadenza.value;   
//setCookie('id_DataDiScadenza',id_DataDiScadenza,5)
//alert ("id_DataDiScadenza 			  = " + id_DataDiScadenza        ); 
id_18anni               	= formInput.id_18anni.checked;    
//alert ("id_18anni 			  = " + id_18anni        ); 
id_consensoprivacy    	= formInput.id_consensoprivacy.checked;
//alert ("id_consensoprivacy 			  = " + id_consensoprivacy        ); 
id_comuneNascitaEstero    = formInput.id_comuneNascitaEstero.value;    
//setCookie('id_comuneNascitaEstero',id_comuneNascitaEstero,5)
//alert ("id_comuneNascitaEstero = " + id_comuneNascitaEstero);  
id_ProvinciaNascitaEstera  = formInput.id_ProvinciaNascitaEstera.value;
//setCookie('id_ProvinciaNascitaEstera',id_ProvinciaNascitaEstera,5)
//alert ("id_ProvinciaNascitaEstera = " + id_ProvinciaNascitaEstera);  
id_nazioneDomicilio = formInput.id_nazionedomicilio.options[formInput.id_nazionedomicilio.selectedIndex].value;
//alert ("id_nazioneDomicilio 			  = " + id_nazioneDomicilio        );
id_comuneEsteroDomicilio    = formInput.id_comuneEsteroDomicilio.value;    
//alert ("id_comuneEsteroDomicilio = " + id_comuneEsteroDomicilio);  
id_ProvinciaEsteraDomicilio  = formInput.id_ProvinciaEsteraDomicilio.value;
//alert ("ProvinciaEsteraDomicilio = " + ProvinciaEsteraDomicilio);  


//alert (" ************************* FINITI TUTTI I CAMPI ************************");

	                     
  // CONTROLLO I CAMPI OBBLIGATORI
  
  campiObbligatori = "no";
  messaggio = "";




  obbligatorieta:
  {
  	
  	//alert ("Controllo Email");
  	
  	
  	

  	
  	
  	
	  if (id_email == "")
	  {
			formInput.id_email.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	
		}
		else
		{
			messaggio = controlloEmail("email","id_email");
			
			if (messaggio == "")
			{
				formInput.id_email.style.backgroundColor = "" ;  	
			}
			else
			{
				break obbligatorieta;
			}				
		}			
		
		//alert ("Controllo ConfermaEmail");
		
	  if (id_confermaemail == "")
	  {
			formInput.id_confermaemail.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
	  }	
		else
		{
			
			messaggio = controlloEmail("Conferma email","id_confermaemail");
			
			if (messaggio == "")
			{
				formInput.id_confermaemail.style.backgroundColor = "" ;  	
			}
			else
			{
				break obbligatorieta;
			}				
		}			
		
		//alert ("Controllo telefono");
		
	  if (id_telefono == "")
	  {
			formInput.id_telefono.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
	  }	  
		else
		{
			formInput.id_telefono.style.backgroundColor = "" ;  	
		}			
		
		//alert ("Controllo username");
	  
	  if (id_username == "")
	  {
			formInput.id_username.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
	  }	  
   	  else
	  {
			formInput.id_username.style.backgroundColor = "" ;  	
	  }			
		
		//alert ("Controllo nome");
	  
	  if (id_nome == "")
	  {
			formInput.id_nome.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
	  }	  
	  else
		{
			formInput.id_nome.style.backgroundColor = "" ;  	
		}		
		
		//alert ("Controllo cognome");	
	
	  if (id_cognome == "")
	  {
			formInput.id_cognome.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
	  }	  
	  else
		{
			formInput.id_cognome.style.backgroundColor = "" ;  	
		}  
		
		//alert ("Controllo sesso");
	  
		if (id_sessoM)
		{
			id_sesso = "M";
		}	             
		if (id_sessoF)
		{
			id_sesso = "F";
		}	             
		
		//alert ("id_nazioneNascita = " + id_nazioneNascita);
		
		if (id_nazioneNascita == "")
		{
			formInput.id_nazioneNascita.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
		}	             
	  else if (id_nazioneNascita == "Z000" || id_nazioneNascita == "ITALIA")
		{
			
			if (id_provinciaNascita == "")
			{
				formInput.id_provinciaNascita.style.backgroundColor = "#F37D16" ; 
				campiObbligatori = "si";  	  	
			}	             
		  else
			{
				formInput.id_provinciaNascita.style.backgroundColor = "" ;  	
			}  
			
			if (id_comuneDiNascita == "")
			{
				formInput.id_comuneDiNascita.style.backgroundColor = "#F37D16" ; 
				campiObbligatori = "si";  	  	
			}	             
		  else
			{
				formInput.id_comuneDiNascita.style.backgroundColor = "" ;  	
			}  
	
			if (id_codicefiscale == "")
			{
				formInput.id_codicefiscale.style.backgroundColor = "#F37D16" ; 
				campiObbligatori = "si";  	  	
			}	             
		  else
			{
				formInput.id_codicefiscale.style.backgroundColor = "" ;  	
			}  
	
			formInput.id_nazioneNascita.style.backgroundColor = "" ;  	
		}  
		else if (id_nazioneNascita != "Z000" && id_nazioneNascita != "ITALIA")
		{
			
			if (id_comuneNascitaEstero == "")
			{
				formInput.id_comuneNascitaEstero.style.backgroundColor = "#F37D16" ; 
				campiObbligatori = "si";  	  	
			}	             
		  else
			{
				formInput.id_comuneNascitaEstero.style.backgroundColor = "" ;  	
			}  
			
			
			if (id_ProvinciaNascitaEstera == "")
			{
				formInput.id_ProvinciaNascitaEstera.style.backgroundColor = "#F37D16" ; 
				campiObbligatori = "si";  	  	
			}	             
		  else
			{
				formInput.id_ProvinciaNascitaEstera.style.backgroundColor = "" ;  	
			}  
	  }		
		
		//alert ("Controllo dataDiNascita");
		
		if (id_dataDiNascita == "")
		{
			formInput.id_dataDiNascita.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
		}	             
	  else
		{
			formInput.id_dataDiNascita.style.backgroundColor = "" ;  	
		}  
		
		
		if (id_nazionalita == "")
		{
			formInput.id_nazionalita.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
		}	             
	  else
		{
			formInput.id_nazionalita.style.backgroundColor = "" ;  	
		}  

		if (id_nazioneresidenza == "")
		{
			formInput.id_nazioneresidenza.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
		}	             
	  else if (id_nazioneresidenza == "Z000")
		{
			
			if (id_provinciaResidenza == "")
			{
				formInput.id_provinciaResidenza.style.backgroundColor = "#F37D16" ; 
				campiObbligatori = "si";  	  	
			}	             
		  else
			{
				formInput.id_provinciaResidenza.style.backgroundColor = "" ;  	
			}  
			
			if (id_comuneResidenza == "")
			{
				formInput.id_comuneResidenza.style.backgroundColor = "#F37D16" ; 
				campiObbligatori = "si";  	  	
			}	             
		  else
			{
				formInput.id_comuneResidenza.style.backgroundColor = "" ;  	
			}  
	
			formInput.id_nazioneresidenza.style.backgroundColor = "" ;  	
		}  
		else if (id_nazioneresidenza != "Z000")
		{
			
			if (id_comuneEsteroResidenza == "")
			{
				formInput.id_comuneEsteroResidenza.style.backgroundColor = "#F37D16" ; 
				campiObbligatori = "si";  	  	
			}	             
		  else
			{
				formInput.id_comuneEsteroResidenza.style.backgroundColor = "" ;  	
			}  
			
			
			if (id_ProvinciaEsteraResidenza == "")
			{
				formInput.id_ProvinciaEsteraResidenza.style.backgroundColor = "#F37D16" ; 
				campiObbligatori = "si";  	  	
			}	             
		  else
			{
				formInput.id_ProvinciaEsteraResidenza.style.backgroundColor = "" ;  	
			}  
	  }		

		//alert ("Controllo numCivico");
		
		if (id_numcivico == "")
		{
			formInput.id_numcivico.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
		}	             
	  else
		{
			formInput.id_numcivico.style.backgroundColor = "" ;  	
		}  
		
		//alert ("Controllo indirizzo");
		
		if (id_indirizzo == "")
		{
			formInput.id_indirizzo.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
		}	             
	  else
		{
			formInput.id_indirizzo.style.backgroundColor = "" ;  	
		}  
		
		//alert ("Controllo cap");
		
		if (id_cap == "")
		{
			formInput.id_cap.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
		}	             
	  else
		{
			formInput.id_cap.style.backgroundColor = "" ;  	
		}  
		
		if (id_indirizziCoincidonoSI)
		{
			
		}		
		
		if (id_indirizziCoincidonoNO)
		{
			
			    if (id_nazioneDomicilio != "Z000" && id_nazioneDomicilio != "ITALIA")
				{
					if (id_ProvinciaEsteraDomicilio == "")
					{
						formInput.id_ProvinciaEsteraDomicilio.style.backgroundColor = "#F37D16" ; 
						campiObbligatori = "si";  	  	
					}	             
				  else
					{
						formInput.id_ProvinciaEsteraDomicilio.style.backgroundColor = "" ;  	
					}  
					if (id_comuneEsteroDomicilio == "")
					{
						formInput.id_comuneEsteroDomicilio.style.backgroundColor = "#F37D16" ; 
						campiObbligatori = "si";  	  	
					}	             
				  else
					{
						formInput.id_comuneEsteroDomicilio.style.backgroundColor = "" ;  	
					}
				}
				else
				{
					if (id_provinciaDomicilio == "")
					{
						formInput.id_provinciaDomicilio.style.backgroundColor = "#F37D16" ; 
						campiObbligatori = "si";  	  	
					}	      
				  else
					{
						formInput.id_provinciaDomicilio.style.backgroundColor = "" ;  	
					}  
						   
					if (id_comuneDomicilio == "")
					{
						formInput.id_comuneDomicilio.style.backgroundColor = "#F37D16" ; 
						campiObbligatori = "si";  	  	
					}	             
				  else
					{
						formInput.id_comuneDomicilio.style.backgroundColor = "" ;  	
					}  
				}
			
			if (id_indirizzoDomicilio == "")
			{
				formInput.id_indirizzoDomicilio.style.backgroundColor = "#F37D16" ; 
				campiObbligatori = "si";  	  	
			}	             
		  else
			{
				formInput.id_indirizzoDomicilio.style.backgroundColor = "" ;  	
			}  
			
			if (id_numCivicoDomicilio == "")
			{
				formInput.id_numCivicoDomicilio.style.backgroundColor = "#F37D16" ; 
				campiObbligatori = "si";  	  	
			}		
		  else
			{
				formInput.id_numCivicoDomicilio.style.backgroundColor = "" ;  	
			}  
			
			if (id_capDomicilio == "")
			{
				formInput.id_capDomicilio.style.backgroundColor = "#F37D16" ; 
				campiObbligatori = "si";  	  	
			}		
		  else
			{
				formInput.id_capDomicilio.style.backgroundColor = "" ;  	
			}  
			
		}
		
		//alert ("Controllo tipoDocumento");
		
		if (id_tipoDocumento == "")
		{
			formInput.id_tipoDocumento.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
		}            
	  else
		{
			formInput.id_tipoDocumento.style.backgroundColor = "" ;  	
		}  
		
		//alert ("Controllo numeroDocumento");
		
		if (id_numerodocumento == "")
		{
			formInput.id_numerodocumento.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
		}	
	  else
		{
			formInput.id_numerodocumento.style.backgroundColor = "" ;  	
		}  
		
		//alert ("Controllo entiRilascio");
		
		if (id_entiRilascio == "")
		{
			formInput.id_entiRilascio.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
		}	
	  else
		{
			formInput.id_entiRilascio.style.backgroundColor = "" ;  	
		}  
		
		//alert ("Controllo luogo rilascio");
		
		if (id_luogorilascio == "")
		{
			formInput.id_luogorilascio.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
		}		
	  else
		{
			formInput.id_luogorilascio.style.backgroundColor = "" ;  	
		}  
		
		//alert ("Controllo datadirilascio");
		
		if (id_DataDiRilascio == "")
		{
			formInput.id_DataDiRilascio.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
		}	
	  else
		{
			formInput.id_DataDiRilascio.style.backgroundColor = "" ;  	
		}  
		
		//alert ("Controllo datadiscadenza");
		
		if (id_DataDiScadenza == "")
		{
			formInput.id_DataDiScadenza.style.backgroundColor = "#F37D16" ; 
			campiObbligatori = "si";  	  	
		}	
	  else
		{
			formInput.id_DataDiScadenza.style.backgroundColor = "" ;  	
		}  

  
		//alert ("id_consensoprivacy = " + id_consensoprivacy);
		
	 // alert ("campiObbligatori = " + campiObbligatori);
	  
	  
	  
	  controllo:
		if (campiObbligatori == "si")
		{
			Dialog.alert(" campi in ARANCIONE sono obbligatori", {width:350, height:110,title:'Attenzione'});
			//alert ("I campi in ARANCIONE sono obbligatori");
		}	
		else
		{
		   // controllo che Email e conferma Email siano uguali	

			if (id_username.length < 6 ) 
			{
				formInput.id_username.style.backgroundColor = "#F37D16" ;  	
				messaggio = "L'username dev'essere almeno di 6 caratteri";
  		   	    break controllo; 
			}			
			else
			{
				formInput.id_username.style.backgroundColor = "" ;
			}
			
			// il campo nome deve essere maggiore di 2
			
			if (id_nome.length < 2 ) 
			{
				formInput.id_nome.style.backgroundColor = "#F37D16" ;  	
				messaggio = "Il nome dev'essere almeno di 2 caratteri";
  		   	    break controllo; 
			}			
			else
			{
				formInput.id_nome.style.backgroundColor = "" ;
			}
			
			// il campo cognome deve essere maggiore di 2			

			if (id_cognome.length < 2 ) 
			{
				formInput.id_cognome.style.backgroundColor = "#F37D16" ;  	
				messaggio = "Il cognome dev'essere almeno di 2 caratteri";
  		   	    break controllo; 
			}			
			else
			{
				formInput.id_cognome.style.backgroundColor = "" ;
			}

		   //alert ("Controllo Email");
		   		   
		   if (id_email != id_confermaemail)
		   {
		   	  messaggio = "I campi Email e Confema Email devono essere uguali";
		   	  formInput.id_email.style.backgroundColor = "#F37D16" ;  	
		   	  formInput.id_confermaemail.style.backgroundColor = "#F37D16" ;  
		   	  break controllo; 
		   }	
		   else
		   {
		  	 formInput.id_email.style.backgroundColor = "" ;  	
	  		 formInput.id_confermaemail.style.backgroundColor = "" ;  
		   }	
		   
			if (id_cap.length < 5 ) 
			{
				formInput.id_cap.style.backgroundColor = "#F37D16" ;  	
				messaggio = "Il CAP dev'essere di 5 caratteri";
  		   	    break controllo; 
			}			
			else
			{
				formInput.id_cap.style.backgroundColor = "" ;
			}
			
			if (id_indirizziCoincidonoNO)
			{
				if (id_capDomicilio.length < 5 ) 
				{
					formInput.id_capDomicilio.style.backgroundColor = "#F37D16" ;  	
					messaggio = "Il CAP dev'essere di 5 caratteri";
					break controllo; 
				}			
				else
				{
					formInput.id_capDomicilio.style.backgroundColor = "" ;
				}
			}

			if (id_numerodocumento.length < 6 ) 
			{
				formInput.id_numerodocumento.style.backgroundColor = "#F37D16" ;  	
				messaggio = "Il Numero Documento dev'essere almeno di 6 caratteri";
				break controllo; 
			}			
			else
			{
				formInput.id_numerodocumento.style.backgroundColor = "" ;
			}
			
			if (id_luogorilascio.length < 2 ) 
			{
				formInput.id_luogorilascio.style.backgroundColor = "#F37D16" ;  	
				messaggio = "Luogo di rilascio dev'essere almeno di 2 caratteri";
				break controllo; 
			}			
			else
			{
				formInput.id_luogorilascio.style.backgroundColor = "" ;
			}
			
			// il campo telefono deve essere maggiore di 2			
			
			if (id_telefono.length < 7 ) 
			{
				formInput.id_telefono.style.backgroundColor = "#F37D16" ;  	
				messaggio = "Il numero di telefono dev'essere almeno di 7 caratteri";
  		   	    break controllo; 
			}			
			else
			{
				formInput.id_cognome.style.backgroundColor = "" ;
			}
		   
		   
		   /*
		    var espressione = /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/;
		    
		    alert ("espressione = " + espressione);
		    alert ("id_DataDiNascita = " + id_DataDiNascita);
		    alert ("test = " + espressione.test(id_DataDiNascita));
			
				if (!espressione.test(id_DataDiNascita))
				{
		   	  messaggio = "Formato data di nascita errato";
		   	  formInput.id_DataDiNascita.style.backgroundColor = "#F37D16" ;  	
		   	  break controllo; 
				}
				else if (!espressione.test(id_DataDiRilascio))
				{
		   	  messaggio = "Formato data di rilascio errato";
		   	  formInput.id_DataDiRilascio.style.backgroundColor = "#F37D16" ;  	
		   	  break controllo; 
				}	
				else if (!espressione.test(id_DataDiScadenza))
				{
		   	  messaggio = "Formato data di scadenza errato";
		   	  formInput.id_DataDiScadenza.style.backgroundColor = "#F37D16" ;  	
		   	  break controllo; 
				}	   */
		   
       //alert ("CONTROLLO DATA RILASCIO"); 
       
			 today = oggi();
			 dataRilascio = id_DataDiRilascio;
			 
		   aa = parseFloat(today.substr(6,4));
 		   mm = parseFloat(today.substr(3,2));
		   gg = parseFloat(today.substr(0,2));
			 
			 today = new Date(aa, mm-1, gg);
			 
		   aa = parseFloat(dataRilascio.substr(6,4));
 		   mm = parseFloat(dataRilascio.substr(3,2));
		   gg = parseFloat(dataRilascio.substr(0,2));
		   
		   dataRilascio = new Date(aa, mm-1, gg);
			 
			 //alert ("today = " + today);
			 //alert ("datariaslcio = " + dataRilascio);
		   
		   formInput.id_DataDiRilascio.style.backgroundColor = "" ;  
		   if (dataRilascio > today)
		   {
			    messaggio = ("La data Rilascio dev'essere minore o uguale ad oggi"); 				   	
		   	  formInput.id_DataDiRilascio.style.backgroundColor = "#F37D16" ;  
		   	  break controllo; 
		   }	
		   
		   // CONTROLLO DATA SCADENZA 
		   //alert ("CONTROLLO DATA SCADENZA "); 
		   
		   aa = parseFloat(id_DataDiScadenza.substr(6,4));
 		   mm = parseFloat(id_DataDiScadenza.substr(3,2));
		   gg = parseFloat(id_DataDiScadenza.substr(0,2));
		   
		   dataScadenza = new Date(aa, mm-1, gg);
		   
		   aa = parseFloat(id_DataDiRilascio.substr(6,4));
 		   mm = parseFloat(id_DataDiRilascio.substr(3,2));
		   gg = parseFloat(id_DataDiRilascio.substr(0,2));
		   
		   dataAppoggio = new Date(aa, mm-1, gg);
		   
		   //alert ("dataScadenza = " + dataScadenza);
		   //alert ("today = " + today);
		   
		   formInput.id_DataDiScadenza.style.backgroundColor = "" ;  
		   controlloDate:
		   if (dataScadenza < today)
		   {
			    messaggio = ("La data Scadenza dev'essere maggiore di oggi"); 				   	
		   	  formInput.id_DataDiScadenza.style.backgroundColor = "#F37D16" ;  
		   	  break controlloDate; 
		   }	
		   else
		   {
		   	
		   		//alert ("id_tipoDocumento = " + id_tipoDocumento);
		   	
					switch(parseFloat(id_tipoDocumento)) { 
					  
					  // CARTA D’IDENTITA’ ITALIANA
					  
					  case 1: 
					  {	
					  	// l'ultimo parametro 10 sono gli anni di durata del documento Carta d'identità
					  	// ad esempio se è stato rilasciato il 10/10/2000 scadrà il 09/10/2010
					  	// 10 anni e un giorno prima della data di rilascio
						
						  var dataAppoggio10  = new Date(calcoloData(id_DataDiRilascio,'10'));
						  var dataAppoggio5   = new Date(calcoloData(id_DataDiRilascio,'5'));
						  
						  //alert ("dataAppoggio10 = " + dataAppoggio10);
						  //alert ("dataAppoggio5 = "  + dataAppoggio5);
						  
						  
						  dataAppoggio10 = new Date(dataAppoggio10.getFullYear(), dataAppoggio10.getMonth(),
									       dataAppoggio10.getDate());
						  dataAppoggio5 = new Date(dataAppoggio5.getFullYear(), dataAppoggio5.getMonth(),
								          dataAppoggio5.getDate());
						  dataAppoggio10meno1 = new Date(dataAppoggio10.getFullYear(), dataAppoggio10.getMonth(),
									       dataAppoggio10.getDate()-1);
						  dataAppoggio5meno1 = new Date(dataAppoggio5.getFullYear(), dataAppoggio5.getMonth(),
								          dataAppoggio5.getDate()-1);
						  dataScadenzameno1 = new Date(dataScadenza.getFullYear(), dataScadenza.getMonth(),
									       dataScadenza.getDate()-1);
								          
							
							/*alert ("data scadenza = " + dataScadenza);	          
							alert ("data dataScadenzameno1 = " + dataScadenzameno1);	          
							alert ("dataAppoggio5 DOPO = " + dataAppoggio5);
							alert ("dataAppoggio5meno1 DOPO = " + dataAppoggio5meno1);
							alert ("dataAppoggio10 DOPO = " + dataAppoggio10);
							alert ("dataAppoggio10meno1 DOPO = " + dataAppoggio10meno1);*/
							
							
							
						  if (!ControlloDateUguali(dataScadenza,dataAppoggio5,dataScadenzameno1,dataAppoggio5meno1) && 
			                  !ControlloDateUguali(dataScadenza,dataAppoggio10,dataScadenzameno1,  dataAppoggio10meno1)
							  )
						  {
							  messaggio = "Data di scadenza inserita errata";
	 				  	  formInput.id_DataDiScadenza.style.backgroundColor = "#F37D16" ;
							  break controlloDate; 
							}
						  
						  break controlloDate; 
						}  
						

						
						// CARTA D’IDENTITA’ EUROPEA
					  case 2: 
					  {
						  dataAppoggio = new Date(calcoloData(id_DataDiRilascio,'1'));
						  
						  dataAppoggio = new Date(dataAppoggio.getFullYear(), dataAppoggio.getMonth(),
									       dataAppoggio.getDate());

						   
							if (!ControlloDate(dataScadenza,dataAppoggio)) 
							{
								messaggio = "Data di scadenza inserita per il tipo documento Errata";
								formInput.id_DataDiScadenza.style.backgroundColor = "#F37D16" ;
								break controlloDate; 
							}
						  break controlloDate; 
						}  		
						// PATENTE DI GUIDA
					  case 3: 
					  {
						  dataAppoggio = new Date(calcoloData(id_DataDiRilascio,'3'));
						  
						  dataAppoggio = new Date(dataAppoggio.getFullYear(), dataAppoggio.getMonth(),
									       dataAppoggio.getDate());
						   
							if (!ControlloDate(dataScadenza,dataAppoggio)) 
							{
								messaggio = "Data di scadenza inserita per il tipo documento Errata";
								formInput.id_DataDiScadenza.style.backgroundColor = "#F37D16" ;
								break controlloDate; 
							}
						  break controlloDate; 
						}  		
						// PASSAPORTO ITALIANO
					  case 4: 
					  {
						  dataAppoggio = new Date(calcoloData(id_DataDiRilascio,'5'));
						  
						  dataAppoggio = new Date(dataAppoggio.getFullYear(), dataAppoggio.getMonth(),
									       dataAppoggio.getDate());
						   
							if (!ControlloDate(dataScadenza,dataAppoggio)) 
							{
								messaggio = "Data di scadenza inserita per il tipo documento Errata";
								formInput.id_DataDiScadenza.style.backgroundColor = "#F37D16" ;
								break controlloDate; 
							}
						  break controlloDate; 
						}  		
						// PASSAPORTO ESTERO
					  case 5: 
					  {
						  dataAppoggio = new Date(calcoloData(id_DataDiRilascio,'1'));
						  
						  dataAppoggio = new Date(dataAppoggio.getFullYear(), dataAppoggio.getMonth(),
									       dataAppoggio.getDate());
						   
							if (!ControlloDate(dataScadenza,dataAppoggio)) 
							{
								messaggio = "Data di scadenza inserita per il tipo documento Errata";
								formInput.id_DataDiScadenza.style.backgroundColor = "#F37D16" ;
								break controlloDate; 
							}
						  break controlloDate; 
						}  		
					  default: 
					  {
					  	var id_DataDiRilascio = new Date(id_DataDiRilascio);
					  	var id_DataDiScadenza = new Date(id_DataDiScadenza);
					  	
						  var dataAppoggio = new Date(id_DataDiRilascio.getFullYear(), id_DataDiRilascio.getMonth(), id_DataDiRilascio.getDate());
						  var dataScadenza = new Date(id_DataDiScadenza.getFullYear(), id_DataDiScadenza.getMonth(), id_DataDiScadenza.getDate());
						  
						  
						  if (ControlloDateUguali(dataScadenza,dataAppoggio,dataScadenza,dataAppoggio))
						  {
							  messaggio = "Data di scadenza inserita errata";
	 				  	  formInput.id_DataDiScadenza.style.backgroundColor = "#F37D16" ;
							  break controlloDate; 
							}
						  
						  break controlloDate; 
						}	
					}
					
		   }	
		   
		   
		   //alert ("id_18anni = " + id_18anni);
		   
		   if (messaggio == "")
		   {
	  	 	 if (id_18anni == false)
			   {
				    messaggio = "Non hai selezionato : Ho piu' di 18 anni";
				    break controllo; 
				 }
				 else
				 {
			      var anni = controlloDataNascita(id_dataDiNascita);
			      if (parseFloat(anni) < 18)
	 		   	  {	
					    messaggio = "Non sei maggiorenne";
					    break controllo; 
					  }  
					}
			 }
		   
  	 	 if (id_consensoprivacy == false)
		   {
			    messaggio = "Consenso privacy non selezionato";
			    break controllo; 
			 }

		}		
	}	
	
	
   //messaggio:
	 if (messaggio != "")
	 {
	 	//alert ( messaggio );
	 	
	 	Dialog.alert(messaggio, {width:350, height:110,title:'Attenzione'});
	 	
	 	campiObbligatori = "si";
	 }	

	 return campiObbligatori;
}


function controlloDataNascita(dataNascita)
{
	var one_day=1000*60*60*24;
	var one_month=1000*60*60*24*30;
	var one_year=1000*60*60*24*30*12;

	yr  = dataNascita.substr(6,4);
	mon = dataNascita.substr(3,2);
	day = dataNascita.substr(0,2);
	
	//alert ("anno = " + yr);
	//alert ("mese = " + mon);
	//alert ("giorno = " + day);
	
	today=new Date();
	var pastdate=new Date(yr, mon-1, day);
	var countunit="anni";
	var decimals=0;
	var rounding="rounddown";
	
	finalunit=(countunit=="giorni")? one_day : (countunit=="mesi")? one_month : one_year;
	decimals=(decimals<=0)? 1 : decimals*10;

	anni = Math.floor((today.getTime()-pastdate.getTime())/(finalunit)*decimals)/decimals+" "+countunit;
	
	// alert ("nella funzione Anni = " + anni);
	
	return anni;

}





function sbiancaCampo (formInput,campo)
{
	
	if ( campo == "id_comuneDiNascita")
	{
		formInput.id_comuneDiNascita.style.backgroundColor = "" ;
	}	
	else if ( campo == "id_comuneResidenza")
	{
		formInput.id_comuneResidenza.style.backgroundColor = "" ;
	}	
	else if ( campo == "id_comuneDomicilio")
	{
		formInput.id_comuneDomicilio.style.backgroundColor = "" ;
	}	
	else if ( campo == "id_entiRilascio")
	{
		formInput.id_entiRilascio.style.backgroundColor = "" ;
	}	
	else if ( campo == "id_tipoDocumento")
	{
		formInput.id_tipoDocumento.style.backgroundColor = "" ;
	}	
	else if ( campo == "id_provinciaDomicilio")
	{ 
		formInput.id_provinciaDomicilio.style.backgroundColor = "" ;
	}	
	else if ( campo == "id_provinciaNascita")
	{
		formInput.id_provinciaNascita.style.backgroundColor = "" ;
	}	
	else if ( campo == "id_provinciaResidenza")
	{
		formInput.id_provinciaResidenza.style.backgroundColor = "" ;
	}	
	else if ( campo == "id_dataDiNascita")
	{
		formInput.id_dataDiNascita.style.backgroundColor = "" ;		
	}	
	else if ( campo == "id_DataDiRilascio")
	{
		formInput.id_DataDiRilascio.style.backgroundColor = "" ;		
	}	
	else if ( campo == "id_DataDiScadenza")
	{
		formInput.id_DataDiScadenza.style.backgroundColor = "" ;		
	}	
	else
	{	
		if (formInput.value != "")
		{
			formInput.style.backgroundColor = "" ;
		}	
	}		
	
}	

function aggiungizero(numero)	
{
	if (numero >= 0 && numero <= 9)
	{
 		ritorno = '0' + numero;
 	}	
 	else
	{
		ritorno = numero;
	}		
	return ritorno;
}	
	
function datanumero(datastr)	
{
  while (datastr.search("/") != -1)
  {
  	datastr = datastr.replace("/","");
  }	
  
  return datastr;
  
}  

function ControlloDateUguali(dataSC, dataAP, dataScadenzaMeno1, dataAppoggioMeno1)
{
	
	//alert ("VERSIONE 7 NEW");
	
	var dataScadenza = new Date();
  var dataAppoggio = new Date();
  var dataSCMenoUnGiorno = new Date();
  var dataAPMenoUnGiorno = new Date();  
  var ritorno = false;
  
  dataScadenza.setMonth(dataSC.getMonth());
  dataScadenza.setFullYear(dataSC.getFullYear());
	dataScadenza.setDate(dataSC.getDate());  
	
	dataAppoggio.setMonth(dataAP.getMonth());
  dataAppoggio.setFullYear(dataAP.getFullYear());
  dataAppoggio.setDate(dataAP.getDate());
  
  dataSCMenoUnGiorno.setMonth(dataScadenzaMeno1.getMonth());
  dataSCMenoUnGiorno.setFullYear(dataScadenzaMeno1.getFullYear());
	dataSCMenoUnGiorno.setDate(dataScadenzaMeno1.getDate());
  
  dataAPMenoUnGiorno.setMonth(dataAppoggioMeno1.getMonth());
  dataAPMenoUnGiorno.setFullYear(dataAppoggioMeno1.getFullYear());
	dataAPMenoUnGiorno.setDate(dataAppoggioMeno1.getDate());

  
  /*alert ("dataScadenza = " + dataScadenza);
	alert ("dataAppoggio = " + dataAppoggio);
	alert ("dataSCMenoUnGiorno = " + dataSCMenoUnGiorno);
	alert ("dataAPMenoUnGiorno = " + dataAPMenoUnGiorno);*/
	

	var mm1 = aggiungizero(dataScadenza.getMonth());
	var mm2 = aggiungizero(dataAppoggio.getMonth());
	var mmSCMeno1 = aggiungizero(dataSCMenoUnGiorno.getMonth());
	var mmAPMeno1 = aggiungizero(dataAPMenoUnGiorno.getMonth());	
	var aa1 = dataScadenza.getFullYear();
	var aa2 = dataAppoggio.getFullYear();
	var aaSCMeno1 = dataSCMenoUnGiorno.getFullYear();
	var aaAPMeno1 = dataAPMenoUnGiorno.getFullYear();	
	var gg1 = aggiungizero(dataScadenza.getDate());
	var gg2 = aggiungizero(dataAppoggio.getDate());
	var ggSCMeno1 = aggiungizero(dataSCMenoUnGiorno.getDate());
	var ggAPMeno1 = aggiungizero(dataAPMenoUnGiorno.getDate());	
	
	
  var dataScadenzastr = aa1 + '/' + mm1 + '/' + gg1;
  var dataAppoggiostr = aa2 + '/' + mm2 + '/' + gg2;
  var dataSCMenoUnGiornostr = aaSCMeno1 + '/' + mmSCMeno1 + '/' + ggSCMeno1;
	var dataAPMenoUnGiornostr = aaAPMeno1 + '/' + mmAPMeno1 + '/' + ggAPMeno1;  
  
  
  /*alert ("dataScadenzastr = " + datanumero(dataScadenzastr));	
  alert ("dataAppoggiostr = " + datanumero(dataAppoggiostr));	
  alert ("dataSCMenoUnGiornostr = " + datanumero(dataSCMenoUnGiornostr));	
	alert ("dataAPMenoUnGiornostr = " + datanumero(dataAPMenoUnGiornostr));	  */
	
	if ((dataScadenzastr == dataAppoggiostr) && (dataSCMenoUnGiornostr == dataAPMenoUnGiornostr)
			||(dataScadenzastr == dataAPMenoUnGiornostr ))
	{
		ritorno =  true;
	}	
	else 
	{
		ritorno = false;
	}		
	
	return ritorno;
}	

/*
function ControlloDateUguali(dataScadenza, dataAppoggio)
{
	
	alert ("VERSIONE 7");
	
	var data1 = new Date();
  var data2 = new Date()

	data1.setDate(dataScadenza.getDate());
  data1.setMonth(dataScadenza.getMonth());
  data1.setFullYear(dataScadenza.getFullYear());
	
	
	data2.setFullYear(dataAppoggio.getFullYear());		
  data2.setMonth(dataAppoggio.getMonth());
  data2.setDate(dataAppoggio.getDate());
  
  alert ("data1 = " + data1);
	alert ("data2 = " + data2);
	
	
	var mm1 = data1.getMonth();
	var mm2 = data2.getMonth();
	var aa1 = data1.getFullYear();
	var aa2 = data2.getFullYear();
	var gg1 = data1.getDate();
	var gg2 = data2.getDate();
	data2.setDate(data2.getDate()+1);
	var gg2piu = data2.getDate();

	alert ("gg1 = " + gg1);
	alert ("gg2 = " + gg2);
	alert ("gg2piu = " + gg2piu);
	alert ("mm1 = " + mm1);
	alert ("mm2 = " + mm2);
	alert ("aa1 = " + aa1);
	alert ("aa2 = " + aa2);
	
	//if ((gg1 == 1 || gg1 == 31) && (mm1 == 0 || mm1 == 11))
	if ((gg1 == 1 || gg1 == 31) && (mm1 == 0 || mm1 == 11))
	{
		
		data2.setMonth(data2.getMonth());	
		var mm2piu = data2.getMonth();
		data2.setFullYear(data2.getFullYear());
		var aa2piu = data2.getFullYear();

		alert ("CASO 1 V.0.0.2");
		alert ("mm2piu = " + mm2piu);
		alert ("aa2piu = " + aa2piu);

		if (   ((gg1 == gg2) || (gg1 == gg2piu) ) && 
		    	 ((mm1 == mm2) || (mm1 == mm2piu) ) && 
			 		 ((aa1 == aa2) || (aa1 == aa2piu)  )
			 )
		{
			return true;
		}
	}	
	else
	{	
		alert ("CASO 2 v0.0.2");
		
  	if (   ((gg1 == gg2) || (gg1 == gg2piu))  && 
				   (mm1 == mm2) && 
					  (aa1 == aa2 )
					 )
		{
			return true;
		}
	}			
	
	return false;
	
}	*/

function ControlloDate(data1, data2)
{
	
	//alert ("anno 1 = " + data1.getFullYear());	
	//alert ("anno 2 = " + data2.getFullYear());		
	
	var diff = data1.getFullYear() - data2.getFullYear();
	
	if (diff == 0)
	{
		if ( (
			  (data1.getDate()  == data2.getDate()) || (data1.getDate() > data2.getDate())
			 ) &&
			 (
			  (data1.getMonth()  == data2.getMonth()) || (data1.getMonth() > data2.getMonth())
			 ) &&
			 (
			  (data1.getFullYear() == data2.getFullYear()) || (data1.getFullYear() > data2.getFullYear())
			 )
			)
		{
			return true;
		}
	}
	else if (diff > 0)
	{
		return true;
	}
	return false;
}