// JavaScript Document

function initialize(shopID){
	if(GBrowserIsCompatible()){
		//引数からパスを作成
		var xmlPath = "./data/add_"+shopID+".xml";
		//住所解析ジオコーダー
		var	geocoder = new GClientGeocoder();		
		//マップ定義
		var	map = new GMap2(document.getElementById("map_canvas"));
			map.enableContinuousZoom();
			map.addControl(new GLargeMapControl());
			map.addControl(new GOverviewMapControl());
		//ウィンドウの設定
		var showWindow = function(marker){var	html  = '<div class="infoWindow">';html +=	'<dl class="list">';html +=	'<dt>'+marker.name+'</dt>';html +=	'<dd>'+marker.add+'</dd>';html +=	'</dl>';html +=	'</div>';marker.set.openInfoWindowHtml(html);};
		//マーカーの設置
		var showMarker = function(marker){
			marker.set = new GMarker(marker.point);
			map.setCenter(marker.point, 16);
			map.addOverlay(marker.set);
			if(location.hash=="#"+marker.id){
				showWindow(marker);
			}
			//イベントセット
			GEvent.addListener(marker.set, "click", function() {
				//setMarker.showMapBlowup();
				showWindow(marker);
			});
			//GEvent.addListener(marker.set, "infowindowopen", function() {
			//	var	map = new GMap2(document.getElementById(marker.id+'Map'));
			//		map.setCenter(marker.point,16);
			//		map.addControl(new GSmallZoomControl());
			//		map.setMarker = new GMarker(marker.point);
			//		map.addOverlay(map.setMarker);
			//});
			$(function(){
				$('a[href^="#'+marker.id+'"]','#intro').click(function(){
					location.hash = $(this).attr('href');
					showWindow(marker);
					return false;
				});
			});		
		};		
		//ジオコーダーで解析,マーカ作成
		var showAddress = function(marker) {
		  geocoder.getLatLng(
			marker.add,
			function(point){
				if(!point){
					//alert("住所が見つかりません");
				}else{
					marker.point = point;
					showMarker(marker);
				}
			});
		};
		//マーカーのxml解析
		GDownloadUrl(xmlPath,function(data,responseCode){
			var xml			= GXml.parse(data);
			var xmlMarkers	= xml.documentElement.getElementsByTagName("marker");
			var marker		= {};
			for (var i = 0; i < xmlMarkers.length; i++) {
				var obj = xmlMarkers[i].getAttribute("id");
				marker[obj] = {};
				marker[obj].id	= xmlMarkers[i].getAttribute("id");
				marker[obj].name = xmlMarkers[i].getAttribute("name");
				marker[obj].add  = xmlMarkers[i].getAttribute("add");
				showAddress(marker[obj]);
			}
		});	
		
	}
};

