//var _dispInfo = "";
var _httpoj;
var _map = null;
var _lat;
var _lng;
var _baseIcon = null;
var _maker = null;
var _makerdiv = null;
var _cname = null;
var _dispflag = false;
var _detail = false;

function dispMap(lat,lng,flag,zoom,detail){
	_map = null;
	_lat = lat;
	_lng = lng;
	_dispflag = flag;
	_detail = detail;
	
	if (GBrowserIsCompatible()) {
		_map = new GMap2(document.getElementById("map_canvas"));
		_map.setCenter(new GLatLng(lat, lng), zoom);
		_map.addControl(new GLargeMapControl());
		_map.addControl(new GMapTypeControl());

		if (!_baseIcon) {
	        _baseIcon = new GIcon();
	        _baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
	        _baseIcon.iconSize = new GSize(20, 34);
	        _baseIcon.shadowSize = new GSize(37, 34);
	        _baseIcon.iconAnchor = new GPoint(9, 34);
	        _baseIcon.infoWindowAnchor = new GPoint(9, 2);
	        _baseIcon.infoShadowAnchor = new GPoint(18, 25);
	    }
	}
	var _list = document.getElementById("resultlist").value;
	if (_list) {
		on_loaded(_list);
		if (_maker) {
			_map.setCenter(_maker[0].getLatLng(), zoom);
		}
	}
}

function createHttpRequest()
{
  if(window.ActiveXObject){
      try {
          return new ActiveXObject("Msxml2.XMLHTTP"); //[1]'
      } catch (e) {
          try {
              return new ActiveXObject("Microsoft.XMLHTTP"); //[1]'
          } catch (e2) {
              return null;
          }
       }
  } else if(window.XMLHttpRequest){
      return new XMLHttpRequest();
  } else {
      return null;
  }
}

function requestDb( data , method , url , async, func )
{
  _httpoj = createHttpRequest(); //[1]
//  _dispInfo = "";

  _httpoj.open( method , url , async ); //[2]
  _httpoj.onreadystatechange = func;

  _httpoj.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
  _httpoj.send( data ); //[3]
}

function getdata()
{
    if (_httpoj.readyState==4)  //[5]
    { 
      if (_httpoj.status==200)
      {
        on_loaded(_httpoj);
      }
    }
}

function dispInfoWin(index) {
	_maker[index].openInfoWindow(_makerdiv[index]);
}

function on_loaded(text)
{
    dispInfo = text;
    if (dispInfo != "" && _map) {
        var dispa = dispInfo.split("\t");

        index = 0;
        _maker = [];
        _makerdiv = [];
        _cname = [];

        for (i = 0; i < dispa.length; i += 7) {
        	_cname[index] = dispa[i + 2];
            var mp = new GLatLng(dispa[i + 3],dispa[i + 4]);
            var obj2 = document.createElement("div");
        	var href = "";
        	if (_detail) {
        		href = "<a href=\"contents.php?id=" + dispa[i] + "\">" +
                       "詳細&gt;&gt;</a></div>";
        	}
            obj2.innerHTML = "<div class=\"open_info\">" + 
                             "<div style=\"color: #4d4d48\">" + dispa[i + 2] + "</div><br>" +
                             dispa[i + 5] + "<br>" +
                             dispa[i + 6] + "<br>" + href;
            obj2.className="open_info_main";
            _makerdiv[index] = obj2;
            var mkr2 = createMarker(mp,index,obj2,dispa[i + 1],true);
            _maker[index] = mkr2;
            _map.addOverlay(mkr2);

            index++;
        }


        if (_dispflag && index){
        	dispInfoWin(0);
        }
    }
}

function createMarker(point, index, obj, mark, evtflg) {
  // Create a lettered icon for this point using our icon class
  var catIcon = new GIcon(_baseIcon);
  if (index < 26) {
    var letter = String.fromCharCode("A".charCodeAt(0) + index);
    catIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";
  } else {
	catIcon.image = "http://www.google.com/intl/ja_jp/mapfiles/marker.png";
//    catIcon.image = "image/marker.png";
//    catIcon.iconSize = new GSize(9,9);
  }
//  catIcon.image = "image/" + mark;
//  catIcon.iconSize = new GSize(20,21);
//  catIcon.image = "http://www.google.com/intl/ja_jp/mapfiles/marker.png";
  
  // Set up our GMarkerOptions object
  markerOptions = { icon:catIcon };
  var marker = new GMarker(point, markerOptions);

  if (evtflg) {
      GEvent.addListener(marker, "click", function() {
            marker.openInfoWindow(obj);
        	var div = document.getElementById('contentsname');
        	if (div) {
        		div.innerHTML = _cname[index];
        	}
      });
  }
  return marker;
}

function printMap(param,id) {
	if (!_map) {
		return;
	}
	
	var zoom = _map.getZoom();
	var center = _map.getCenter();
	var url = "map_print.php?" + param + "=" + id + 
	                "&zoom=" + zoom + "&lat=" + center.lat() +
	                "&lon=" + center.lng();
	var wparam = "left=0,top=0,width=750,height="+screen.height+",scrollbars=yes,location=no, menubar=yes";
	window.open(url,'雪国観光圏マップ印刷',wparam);
}
