﻿	var east    = 0;
    var north   = 0;
    var scale   = 0;
	var map;
	var bounds;
    var height;
    var width;
    var site = new Array();
    var points1 = new Array();
    var sitenmbr = 0;
    var line =  "";
var mark0 = new Array("transp","arw_blue","arw_green","arw_red","pnt_crossblue","pnt_crossgreen","pnt_crossred","pnt_black","pnt_red","pnt_brown","pnt_green","pnt_blue","pnt_violet","pnt_blding1","pnt_blding2","pnt_gakkou","pnt_book","pnt_museum","pnt_kouen","pnt_shiseki","pnt_kinenhi","pnt_sports","pnt_kodomo","pnt_jiin","pnt_jinja","pnt_shop","pnt_byouin","pnt_keisatsu","pnt_shoubou","pnt_koujou","pnt_bus");
var marknmbr  = 31;

function mapdsp(east,north,scale){

	     map = new GMap2(document.getElementById("map"));
         map.addControl(new GLargeMapControl());
         map.addControl(new GMapTypeControl());
         map.setCenter(new GLatLng(eval(north), eval(east)),eval(scale));
         mapdetail();
         GEvent.addListener(map, "moveend", function(){mapdetail();});

}
function mapdetail(){
         var center = map.getCenter();
         scale      = map.getZoom();
         var zooma  = 0.75*Math.pow(2,19-scale);
         east    = Math.round(center.x*100000)/100000;
         north   = Math.round(center.y*100000)/100000;
         var zoomc     = zooma*10
         var kaizoudo  = screen.deviceXDPI;
         var zoomb = Math.floor(zooma*kaizoudo/80+0.5);
         var latLngStr = '中央点の経度・緯度・縮尺：(' + east + '_' + north + '_' + scale + ')<br />縮尺係数：'+scale+'（約 '+zoomb*1000+' 分の 1、1 cm '+zoomb*10+' m、解像度：'+kaizoudo+'）';
         if(mapmsg != "no"){ 
             document.getElementById("message").innerHTML = latLngStr;
             document.getElementById("mapscale").innerHTML = "１目盛："+zoomc+"m　（計："+zoomc*10+"m）";
         }
         m01.east.value    = east;
         m01.north.value   = north;
         m01.scale.value   = scale;
}
function createMarker(point,title,email,mark,tel,link,comment){
        if(mark != ""){
            var icon   = new GIcon();
            mark3 = mark.split("_SP1_");
            icon.image = mark3[2];
            icon.iconSize = new GSize(mark3[0],mark3[1]);
            icon.iconAnchor = new GPoint(10,10);
            icon.infoWindowAnchor = new GPoint(10,10);
            var marker = new GMarker(point,icon);
         }
         else{
            var marker = new GMarker(point);
         }
  // Show this marker's index in the info window when it is clicked.
         if(email != ""){email= "<a href='mailto:"+email+"'>"+email+"</a>";}
         if(link != ""){title = "<a href='"+link+"' target='_blank'>"+title+"</a>";}
         var html = "<strong>" + title + "</strong><br /><br />"+tel+"<br />"+email+"<br />"+comment;
         GEvent.addListener(marker, 'click', function() {marker.openInfoWindowHtml(html);});
         return marker;
}
    
function dspgroup0(group){
         dspclear()
         location.href = "#map1";
         dspgrparea(group);
         dspgroup(group);
}
function dsppoint0(i){
         dspclear()
         location.href = "#map1";
         dsppntarea(i);
/*       site = Array(); */
         dsppoint(i);
}
function dspline0(group){
         dspclear()
         location.href = "#map1";
         dspgrparea(group);
         dspline(group);
}
function dspgrparea(group){                          /* cg_49a1brd00.html */
         if(group == "all"){
              dsppntarea(0);
         }
         else{
             var nmbr = document.m01.datanmbr.value;
             for (i=0;i<nmbr;i++){
                 var fld  = datatable[i].split("_SP_");
                 var fld0 = fld[0].split("_SPS_");
                 if((fld[16].indexOf("group")>=0 || fld[16].indexOf("route")>=0) && group == fld0[0].substr(0,2)){
                     break;
                 }
              }
              dsppntarea(i);
          }
}

