
	var serv = null;

	
	//Controllo la presenza dell'oggetto, per verificare quale browser sta utilizzando l'utente
	if (XMLHttpRequest) 
	{
		serv = new XMLHttpRequest();
	} 
	else if (ActiveXObject) 
	{
		serv = new ActiveXObject('Microsoft.XMLHTTP');
	}


	/* FUNZIONE PER CONTROLLARE SE UNA VARIABILE E' UN ARRAY */
	function is_array(obj) 
	{
		return (obj.constructor.toString().indexOf("Array") == -1)
	}

	
	//Funzione per recuperare i dati leggendoli dal database
	function get_provincie(eleTarg, id_regione)
	{
		if (serv)
		{
			var target = document.getElementById(eleTarg);
			
			serv.open("POST", "get_dati.php?id_regione=" + id_regione);			
			serv.onreadystatechange = function() {
				if (serv.readyState == 4 && serv.status == 200) {
					set_provincie(target, serv.responseXML);
				}
			}
			
			serv.send(null);
		}	
	}
	

	//Funzione per recuperare i dati leggendoli dal database
	function get_comuni(eleTarg, id_provincia)
	{
		if (serv)
		{
			var target = document.getElementById(eleTarg);
			
			serv.open("POST", "get_dati.php?id_provincia=" + id_provincia);
			serv.onreadystatechange = function() {
				if (serv.readyState == 4 && serv.status == 200) {
					set_citta(target, serv.responseXML);
				}
			}
			
			serv.send(null);
		}
	}

	
	function set_provincie(target, xmlDoc) 
	{
		var opzione = document.createElement('option');
		var num = xmlDoc.documentElement.childNodes.length;
		var elem = xmlDoc.documentElement;
		var i;

		delete_select_option(target);
		
		var opzione = new Option("Seleziona la provincia del cliente", "");
		target.options.add(opzione, -1);
		
		for (i = 0; i < num; i++) 
		{
			var dati = elem.getElementsByTagName("nome")[i].childNodes[0].nodeValue;			
			var array_dati = dati.split(':');			
			
			var opzione = new Option(array_dati[0], array_dati[1]);

			target.options.add(opzione, -1);
		}
	}

	
	function set_citta(target, xmlDoc) 
	{
		var opzione = document.createElement('option');
		var num = xmlDoc.documentElement.childNodes.length;
		var elem = xmlDoc.documentElement;
		var i;

		delete_select_option(target);
		
		var opzione = new Option("Seleziona il comune del cliente", "");
		target.options.add(opzione, -1);
		
		for (i = 0; i < num; i++) 
		{
			var testo = elem.getElementsByTagName("nome")[i].childNodes[0].nodeValue;						
			var opzione = new Option(testo, testo);

			target.options.add(opzione, -1);
		}
	}

	
	function delete_select_option(target) 
	{
		var i;
		
		for (i=target.length-1; i>=0; i--) 
			target.remove(i);
	}
	
	
	

	function validate_mail_de()
	{
		//Mi carico l'espressione regolare
		var espressione = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;
		
		//Recupero il valore del campo inserito dal cliente
		email = document.frm_newsletter.email.value;
		
		
		//Controllo se la mail è valorizzata
		if ((email != '') && (email != 'mail@example.com'))
		{
			//Controllo se la mail è corretta
			if (! espressione.test(email))
			{
				alert("FEHLER, geben Sie bitte eine gültige E-Mail ein");				
				return false;
			}
			else
				return true;
		}
		else
			return false;
	}	
	
	
	function validate_mail_en()
	{
		//Mi carico l'espressione regolare
		var espressione = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;
		
		//Recupero il valore del campo inserito dal cliente
		email = document.frm_newsletter.email.value;
		
		
		//Controllo se la mail è valorizzata
		if ((email != '') && (email != 'mail@example.com'))
		{
			//Controllo se la mail è corretta
			if (! espressione.test(email))
			{
				alert("ERRORS, Enter a valid email address");				
				return false;
			}
			else
				return true;
		}
		else
			return false;
	}
	
	
	function validate_mail_it()
	{
		//Mi carico l'espressione regolare
		var espressione = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;
		
		//Recupero il valore del campo inserito dal cliente
		email = document.frm_newsletter.email.value;
		
		
		//Controllo se la mail è valorizzata
		if ((email != '') && (email != 'mail@example.com'))
		{
			//Controllo se la mail è corretta
			if (! espressione.test(email))
			{
				alert("ERRORE, Inserire una e-mail valida");				
				return false;
			}
			else
				return true;
		}
		else
			return false;
	}	
	

	function contatti_submit_it()
	{
		errore = '';
		count = 0;


		/*
		//Ciclo sui radio dei trattamenti
		for (i=1; i<4; i++) 
		{ 
			radio = document.getElementById('id_trattamenti' + i);

			if (radio.checked == true)
				count++;
		}

		
		if (count <= 0) 
			errore = errore + "ERRORE, Valorizzare il campo TRATTAMENTI \n";
		*/
		
		//Recupero il valore del campo "NUMERO ADULTI"
		if (document.frm_modifica.num_adulti.value == '')
			errore = errore + "ERRORE, Valorizzare il campo ADULTI \n";


		//Recupero il valore del campo "NUMERO BAMBINI"
		if (document.frm_modifica.num_bambini.value != '0')
		{
			y = 0;
			
			//Ciclo sui combo dell'età dei bambini
			for (i=1; i <= document.frm_modifica.num_bambini.value; i++)
			{
				yykk_select = document.getElementById('eta_bimbi' + i);
				
				if (yykk_select.value == '')
					y++;
			}
			
			if (y > 0)
				errore = errore + "ERRORE, Valorizzare tutti i campi ETA' DEI BAMBINI \n";
		}

		
		//Recupero il valore del campo "ARRIVO"
		if (document.frm_modifica.da.value == '')
			errore = errore + "ERRORE, Valorizzare il campo ARRIVO \n";


		//Recupero il valore del campo "PARTENZA"
		if (document.frm_modifica.a.value == '')
			errore = errore + "ERRORE, Valorizzare il campo PARTENZA \n";
	
	
		//Recupero il valore del campo "NOME"
		if (document.frm_modifica.nome.value == '')
			errore = errore + "ERRORE, Valorizzare il campo NOME \n";
	

		//Recupero il valore del campo "COGNOME"
		if (document.frm_modifica.cognome.value == '')
			errore = errore + "ERRORE, Valorizzare il campo COGNOME \n";


		//Recupero il valore del campo "E-MAIL"
		if (document.frm_modifica.email.value == '')
			errore = errore + "ERRORE, Valorizzare il campo E-MAIL \n";
		else
		{
			//Mi carico l'espressione regolare
			var espressione = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;

			//Controllo se la mail è corretta
			if (! espressione.test(document.frm_modifica.email.value))
				errore = errore + "ERRORE, Inserire una e-mail valida \n";
		}


		
		//Controllo se ci sono stati degli errori
		if (errore == '')
		{
			if (document.frm_modifica.Consenso_Trattamento_Dati.checked == true)
				return true;
			else
				return false;
		}
		else
		{
			alert(errore);		
			
			return false;
		}
	}


	function contatti_invia_it()
	{
		errore = '';
		count = 0;


	
		//Recupero il valore del campo "NUMERO ADULTI"
		if (document.frm_modifica.num_adulti.value == '')
			errore = errore + "ERRORE, Valorizzare il campo ADULTI \n";


		//Recupero il valore del campo "NUMERO BAMBINI"
		if (document.frm_modifica.num_bambini.value != '0')
		{
			y = 0;
			
			//Ciclo sui combo dell'età dei bambini
			for (i=1; i <= document.frm_modifica.num_bambini.value; i++)
			{
				yykk_select = document.getElementById('eta_bimbi' + i);
				
				if (yykk_select.value == '')
					y++;
			}
			
			if (y > 0)
				errore = errore + "ERRORE, Valorizzare tutti i campi ETA' DEI BAMBINI \n";
		}

		
		//Recupero il valore del campo "ARRIVO"
		if (document.frm_modifica.da.value == '')
			errore = errore + "ERRORE, Valorizzare il campo ARRIVO \n";


		//Recupero il valore del campo "PARTENZA"
		if (document.frm_modifica.a.value == '')
			errore = errore + "ERRORE, Valorizzare il campo PARTENZA \n";
	
		
		//Controllo se ci sono stati degli errori
		if (errore == '')
			return true;
		else
		{
			alert(errore);
			
			return false;
		}
	}
	
	
	function contatti_submit_de()
	{
		errore = '';
		count = 0;

		
		//Ciclo sui radio dei trattamenti
		for (i=1; i<4; i++) 
		{ 
			radio = document.getElementById('id_trattamenti' + i);

			if (radio.checked == true)
				count++;
		}

		
		if (count <= 0) 
			errore = errore + "ERRORE, Valorizzare il campo TRATTAMENTI \n";
		
		
		//Recupero il valore del campo "NUMERO ADULTI"
		if (document.frm_modifica.num_adulti.value == '')
			errore = errore + "ERRORE, Valorizzare il campo ADULTI \n";


		//Recupero il valore del campo "NUMERO BAMBINI"
		if (document.frm_modifica.num_bambini.value != '0')
		{
			y = 0;
			
			//Ciclo sui combo dell'età dei bambini
			for (i=1; i <= document.frm_modifica.num_bambini.value; i++)
			{
				yykk_select = document.getElementById('eta_bimbi' + i);
				
				if (yykk_select.value == '')
					y++;
			}
			
			if (y > 0)
				errore = errore + "ERRORE, Valorizzare tutti i campi ETA' DEI BAMBINI \n";
		}

		
		//Recupero il valore del campo "ARRIVO"
		if (document.frm_modifica.da.value == '')
			errore = errore + "ERRORE, Valorizzare il campo ARRIVO \n";


		//Recupero il valore del campo "PARTENZA"
		if (document.frm_modifica.a.value == '')
			errore = errore + "ERRORE, Valorizzare il campo PARTENZA \n";
	
	
		//Recupero il valore del campo "NOME"
		if (document.frm_modifica.nome.value == '')
			errore = errore + "ERRORE, Valorizzare il campo NOME \n";
	

		//Recupero il valore del campo "COGNOME"
		if (document.frm_modifica.cognome.value == '')
			errore = errore + "ERRORE, Valorizzare il campo COGNOME \n";


		//Recupero il valore del campo "E-MAIL"
		if (document.frm_modifica.email.value == '')
			errore = errore + "ERRORE, Valorizzare il campo E-MAIL \n";
		else
		{
			//Mi carico l'espressione regolare
			var espressione = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;

			//Controllo se la mail è corretta
			if (! espressione.test(document.frm_modifica.email.value))
				errore = errore + "ERRORE, Inserire una e-mail valida \n";
		}


		//Controllo se ci sono stati degli errori
		if (errore == '')
			if (document.frm_modifica.Consenso_Trattamento_Dati.checked == true)
				return true;
			else
				return false;
		else
		{
			alert(errore);		
			
			return false;
		}
	}
	
	
	function contatti_invia_de()
	{
		errore = '';
		count = 0;


	
		//Recupero il valore del campo "NUMERO ADULTI"
		if (document.frm_modifica.num_adulti.value == '')
			errore = errore + "ERRORE, Valorizzare il campo ADULTI \n";


		//Recupero il valore del campo "NUMERO BAMBINI"
		if (document.frm_modifica.num_bambini.value != '0')
		{
			y = 0;
			
			//Ciclo sui combo dell'età dei bambini
			for (i=1; i <= document.frm_modifica.num_bambini.value; i++)
			{
				yykk_select = document.getElementById('eta_bimbi' + i);
				
				if (yykk_select.value == '')
					y++;
			}
			
			if (y > 0)
				errore = errore + "ERRORE, Valorizzare tutti i campi ETA' DEI BAMBINI \n";
		}

		
		//Recupero il valore del campo "ARRIVO"
		if (document.frm_modifica.da.value == '')
			errore = errore + "ERRORE, Valorizzare il campo ARRIVO \n";


		//Recupero il valore del campo "PARTENZA"
		if (document.frm_modifica.a.value == '')
			errore = errore + "ERRORE, Valorizzare il campo PARTENZA \n";
	
		
		//Controllo se ci sono stati degli errori
		if (errore == '')
			return true;
		else
		{
			alert(errore);
			
			return false;
		}
	}
	
	
	function contatti_submit_fr()
	{
		errore = '';
		count = 0;

		
		//Ciclo sui radio dei trattamenti
		for (i=1; i<4; i++) 
		{ 
			radio = document.getElementById('id_trattamenti' + i);

			if (radio.checked == true)
				count++;
		}

		
		if (count <= 0) 
			errore = errore + "ERRORE, Valorizzare il campo TRATTAMENTI \n";
		
		
		//Recupero il valore del campo "NUMERO ADULTI"
		if (document.frm_modifica.num_adulti.value == '')
			errore = errore + "ERRORE, Valorizzare il campo ADULTI \n";


		//Recupero il valore del campo "NUMERO BAMBINI"
		if (document.frm_modifica.num_bambini.value != '0')
		{
			y = 0;
			
			//Ciclo sui combo dell'età dei bambini
			for (i=1; i <= document.frm_modifica.num_bambini.value; i++)
			{
				yykk_select = document.getElementById('eta_bimbi' + i);
				
				if (yykk_select.value == '')
					y++;
			}
			
			if (y > 0)
				errore = errore + "ERRORE, Valorizzare tutti i campi ETA' DEI BAMBINI \n";
		}

		
		//Recupero il valore del campo "ARRIVO"
		if (document.frm_modifica.da.value == '')
			errore = errore + "ERRORE, Valorizzare il campo ARRIVO \n";


		//Recupero il valore del campo "PARTENZA"
		if (document.frm_modifica.a.value == '')
			errore = errore + "ERRORE, Valorizzare il campo PARTENZA \n";
	
	
		//Recupero il valore del campo "NOME"
		if (document.frm_modifica.nome.value == '')
			errore = errore + "ERRORE, Valorizzare il campo NOME \n";
	

		//Recupero il valore del campo "COGNOME"
		if (document.frm_modifica.cognome.value == '')
			errore = errore + "ERRORE, Valorizzare il campo COGNOME \n";


		//Recupero il valore del campo "E-MAIL"
		if (document.frm_modifica.email.value == '')
			errore = errore + "ERRORE, Valorizzare il campo E-MAIL \n";
		else
		{
			//Mi carico l'espressione regolare
			var espressione = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;

			//Controllo se la mail è corretta
			if (! espressione.test(document.frm_modifica.email.value))
				errore = errore + "ERRORE, Inserire una e-mail valida \n";
		}


		//Controllo se ci sono stati degli errori
		if (errore == '')
			if (document.frm_modifica.Consenso_Trattamento_Dati.checked == true)
				return true;
			else
				return false;
		else
		{
			alert(errore);		
			
			return false;
		}
	}
	
	
	function contatti_invia_fr()
	{
		errore = '';
		count = 0;


	
		//Recupero il valore del campo "NUMERO ADULTI"
		if (document.frm_modifica.num_adulti.value == '')
			errore = errore + "ERRORE, Valorizzare il campo ADULTI \n";


		//Recupero il valore del campo "NUMERO BAMBINI"
		if (document.frm_modifica.num_bambini.value != '0')
		{
			y = 0;
			
			//Ciclo sui combo dell'età dei bambini
			for (i=1; i <= document.frm_modifica.num_bambini.value; i++)
			{
				yykk_select = document.getElementById('eta_bimbi' + i);
				
				if (yykk_select.value == '')
					y++;
			}
			
			if (y > 0)
				errore = errore + "ERRORE, Valorizzare tutti i campi ETA' DEI BAMBINI \n";
		}

		
		//Recupero il valore del campo "ARRIVO"
		if (document.frm_modifica.da.value == '')
			errore = errore + "ERRORE, Valorizzare il campo ARRIVO \n";


		//Recupero il valore del campo "PARTENZA"
		if (document.frm_modifica.a.value == '')
			errore = errore + "ERRORE, Valorizzare il campo PARTENZA \n";
	
		
		//Controllo se ci sono stati degli errori
		if (errore == '')
			return true;
		else
		{
			alert(errore);
			
			return false;
		}
	}	
	
	
	function contatti_submit_en()
	{
		errore = '';
		count = 0;

		
		//Ciclo sui radio dei trattamenti
		for (i=1; i<4; i++) 
		{ 
			radio = document.getElementById('id_trattamenti' + i);

			if (radio.checked == true)
				count++;
		}

		
		if (count <= 0) 
			errore = errore + "ERRORE, Valorizzare il campo TRATTAMENTI \n";
		
		
		//Recupero il valore del campo "NUMERO ADULTI"
		if (document.frm_modifica.num_adulti.value == '')
			errore = errore + "ERRORE, Valorizzare il campo ADULTI \n";


		//Recupero il valore del campo "NUMERO BAMBINI"
		if (document.frm_modifica.num_bambini.value != '0')
		{
			y = 0;
			
			//Ciclo sui combo dell'età dei bambini
			for (i=1; i <= document.frm_modifica.num_bambini.value; i++)
			{
				yykk_select = document.getElementById('eta_bimbi' + i);
				
				if (yykk_select.value == '')
					y++;
			}
			
			if (y > 0)
				errore = errore + "ERRORE, Valorizzare tutti i campi ETA' DEI BAMBINI \n";
		}

		
		//Recupero il valore del campo "ARRIVO"
		if (document.frm_modifica.da.value == '')
			errore = errore + "ERRORE, Valorizzare il campo ARRIVO \n";


		//Recupero il valore del campo "PARTENZA"
		if (document.frm_modifica.a.value == '')
			errore = errore + "ERRORE, Valorizzare il campo PARTENZA \n";
	
	
		//Recupero il valore del campo "NOME"
		if (document.frm_modifica.nome.value == '')
			errore = errore + "ERRORE, Valorizzare il campo NOME \n";
	

		//Recupero il valore del campo "COGNOME"
		if (document.frm_modifica.cognome.value == '')
			errore = errore + "ERRORE, Valorizzare il campo COGNOME \n";


		//Recupero il valore del campo "E-MAIL"
		if (document.frm_modifica.email.value == '')
			errore = errore + "ERRORE, Valorizzare il campo E-MAIL \n";
		else
		{
			//Mi carico l'espressione regolare
			var espressione = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;

			//Controllo se la mail è corretta
			if (! espressione.test(document.frm_modifica.email.value))
				errore = errore + "ERRORE, Inserire una e-mail valida \n";
		}


		//Controllo se ci sono stati degli errori
		if (errore == '')
			if (document.frm_modifica.Consenso_Trattamento_Dati.checked == true)
				return true;
			else
				return false;
		else
		{
			alert(errore);		
			
			return false;
		}
	}
	
	
	function contatti_invia_en()
	{
		errore = '';
		count = 0;


	
		//Recupero il valore del campo "NUMERO ADULTI"
		if (document.frm_modifica.num_adulti.value == '')
			errore = errore + "ERRORE, Valorizzare il campo ADULTI \n";


		//Recupero il valore del campo "NUMERO BAMBINI"
		if (document.frm_modifica.num_bambini.value != '0')
		{
			y = 0;
			
			//Ciclo sui combo dell'età dei bambini
			for (i=1; i <= document.frm_modifica.num_bambini.value; i++)
			{
				yykk_select = document.getElementById('eta_bimbi' + i);
				
				if (yykk_select.value == '')
					y++;
			}
			
			if (y > 0)
				errore = errore + "ERRORE, Valorizzare tutti i campi ETA' DEI BAMBINI \n";
		}

		
		//Recupero il valore del campo "ARRIVO"
		if (document.frm_modifica.da.value == '')
			errore = errore + "ERRORE, Valorizzare il campo ARRIVO \n";


		//Recupero il valore del campo "PARTENZA"
		if (document.frm_modifica.a.value == '')
			errore = errore + "ERRORE, Valorizzare il campo PARTENZA \n";
	
		
		//Controllo se ci sono stati degli errori
		if (errore == '')
			return true;
		else
		{
			alert(errore);
			
			return false;
		}
	}		
		
	
	function visualizza_elenco_eta()
	{
		if (document.frm_modifica.num_bambini.value == '')
			num_bambini = 0;
		else
			num_bambini = document.frm_modifica.num_bambini.value;
			
		
		if (num_bambini > 0)
		{
			yykk_div = document.getElementById('eta_bimbi');
			yykk_div.style.display = 'block';
		}
		else
		{
			yykk_div = document.getElementById('eta_bimbi');
			yykk_div.style.display = 'none';		
		}	
	

		for (i = 1; i <= 5; i++)
		{
			yykk_div = document.getElementById('eta_bimbi' + i);
			
			if (i <= num_bambini)
				yykk_div.style.display = 'block';
			else
				yykk_div.style.display = 'none';
		}		
	}	
