//<![CDATA[

var map = null;
var gmarkers = [];
var htmls = [];
var i = 0;

/*
 *shopAllOnLoadMap
 *全国一欄遷移時の自動表示地図
 *fileName:(map).xml/mapLat:緯度/mapLng:経度/baseUrl:www.janpara.co.jp
 *mapZoom:縮尺
 */
function shopAllOnLoadMap(fileName,mapLat,mapLng,baseUrl,mapZoom){
  map = new GMap2(document.getElementById("map"));
  map.addControl(new GMapTypeControl());
  map.addControl(new GSmallMapControl());
  var sideBarArea = document.getElementById("sideBarArea");
  var sideBarAll = document.getElementById("sideBarAll");
  sideBarArea.innerHTML = "";
  sideBarAll.innerHTML = "";
  gmarkers = []
  htmls = [];
  i = 0;
  var request = GXmlHttp.create();
  request.open("GET", fileName, true);
  request.onreadystatechange = function() {
    if (request.readyState == 4) { 
      var xmlDoc = request.responseXML;
      var markers = xmlDoc.documentElement.getElementsByTagName("marker");
      var points = [];
      for (var i = 0; i < markers.length; i++) {
        points[i] = {
	  name: markers[i].getAttribute("shop"),
          point: new GLatLng(
            parseFloat(markers[i].getAttribute("lat")),
            parseFloat(markers[i].getAttribute("lng"))
	  ),
          content: markers[i].firstChild.nodeValue
        };
        createMarkers(points[i],sideBarArea);
        sideBarArea.innerHTML = "\<a href=\"\" onclick=\"areaLoadMap('" + baseUrl + "xml/shopinfo/allGmap.xml','40.25273897061168','141.10196113586426',6,1);return false;\">北日本</a><br /><a href=\"\" onclick=\"areaLoadMap('" + baseUrl + "xml/shopinfo/allGmap.xml','35.64055713458091',' 139.822998046875',9,2);return false;\">関東</a><br /><a href=\"\" onclick=\"areaLoadMap('" + baseUrl + "xml/shopinfo/allGmap.xml','35.06597313798418', '137.63671875',8,3);return false;\">中部</a><br /><a href=\"\" onclick=\"areaLoadMap('" + baseUrl + "xml/shopinfo/allGmap.xml','34.65919277297455', '135.51326751708984',10,4);return false;\">近畿</a><br /><a href=\"\" onclick=\"areaLoadMap('" + baseUrl + "xml/shopinfo/allGmap.xml','34.3751788753353', '132.4346923828125',8,5);return false;\">中国</a><br /><a href=\"\" onclick=\"areaLoadMap('" + baseUrl + "xml/shopinfo/allGmap.xml','33.60275311406051', '130.4333782196045',12,7);return false;\">九州</a><br />";
        sideBarAll.innerHTML = "<a href=\"\" onclick=\"shopAllLoadMap('" + baseUrl + "xml/shopinfo/allGmap.xml','" + mapLat + "','" + mapLng + "'," + mapZoom + ");return false;\">全国地図</a>";
      }
    }
  }
  map.setCenter(new GLatLng(mapLat, mapLng),mapZoom);
  request.send(null);
}
    
/*
 *createMarkers
 *全国地図/地区地図のマーカーアクション定義
 *
 */  
function createMarkers(obj,sideBarArea) {
  var icons = new GIcon();
  icons.image = "../images/shopinfo/janface.png";
  icons.iconSize = new GSize(30,24);
  icons.iconAnchor = new GLatLng(0,10);
  icons.infoWindowAnchor = new GLatLng(0,10);
  var marker = new GMarker(obj.point,icons);
  GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(obj.content);
  });
  gmarkers.push(marker);
  map.addOverlay(marker);
  i++;
}

/*
 *myclick
 *クリックアクション定義
 *
 */ 
function myclick(i) {
  gmarkers[i].openInfoWindowHtml(htmls[i]);
}

/*
 *shopAllOnLoadMapAutoEvent
 *店舗地図/詳細地図用に自動クリックを定義したもの
 *fileName:(map).xml/mapLat：緯度/mapLng：経度/sortno：自動クリックする店舗の番号
 *cd：店舗コード/post：店舗情報/mode：アクション分岐/mapZoom：緯度
 *baseUrl:www.janpara.co.jp
 */  
