//<![CDATA[
var map;
var center;
var zoomLevel;

var gmarkers = [];
var htmls = [];
var side_bar_html = "";

var mapflag = 0;
var pos = 0;

var xhrObj;

function gLatLng(){
 	center = map.getCenter();
// 	var latLngStr = '[ 経度 : ' + center.lng() + ' / 緯度 :  ' + center.lat() + ']';
// 	id("latlon").innerHTML = latLngStr;
}
function gZoom(){
 	zoomLevel = map.getZoom();
//	var zoomText =  "Level : " + zoomLevel;
// 	id("zoomLevel").innerHTML = zoomText;
}

function myclick(pos) {
  gmarkers[pos].openInfoWindowHtml("<div style='width:250px;'>"+htmls[pos]+"</div>");
}

function createMarker(point,html,icon,image,lat,member) {
	var marker = new GMarker(point,icon);
	map.addOverlay(marker);
	GEvent.addListener(marker, "mouseover", function() {
		marker.openInfoWindowHtml("<div style='width:250px'>"+html+"</div>");
	});
  //マーカーにマウスアウトイベント追加
//  GEvent.addListener(marker, "mouseout", function() {
      //吹き出し非表示
//      marker.closeInfoWindow();
//  }); 
	if(lat>0){
		gmarkers[pos] = marker;
		htmls[pos] = html;

		side_bar_html += "<a href='javascript:myclick(" + pos + ")'><img src='" + image + "' width='25' height='25' /></a>";
		pos++;
	}
}

function xmlGetAndPoint(){
//XML取得
  xhrObj = getXhrObj();
  xhrObj.open("get", "map.xml");
//  xhrObj.open("get", "makexml.php");
  xhrObj.setRequestHeader("If-Modified-Since", "01 Jan 2000 00:00:00 GMT");
  xhrObj.onreadystatechange = function() {
  	if(xhrObj.readyState == 4 && xhrObj.status == 200){

  		if(mapflag == 0){
				map.clearOverlays();
				mapflag = 1;
				pos = 0;
				gmarkers = [];
				htmls = [];
				side_bar_html = "";
 				id("twitlist").innerHTML = side_bar_html;
 				id("message").innerHTML = "&nbsp;";
			}

  		var res = xhrObj.responseXML.documentElement;
			var markers = res.getElementsByTagName("marker");
  		for (var i = 0; i < markers.length; i++){
  			var lng = markers[i].getAttribute("lng");
  			var lat = markers[i].getAttribute("lat");
        var html = markers[i].getAttribute("html");
        var member = markers[i].getAttribute("member");
        var image = markers[i].getAttribute("image");
        var region = markers[i].getAttribute("region");

  			var point = new GLatLng(lat,lng);
				//アイコン表示
				var icon = new GIcon();
				icon.image = image;
				icon.shadow = "./images/shadow.png";
				icon.iconSize = new GSize(40, 40);
				icon.shadowSize = new GSize(40, 52);
				icon.iconAnchor = new GPoint(20, 52);
				icon.infoWindowAnchor = new GPoint(20, 25);
			  createMarker(point,html,icon,image,lat,member);
  		}
 			id("twitlist").innerHTML = side_bar_html;

  	}
  }
  xhrObj.send(null);
}

//タイマー処理
function pointClear(){
	mapflag = 0;

 	id("message").innerHTML = "<img src='images/loading.gif'>読み込み中...";

//XML取得&マーカー表示
	xmlGetAndPoint();

}

function initOnLoad(){
  map = new GMap2(id("map"));
  map.setCenter(new GLatLng(34.980502,138.306885), 9);
	map.addControl(new GLargeMapControl());
  map.addControl(new GMapTypeControl());

	xmlGetAndPoint();

	gLatLng();
  GEvent.addListener(map, "moveend", function(){gLatLng();});
	gZoom();
	GEvent.addListener(map, "zoomend", function(){gZoom();});

	var timerID = window.setInterval(function(){pointClear();},60000);
}

setListener(window, "load", initOnLoad);
//]]>
