var beforeGMap2OnLoad = window.onload;
var beforeGMap2OnUnload = window.onunload;

var map;

var eCurrentInfo;
var aInfoElements;
var aInfoOverlays;
function overlayMouseOver() {
	var e = null;

	for(var i = 0; i < aInfoOverlays.length; ++i) {
		if(aInfoOverlays[i] == this) {
			if(i < aInfoElements.length)
				e = aInfoElements[i];
			else
				e = null;

			break;
		}
	}

	if(e != eCurrentInfo) {
		e.style.visibility = "visible";
		for(var i = 0; i < aInfoElements.length; ++i)
			if(aInfoElements[i] != null && aInfoElements[i] != e)
				aInfoElements[i].style.visibility = "hidden";

		eCurrentInfo = e;
	}
}

window.onload = function() {
	if(beforeGMap2OnLoad != null)
		beforeGMap2OnLoad();

	map = new GMap2(
		document.getElementById("mapHere"),
		{ backgroundColor: "white" }
	);

	map.setCenter(new GLatLng(43.234575, 11.8916375), 9);
	map.setMapType(G_PHYSICAL_MAP);

	var ui = map.getDefaultUI();
	ui.maptypes.normal = false;
	ui.maptypes.satellite = false;
	ui.maptypes.hybrid = false;
	ui.maptypes.physical = false;
	ui.controls.maptypecontrol = false; 
	map.setUI(ui);

	aInfoElements = new Array();
	aInfoOverlays = new Array();

	var pl = new Array(
		GPolyline.fromEncoded({
			color: "#ff00ff",
			weight: 4,
			opacity: 1,
			points: "cuhhGqudgAhPbH`ZxMd@TNXBd@mB|GIb@?TJ^x@dAx@wBpAn@tCjAnFhB|CjAfNrEhOfFbBd@pKvDdBhAp@n@RJ`@J`@@\\BhCrAn@RnBj@pATfATbDV|ABzBCnBMfBEhOq@tFK|DQ|DIpEYp_@yAlAF\\Cb@GRK\\G|b@oAh[w@`DMxD[RG",
			levels: "????????????????????????????????????????????????????",
			zoomFactor: 1, 
			numLevels: 1
		}),

		GPolyline.fromEncoded({
			color: "#ff0000",
			weight: 4,
			opacity: 1,
			points: "u}~gGmtbgAjAMdEq@~QiCbFm@pA[vC[rA]|k@oIj@?p@Hd@O^[hCc@`BEZQvN{Bl`@yF|G}@x@GrB[pBUf`@aFzH_AzK}ALFVD~AE\\I^UzAUnEg@xAS`B]jIw@xZaD~TeClD[pg@mBlJYjHYjb@f@f@L~JKfNB|RIxAGvAOxToFfBa@nKuCfeAwWzEcBnGaChTmI~Ae@i@_DjCw@tDq@fBQnC]fAU`DkAzBqAhEsExCe@Uh@_BnCcBvBE\\PDvR_Cpb@mEvC]ve@uErf@cF|}@rBlGTb@Gp@NTKps@xA~NVxl@lAhDD|@FTCFzChNRdd@v@fbAjB|BFjDj@~NtCbFdAtA`@rBjAjExB`@t@J\\tDjCnAr@hBf@nSx@`FSvBMtDOrCLnFt@^RT^D\\c@rCu@bDOhAiDtQY|@_@v@w@x@ZnA|@q@`@e@Vc@Xw@J[xGo]BOCc@Ba@Jq@Na@NWJGdB^t@Jb@BnBQ`BWxPiD`NsClK}BzCk@RIb@a@NGnAQra@sG~MsAf@Sz@c@zGuD|DoCfCoBjEqBfMaMzFsDbDiBx@Qv@E~C_@hDo@^OlAm@vDyCr@M~GWlC_AfDyAdB}@NOtAeBpE}GZWtEsFjM{MLY^]xGcDlOeHlBoAbEcEnW_b@TUBKvIuMhBkCXYN]AWlAoCjAwCpLw[HMbEaEf@a@`@c@^i@pGsNh@{@tEcFtCeCnFmEz@gA~AkChGsNnAoCdDoErBeCpB{AnCaBnEaCtPaJpE}BxEkCzLkGlL}FzIaIrB|Gt[wOnVuMxm@qXrf@{i@bf@mj@~d@Jd}@HrEqAf@HxBv@b@A",
			levels: "?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????",
			zoomFactor: 1,
			numLevels: 1
		}),

		GPolyline.fromEncoded({
			color: "#00ff00",
			weight: 4,
			opacity: 1,
			points: "qm`fGspvgA`@u@hBlApA`At@|@bJxTvArCp@x@b@fAvAx@rE`DnF~D`SnOjBbBrC|D|@fBlAbAcApAVd@DGbEcCrDqEXm@d@iAP{AH}AAaBOkAw@gC`HeFjEmClJoFvi@o\\z@m@Be@W_A?c@m@eCiAmDlQsGa@cAgBz@eMxEe@u@oDuJsBwGbE{C~E{DYy@jSkQtCaCfFgCnJ{FbKqFtOcIfI_E|JcGtF_DzBqA|@cBv@aDb@iAd@c@f@Ep@MtBk@H`@FB`@GPQ^W~BwBpAmC^uC?aA_@iOk@s^`@uAl@}CLkCKeDA_BLaBVkACuBSo@NQRL^uAnDmNVAh@YXm@\\Ab@{Ad@wClAsDdBiEhAu@Zl@",
			levels: "????????????????????????????????????????????????????????????????????????????????????????????????????",
			zoomFactor: 1, 
			numLevels: 1
		}),

		GPolyline.fromEncoded({
			color: "#ff0000",
			weight: 4,
			opacity: 1,
			points: "czveG{~~gA|C|F~AqBzAuCzAgBzBsBt@IZKBq@`AJl@UjZuOd@?xAbOH~@Q`@JH^_@hVkAFWg@}FbAWfEQvO{ENPVe@[MtBwGxEqKhGrAjB^lADhU~EpJfBxG|@vJl@rB?`IZxEZ~@RdAl@z@r@HV\\Xr@rBDg@~@pCl@n@~NrJb@j@rFnDvPnK",
			levels: "????????????????????????????????????????????????????",
			zoomFactor: 1, 
			numLevels: 1
		}),

		GPolyline.fromEncoded({
			color: "#ff00ff",
			weight: 4,
			opacity: 1,
			points: "mwneGqp~gArAt@zAbB|DjIRaAoE{Js@a@h@_A?SOuAAkABWRAtKbEzCbAlFvA",
			levels: "????????????????",
			zoomFactor: 1, 
			numLevels: 1
		})
	);

	for(var i = 0; i < pl.length; ++i) {
		map.addOverlay(pl[i]);

		aInfoElements.push(document.getElementById("infoS" + i));
		aInfoOverlays.push(pl[i]);

		GEvent.addListener(pl[i], "mouseover", overlayMouseOver);
	}

//	var p = "../sentiero/SentieroDellaBonifica/icon/icon";
	var p = "http://www.poggiallago.it/sentiero/SentieroDellaBonifica/icon/icon";
	var icon = new GIcon();
	icon.image = p + ".png";
	icon.iconSize = new GSize(24, 16);
	icon.iconAnchor = new GPoint(0, 15);
	icon.infoWindowAnchor = icon.iconAnchor;
	icon.printImage = p + "-iep.gif";
	icon.mozPrintImage = p + "-mop.png";
	icon.transparent = p + "-tr.png";
	icon.imageMap = new Array(0, 0, 23, 0, 23, 15, 0, 15);

	var eInfoCasali = document.getElementById("infoCasali");

	var mrkrCasale = new GMarker(
		new GLatLng(43.04536805833028, 11.96447898774667),
		{ icon: icon, title: "Poggio Casale", clickable: true, draggable: false }
	);
	map.addOverlay(mrkrCasale);
	aInfoElements.push(eInfoCasali);
	aInfoOverlays.push(mrkrCasale);
	GEvent.addListener(mrkrCasale, "mouseover", overlayMouseOver);

	pl = GPolyline.fromEncoded({
		color: "#ffffff",
		weight: 4,
		opacity: 0.8,
		points: "}iveGud_hAl@gS",
		levels: "PP",
		zoomFactor: 1, 
		numLevels: 1
	});
	map.addOverlay(pl);
	aInfoElements.push(eInfoCasali);
	aInfoOverlays.push(pl);
	GEvent.addListener(pl, "mouseover", overlayMouseOver);

	var mrkrPilella = new GMarker(
		new GLatLng(43.03899451979571, 11.94759832565737),
		{ icon: icon, title: "Poggio Pilella", clickable: true, draggable: false }
	);
	map.addOverlay(mrkrPilella);
	aInfoElements.push(eInfoCasali);
	aInfoOverlays.push(mrkrPilella);
	GEvent.addListener(mrkrPilella, "mouseover", overlayMouseOver);

	pl = GPolyline.fromEncoded({
		color: "#ffffff",
		weight: 4,
		opacity: 0.8,
		points: "oxveGau~gAfB_Bj@Gj@h@pAxEnGxI`A^vBD\\Pb@^rGfJn@Zr@Jj@Bl@VQRJtCnAxB|@hAVf@tAlA\\h@b@vABvCCNJPCNDHBRCp@WbB?TDVd@bAlAhA`BX",
		levels: "PBEBCEAADADA?AFBD@@BB@D?A@@?B@A?EACP",
		zoomFactor: 1, 
		numLevels: 1
	});
	map.addOverlay(pl);
	aInfoElements.push(eInfoCasali);
	aInfoOverlays.push(pl);
	GEvent.addListener(pl, "mouseover", overlayMouseOver);

	aInfoElements.push(document.getElementById("infoDefault"));

	map.disableInfoWindow(); 
};

window.onunload = function() {
	GUnload();
	map = eCurrentInfo = aInfoElements = aInfoOverlays = null;

	if(beforeGMap2OnUnload != null)
		beforeGMap2OnUnload();
}