function dsppntarea(i){                             /* cg_49a1brd00.html */
          var fld  = datatable[i].split("_SP_");
          var fld15  = fld[15].split("_");
/*        if(eval(fld15[2])<9){fld15[2]=17-eval(fld15[2]);}
          document.write("FFFF"+fld15[0]+"　"+fld15[1]+"　"+fld15[2]);*/
          dsparea(fld15[0],fld15[1],fld15[2]);
/*        document.write("GGGG");*/
     }

     function dsparea(east0,north0,scale0){              /* cg_49nmapv2.html */
/*          document.write("HHHH");*/
          if(east0 == document.m01.east.value && north0 == document.m01.north.value && scale0 == document.m01.scale.value){
              return;
          }
/*        document.write("JJJJ");*/
          if(east0  == 9){east0  = m01.east.value;}
          if(north0 == 9){north0 = m01.north.value;}
          if(scale0 == 9){scale0 = m01.scale.value;}
          
          if(GBrowserIsCompatible()){
	             mapdsp(east0,north0,scale0);
          }
}

function dspgroup(group){                           /* cg_49nmapv2.html *//* cg_49a1brd00.html */
/*       site = Array();*/
         var nmbr = document.m01.datanmbr.value;
/*       datatable = datatable.reverse(); */
         for (i=0;i<nmbr;i++){
             if(group == "all"){
                  dsppoint(i);
             }
             else{
                  var fld  = datatable[i].split("_SP_");
                  var fld0 = fld[0].split("_SPS_");

/*                var head = fld0[3].split("_");
                  if(group == head[0]){   */
                  var head0 = fld0[0].substr(0,2);
                  if(group == head0 && (filecode.substr(0,2) != "p_" || fld0[0].substr(6,1) != "n")){ 
                       dsppoint(i);
                  }
             }
         }
}

function dsppoint(i){                                 /* cg_49nmapv2.html */
         var fld  = datatable[i].split("_SP_");
         if(fld[15].indexOf("_")>0 && fld[15].indexOf(".html")<0){
             var fld15  = fld[15].split("_");
             if(work == "display" && (fld[16].indexOf("center")>=0  || fld[16].indexOf("group")>=0  || fld[16].indexOf("route")>=0 || fld[16].indexOf("transp.gif")>=0 || fld[16] == "" )){return;}
/*           else if(work == "inputform" && (fld[16] == "center" || fld[16].indexOf("group")>=0 || fld[16].indexOf("route")>=0)){fld[16] = "";}*/
             else if(work == "inputform" && (fld[16] == "center" || fld[16].indexOf("group")>=0 || fld[16].indexOf("route")>=0)){fld[16] = "";}

             else{fld[16] = fld[16].replace("MAPMARK",fld[27]);}
             var point  = new GPoint(fld15[0],fld15[1]);
             var marker = createMarker(point,fld[2],fld[4],fld[16],fld[17],fld[19],fld[21]);
             map.addOverlay(marker);
             site[i] = "yes";
         }
}
function dspline(group){                                 /* cg_49nmapv2.html */
         var points = [];
         var pntnmbr = 0;
         var nmbr = document.m01.datanmbr.value;
         for (i=0; i<nmbr;i++){
              var fld  = datatable[i].split("_SP_");
              var fld0 = fld[0].split("_SPS_");
    /*        var head = fld0[3].split("_"); */
              var head = fld0[0].split("_"); 
              if(fld[15].indexOf("_")>0 && (group == "all" || group == head[0])){
                  var fld15  = fld[15].split("_");
                  if(fld[16] != "center"  && fld[16] != "group" && fld[16] != "route"){
                       if(fld15[3] == "rt"){
                            points.push(new GPoint(fld15[0],fld15[1]));
                            pntnmbr++;
                       }
                  }
              }
         }
         if(pntnmbr > 1){
              map.addOverlay(new GPolyline(points,"#00ff00",4,0.7));
              points1 = points;
              line = "yes";
         }
}

function dsplineA(group,color1){                                 
         if(color1 == ""){color1 = "#00ff00";}
         var points = [];
         var pntnmbr = 0;
         var nmbr = document.m01.datanmbr.value;
         for (i=0; i<nmbr;i++){
              var fld  = datatable[i].split("_SP_");
              var fld0 = fld[0].split("_SPS_");
              var head = fld0[0].split("_"); 
              if(fld[15].indexOf("_")>0 && (group == "all" || group == head[0])){
                  var fld15  = fld[15].split("_");
                  if(fld[16] != "center"  && fld[16] != "group" && fld[16] != "route"){
                       if(fld15[3] == "rt"){
                            points.push(new GPoint(fld15[0],fld15[1]));
                            pntnmbr++;
                       }
                  }
              }
         }
         if(pntnmbr > 1){
              map.addOverlay(new GPolyline(points,color1,4,0.7));
              points1 = points;
              line = "yes";
         }
}