function shopAllOnLoadMapAutoEvent(fileName,mapLat,mapLng,sortno,cd,post,mode,mapZoom,baseUrl){
  map = new GMap2(document.getElementById("map"));
  map.addControl(new GMapTypeControl());
  map.addControl(new GSmallMapControl());
  gmarkers = []
  htmls = [];
  i = 0;
  sort = sortno;
  var request = GXmlHttp.create();
  request.open("GET", fileName, true);
  request.onreadystatechange = function() {
    if (request.readyState == 4) { 
      var xmlDoc = request.responseXML;
      var markers = xmlDoc.documentElement.getElementsByTagName("marker");
      var points = [];
      for (var i = 0; i < markers.length; i++) {
        points[i] = {
          name: markers[i].getAttribute("shop"),
          point: new GLatLng(
            parseFloat(markers[i].getAttribute("lat")),
            parseFloat(markers[i].getAttribute("lng"))
          ),
          content: markers[i].firstChild.nodeValue
        };
        post = markers[i].getAttribute("shop");
        cd = markers[i].getAttribute("shopcd");
        sortnoTrigger = markers[i].getAttribute("sortno");
        createMarkersAutoEvent(points[i],sort,cd,post,mode,baseUrl,name,sortnoTrigger);
      }
    }
  }
  map.setCenter(new GLatLng(mapLat,mapLng),mapZoom);
  request.send(null);
}

/*
 *createMarkersAutoEvent
 *マーカーアクション定義に自動クリックを定義したもの
 *
 */
function createMarkersAutoEvent(obj,sort,cd,post,mode,baseUrl,name,sortnoTrigger) {
  var icons = new GIcon();
  icons.image = "../../images/shopinfo/janface.png";
  icons.iconSize = new GSize(30,24);
  icons.iconAnchor = new GLatLng(0,10);
  icons.infoWindowAnchor = new GLatLng(0,10);
  var marker = new GMarker(obj.point,icons);
  if (mode == 2) {
    GEvent.addListener(marker, "click", function() {
      marker.openInfoWindowHtml(obj.content);
    });
  }
  if (mode == 1) {
    GEvent.addListener(marker, "click", function() {
      marker.openInfoWindowHtml("<b>" + post + "</b><br /><a onClick=' mapWindowOpen(\"" + baseUrl + "shopinfo/minimap/?shopcd=" + cd + "\"); ' >店舗詳細地図</a><br />");
    });
  }
  if (mode == 3) {
    GEvent.addListener(marker, "click", function() {
      marker.openInfoWindowHtml("<b>" + post + "</b>");
    });
  }
  gmarkers.push(marker);
  map.addOverlay(marker);
  if (sortnoTrigger == sort) {
    GEvent.trigger(marker,"click");
  }
  i++;
}

/*
 *areaLoadMap
 *エリア地図
 *fileName：(map).xml/mapLat：緯度/mapLng：経度/mapZoom：縮尺
 */
function areaLoadMap(fileName,mapLat,mapLng,mapZoom,areaCode){
  map.clearOverlays();
  var sideBarArea = document.getElementById("sideBarArea");
  sideBarArea.innerHTML = "";
  gmarkers = []
  htmls = [];
  i = 0;
  var request = GXmlHttp.create();
  request.open("GET", fileName, true);
  request.onreadystatechange = function() {
    if (request.readyState == 4) { 
      var xmlDoc = request.responseXML;
      var markers = xmlDoc.documentElement.getElementsByTagName("marker");
      var points = [];
      for (var i = 0; i < markers.length; i++) {
        if (markers[i].getAttribute("areacode") == areaCode){
          points[i] = {
            name: markers[i].getAttribute("shop"),  
            point: new GLatLng(
              parseFloat(markers[i].getAttribute("lat")),
              parseFloat(markers[i].getAttribute("lng"))
            ),
            content: markers[i].firstChild.nodeValue
          };
          createMarkerArea(points[i],sideBarArea);
        }
      }
    }
  }
  map.setCenter(new GLatLng(mapLat,mapLng),mapZoom);
  request.send(null);
}

/*
 *createMarkerArea
 *エリア用マーカー定義
 *
 */
function createMarkerArea(obj,sideBarArea) {
  var icons = new GIcon();
  icons.image = "../../images/shopinfo/janface.png";
  icons.iconSize = new GSize(30,24);
  icons.iconAnchor = new GLatLng(0,10);
  icons.infoWindowAnchor = new GLatLng(0,10);
  var marker = new GMarker(obj.point,icons);
  GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(obj.content);
  });
  gmarkers.push(marker);
  map.addOverlay(marker);
  sideBarArea.innerHTML += '<a href="javascript:myclick(' + i + ')">' + obj.name + '<\/a><br \/>';
  htmls.push(obj.content);
  i++;
}

/*
 *mapWindowOpen
 *ウィンドウ制御
 *
 */
function mapWindowOpen(openUrl){
  window.open(openUrl,"","width=620,height=710");
}

//]]>
