

function validateForm(form)
	{

		if (verificaCampi(form))
			form.submit();
		
	}





	function verificaCampi(form)
	{

	  if (CDOEMAIL.agenzia.value=='')
		 {
		   alert('Attenzione: il campo il campo Nome è obbligatorio');
		   return false;
		 }



	  /*if (CDOEMAIL.cognome.value=='')
		 {
		   alert('Attenzione: il campo il campo Cognome è obbligatorio');
		   return false;
		 }
		 

		 
	if (CDOEMAIL.userday1.value=='day1')
		 {
		   alert('Attenzione: il campo giorno di nascita è obbligatorio');
		   return false;
		  }
	if (CDOEMAIL.usermonth1.value=='month1')
		 {
		   alert('Attenzione: il campo Mese di Nascita è obbligatorio');
		   return false;
		 }
	if (CDOEMAIL.useryear1.value=='')
		 {
		   alert('Attenzione: il campo Anno di Nascita è obbligatorio');
		   return false;
		 }
		 
	if(!ctrData(CDOEMAIL.userday1.value,CDOEMAIL.usermonth1.value,
					   CDOEMAIL.useryear1.value,'di nascita'))
		{
			return false;
		}
		
	if (document.CDOEMAIL.luogo.value=='')
		 {
		   alert('Attenzione: il campo Città di Nascita è obbligatorio');
		   return false;
		 }
	if (document.CDOEMAIL.prov1.value=='noProv1')
		 {
		   alert('Attenzione: il campo Provincia di nascita è obbligatorio');
		   return false;
		 } 
	if (document.CDOEMAIL.indirizzo.value=='')
		 {
		   alert('Attenzione: il campo Indirizzo è obbligatorio');
		   return false;
		 } 
	if (document.CDOEMAIL.nciv.value=='')
		 {
		   alert('Attenzione: il campo Numero Civico è obbligatorio');
		   return false;
		 } 


	if (document.CDOEMAIL.cap.value=='')
		 {
		   alert('Attenzione: il campo CAP è obbligatorio');
		   return false;

		 }

	  ret = cap();

	  if (!ret)
		 return false;

	if (document.CDOEMAIL.citta.value=='')
		 {
		   alert('Attenzione: il campo Città di Residenza è obbligatorio');
		   return false;

		 }
		 

	if (document.CDOEMAIL.prov2.value=='noProv2')
		 {
		   alert('Attenzione: il campo Provincia di Residenza è obbligatorio');
		   return false;
		 }

	 if (document.CDOEMAIL.telefono.value=='')
		 { alert('Attenzione: il campo Telefono è obbligatorio');
		   return false;
		 }
	

	if (document.CDOEMAIL.codfisc.value=='')
		 {
			alert('Attenzione: il campo Codice Fiscale è obbligatorio');
			return false;
		 }

	

	if (! verificaCF_Piva(document.CDOEMAIL.codfisc.value,'cf'))
		 return false;




	if (!document.CDOEMAIL.piva.value=='')
		 {
			
			if (! verificaCF_Piva(document.CDOEMAIL.piva.value,'pi'))
		 	return false;
		
		 }


	//if (document.CDOEMAIL.email.value=='')
		// {
			//alert('richiesto il Suo attuale indirizzo di posta elettronica (E-MAIL)');
//			return false;
	//	 }

	//if (CDOEMAIL.email.value.indexOf('@', 0) == -1)
	//	{
	//		alert("Indirizzo di e-mail non valido!");
	//		return false;
	//	}


	if (CDOEMAIL.userday2.value=='day2')
		 {
		   alert('Attenzione: il campo giorno di inizio è obbligatorio');
		   return false;
		   }
	if (CDOEMAIL.usermonth2.value=='month2')
		 {
		   alert('Attenzione: il campo il campo Mese di inizio è obbligatorio');
		   return false;
		 }
	if (CDOEMAIL.useryear2.value=='')
		 {
		   alert('Attenzione: il campo il campo Anno di inizio è obbligatorio');
		   return false;
		 }
	*/

	
	 return true;

	}





