//<![CDATA[
var gmap;
var gmarker = {};

function gmapLoad(mapid, entno) {
	if (GBrowserIsCompatible()) {
		var opts = {mapTypes : [G_NORMAL_MAP,G_HYBRID_MAP]};
		gmap = new GMap2(document.getElementById(mapid), opts);
		gmap.enableContinuousZoom();
		gmap.enableDoubleClickZoom();
		gmap.addControl(new GLargeMapControl());
		gmap.addControl(new GScaleControl());
		gmap.addControl(new GMapTypeControl());
		gmapReWriteCenter(entno);
	}
}

function gmapReWriteCenter(entno) {
	var async = false;
	sendRequest(gmapReWriteCenterCallback, "&fnc=2&entno=" + entno, 'POST', "./lib/gmap_search.php", async, false);
}

function gmapReWriteCenterCallback(resJSON) {

	// サーバーから取得した値をGoogleMapに反映する
	eval('var jsonData=' + decodeURIComponent(resJSON.responseText));
	
	if (jsonData.error == "") {

		// マーカー座標設定
		var zoom		= jsonData.googlezoom;
		var maptype	= jsonData.googletype;
		var lat			= jsonData.googleido;
		var lng			= jsonData.googlekeido;
		gmapSetCenter(zoom, maptype, lat, lng)

		// マーカーアイコン設定
		var icon = new GIcon();
		icon.image = "./img/pin_03.png";
		icon.iconSize = new GSize(26, 30);
		icon.iconAnchor = new GPoint(6, 20);
		icon.infoWindowAnchor = new GPoint(6, 20);

		// マーカー生成
		var mOption = {icon:icon, title:jsonData.point};
		var marker = new GMarker(new GLatLng(lat, lng), mOption);
		gmap.addOverlay(marker);
	}
	else {
		gmapClearMarker();
		alert(jsonData.error);
	}
}

function gmapSetCenter(zoom, maptype, lat, lng) {
	if(zoom == undefined) zoom = gmap.getZoom();

	var mtype;
	switch (maptype) {
		case 'map':
			mtype = G_NORMAL_MAP;
			break;
		case 'satellite':
			//mtype = G_SATELLITE_MAP;
			mtype = G_HYBRID_MAP;
			break;
		case 'hybrid':
			//mtype = G_SATELLITE_MAP;
			mtype = G_HYBRID_MAP;
			break;
		default:
			mtype = G_NORMAL_MAP;
			break;
	}

	gmap.setCenter(new GLatLng(lat, lng), Number(zoom));
	gmap.setMapType(mtype);
	gmapClearMarker();
}

function gmapClearMarker() {
	gmap.clearOverlays();
	delete gmarker;
	gmarker = {};
}
//]]>