function arearedraw(east0,north0,scale0){             /* cg_49nmapv2.html */
             if(east0  == 9){east0  = m01.east.value;}
             if(north0 == 9){north0 = m01.north.value;}
             if(scale0 == 9){scale0 = m01.scale.value;}
             if(GBrowserIsCompatible()){
        	        mapdsp(east0,north0,scale0);
	         }
             var nmbr = document.m01.datanmbr.value;
             if(nmbr == ""){nmbr = 0;}
             for(i=0;i<nmbr;i++){
                 if(site[i] == "yes"){
                      dsppoint(i);
                 }
             }
             if(line =="yes"){
                 map.addOverlay(new GPolyline(points1,"#00ff00",4,0.7));
  /*             dspline();*/
             }
}
function dspclear(){                                    /* cg_49nmapv2.html */
         map.clearOverlays();
         site = Array();
         line = "";
}

function mapexp(){
     document.write("<li>最初のレコードは、「2-タイトル」欄：ファイル表題、、「15-位置」欄：地図初期表示（中心点・縮尺、下記により自動記入）、「16-マーク」欄：「 center 」（非表示）。</li>");
     document.write("<li>大分類名を記入するレコードは、「2-タイトル」欄：大分類名、「15-位置」欄にはその大分類内の全地点を表示する地図（中心位置・縮尺、下記により自動記入）、<br />「16-マーク」欄：「 center 」（非表示）、「group」(大分類内全地点表示用)、「route」(大分類内ルート表示用)</li>");
     document.write("<li>その他、「15-位置欄」は、<ol><li><strong>新規</strong> の場合、広域地図上でおおよその点をダブルクリック（中央に移動します。）");
     document.write("<br /><strong>変更</strong> の場合、「表示」をクリック、現在記録されている地図を表示します。</li>");
     document.write("<li>縮尺係数「17」をクリック、この詳細地図上で正確な点をダブルクリック（中央に移動し、経度・緯度が変更されます。）</li>");
     document.write("<li>縮尺係数「17」～「11」から表示用の数字をクリック、変更します。</li>");
     document.write("<li>登録リスト該当欄末尾の「記入」をクリックしてください。自動的に記入されます。</li>");
/*   document.write("<li>「ルート表示」に含めるためには、縮尺計数の後に「 _rt 」を追記します。</li></ol></li>");*/
     document.write("<li>既成の<B>地図（地点・ルート）</B>へのリンクは、「19-URL」欄に html ファイル の　URL（http://・・・・・・.html）を記入します。別画面で表示されます。</li></ol></li>");
     document.write("<li>「16-マーク」欄は<ul><li><form name='fmark'> ");
     for(j=0;j<marknmbr;j++){
         var markh=20;
         var markv=20;
         if(mark0[j].indexOf("arw")>=0){markv=30;}
         var markc="";
         if(j==0){markc="なし"}
         document.write("<nobr><input type='radio' name='mark1' value='"+markh+"_SP1_"+markv+"_SP1_../../f21cgi30/googlev2/imgmap/"+mark0[j]+".gif' /><img src='../../f21cgi30/googlev2/imgmap/"+mark0[j]+".gif' />"+markc+"、</nobr>");
     }
     document.write("</form>のいずれかを選択して登録リスト該当欄末尾の「記入」をクリックしてください。<br /></li>");
     document.write("<li>または、横・縦サイズおよび画像URLを「 _SP1_ 」で区切って記入できます。画像の URL（相対・絶対：http://・・・・・・.gif）の代わりに、(川崎百景の場合を除き）「 MAPMARK 」と記入して別途「 26/27-添付ファイル」からアップロードもできます。");
     document.write("<br />横・縦サイズは、通常 「 20_SP1_20_SP1_画像URL 」ですが、20x40、100x20、100x75、など自由に");
     document.write("<br />画像左上端から各10px が正確な位置になります。（矢印は先端）</li></ul></li>");
     document.fmark.mark1[0].checked = true;
}
function entry15(i){
     var east0  = document.m01.east.value;
     var north0 = document.m01.north.value;
     var scale0 = document.m01.scale.value;
     document.f01.entry[i*col+15].value = east0 + "_" + north0 + "_" + scale0;
}
function entry16(i){
    var chk = 0;
    document.f01.entry[i*col+16].value =  document.fmark.mark1[0].value; 
    for(k=0;k<marknmbr;k++){
         if(document.fmark.mark1[k].checked == true){
             document.f01.entry[i*col+16].value = document.fmark.mark1[k].value;
             chk=k;break;
         }
    }
    
}