function load(){
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());
		map.setCenter(new GLatLng(41.900296652927864, 12.486562728881836), 13);
		metro_a();
		metro_b();
	}
}

function metro_a(){
var polyline1_1 = new GPolyline.fromEncoded({
  color: "#FF4500",
  weight: 5,
  opacity: 0.6,
  points: "exw~FiuwjArFmZ~EiRvHiRnGyNxEeG`BaKBmKoB_SkHuPcJwPcUyY{BeEy@wF_@iGsFe]{E{XqJ_o@aGge@y@{Hb@uH`AsBxB_ApJyJjHgOnEkN~AyFfByC~HkJtGcHxCkKtBwMMyJVaSj@mHzAiEbB_CtDmEpH{DpZcFr\\cOtSmIdC}AnBkBdJgOl^}h@jRmW|a@ok@jUq]lDqUp@kSRmTdI_d@dDqJvMsZ~Pm_@dUcb@pNaV~NqUpj@ibA",
  levels: "PBE@CECHDECBGAB@ACDCJCCEC@EBAGBEBCDBHCEEABGBBB?BHDBECG@EBACP",
  zoomFactor: 2, 
  numLevels: 18
});
map.addOverlay(polyline1_1);
loadMap('./xml/rome1_1.xml');
}
function metro_b(){
var polyline1_1 = new GPolyline.fromEncoded({
  color: "#4169E1",
  weight: 5,
  opacity: 0.6,
  points: "_r{~FguvkAnErKdDdM|HpGzJvIzMhKdNrPtBfHr@dIGvQQtLoBfOiBdMgC~M}@~LK|Nz@fFxBxCvUvX~B~E~ApKe@lLsEjSqFxNeAzGJjHdCrOdHdIpHtHrHtPvD`RxFdT|HpKjM|HdGpCvd@bm@dFrGjFtEdFbAvX`GrUdIbO~PdPhO~NfBnbA_F|S|DlQzKpQxNdOtAvL`DjI`GxW|SpLdT~IlT~DbH~ElAv\\`@rTcAvCmErAaGjFg`@lGq`@~Am_@",
  levels: "PBE@AEDHCAE?BDBGDAECGDCBFCHADEBFDBE?JD?CFBGDEHCECEAGBBEICEHBADP",
  zoomFactor: 2, 
  numLevels: 18
});
map.addOverlay(polyline1_1);
loadMap('./xml/rome1_2.xml');
}
function loadMap(url){
	var request = GXmlHttp.create();
	request.open("GET", url, true);
	request.onreadystatechange = function(){
		if(request.readyState==4){
			var xml = request.responseXML;
			var place = xml.documentElement.getElementsByTagName("items");
			end = place.length;
resultText="";
for(var i=0; i<place.length; i++){
	var lat = parseFloat(place[i].getElementsByTagName("lat")[0].firstChild.nodeValue);
	var lng = parseFloat(place[i].getElementsByTagName("lon")[0].firstChild.nodeValue);
	var name = place[i].getElementsByTagName("name")[0].firstChild.nodeValue;
	if(place[i].getElementsByTagName("kana")[0].firstChild == null){
	var kana = "";} else{
	var kana = place[i].getElementsByTagName("kana")[0].firstChild.nodeValue;}
	if(place[i].getElementsByTagName("info")[0].firstChild == null){
	var info = "";} else{
	var info = place[i].getElementsByTagName("info")[0].firstChild.nodeValue;}
	var html = "<div style='width:250px'><div id='infow_title2'><span id='infow_title'>" + name + "</span></div>"+ kana +"<br />" + info + "<br/><a href=javascript:map.zoomIn()>zoomIn</a> | <a href=javascript:map.zoomOut()>zoomOut</a></div>";
	var flag = place[i].getElementsByTagName("flag")[0].firstChild.nodeValue;
	if(flag==0){var marker = createGMarker(name,lat, lng, html);}
				else if(flag==1){var marker = createGMarker1(name,lat, lng, html);}
				else if(flag==2){var marker = createGMarker2(name,lat, lng, html);}
				else if(flag==3){var marker = createGMarker3(name,lat, lng, html);}
				else if(flag==15){var marker = createGMarker3bis(name,lat, lng, html);}
				else if(flag==4){var marker = createGMarker4(name,lat, lng, html);}
				else if(flag==5){var marker = createGMarker5(name,lat, lng, html);}
				else if(flag==6){var marker = createGMarker6(name,lat, lng, html);}
				else if(flag==7){var marker = createGMarker7(name,lat, lng, html);}
				else if(flag==16){var marker = createGMarker7bis(name,lat, lng, html);}
				else if(flag==8){var marker = createGMarker8(name,lat, lng, html);}
				else if(flag==9){var marker = createGMarker9(name,lat, lng, html);}
				else if(flag==10){var marker = createGMarker10(name,lat, lng, html);}
				else if(flag==11){var marker = createGMarker11(name,lat, lng, html);}
				else if(flag==12){var marker = createGMarker12(name,lat, lng, html);}
				else if(flag==13){var marker = createGMarker13(name,lat, lng, html);}
				else if(flag==14){var marker = createGMarker14(name,lat, lng, html);}
				else {var marker = createMarker(name, lat, lng, html);}
				map.addOverlay(marker);
}
	document.getElementById("map_right").innerHTML = resultText;
		}
	}
request.send('');
}

