﻿var points = [];
var gmarkers = [];
var htmls = [];
var now_marker;

// ===== XMLの呼出=====
function read_xml( header_flag ) { // header_flag 0:now_marker,now_place,now_infoの全表示。1:now_infoなし(map.html)
  var xmlfile = "yearth.xml";
  xmlfile += "?rand=" + Math.random();
  var request = GXmlHttp.create();
  request.open("GET", xmlfile, true);
  request.onreadystatechange = function() {
    if (request.readyState == 4) {
      var xmlDoc = request.responseXML;
      var markers = xmlDoc.documentElement.getElementsByTagName("marker");
		  max_marker = markers.length - 1;

      for (var i = 1; i < markers.length; i++) {
        var lat = parseFloat(markers[i].getAttribute("lat"));
        var lng = parseFloat(markers[i].getAttribute("lng"));
        points[i] = new GLatLng(lat,lng);
        var photo = markers[i].getAttribute("photo");
        var name = markers[i].getAttribute("name");
        var country = markers[i].getAttribute("country");
        var city = markers[i].getAttribute("city");
        var blog = markers[i].getAttribute("blog");
        var sight = markers[i].getAttribute("sight");
        var hotel = markers[i].getAttribute("hotel");
        var trans = markers[i].getAttribute("trans");
        var food = markers[i].getAttribute("food");

        if(photo == "" | photo == null){ photo = ""; }
        else{ photo = '<img src="photos/sight/s'+photo+'.jpg" width="128" height="102" align="bottom" border="0">&nbsp;'; }
        if(country == "" | country == null){ country = ""; }
        else{ country = '<img src="images/flag/flag_'+country+'.gif" width="32" height="21" border="1">&nbsp;'; }
        if(blog == "" | blog == null){ blog = ""; }
        else{ blog = '<a href="http://yumepolo.blog87.fc2.com/blog-entry-'+blog+'.html" target="_blank">日記<\/a>'; }
        if(sight == "" | sight == null){ sight = ""; }
        else{ sight = ' | <a href="http://yumepolo.com/s-'+sight+'.html#c'+city+'" target="_blank">観光<\/a>'; }
        if(hotel == "" | hotel == null){ hotel = ""; }
        else{ hotel = ' | <a href="http://yumepolo.com/h-'+hotel+'.html#c'+city+'" target="_blank">宿<\/a>'; }
        if(trans == "" | trans == null){ trans = ""; }
        else{ trans = ' | <a href="http://yumepolo.com/t-'+trans+'.html#c'+city+'" target="_blank">移動<\/a>'; }
        if(food == "" | food == null){ food = ""; }
        else{ food = ' | <a href="http://yumepolo.com/f-'+food+'.html#c'+city+'" target="_blank">食事<\/a>'; }
        var navi = blog + sight + hotel + trans + food;
        if(navi != ""){ navi = '<br/>[ '+navi+' ]'; }

        var html = photo+country+'<a href="javascript:upscale('+i+');" title="地図拡大"><img src="images/plus.png" alt="地図拡大" border="0"><\/a> <a href="javascript:downscale('+i+');" title="地図縮小"><img src="images/minus.png" alt="地図縮小" border="0"><\/a><br/><strong>'+name+'</strong>'+navi;

				var icon = 0;
				if( i == max_marker ){ icon = 1; }
        var marker = createMarker(points[i],html,i,icon);
        map.addOverlay(marker);
      }
			map.setCenter(points[max_marker],5,G_HYBRID_MAP);
      var polyline = new GPolyline(points, "#f00", 3, 0.5);
      map.addOverlay(polyline);
    }
  }
  request.send(null);
}

function createMarker(point, html, i, n) {
  var marker = new GMarker(point, icon[n]);
  GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); });
  gmarkers[i] = marker;
  htmls[i] = html;
  return marker;
}

function myclick(i) {
  gmarkers[i].openInfoWindowHtml(htmls[i]);
}
function upscale(i) {
  map.setCenter(points[i], 14, G_HYBRID_MAP);
}
function downscale(i) {
  map.setCenter(points[i], 3, G_HYBRID_MAP); 
}