//  --------------------------------------------------------------------
// 　変数
//  --------------------------------------------------------------------
var gmarkers = new Array();
var gicon;
var map;
var baseURL = "http://www.tse-kids.jp/";
var baseURL = "http://www.tse-kids.jp/";

var xmlDoc;
var markers;

//  --------------------------------------------------------------------
// 　
//  --------------------------------------------------------------------
function setMap(mode,defLat,defLng) {
	if (GBrowserIsCompatible()) {
	
		// マップ生成 ---------------------------------------------------
		map = new GMap2(document.getElementById("map"));


		// 座標取得モード ---------------------------------------------------
        if(mode == "normal"){

            // 中心位置設定 ---------------------------------------------------
            map.setCenter(new GLatLng(35.682861, 139.778624), 4);
        
			setExposition();
			
		}else{
            // 中心位置設定 ---------------------------------------------------
            map.setCenter(new GLatLng(35.682861, 139.778624), 4);

             // 検索窓追加 ---------------------------------------------------
            map.addControl(new google.maps.LocalSearch(), new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,20)));

            // 中心点追加 ---------------------------------------------------
            setCentermarker();

        }


		// インターフェース追加 ---------------------------------------------------
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());


        // アイコンデータ ---------------------------------------------------
        setIcon(map.getZoom());


		// XML呼び出し ---------------------------------------------------
		GDownloadUrl(baseURL+"report/gmap_data.xml?"+Math.random(), function(doc) {
			xmlDoc = GXml.parse(doc);
			markers = xmlDoc.documentElement.getElementsByTagName("marker");
	
			// アイコン配置 ---------------------------------------------------
            putonIcon();
		});
		

		
		// ズーム変化のイベント ---------------------------------------------------
        GEvent.addListener(map, "zoomend", function(oldLevel, newLevel) {
			setIcon(newLevel);
			putonIcon();

        });


	}
}


// アイコン配置 ---------------------------------------------------
function putonIcon(){
	map.clearOverlays();

	for (var i = 0; i < markers.length; i++) {
		var lat = parseFloat(markers[i].getAttribute("lat"));
		var lng = parseFloat(markers[i].getAttribute("lng"));
		var point = new GLatLng(lat,lng);
		var id = markers[i].getAttribute("id");
		var html = markers[i].getAttribute("html");
		var marker = createMarker(point,id,html);
		map.addOverlay(marker);
	}
}

// アイコンデータ設定 ---------------------------------------------------
function setIcon(zoomLv) {
    var baseIcon = new GIcon();
	gicon = new GIcon(baseIcon);
    
    if(zoomLv >= 12){
        gicon.image = baseURL+"report/img/icon_L.gif"
        gicon.iconSize = new GSize(61, 51);
        gicon.iconAnchor = new GPoint(30, 25);
        gicon.infoWindowAnchor = new GPoint(30, 0);
        gicon.printImage = baseURL+"report/img/icon_L.gif";
        gicon.mozPrintImage = baseURL+"report/img/icon_L.gif";
        gicon.infoShadowAnchor = new GPoint(30, 0);    
    }else{
        gicon.image = baseURL+"report/img/icon_S.png"
        gicon.iconSize = new GSize(34, 34);
        gicon.iconAnchor = new GPoint(17, 17);
        gicon.infoWindowAnchor = new GPoint(17, 17);
        gicon.printImage = baseURL+"report/img/icon_S.png";
        gicon.mozPrintImage = baseURL+"report/img/icon_S.png";
        gicon.infoShadowAnchor = new GPoint(17, 17);
    }


}

function createMarker(point,id,html) {
	var marker = new GMarker(point,gicon);
	marker.myname = id;
	marker.myhtml = html;
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);
	});
	gmarkers.push(marker);

	return marker;
}


//  --------------------------------------------------------------------
// 　座標取得
//  --------------------------------------------------------------------

function getMapXY() {
	LatLngObj = map.getCenter();
	document.getElementById("mapX").value = (Math.round((LatLngObj.x+0.0000009)*1000000)/1000000);
	document.getElementById("mapY").value = (Math.round((LatLngObj.y+0.0000009)*1000000)/1000000);
}

function setCentermarker(){
	var markObj = document.createElement("div");
	var mapW = parseInt(map.getContainer().style.width);
	var mapH = parseInt(map.getContainer().style.height);
	var markW = 31; // センターマークの横幅（ピクセル数）
	var markH = 31; // センターマークの縦幅（ピクセル数）
	var x = (mapW - markW) / 2; // センターマークの中心位置（X座標）
	var y = (mapH - markH) / 2; // センターマークの中心位置（Y座標）
	markObj.style.position = "absolute";
	markObj.style.top = y+"px";
	markObj.style.left = x+"px";
	markObj.style.backgroundImage = "URL(../report/img/centerMark.gif)";
	markObj.style.width = markW+"px";
	markObj.style.height = markH+"px";
	markObj.style.opacity = 0.5;
	map.getContainer().appendChild(markObj);	
}

function setExposition(){
	var markObj = document.createElement("div");
	var mapW = parseInt(map.getContainer().style.width);
	var mapH = parseInt(map.getContainer().style.height);
	var markW = 500; // センターマークの横幅（ピクセル数）
	var markH = 74; // センターマークの縦幅（ピクセル数）
	var x = (mapW - markW) / 2; 
	var y = mapH - 110;
	markObj.style.position = "absolute";
	markObj.style.top = y+"px";
	markObj.style.left = x+"px";
	markObj.style.backgroundImage = "URL(../report/img/exposition.png)";
	markObj.style.width = markW+"px";
	markObj.style.height = markH+"px";
	markObj.style.opacity = 1;
	map.getContainer().appendChild(markObj);	
}
