function gMap(id, name, url, address, lat, lng, zoom) {

	var gZoom = 16;
	if (zoom) { gZoom = zoom; }

	if (GBrowserIsCompatible()) {
		var map  = new GMap2(document.getElementById('map'));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());

		//リスナー追加
		GEvent.addListener(map, 'zoomend',
			function(oldZoomLevel, newZoomLevel) {
				gZoom = newZoomLevel;
			});
		
		// マーカ追加処理
		function addMarker (info) {
			var markerArd = new GMarker(new GLatLng(info.getAttribute("lat"), info.getAttribute("lng")));
			
			GEvent.addListener(markerArd, 'click', function() {
				addMain(info.getAttribute("id"),info.getAttribute("name"),info.getAttribute("url"),info.getAttribute("address"),info.getAttribute("lat"),info.getAttribute("lng"));
				});
			return markerArd;
		}

		// addMainリンク生成
		function makeAddMain (info) {
			var ret = "gMap (";
			ret +=		 info.getAttribute("id")			+ "," ;
			ret += "'" + info.getAttribute("name")	  + "'" + "," ;
			ret += "'" + info.getAttribute("url")	  + "'" + "," ;
			ret += "'" + info.getAttribute("address") + "'" + "," ;
			ret +=		 info.getAttribute("lat")			+ "," ;
			ret +=		 info.getAttribute("lng")			+ "," ;
			ret +=		 gZoom								+ ")" ;

			return ret;
		}

		// マーカ主処理
		function addMain (id, name, url, address, lat, lng) {

			var point  = new GLatLng(lat, lng);
			var center = new GLatLng(Number(lat) + 0.001, Number(lng) + 0.001);
			var marker = new GMarker(point);

			// オーバレイとHTML削除
			map.clearOverlays();
			document.getElementById("mapSub").innerHTML = "";
			
			map.setCenter(center, gZoom);
			map.addOverlay(marker);
			
			// ふきだしのコメント生成
			var blow = "";
			blow	+= "<div style='width:220px;'><div style='font-size:12pt; font-weight:bold; color: #444; margin: 4px;'>";
			blow	+= "<a href=\"index.html?mode=shop&shopId=" + id + "\">" + name + "</a></div>";
			blow	+= "<div style='font-size:9pt; color: #444; border: 0px solid #CC6633; margin: 2px;'>" + address + "</div>";
			blow	+= "<div style='font-size:9pt; color: #444; border: 0px solid #CC6633; margin: 2px;'>";
			blow	+= "<a href=\"" + url + "\" target=\"_blank\">" + url + "</a></div></div>";
			
			marker.openInfoWindowHtml(blow);

			var request = GXmlHttp.create();
			request.open("GET", "getAround.cgi?lat=" + lat + "&lng=" + lng, true);

			request.onreadystatechange = function() {
				if (request.readyState == 4) {
					var xmlDoc = request.responseXML;
					var shop   = xmlDoc.documentElement.getElementsByTagName("shop");

					// サブウインドウの構築
					var subHtml = "<table class=\"around\" border=\"1\">";

					for (var i=0; i<shop.length; i++) {
						var amari = i % 2;
						var func  = makeAddMain(shop[i]);
						
						if (amari == 0) {  subHtml += "<tr>";  }
						subHtml += "<td><a href=\"javascript:void(0)\" onclick=\"" + func + "\">" + shop[i].getAttribute("name")	+ "</a></td>";
						if (amari == 1) {  subHtml += "</tr>"; }

						var markerC = addMarker(shop[i]);
						map.addOverlay(markerC);
					}
					subHtml += "</table>";

					document.getElementById("mapSub").innerHTML = subHtml;
				}
			}
			request.send(null);
		}
		addMain(id, name, url, address, lat, lng);
	}
}


