// 必要な変数の準備
var map         = null; // GoogleMapを呼び出す
var gGeo     = null; // 住所より緯度経度を取得する
var lttd = null;
var lgtd = null;
var zoom = null;



/*
 * 施設確認画面
 *	GMapの表示
 */
function confirm_map(){

	if(document.getElementById("lttd")){
		lttd = document.getElementById("lttd").value;
	}
	if(document.getElementById("lgtd")){
		lgtd = document.getElementById("lgtd").value;
	}
	if(document.getElementById("zoom")){
		zoom = parseInt(document.getElementById("zoom").value);
	}
	else{
		zoom = 14;
	}

	//alert(lttd+","+lgtd);


	if(lttd && lgtd){


		if (GBrowserIsCompatible()) {

			init_Gmap();

			//デフォルトの拡大率
			if(zoom == 0){
				zoom = 14;//農林水産版
			}

			//地図の中心地を設定
	        map.setCenter(new GLatLng(lttd, lgtd), zoom);

			var gpObj = new GLatLng(lttd, lgtd);
			var marker = new GMarker(gpObj);
			map.addOverlay(marker);
		}
	}


}

/*
 * 施設入力画面
 *	カレンダー・GMapの表示
 */
function input_map(){

	if(document.getElementById("lttd")){
		lttd = document.getElementById("lttd").value;
	}
	if(document.getElementById("lgtd")){
		lgtd = document.getElementById("lgtd").value;
	}
	if(lttd && lgtd && document.getElementById("zoom")){
		zoom = parseInt(document.getElementById("zoom").value);
	}
	else{
		zoom = 14;
	}

	//GMap表示
	if (GBrowserIsCompatible()) {

		init_Gmap();

		//中心点設定
		if(lttd && lgtd){
			//編集時は登録済みの中心点を設定
	        map.setCenter(new GLatLng(lttd, lgtd), zoom);

		}
		else{
			// 初期地点をOABに指定
	        map.setCenter(new GLatLng(33.2492404, 131.6054475), zoom);

		}

		//アイコンの設定
		iconObj = new GIcon();
		iconObj.iconSize = new GSize(20,20);//アイコンのサイズ
		iconObj.iconAnchor = new GPoint(10, 10);//アイコンの地図との相対座標
		iconObj.image = "/admin/img/centerMarker.gif";


		//マップの中心点を取得
		gpObj = map.getCenter();

		//センターマーカーの表示
		center_marker = new GMarker( gpObj , iconObj );
		map.addOverlay( center_marker );

		//移動終了後のイベントを追加
		GEvent.addListener( map , "moveend" , function(){

			map.removeOverlay( center_marker );
			center_marker = new GMarker( map.getCenter() , iconObj );
			map.addOverlay( center_marker );

		} );

		//クリックした中央座標をテキストボックスに表示
		GEvent.addListener(map, "move", function(){
			var x = (map.getCenter()).lat();
			var y = (map.getCenter()).lng();
			var zm = map.getZoom();

			document.getElementById("lttd").value = x;
			document.getElementById("lgtd").value = y;
			document.getElementById("zoom").value = zm;

		} );

    }

}


/*
 * マップ：初期処理
 *
 */
function init_Gmap(){

		map = new GMap2(document.getElementById("map"));

		// 地図のコントロールを設定
		map.addControl(new GLargeMapControl());

		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());
		map.addControl(new GOverviewMapControl(new GSize(100,100)));

		//ジオコーディングオブジェクトの生成
		gGeo = new GClientGeocoder();

		//不要なコントロールを隠す
		var ctrl_kiyaku = document.getElementById("map").childNodes[1];
		var ctrl_goo = document.getElementById("map").childNodes[2];
		ctrl_kiyaku.style.visibility = "hidden";
		ctrl_goo.style.visibility = "hidden";

		//アイコンの表示非表示を設定
		//GEvent.addDomListener(document.getElementById("map"), "mouseover", showCtrl);
		//GEvent.addDomListener(document.getElementById("map"), "mouseout", hideCtrl);

}




/*
 * マップ：コントロールを表示
 *
 */
function showCtrl()
{
	var ctrl_scale = document.getElementById("map").childNodes[3];
	var ctrl_mode = document.getElementById("map").childNodes[4];
	ctrl_scale.style.visibility = "visible";
	ctrl_mode.style.visibility = "visible";
}


/*
 * マップ：コントロールを隠す
 *
 */
function hideCtrl()
{
	var ctrl_scale = document.getElementById("map").childNodes[3];
	var ctrl_mode = document.getElementById("map").childNodes[4];
	ctrl_scale.style.visibility = "hidden";
	ctrl_mode.style.visibility = "hidden";
}


/*
 * マップ：住所検索用
 *
 */
function searchPoint() {
document.getElementById("result").innerHTML = "※検索中です...";
var address = document.getElementById("map_location").value;
gGeo.getLatLng(address, checkGeo);
}

function checkGeo(point) {
if (point) {

	var zm = map.getZoom();

	map.setCenter(point, zm);
	document.getElementById("result").innerHTML = "※中央が該当地点です";
	}else{
	document.getElementById("result").innerHTML = "※見つかりませんでした";
	}
}


