var posizioni = [];
var punti = [];
var linee = [];
var map;

//Definizione Punti
var tinyIcon = new GIcon();
tinyIcon.image = "img/mm_20_blue.png";
tinyIcon.shadow = "img/mm_20_shadow.png";
tinyIcon.iconSize = new GSize(12, 20);
tinyIcon.shadowSize = new GSize(22, 20);
tinyIcon.iconAnchor = new GPoint(6, 20);
tinyIcon.infoWindowAnchor = new GPoint(5, 1);

var startIcon = new GIcon();
startIcon.image = "img/mm_20_green.png";
startIcon.shadow = "img/mm_20_shadow.png";
startIcon.iconSize = new GSize(12, 20);
startIcon.shadowSize = new GSize(22, 20);
startIcon.iconAnchor = new GPoint(6, 20);
startIcon.infoWindowAnchor = new GPoint(5, 1);

var endIcon = new GIcon();
endIcon.image = "img/mm_20_red.png";
endIcon.shadow = "img/mm_20_shadow.png";
endIcon.iconSize = new GSize(12, 20);
endIcon.shadowSize = new GSize(22, 20);
endIcon.iconAnchor = new GPoint(6, 20);
endIcon.infoWindowAnchor = new GPoint(5, 1);

function createMarker(point,html,icona) {
	if (icona == 'start') markerOptions = { icon:startIcon };
	else if (icona == 'end') markerOptions = { icon:endIcon }; 
	else markerOptions = { icon:tinyIcon };
	
	var marker = new GMarker(point, markerOptions);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);
	});
	return marker;
}

function inserisciMarker(coordx, coordy, descrizione, icona) {
	i = posizioni.length;
	punti[i] = new GLatLng(coordx, coordy);
	posizioni[i] = createMarker(punti[i],descrizione, icona);
	map.addOverlay(posizioni[i]);
	
	if (i >= 1) {
		linee[i] = new GPolyline([
			punti[i - 1], punti[i]
		], '#FF0000', 6);
		map.addOverlay(linee[i]);
	}
}

// Array Remove - By John Resig (MIT Licensed)
Array.prototype.remove = function(from, to) {
  var rest = this.slice((to || from) + 1 || this.length);
  this.length = from < 0 ? this.length + from : from;
  return this.push.apply(this, rest);
};

function rimuoviTutti() {
	//map.clearOverlays();
	for (var i = 0;  i < posizioni.length; i++) {
		map.removeOverlay(posizioni[i]);
		if (i >= 1) map.removeOverlay(linee[i]);
	}
	posizioni.remove(0, posizioni.length - 1);
	linee.remove(1, posizioni.length - 1);
	
}

function carica_mappa() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(41.442726, 12.392578), 5);
		GEvent.addListener(map, 'mousemove', leggiCoordinate);
	
	} else {
		alert("Spiacente! Il tuo browser non è compatibile con Google Maps");
	}
}

function leggiCoordinate(punto){
	document.getElementById("coordinate").innerHTML = 'Latitudine: ' + punto.y.toFixed(6) + '<br/>Longitudine ' +  punto.x.toFixed(6);
}