var map;
var resultText="";
var markers = new Array();
var htmls = new Array();
var i = 1;
var end = 50;
function createGMarker(name, lat, lng, html) {
	var title = name;
	var point = new GLatLng(lat, lng);
	var myIcon;
	myIcon = new GIcon();
	myIcon.image = "http://www.travelplatz.com/js/icony/icony"+ i + ".png";
	myIcon.iconSize = new GSize(20, 34);
	myIcon.shadow = "http://www.travelplatz.com/js/shadow50.png";
	myIcon.shadowSize = new GSize(37, 34);
	myIcon.iconAnchor = new GLatLng(34, 10);
	myIcon.infoWindowAnchor = new GPoint(5, 5);
	var marker = new GMarker(point,{"icon":myIcon, "clickable":true, "title":title});
	GEvent.addListener(marker, "click", function(){marker.openInfoWindowHtml(html);});
		map.removeOverlay(marker);
		map.addOverlay(marker);
		markers[i] = marker;
		htmls[i] = html;
		resultText =  resultText + "<a href=javascript:changePlace("+i+")>"+i+"&nbsp;"+title +"</a><br />";
		i++;
		if(i >end){i=1}
		return marker;
}
function createGMarker1(name, lat, lng, html) {
	var title = name;
	var point = new GLatLng(lat, lng);
	var myIcon;
	myIcon = new GIcon();
	myIcon.image = "http://www.travelplatz.com/italy/xml/marker/roma_a.png";
	myIcon.iconSize = new GSize(22, 22);
	myIcon.iconAnchor = new GLatLng(11, 11);
	myIcon.infoWindowAnchor = new GPoint(12, 0);
	var marker = new GMarker(point, {"icon": myIcon});
	GEvent.addListener(marker, "click", function(){marker.openInfoWindowHtml(html);});
		map.removeOverlay(marker);
		map.addOverlay(marker);
		markers[i] = marker;
		htmls[i] = html;
		resultText =  resultText + "<a href=javascript:changePlace("+i+")>"+i+"&nbsp;"+title +"</a><br />";
		i++;
		if(i >end){i=1}
		return marker;
}
function createGMarker2(name, lat, lng, html) {
	var title = name;
	var point = new GLatLng(lat, lng);
	var myIcon;
	myIcon = new GIcon();
	myIcon.image = "http://www.travelplatz.com/italy/xml/marker/roma_b.png";
	myIcon.iconSize = new GSize(22, 22);
	myIcon.iconAnchor = new GLatLng(11, 11);
	myIcon.infoWindowAnchor = new GPoint(12, 0);
	var marker = new GMarker(point, {"icon": myIcon});
	GEvent.addListener(marker, "click", function(){marker.openInfoWindowHtml(html);});
		map.removeOverlay(marker);
		map.addOverlay(marker);
		markers[i] = marker;
		htmls[i] = html;
		resultText =  resultText + "<a href=javascript:changePlace("+i+")>"+i+"&nbsp;"+title +"</a><br />";
		i++;
		if(i >end){i=1}
		return marker;
}
function createGMarker3(name, lat, lng, html) {
	var title = name;
	var point = new GLatLng(lat, lng);
	var myIcon;
	myIcon = new GIcon();
	myIcon.image = "http://www.travelplatz.com/js/iconr/iconr"+ i + ".png";
	myIcon.iconSize = new GSize(20, 34);
	myIcon.shadow = "http://www.travelplatz.com/js/shadow50.png";
	myIcon.shadowSize = new GSize(37, 34);
	myIcon.iconAnchor = new GLatLng(34, 10);
	myIcon.infoWindowAnchor = new GPoint(5, 5);
	var marker = new GMarker(point,{"icon":myIcon, "clickable":true, "title":title});
	GEvent.addListener(marker, "click", function(){marker.openInfoWindowHtml(html);});
		map.removeOverlay(marker);
		map.addOverlay(marker);
		markers[i] = marker;
		htmls[i] = html;
		resultText =  resultText + "<a href=javascript:changePlace("+i+")>"+i+"&nbsp;"+title +"</a><br />";
		i++;
		if(i >end){i=1}
		return marker;
}

function changePlace(i) {
   markers[i].openInfoWindowHtml(htmls[i]);
}
function clearMarker(){
	map.clearOverlays();
}

onload = load;
onunload = GUnload;
