// JavaScript Document
//ajax
XmlsReq = false;
if(window.XMLHttpRequest){
	XmlsReq = new XMLHttpRequest();
}else if(window.ActiveXObject){
	try{
			XmlsReq = new ActiveXObject("Msxm12.XMLHTTP");
	}catch(e){
			XmlsReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
}

function maphtml(ajxstr,key){
	data = ajxstr.split("/");
	var strs = data[0];
	ary_strs = strs.split(",");
	var strid = ary_strs[0];
	if(key =="open"){
		var re_str = '<div id="mpttl' + strid + '"><a href="javascript:maphtml(&#39;'+ajxstr+'&#39;,&#39close&#39)" class="mapboxc"><div>マップを閉じる</div></a></div><div id="map' + strid + '" style="height:490px;"></div>';
	}else{
		var re_str = '<a href="javascript:openmap(&#39;'+ajxstr+'&#39;,&#39open&#39)" class="mapbox"><div>マップを見る</div></a>';
	}
	var inID = document.getElementById(strid);
	inID.innerHTML = re_str;
}

function openmap(ajxstr){
	maphtml(ajxstr,"open");
	pr_map(ajxstr);
}
// ===== マーカーとフキダシ =====
function createMarker(point,html) {
	var marker = new GMarker(point);
	GEvent.addListener(marker, "click", function() {
	  marker.openInfoWindowHtml(html);
	});
	return marker;
}

function createMarker_sub(point,html) {
	var icon = new GIcon();
	icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
	icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
	icon.iconSize = new GSize(12, 20);
	icon.shadowSize = new GSize(22, 20);
	icon.iconAnchor = new GPoint(6, 20);
	icon.infoWindowAnchor = new GPoint(5, 1);
	var marker = new GMarker(point,icon);
	GEvent.addListener(marker, "click", function() {
	  marker.openInfoWindowHtml(html);
	});
	return marker;
}



function pr_map(ajxstr){//idname,zooms,spcenterx,spcentery/ido,keido,nametext/ido,keido,nametext...
	window.scrollBy(0,250);
	if (GBrowserIsCompatible()) {
		DATA = ajxstr.split("/");
		var str0 = DATA[0];
		arydata = str0.split(",");
		idname = arydata[0];
		spzoom = arydata[1];
		if(arydata.length > 2){//マップセンター指定あり
			spcenterx = arydata[2];
			spcentery = arydata[3];
		}else{//マップセンター指定なし
			var spxyn = DATA[1];
			aryxyn = spxyn.split(",");
			spcenterx = aryxyn[0];
			spcentery = aryxyn[1];
		}
		// ===== 基礎部分、setCenterで中心座標とズームレベルを指定 =====
		var IDname = "map"+idname;
		var nums = new Number(spzoom);
		nums = nums + 0;
		var map = new GMap2(document.getElementById(IDname));
		map.addControl(new GLargeMapControl()); // ズームコントロール。Small で小型に
		map.addControl(new GMapTypeControl()); // 地図タイプ切り替えボタン
		map.setCenter(new GLatLng(spcenterx,spcentery), nums); // 緯度経度、ズームレベルは最大は17
		
		for(i = 1;i < DATA.length;i++){
			arysp = DATA[i].split(",");
			ido = arysp[0];
			keido = arysp[1];
			nametext = arysp[2];
		
		// ===== ポイント設置設定、前が緯度（Lat）、後が経度（Lng） =====
		// ===== ポイント１ =====
			var point = new GLatLng(ido,keido); //マーカーの位置を指定。上記の座標と同じでよい
			var strttl = '<div class="mapspotnm">' + nametext + '</div>';
			if(i == 1){
				var marker = createMarker(point,strttl);
			}else{
				var marker = createMarker_sub(point,strttl);
			}
			map.addOverlay(marker);
		}
	}
}
