	document.write('<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAf5KKwKwKECV4Rg9Z52aXyRTFZFCKTUIyD8l6Kkx4upVizn6zXBRlup9wHGmxHE2aMrqz9zt_nJ7ZaQ" type="text/javascript" charset="utf-8"></'+'script>');
	document.write('<script src="http://www.google.com/uds/api?file=uds.js&amp;v=1.0&amp;key=ABQIAAAAf5KKwKwKECV4Rg9Z52aXyRTFZFCKTUIyD8l6Kkx4upVizn6zXBRlup9wHGmxHE2aMrqz9zt_nJ7ZaQ" type="text/javascript" charset="utf-8"></'+'script>');

var map;
var icon;
var useminimap;
var usepolyline;
var uselink;
var useimg;
var uselist;
var listid;
var glistcontainer;

function load(DataFile) {
	if (DataFile && GBrowserIsCompatible()) {
		GDownloadUrl(DataFile, function(data, responseCode) {
			var xml = GXml.parse(data);
			var initialize = xml.documentElement.getElementsByTagName("initialize");
/*			map = document.getElementById("map");
			map.innerHTML = map.innerHTML + initialize.length;
			for (var i = 0; i < initialize.length; i++) {
				map.innerHTML = map.innerHTML + initialize[i].getAttribute("mapid");
			}*/
			map = new GMap2(document.getElementById(initialize[0].getAttribute("mapid")));
			map.clearOverlays();
			addcontrols();
			var useicon = initialize[0].getAttribute("icon");
			uselist = initialize[0].getAttribute("list");
			if (useicon == "yes") {
				var icons = xml.documentElement.getElementsByTagName("icon");
				icon = new Array();
				for (var i = 0; i < icons.length; i++) {
					icon[icons[i].getAttribute("name")] = new GIcon();
					icon[icons[i].getAttribute("name")].image = icons[i].getAttribute("image");
					icon[icons[i].getAttribute("name")].iconSize = new GSize(parseInt(icons[i].getAttribute("iconsize").split(",")[0]), parseInt(icons[i].getAttribute("iconsize").split(",")[1]));
					if (icons[i].getAttribute("shadowsize")) {
						icon[icons[i].getAttribute("name")].shadowSize = new GSize(parseInt(icons[i].getAttribute("shadowsize").split(",")[0]), parseInt(icons[i].getAttribute("shadowsize").split(",")[1]));
					} else {
						icon[icons[i].getAttribute("name")].shadowSize = icon[icons[i].getAttribute("name")].iconSize;
					}
					icon[icons[i].getAttribute("name")].iconAnchor = new GPoint(parseInt(icons[i].getAttribute("iconanchor").split(",")[0]), parseInt(icons[i].getAttribute("iconanchor").split(",")[1]));
					icon[icons[i].getAttribute("name")].infoWindowAnchor = new GPoint(parseInt(icons[i].getAttribute("infowindowanchor").split(",")[0]), parseInt(icons[i].getAttribute("infowindowanchor").split(",")[1]));
					icon[icons[i].getAttribute("name")].shadow = icons[i].getAttribute("shadow"); 
					if (icons[i].getAttribute("listimage") && uselist == "yes") {
						icon[icons[i].getAttribute("name")].listImage = icons[i].getAttribute("listimage");
/*						if (icons[i].getAttribute("listimagesize")) {
							icon[icons[i].getAttribute("name")].listImagewidth = icons[i].getAttribute("listimagesize").split(",")[0];
							icon[icons[i].getAttribute("name")].listImageheight = icons[i].getAttribute("listimagesize").split(",")[1];
						}*/
					}
				}
			}
			useminimap = initialize[0].getAttribute("minimap");
			useimg = initialize[0].getAttribute("img");
			usepolyline = initialize[0].getAttribute("line");
			uselink = initialize[0].getAttribute("link");

			var centerpoint = xml.documentElement.getElementsByTagName("center");
			var maptype = (centerpoint[0].getAttribute("maptype") == "hybrid" ? G_HYBRID_MAP : (centerpoint[0].getAttribute("maptype") == "satellite" ? G_SATELLITE_MAP : G_NORMAL_MAP));
			map.setCenter(new GLatLng(parseFloat(centerpoint[0].getAttribute("lat")), parseFloat(centerpoint[0].getAttribute("lng"))), parseInt(centerpoint[0].getAttribute("zoomlevel")), maptype);

			var markers = xml.documentElement.getElementsByTagName("marker");
			if (uselist == "yes") {
				glistcontainer = document.createElement("dl");
				glistcontainer.className = "gmaps-container";
				var glisttitle = document.createElement("dt");
				glisttitle.appendChild(document.createTextNode(initialize[0].getAttribute("listtitle")));
				glistcontainer.appendChild(glisttitle);
			}
			var polyline;
			if (usepolyline == "yes") {
				polyline = new Array();
			}
			for (var i = 0; i < markers.length; i++) {
				var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));
				if (usepolyline == "yes" && markers[i].getAttribute("line") == "yes") {
					polyline.push(point);
				}
				if (markers[i].getAttribute("mark") == "yes") {
					var gmarker = new GMarker(point, (markers[i].getAttribute("icon") ? icon[markers[i].getAttribute("icon")] : G_DEFAULT_ICON));
					map.addOverlay(gmarker);
					var gcontainer = document.createElement("dl");
					gcontainer.className = "gmaps-container";
					var title = document.createElement("dt");
					title.appendChild(document.createTextNode(markers[i].getAttribute("name")));
					gcontainer.appendChild(title);
					var contents = new Array();
					contents = markers[i].getAttribute("content").split(",");
					for (var j = 0; j < contents.length; j++) {
						var content = document.createElement("dd");
						content.appendChild(document.createTextNode(contents[j]));
						gcontainer.appendChild(content);
					}
					if (uselink == "yes" && markers[i].getAttribute("link")) {
						var content = document.createElement("dd");
						var link = document.createElement("a");
						link.href = markers[i].getAttribute("link").split(",")[0];
						if (link.href.indexOf("asahi.com") < 0 && link.href.indexOf("http://") > -1 || link.href.indexOf("/special/") > -1) { link.target = "_blank"; }
						link.appendChild(document.createTextNode("["+(markers[i].getAttribute("link").split(",")[1] != "" ? markers[i].getAttribute("link").split(",")[1] : "link")+"]"));
						content.appendChild(link);
						gcontainer.appendChild(content);
					}
					if (useimg == "yes" && markers[i].getAttribute("img")) {
						var content = document.createElement("dd");
						var image = document.createElement("img");
						image.src = markers[i].getAttribute("img");
						if (markers[i].getAttribute("imgwidth")) { image.width = markers[i].getAttribute("imgwidth"); }
						if (markers[i].getAttribute("imgheight")) { image.height = markers[i].getAttribute("imgheight"); }
						if (uselink == "yes" && markers[i].getAttribute("link")) {
							var link = document.createElement("a");
							link.href = markers[i].getAttribute("link").split(",")[0];
							if (link.href.indexOf("asahi.com") < 0 && link.href.indexOf("http://") > -1 || link.href.indexOf("/special/") > -1) { link.target = "_blank"; }
							link.appendChild(image);
							content.appendChild(link);
						} else {
							content.appendChild(image);
						}
						gcontainer.appendChild(content);
					}
					if (useminimap == "yes") {
						var content = document.createElement("dd");
						content.id = "minimap"+i;
						content.className = "gmaps-minimap";
						gcontainer.appendChild(content);
					}
					creategMarker(gmarker, gcontainer, i);
					if (uselist == "yes") {
						var glistcontent = document.createElement("dd");
//						if (useicon == "yes" && icon.length > 1) {
						if (useicon == "yes") {
							var glisticon = document.createElement("img");
							glisticon.src = (icon[markers[i].getAttribute("icon")].listImage ? icon[markers[i].getAttribute("icon")].listImage : icon[markers[i].getAttribute("icon")].image);
//							glisticon.src = icon[markers[i].getAttribute("icon")].image;
							glisticon.border = "0";
							glistcontent.appendChild(glisticon);
						}
						var glistlink = document.createElement("a");
						glistlink.href = "#";
						addEventToLink(gmarker, gcontainer, glistlink, i);
						glistlink.appendChild(document.createTextNode(markers[i].getAttribute("name")));
						glistcontent.appendChild(glistlink);
						glistcontainer.appendChild(glistcontent);
					}
				}
			}
			if (uselist == "yes") {
				var glistcontainerelem = document.getElementById(initialize[0].getAttribute("listid"));
				while (glistcontainerelem.firstChild) {
					glistcontainerelem.removeChild(glistcontainerelem.firstChild);
				}
				glistcontainerelem.appendChild(glistcontainer);
			}
			if (usepolyline == "yes" && polyline.length > 0) {
				map.addOverlay(new GPolyline(polyline, "#FF0000", 5));
			}
		});
	}
}

