﻿ var mapname = "h";
 if (location.href.match(/(index|test)\-\w/) != null) {
   mapname = location.href.replace(/.*(index|test)\-(\w).*/,"$2");
 }
 var mapcenter = new Object();
 mapcenter.toppage = new Object();
 switch (mapname) {
   case "h":
   //八王子
   mapcenter.toppage.lon = 139.33754;
   mapcenter.toppage.lat = 35.6453;
   mapcenter.toppage.zoom = 5;
   break;
   case "t":
   //東京
   mapcenter.toppage.lon = 139.710166;
   mapcenter.toppage.lat = 35.751338;
   mapcenter.toppage.zoom = 7;
   break;
   case "y":
   //横浜
   mapcenter.toppage.lon = 139.609111;
   mapcenter.toppage.lat = 35.452746;
   mapcenter.toppage.zoom = 7;
   break;
   case "k":
   //神奈川
   mapcenter.toppage.lon = 139.466972;
   mapcenter.toppage.lat = 35.397446;
   mapcenter.toppage.zoom = 7;
   break;
   case "s":
   //静岡
   mapcenter.toppage.lon = 138.78891;
   mapcenter.toppage.lat = 35.359376;
   mapcenter.toppage.zoom = 6;
   break;
 }
 mapcenter.query = new Object();
 mapcenter.query.lon = "";
 mapcenter.query.lat = "";
 mapcenter.query.zoom = 1;
 if (location.search != null && location.search != '') {
   var query = location.search.substring(1,location.search.length).split('\&');
   for (i = 0; i < query.length; i++) {
     var item = query[i].split('=');
     if (item.length == 2 && item[0] == 'lon' && isFinite(item[1])) {
       mapcenter.query.lon = parseFloat(item[1]);
     } else if (item.length == 2 && item[0] == 'lat' && isFinite(item[1])) {
       mapcenter.query.lat = parseFloat(item[1]);
     }
   }
 }

 var map = new GMap(document.getElementById("map"));
 if (mapcenter.query.lon == "" || mapcenter.query.lat == "") {
   map.centerAndZoom(new GPoint(mapcenter.toppage.lon,mapcenter.toppage.lat), mapcenter.toppage.zoom);
 } else {
   map.centerAndZoom(new GPoint(mapcenter.query.lon,mapcenter.query.lat), mapcenter.query.zoom);
   mapcenter.query.icon = new GIcon();
   mapcenter.query.icon.image="image/cross.gif";
   mapcenter.query.icon.iconSize = new GSize(20, 20);
   mapcenter.query.icon.iconAnchor = new GPoint(10, 10);
   mapcenter.query.marker = new GMarker(new GPoint(mapcenter.query.lon,mapcenter.query.lat), mapcenter.query.icon);
   map.addOverlay(mapcenter.query.marker);
 }
 map.addMapType(G_PHYSICAL_MAP);
 map.addControl(new GMapTypeControl());
 map.addControl(new GLargeMapControl())
 map.addControl(new GScaleControl());
 map.addControl(new GOverviewMapControl(new GSize(150,100)));

 var iconf;

 var baseicon = new GIcon();
 baseicon.shadow="image/fuji_shadow.png";
 baseicon.iconSize = new GSize(34,25);
 baseicon.shadowSize = new GSize(45,25);
 baseicon.iconAnchor = new GPoint(0,25);
 baseicon.infoWindowAnchor = new GPoint(15,5);
 
 var fuji_icon = new GIcon(baseicon);
 fuji_icon.image = "image/fuji.png";
 fuji_icon.transparent = "image/fuji.png";

 var fuji_r_icon = new GIcon(baseicon);
 fuji_r_icon.image = "image/fuji_r.png";
 fuji_r_icon.transparent = "image/fuji_r.png";

 var fuji_g_icon = new GIcon(baseicon);
 fuji_g_icon.image = "image/fuji_g.png";
 fuji_g_icon.transparent = "image/fuji_g.png";

 var fuji_rg_icon = new GIcon(baseicon);
 fuji_rg_icon.image = "image/fuji_rg.png";
 fuji_rg_icon.transparent = "image/fuji_rg.png";

 var fuji_y_icon = new GIcon(baseicon);
 fuji_y_icon.image = "image/fuji_y.png";
 fuji_y_icon.transparent = "image/fuji_y.png";

 var fuji_ry_icon = new GIcon(baseicon);
 fuji_ry_icon.image = "image/fuji_ry.png";
 fuji_ry_icon.transparent = "image/fuji_ry.png";

 var fuji_w_icon = new GIcon(baseicon);
 fuji_w_icon.image = "image/fuji_w.png";
 fuji_w_icon.transparent = "image/fuji_w.png";

 var fuji_rw_icon = new GIcon(baseicon);
 fuji_rw_icon.image = "image/fuji_rw.png";
 fuji_rw_icon.transparent = "image/fuji_rw.png";

