window.onload = initialize;

//map
var map;
//zoom flg
var zoom_flg;

// 画面初期化
function initialize() {

	init_flg = true;

	if(GBrowserIsCompatible()){
		map = new GMap2(document.getElementById("sapa_map"));
		
		map.setCenter(new GLatLng(35.5108, 136.13161), 6);
		map.addControl(new GLargeMapControl());
		//map.addControl(new GScaleControl());

		var frm = document.frm;
		var sa_all = frm.str_sa.value;
		var sa_info = sa_all.split("__");

//執行開始時間
//var start=new Date().getTime();

		for (var i=0; i<sa_info.length-1; i++) {
		    var sapa = sa_info[i].split("|");
		    var road_id = sapa[0];
		    var sp_id = sapa[1];
		    var sp_name = sapa[2];
		    var d_id = sapa[3];
		    var keido = sapa[4];
		    var ido = sapa[5];

			var point = new GLatLng(ido, keido);
			map.addOverlay(createMarker(point, road_id, sp_id, d_id, sp_name));
		}

//執行終了時間
//var end=new Date().getTime();
//var time = end - start;
//alert(time + "ミリ秒");

		GEvent.addListener(map, "zoomend", checkZoom);
		zoom_flg = false;

	}else{
		alert("ご利用のブラウザではGoogle Mapsはご利用出来ません");
	}
}

//マーカー作成
function createMarker(point, road_id, sp_id, d_id, sp_name) {
	var saObj;
	saObj = makeSaObj();
	saObj.draggable = false;
	var marker = new GMarker(point, saObj);
	var display_name;

	if (d_id == 0) {
		display_name = sp_name + "（上）";
	} else {
		display_name = sp_name + "（下）";
	}

	//GEvent.addListener(marker, 'mouseover', function() {
	GEvent.addListener(marker, 'click', function() {
		var url = "/highway/sapa_detail.php?road_id=" + road_id + "&sp_id=" + sp_id + "&d_id=" + d_id;
		var html = "<div style='width:120px;height:90px;'><a href='" + url + "'>" + display_name + "</a></div>";
		marker.openInfoWindowHtml(html);
	});

	return marker;
}

// SAのオブジェクト作成
function makeSaObj(){
    var startObj = new Object();
    startObj.icon = new GIcon();
    startObj.icon.image = "/service_parking/img/SA_002.gif";
    startObj.icon.iconSize = new GSize(20, 25);
    startObj.icon.iconAnchor = new GPoint(20, 25);
    startObj.icon.infoWindowAnchor = new GPoint(20, 25);

    return startObj;
}

// PAのオブジェクト作成
function makePaObj(){
    var endObj = new Object();
    endObj.icon = new GIcon();
    endObj.icon.image = "/service_parking/img/PA_002.gif";
    endObj.icon.iconSize = new GSize(20, 25);
    endObj.icon.iconAnchor = new GPoint(20, 25);
    endObj.icon.infoWindowAnchor = new GPoint(20, 25);

    return endObj;
}

function createPAMarker(point, road_id, sp_id, d_id, sp_name) {
	var paObj;
	paObj = makePaObj();
	paObj.draggable = false;
    var marker = new GMarker(point, paObj);
	var display_name;

	if (d_id == 0) {
		display_name = sp_name + "（上）";
	} else {
		display_name = sp_name + "（下）";
	}

    //GEvent.addListener(marker, 'mouseover', function() {
    GEvent.addListener(marker, 'click', function() {
        var url = "/highway/sapa_detail.php?road_id=" + road_id + "&sp_id=" + sp_id + "&d_id=" + d_id;
        var html = "<div style='width:120px;height:90px;'><a href='" + url + "'>" + display_name + "</a></div>";
        marker.openInfoWindowHtml(html);
    });

    return marker;
}

//Zoom in or out の処理
function checkZoom(oldZoom, newZoom){
	var zoom = map.getZoom();

	if(zoom>=8 && !zoom_flg){
		zoom_flg = true;
		var frm = document.frm;
		var pa_all = frm.str_pa.value;
		var pa_info = pa_all.split("__");

		for (var i=0; i<pa_info.length-1; i++) {
			var sapa = pa_info[i].split("|");
			var road_id = sapa[0];
			var sp_id = sapa[1];
			var sp_name = sapa[2];
			var d_id = sapa[3];
			var keido = sapa[4];
			var ido = sapa[5];

			var point = new GLatLng(ido, keido);
			map.addOverlay(createPAMarker(point, road_id, sp_id, d_id, sp_name));
		}
	}
}