function creategMarker(marker, content, i) {
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindow(content, { maxWidth : 200 });
		if (useminimap == "yes") {
			var minimapid = "minimap"+i;
			addMinimap(minimapid, marker);
		}
	});
}

function addEventToLink(marker, content, link, i) {
	if (window.addEventListener) {
		link.addEventListener('click', function(event) {
			marker.openInfoWindow(content, { maxWidth : 200 });
			if (useminimap == "yes") {
				var minimapid = "minimap"+i;
				addMinimap(minimapid, marker);
			}
			event.preventDefault();
		}, false);
	} else if (window.attachEvent) {
		link.attachEvent('onclick', function() {
			marker.openInfoWindow(content, { maxWidth : 200 });
			if (useminimap == "yes") {
				var minimapid = "minimap"+i;
				addMinimap(minimapid, marker);
			}
			return false;
		});
	}
}

function addMinimap(minimapid, marker) {
	var point = marker.getPoint();
	var icon = marker.getIcon();
	var minimap = new GMap2(document.getElementById(minimapid));
	var minimapzoom = (map.getZoom() + parseInt((17 - map.getZoom()) / 2));
	minimap.setCenter(point, minimapzoom, map.getCurrentMapType());
	minimap.addControl(new GSmallMapControl());
	var minimarker = new GMarker(point, icon);
	minimap.addOverlay(minimarker);
}

function addcontrols() {
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	map.addControl(new GScaleControl());
}

function getgeopoint(point){
        if (!point) {
        } else {
                map.setCenter(point, zoom_value);
        var marker = new GMarker(point);
        map.addOverlay(marker);
        }
}

function get_argument() {
        var args  = location.search.slice(1).split("&");
        h = new Array();
        for (var i = 0; i < args.length; i++) {
                var tmp = args[i].split("=", 2);
                h[tmp[0]] = tmp[1];
        }
        return h;
}