function numeri()
	{

		var tasto = event.keyCode;

		if(tasto < 48 || tasto > 57)

			{
			  
			  alert("Inserire solo caratteri numerici!");
			  return (false);
			}
	}






	function ctrData(gg,mm,aa,message)
	{

			mesi = new Array(12);
			mesi[0]= 31;
			mesi[1]= 28;
			mesi[2]= 31;
			mesi[3]= 30;
			mesi[4]= 31;
			mesi[5]= 30;
			mesi[6]= 31;
			mesi[7]= 31;
			mesi[8]= 30;
			mesi[9]= 31;
			mesi[10]= 30;
			mesi[11]= 31;

			anno = parseInt(aa);
		
		
			if ( (anno < 1900) || (anno > 2000))
			{

			  alert ('L\'anno inserito della data '+ message +' non può essere inferiore al  \'1900\' o superiore al 2000!');
			  return false;


			}


			if ((mm) == '2'  && (parseInt(gg) > 28))
			{

				if (gg != '29')
				{
					alert ('Il giorno selezionato della data '+ message +' non è corretto per il mese di febbraio');
					return false;
				}
				else
				{
					if ( parseInt(aa) % 4 != 0 )
					{
						alert ('L\'anno inserito della data '+ message +' non è corretto per il mese di febbraio');
						return false;
					}
				}
			}

			if ( (parseInt(gg)) > (mesi[parseInt(mm)-1]) && (mm != '2'))
			{

				alert ('Il giorno selezionato della data '+ message +' non è corretto per il mese scelto');
				return false;

			}
			
			
			
			
			
			

		return true;
	}






	function cap()
	{

	 tcap = CDOEMAIL.cap.value;

	 if ( tcap.length != 5)
		{
		alert("Il Codice d'Avviamento Postale deve essere di 5 cifre!");

		return false;
		}
	 return true;
	}




function verificaCF_Piva(cod,message)
{
	
	if( cod.length == 16 )
		err = ControllaCF(cod);

	else if( cod.length == 11 )
		err = ControllaPIVA(cod);

	else
		{
			if (message == 'cf')

			err = "Il codice introdotto non è valido:\n\n" +
			"  - un codice fiscale deve essere lungo 16 caratteri;\n\n";
			
			

			else if (message == 'pi')
			
			err = "Il codice introdotto non è valido:\n\n" +
				"  - una partita IVA deve essere lunga 11 caratteri.\n";


			
		}

	
	if( err > '' )
		{
			alert("VALORE ERRATO\n\n" + err + "\nCorreggi e riprova!");
			return false;
		}
	else
		{

			return true;
		}

}


function ControllaCF(cf)
{

	var validi, i, s, set1, set2, setpari, setdisp;
	
	cf = cf.toUpperCase();
	if( cf.length != 16 )
		return "La lunghezza del codice fiscale non è\n"
		+"corretta: il codice fiscale dovrebbe essere lungo\n"
		+"esattamente 16 caratteri.\n";
	validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	for( i = 0; i < 16; i++ ){
		if( validi.indexOf( cf.charAt(i) ) == -1 )
			return "Il codice fiscale contiene un carattere non valido `" +
				cf.charAt(i) +
				"'.\nI caratteri validi sono le lettere e le cifre.\n";
	}
	set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
	s = 0;
	for( i = 1; i <= 13; i += 2 )
		s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	for( i = 0; i <= 14; i += 2 )
		s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) )
		return "Il codice fiscale non è corretto:\n"+
			"il codice di controllo non corrisponde.\n";
	return "";
}



function ControllaPIVA(pi)
{
	

	if( pi.length != 11 )
		return "La lunghezza della partita IVA non è\n" +
			"corretta: la partita IVA dovrebbe essere lunga\n" +
			"esattamente 11 caratteri.\n";
	validi = "0123456789";
	for( i = 0; i < 11; i++ ){
		if( validi.indexOf( pi.charAt(i) ) == -1 )
			return "La partita IVA contiene un carattere non valido `" +
				pi.charAt(i) + "'.\nI caratteri validi sono le cifre.\n";
	}
	s = 0;
	for( i = 0; i <= 9; i += 2 )
		s += pi.charCodeAt(i) - '0'.charCodeAt(0);
	for( i = 1; i <= 9; i += 2 ){
		c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
		if( c > 9 )  c = c - 9;
		s += c;
	}
	if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) )
		return "La partita IVA non è valida:\n" +
			"il codice di controllo non corrisponde.\n";
	return '';
}