function addMarker(point, html) {
  if( iconf == 1 ) var marker = new GMarker(point, fuji_r_icon);
  else if( iconf == 2 ) var marker = new GMarker(point, fuji_g_icon);
  else if( iconf == 3 ) var marker = new GMarker(point, fuji_rg_icon);
  else if( iconf == 4 ) var marker = new GMarker(point, fuji_y_icon);
  else if( iconf == 5 ) var marker = new GMarker(point, fuji_ry_icon);
  else if( iconf == 6 ) var marker = new GMarker(point, fuji_w_icon);
  else if( iconf == 7 ) var marker = new GMarker(point, fuji_rw_icon);
  else var marker = new GMarker(point, fuji_icon);

  if( html != "" ) {
    GEvent.addListener(marker, "click", function() {
      marker.openInfoWindowHtml(html);
    });
  }
  map.addOverlay(marker);

  return marker;
}

    GDownloadUrl("fuji-" + mapname + ".xml", function(data) {
      var xmlDoc = GXml.parse(data);
      var places = xmlDoc.documentElement.getElementsByTagName("place");

    for( var i=0; i < places.length ; i++ ) {
      var latitude = parseFloat(places[i].getAttribute("latitude") );
      var longitude = parseFloat(places[i].getAttribute("longitude") );
      var point = new GPoint( longitude, latitude );

      var html = "<div style='width:430px'>";
      if( places[i].getElementsByTagName("title").length != 0 ) {
        html += "<b>";
        var title = places[i].getElementsByTagName("title")[0].firstChild.nodeValue;
        if( places[i].getElementsByTagName("link").length != 0 ) {
          var link = places[i].getElementsByTagName("link")[0].firstChild.nodeValue;
          html += "<a href='" + "http://diamondfuji.d.dooo.jp/fuji/" + link + "'" +  "target='" + "_blank" + "'>" + title + "</a>";
          iconf = 1;
        }
        else {
          html += title;
          iconf = 0;
        }
        html += "</b><br>";
      }
      if( places[i].getElementsByTagName("address").length != 0 ) {
        html += "<font size='2'>";
        html += places[i].getElementsByTagName("address")[0].firstChild.nodeValue;
        html += "<br></font>";
      }
      if( places[i].getElementsByTagName("title2").length != 0 ) {
        html += "<font size='2'>";
        var title2 = places[i].getElementsByTagName("title2")[0].firstChild.nodeValue;
        if( places[i].getElementsByTagName("link2").length != 0 ) {
          var link2 = places[i].getElementsByTagName("link2")[0].firstChild.nodeValue;
          html += "<a href='" + link2 + "'" +  "target='" + "_blank" + "'>" + title2 + "</a>";
        }
        else {
          html += title2;
        }
        html += "</font><br>";
      }
      if( places[i].getElementsByTagName("title3").length != 0 ) {
        html += "<font size='2'>";
        var title3 = places[i].getElementsByTagName("title3")[0].firstChild.nodeValue;
        if( places[i].getElementsByTagName("link3").length != 0 ) {
          var link3 = places[i].getElementsByTagName("link3")[0].firstChild.nodeValue;
          html += "<a href='" + link3 + "'" +  "target='" + "_blank" + "'>" + title3 + "</a>";
        }
        else {
          html += title3;
        }
        html += "</font><br>";
      }
      if( places[i].getElementsByTagName("title4").length != 0 ) {
        html += "<font size='2'>";
        var title4 = places[i].getElementsByTagName("title4")[0].firstChild.nodeValue;
        if( places[i].getElementsByTagName("link4").length != 0 ) {
          var link4 = places[i].getElementsByTagName("link4")[0].firstChild.nodeValue;
          html += "<a href='" + link4 + "'" +  "target='" + "_blank" + "'>" + title4 + "</a>";
        }
        else {
          html += title4;
        }
        html += "</font><br>";
      }
      html += "<br><a>" + "＜ダイヤモンド富士の日時＞";
      html += "</a><br>";
      if( places[i].getElementsByTagName("diamond1").length != 0 ) {
        html += "<font size='3'>";
        html += places[i].getElementsByTagName("diamond1")[0].firstChild.nodeValue;
        html += "</font><br>";
      }
      if( places[i].getElementsByTagName("diamond2").length != 0 ) {
        html += "<font size='3'>";
        html += places[i].getElementsByTagName("diamond2")[0].firstChild.nodeValue;
        html += "</font><br>";
      }
      if( places[i].getElementsByTagName("image").length != 0 ) {
        html += "<p align='center'><img src='image/";
        html += places[i].getElementsByTagName("image")[0].firstChild.nodeValue;
        html += "' /></p>";
      }
      if( places[i].getElementsByTagName("image2").length != 0 ) {
        html += "<p align='center'><img src='image/";
        html += places[i].getElementsByTagName("image2")[0].firstChild.nodeValue;
        html += "' /></p>";
      }
      html += "</div>";

      if( places[i].getElementsByTagName("icon").length != 0 ) {
        iconf = places[i].getElementsByTagName("icon")[0].firstChild.nodeValue;
      }
     
      addMarker( point, html );
    }
  });
