function attachOnLoad(func) {
    window.attachEvent ?
	window.attachEvent('onload',func) : 
	window.addEventListener('load',func,false);
}
function attachBeforeUnload(func) {
    window.attachEvent ?
	window.attachEvent('onbeforeunload',func) : 
	window.addEventListener('beforeunload',func,false);
}
function createMarker(latlng, name, address, url){
	if (url) {
		var html ="<div align='left'>"	+ "<b><a href='" + url + "'>" + name + "</a></b>"	+ "<br />" + address + "</div>";
	} else {
		var html ="<div align='left'>"	+ "<b>" + name + "</b>"	+ "<br />" + address + "</div>";
	}
	var marker = new GMarker(latlng);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);
	});
	return marker;
}
function openMarker(markerid){
	var marker=marker_mem[markerid];
	GEvent.trigger(marker, "click");
}
function openInfo(marker, name, address) {
	var html ="<div align='left'>"	+ "<b>" + name + "</b>"	+ "<br />" + address + "</div>";
	marker.openInfoWindowHtml(html);
}
function loadGMapOne(name, address, lat, lng) {
	if (GBrowserIsCompatible()) {

		var latlng = new GLatLng(lat, lng);
		if (latlng) { 
			map.setCenter(latlng, 8, G_NORMAL_MAP);
			map.addControl(new GSmallMapControl());
		
			var marker = new GMarker(latlng);
			GEvent.addListener(marker, "click", function() { 
				openInfo(marker, name, address);
			});
		
			map.addOverlay(marker);	//マーカーを地図上に配置 
		
		}
	} else {
		document.getElementById(mapid).innerHTML = '<p>ご利用のブラウザでは地図を表示できません</p>';
    }
}
function loadGMapList(lat, lng, zoom, cat) {
	if (GBrowserIsCompatible()) {

		var latlng = new GLatLng(lat, lng);
		if (latlng) { 
			map.setCenter(latlng, zoom, G_NORMAL_MAP);
			map.addControl(new GSmallMapControl());

			GDownloadUrl(cat + "make_map_xml.php",function(data, responseCode) {
				var xmlDoc = GXml.parse(data);
				var markers = xmlDoc.documentElement.getElementsByTagName("marker"); 
				for (var i = 0; i < markers.length; i++) { 
					var marker_latlng = new GLatLng( 
						markers[i].getAttribute("lat"), 
						markers[i].getAttribute("lon") 
					);
					var marker_name = unescape(markers[i].firstChild.nodeValue);
					var markerid = markers[i].getAttribute("id");
					var marker_addr = unescape(markers[i].getAttribute("addr"));
					var marker_url = unescape(markers[i].getAttribute("url"));
					var marker = createMarker(marker_latlng, marker_name, marker_addr, marker_url);
					map.addOverlay(marker);
                                
					marker_mem[markerid] = marker;
				} 
			});
		}
	} else {
		document.getElementById(mapid).innerHTML = '<p>ご利用のブラウザでは地図を表示できません</p>';
    }
}
function loadGMap(name, address, lat, lng) {
	if (GBrowserIsCompatible()) {

		var latlng = new GLatLng(lat, lng);
		if (latlng) { 
			map.setCenter(latlng, 13, G_NORMAL_MAP);
			map.addControl(new GLargeMapControl());
			map.addControl(new GMapTypeControl());
//			map.addControl(new GScaleControl());		

			map2=new GOverviewMapControl(new GSize(150,150));	// 小さい地図
			map.addControl(map2);
			
			var marker = new GMarker(latlng);
			GEvent.addListener(marker, "click", function() { 
				openInfo(marker, name, address);
			});
			map.addOverlay(marker);	//マーカーを地図上に配置 
			openInfo(marker, name, address);
		
		}
	} else {
		document.getElementById(mapid).innerHTML = '<p>ご利用のブラウザでは地図を表示できません</p>';
    }
}
