		
		// GOOGLE MAPS
		var geocoder, location_to, gDir;	 
		function initialize() {
			geocoder = new GClientGeocoder();
			gDir = new GDirections();
			GEvent.addListener(gDir, "load", function() {
				var drivingDistanceMiles = gDir.getDistance().meters / 1609.344;
				var drivingDistanceKilometers = gDir.getDistance().meters / 1000;
				document.getElementById('gMpasResult').style.display = "block";
				document.getElementById('gMpasResult').innerHTML = 'Lunghezza tragitto da <b>' + location_to.address + '</b> a <b>Via Libertà 11/A, Entratico - Bergamo</b>:<br /><p>' + drivingDistanceKilometers + ' kilometri</p>';
				document.getElementById("dove_distanza").value = Math.floor (drivingDistanceKilometers);
				calcoloCosti();				
			});
		}	 
		function showLocation() {
			geocoder.getLocations(document.getElementById("address").value, function (response) {
				if (!response || response.Status.code != 200)
					alert("Siamo spiacenti, non siamo stati in grado di tracciare le coordinate del tuo indirizzo, sicuro di averlo inserito correttamente?");
				else {
					location_to = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
					gDir.load('from: Viale Libertà, 11, 24060 Entratico BG, Italia to: ' + location_to.address, { "locale": "it_IT" });
				}
			});
		}
		
		// CALCOLO COSTI
		function calcoloCosti(){
			// tipo di consulenza
			var cosa = null;
			if(document.getElementById("cosa_nuovo").checked) cosa = "nuovo progetto";
			if(document.getElementById("cosa_preesistente").checked) cosa = "progetto preesistente";
			//console.log(cosa);

			// dove
			var dove = null;
			if(document.getElementById("dove_telelavoro").checked) dove = "telelavoro";
			if(document.getElementById("dove_cliente").checked) dove = "presso gli uffici del cliente";
			//console.log(dove);
			
			// responsabilità
			var ruolo = null;
			if(document.getElementById("ruolo_senior").checked) ruolo = "senior developer";
			if(document.getElementById("ruolo_analista").checked) ruolo = "analista programmatore";
			if(document.getElementById("ruolo_manager").checked) ruolo = "project manager";
			//console.log(ruolo);

			var costoBase = 25
			var costoOrario = costoBase;

			if (cosa == "nuovo progetto") {
				// su prezzi a forfait è disponibile solo il telelavoro
				if (dove != "telelavoro") {
					alert("Attenzione, per i prezzi a forfait è accettato solo il telelavoro. Per il lavoro presso i vostri uffici selezionare la modalità 'preogetto preesistente / costo orario'");
					$("#lbl_progetto_preesistente").show('highlight', {color : '#93CA3E'}, 2000);
					$("#dove_telelavoro").attr("checked", true);
					calcoloCosti();
					return;						
				}
				
				// aggiungo l'aumento dovuto alle distanze
				var distanza = parseInt($("#dove_distanza").val());
				if (distanza <= 30) 
					costoTrasferta = (costoBase + 2) * 2;
				else if (distanza <= 40)
					costoTrasferta = (costoBase + 5) * 4;
				else if (distanza <= 70)
					costoTrasferta = (costoBase + 10) * 5;

				$("#costo_orario").html("COSTO: <span style='color:red'>forfait a preventivo sull'intero progetto</span>");
				if (distanza > 70) 
					$("#costo_trasferta").html("COSTO GIORNATA DI TRASFERTA: <span style='color:red'>320€</span><br/><span style='color:red;font-size:10px'>costi di trasporto a vs.carico (aereo, treno, etc...)</span>");
				else 
					$("#costo_trasferta").html("COSTO GIORNATA DI TRASFERTA: <span style='color:red'>" + costoTrasferta + "€</span><br/><span style='font-size:10px'>costi di trasporto a nostro carico</span>");
			}
			else {
				// aggiungo l'aumento dovuto al ruolo
				if (ruolo == "senior developer") 
					costoOrario += 0;
				else if (ruolo == "analista programmatore") 
					costoOrario += 3;
				else if (ruolo == "project manager") 
					costoOrario += 5;

				if(dove == "telelavoro"){
					$("#costo_orario").html("COSTO: <span style='color:red'>" + costoOrario + "€ l'ora</span>");

					// aggiungo l'aumento dovuto alle distanze
					var distanza = parseInt($("#dove_distanza").val());
					if (distanza <= 30) 
						costoTrasferta = (costoBase + 2) * 2;
					else if (distanza <= 40)
						costoTrasferta = (costoBase + 5) * 4;
					else if (distanza <= 70)
						costoTrasferta = (costoBase + 10) * 5;

					if (distanza > 70) 
						$("#costo_trasferta").html("COSTO GIORNATA DI TRASFERTA: <span style='color:red'>320€</span><br/><span style='color:red;font-size:10px'>costi di trasporto a vs.carico (aereo, treno, etc...)</span>");
					else
						$("#costo_trasferta").html("COSTO GIORNATA DI TRASFERTA: <span style='color:red'>" + costoTrasferta + "€</span><br/><span style='font-size:10px'>costi di trasporto a nostro carico</span>");
				}
				else{
					// aggiungo l'aumento dovuto alle distanze
					var distanza = parseInt($("#dove_distanza").val());
					if (distanza <= 30) 
						costoOrario += 2;
					else if (distanza <= 40)
						costoOrario += 5;
					else if (distanza <= 70)
						costoOrario += 10;

					$("#costo_orario").html("COSTO: <span style='color:red'>" + costoOrario + "€ l'ora</span>");
					
					if (distanza > 70){
						alert("Attenzione, per distanze maggiori di 70 km siamo disponibili solo in telelavoro.");						
						$("#dove_telelavoro").attr("checked", true);
						calcoloCosti();	
						return;					
					} 
					else
						$("#costo_trasferta").html("COSTO GIORNATA DI TRASFERTA: <span style='color:red'>0€</span><br/><span style='font-size:10px'>costi di trasporto a nostro carico</span>");
				}
			}
			
			$("#calcolato").show('highlight', {color : '#93CA3E'}, 2000);
		}
		
		// INIZIALIZZAZIONE
		$(document).ready(function() {
			initialize();
			calcoloCosti();
			$('#calcolato').scrollFollow();
			
			$('#address').keyup(function(e) {
				if(e.keyCode == 13) showLocation();
			});
		});		

