// JavaScript Document

function parseXmlMap(data, responseCode) {
	if(responseCode == 200) {
		var xml = GXml.parse(data);
		var markers = xml.documentElement.getElementsByTagName("marker");
		for (var i = 0; i < markers.length; i++) {
			var titolo = markers[i].getAttribute("titolo");
			var descrizione = markers[i].getAttribute("descrizione");
			
			var address = markers[i].getAttribute("address");
			var lat = parseFloat(markers[i].getAttribute("lat"));
			var lon = parseFloat(markers[i].getAttribute("lon"));
			var icon = markers[i].getAttribute("icon");

			var point = new GLatLng(lat,lon);
			var marker = createMarker(point, titolo, descrizione, address, icon);
			
			map.addOverlay(marker);
			//map.addOverlay(marker.tooltip);
		}
	 }else if(responseCode == -1) {
		alert("Time-out su richiesta dei dati. Ricaricare la pagina");
	  } else { 
		alert("Richiesta xml in errore. Controlla il file xml.");
	  }
}

function createMarker(point, t, d, a, i) {
	var icon_point = new GIcon(G_DEFAULT_ICON);
	icon_point.image = path+"images/"+i;
	icon_point.iconSize=new GSize(32,32);
	markerOptions = { icon:icon_point };

	var marker = new GMarker(point, markerOptions);
	
	/*var tooltip = new Tooltip(marker,t+"  "+ d,4); 
	marker.tooltip = tooltip; 
	*/
	var html = "<span style='color:red'>"+t+"</span><br /><b>" + a + "</b><br />" + d;
	GEvent.addListener(marker, 'click', function() {
		marker.openInfoWindowHtml(html);
	});
	
	//GEvent.addListener(marker,'mouseover',function(){ this.tooltip.show(); }); 
	//GEvent.addListener(marker,'mouseout',function(){ this.tooltip.hide(); });
	
	
	marker._info = "OLD";    // SERVE PER PREVENIRE L'ELIMINAZINE DEI PUNTI DI INTERESSE SALVATI SU DB(e creati tramite questa funzione)
	return marker;
}

function getAddress(response) {
	  //map.clearOverlays();
	  if (!response || response.Status.code != 200) {
		alert("Errore nel recupero indirizzo!" + response.Status.code);
	  } else {
		place = response.Placemark[0];
		var str = "";
		str = place.address + "("+place.AddressDetails.Country.CountryNameCode+") - Acc: "+place.AddressDetails.Accuracy;
		$("#address").val(str);
		//alert($("#address").val());
	}
}

function getPoint(address){
	if (geocoder) {
		geocoder.getLatLng(
		address,
		function(point)
		{
			if (!point)
			{
				// Indirizzo non trovato!
				alert(address + " non trovato!");
				return -1;
			}
			else
			{
				return point;
			}
		});
	}else{
		alert("Impossibile eseguire traduzione indirizzo-coordinate geografiche!");
	}
}

function showAddress(address) {
  if (geocoder) {
	geocoder.getLatLng(
	  address,
	  function(point) {
		if (!point) {
		  alert(address + " non trovato!");
		} else {
		  map.setCenter(point, 13);
		  var marker = new GMarker(point);
		  map.addOverlay(marker);
		  marker.openInfoWindowHtml(address);
		}
	  }
	);
  }else{
		alert("Impossibile eseguire traduzione indirizzo-coordinate geografiche!");
  }
}
/***********************************************************************************************/
function savePoint(){
	$("#img_loading").show();

	var t = $("#titolo").val();
	var d = $("#desc").val();
	var lon = $("#lonbox").val();
	var lat = $("#latbox").val();
	var icon = $("#icon").val();
	var add = $("#address").val();

	//alert(t+"   "+d+"   "+lat+"   "+lon+"   "+add);
	
	$.ajax({
	   type: "POST",
	   url: "../../include/request_ajax/insert/insertMapPoint.php",
	   data: "t="+t+"&d="+d+"&lat="+lat+"&lon="+lon+"&icon="+icon+"&add="+add,
	   success: function(msg){
			var arr = msg.split("#");
			//popolo
			if(arr[0] == 'OK'){
				$("#mess_box").html("");
				$("#mess_box").html("<h4 id='errore'>"+arr[1]+"</h4>").fadeIn(4000).fadeOut(3000);;	
				$("#titolo").val("");
				$("#desc").val("");
				
				$("#due_click").val("N");
				
			}else{
				$("#mess_box").html("");
				$("#mess_box").html("<h4 id='errore'>"+arr[1]+"</h4>").fadeIn(4000).fadeOut(3000);
			}	
			$("#img_loading").hide();
		}
	});
}