//<![CDATA[

// 以下ページを参考に改造
// http://perltips.twinkle.cc/ajax/movable_type_google_maps.php

var BASE_URL = "http://roji-kamakura.net";

// 出力ファイル
var GMAP_FILE = "/gmap.xml";

// アイコン記事が空のときのデフォルトアイコンをセット
var ICON_DEFAULT = "/img/gmap/marker.png";
var ICON_SHADOW = "/img/gmap/map-icon-shadow.png";

var map;
var baseicon;
var xmlHttp;

function init() {


	map      = new GMap2(document.getElementById("map"));
	baseicon = new GIcon();  // アイコン
	xmlHttp  = GXmlHttp.create(); // XmlHttpRequest

	// 地図の中心点と縮尺を指定(縮尺は数字が大きいほど拡大図に)
	if(location.href.indexOf('/info/') != -1){
		map.setCenter(new GLatLng(35.324825,139.558597), 16); //
	}else{
		map.setCenter(new GLatLng(35.324825,139.558082), 15); //
	}

	// 地図を設定
	map.addControl(new GSmallMapControl());
	map.enableDoubleClickZoom();
	map.enableScrollWheelZoom();

	// アイコンを設定
	baseicon.image            = BASE_URL + ICON_DEFAULT;
	baseicon.shadow           = BASE_URL + ICON_SHADOW;
	baseicon.iconSize         = new GSize (32, 32);
	baseicon.shadowSize       = new GSize (59, 32);
	baseicon.iconAnchor       = new GPoint(16, 32);

	// アイコンの座標に対する画像左上からの相対位置
	baseicon.infoWindowAnchor = new GPoint( baseicon.iconSize.width /2, baseicon.iconSize.height /2 );
   
	// マーカーを設定: XML データを読み込んで表示
	xmlHttp.open("GET", BASE_URL + GMAP_FILE,  true);
	xmlHttp.onreadystatechange = showMarkers;
	xmlHttp.send(null);
}

function showMarkers() {

    if (xmlHttp.readyState == 4) {

        var xmlDoc = xmlHttp.responseXML;
        var marker = xmlDoc.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < marker.length; i++) {
            addMarker(marker[i]);
        } // End of for
    }
}

function GLatLng_tky(la,ln){
        var lat = la - la * 0.00010695  + ln * 0.000017464 + 0.0046017;
        var lng = ln - la * 0.000046038 - ln * 0.000083043 + 0.010040;
        return new GLatLng(lat,lng);
}


function addMarker(xml) {

    var point  = new GLatLng(xml.getAttribute("lat"),xml.getAttribute("lng"));
    if(xml.getAttribute("icon")){
      baseicon.image = BASE_URL + xml.getAttribute("icon");
    }else{
      baseicon.image = BASE_URL + ICON_DEFAULT;
    }
    var icon   = new GIcon(baseicon);
    var marker = new GMarker(point, icon);
    map.addOverlay(marker);
    var html   = '<div id="InfoWindow">'
	           + '<h4>'
               + xml.getAttribute("name")
               + '</h4><h3><a href="'
			   + xml.getAttribute("link") 
			   + '">'
               + xml.getAttribute("eventtitle") 
               + '</a></h3><p>［'
			   +xml.getAttribute("categories")
			   +'］</p>'
               + '</div>';

	//var strTmp = document.referrer;
	//alert(strTmp.replace(/.*\/([^\/]+)\.html/,'$1'));

	GEvent.addListener(marker, "click", function() {
	    //  marker.showMapBlowup(3);
	    //  map.centerAndZoom(p, 3);
		marker.openInfoWindowHtml(html);
	}); 

	// 詳細ページから戻ってきたときはフキダシを開いておきたい
	if(xml.getAttribute("link") == document.referrer){
	//alert(document.referrer);
		// 地図アンカーへ戻ったときのみ開くように変更
		// マップ戻しの"?"対応をしたので"#map"を変更
		if(location.href.indexOf('?map') != -1){
			GEvent.trigger(marker,'click'); 
		}
	}
}
//]]>
