/*　■■■■■◆変数宣言◆　画面左の凡例　設定■■■■■　*/
    var html1 = "<img src=\"image/hanrei1.gif\">";
    var html2 = "<img src=\"image/hanrei2.gif\">";
    var html3 = "<img src=\"image/hanrei3.gif\">";
    var html4 = "<img src=\"image/hanrei4.gif\">";
    var html5 = "<img src=\"image/hanrei5.gif\">";


/*　■■■■■◆変数宣言◆　地図の表示　設定■■■■■　*/
    var cursorSize = 20;
    var tikas = new Array();
    var lim = 330;
    var marker = new Array();
    var tikas = new Array();
    var map;
    var baseicon;
    var baseicon2;
    var geocoder;
    var i;
    var markers;
    var mi;
    var maptop;
    var mapleft;
    var om;
    var isKukei = false;
    var isSecond = false;
    var point1 = "";
    var pattern = 0;
		var colorPat=0;
		var zoomLevel=0;
var address="";
var centerX=0;
var centerY=0;
var nendo=0;
var colorpattern="";
//一般用phpフォルダの定義
var ippanFolder="./";
//関係者用phpフォルダの定義
var kankeiFolder="./kankeiphp/";
var itemlistFlag=false;

var nowposLat=120;
var nowposLon=120;



function printpreview(){
				var nw=	window.open("./print.html", "printer", "width=250,height=100,resizable=yes,scrollbars=yes");
nw.focus();

}



function directPrint(paper){

yousi(paper,'');
}

function yousi(paper,pre){
var a4v="905px";
var a4h="640px";
var a3v="1280px";
var a3h=a4v;
var mainH=document.getElementById("main").style.height;
var mapH=document.getElementById("map").style.height;
var bH=document.body.style.height;
if(paper=='A4v'){
	document.getElementById("main").style.height=a4v;
	document.getElementById("map").style.height=a4v;
	document.body.style.height=a4v;
	document.getElementById("main").style.width=a4h;

}else if(paper=='A4h'){
	document.getElementById("main").style.height=a4h;
	document.getElementById("map").style.height=a4h;
document.body.style.height=a4h;
	document.getElementById("main").style.width=a4v;

}else if(paper=='A3v'){
	document.getElementById("main").style.height=a3v;
	document.getElementById("map").style.height=a3v;
document.body.style.height=a3v;
	document.getElementById("main").style.width=a3h;

}else if(paper=='A3h'){
	document.getElementById("main").style.height=a3h;
	document.getElementById("map").style.height=a3h;
document.body.style.height=a3h;
	document.getElementById("main").style.width=a3v;

}
	document.getElementById("main").style.margin="1px 1px 1px 1px";
	document.getElementById("map").style.margin="1px 1px 1px 1px";;
resizeM();
	map.checkResize();


//印刷プレビュー処理
if(pre==''){
	window.print();
}else{
  if(window.ActiveXObject == null || document.body.insertAdjacentHTML == null) return;
    var sWebBrowserCode = '<object width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>'; 
    document.body.insertAdjacentHTML('beforeEnd', sWebBrowserCode); 
    var objWebBrowser = document.body.lastChild;
    if(objWebBrowser == null) return;
    objWebBrowser.ExecWB(7, 1);
    document.body.removeChild(objWebBrowser);


}





//状態の戻し処理

 document.getElementById("main").style.height=mainH;
 document.getElementById("map").style.height=mapH;
 document.body.style.height=bH;

	document.getElementById("main").style.height="100%";
	document.getElementById("main").style.width="100%";
if(divShow==false){
	document.getElementById("main").style.marginLeft = "5px";
	document.getElementById("main").style.marginRight = "5px";
}else{

	document.getElementById("main").style.marginLeft = "204px";
	document.getElementById("main").style.marginRight = "205px";

}
	map.checkResize();

}


function centerMarkerClick(){

if(document.getElementsByName("centerMarkerC")[0].checked){

document.getElementById("centermark").style.display="block";
}else{

document.getElementById("centermark").style.display="none";
}

}
//年度を選択した場合
function nendoF(form){
			gb=map.getBounds();
      var index = document.getElementById("time_point").selectedIndex;
			nendo = document.getElementById("time_point").options[index].value;

			getB(gb.getSouthWest(),gb.getNorthEast(),nendo);

}
function 	resizeM(){

//マップサイズの決定
var minus=120;
	document.getElementById("wrapper").style.height=document.body.clientHeight-document.getElementById("wrapper").offsetTop-minus;

	document.getElementById("link").style.height=document.body.clientHeight-document.getElementById("wrapper").offsetTop-minus;
	var widthXX=document.getElementById("map").offsetWidth;
	var heightYY=document.getElementById("map").offsetHeight;

if(divShow==true){
document.getElementById("centermark").style.left=7+(widthXX/2)-20;
document.getElementById("centermark").style.top=heightYY/2-20;
}else{
document.getElementById("centermark").style.left=(widthXX/2)-20+5;
document.getElementById("centermark").style.top=heightYY/2-20;
}
}

function rdoChange(){
	isSecond=false;
	document.getElementById("rect").style.top="0px";
	document.getElementById("rect").style.left="0px";
	document.getElementById("rect").style.width="0px";
	document.getElementById("rect").style.height="0px";
}




/*　■■■◆データ選択◆　全て・地価公示のみ・地価調査のみ■■■　*/
function kuniKen(pat){
	pattern=pat;
	gb=map.getBounds();
	getB(gb.getSouthWest(),gb.getNorthEast(),nendo);
}

/*colorpattern選択時*/
function kubun(pat){
	colorpattern=pat;
	gb=map.getBounds();
	getB(gb.getSouthWest(),gb.getNorthEast(),nendo);
}


function Kukei(){
	isKukei=true;
}




/*　■■■◆住所検索◆　■■■　*/
function showAddress(flag) {
var search_zoom_level=16;
var add="";
if(flag==1){
	add=address;
a=add.split(" ");

	if(a[1]==""){
		search_zoom_level=9;
	}else if(a[2]==""){
		search_zoom_level=13;
	}

}else{
	add=document.f.q.value;
}

	geocoder.getLatLng(
    	add,

		function(point) {
			if (!point) {
				alert(add + " not found");
			} else {
				//　◆右数字→地図を表示する際の縮尺レベル

				map.setCenter(point, search_zoom_level);
			}
		}
	);
}




/*　■■■◆初期表示◆　ページが読み込まれた際の設定■■■　*/
/*--
IE 対策
--*/
var map = "";

function base(){
itemlistFlag=false;
requestFile( '' , 'GET', './bunrui.php' , true );

		//住所選択
				var dd = new ADDRAjax( 'pref', 'city', 'area' );
        dd.JSONDATA = 'addrajax/data';
				dd.onChange = function (pref,city,area) {

				address=pref+" "+city+" "+area;
        };


        dd.init();


//()
	if (GBrowserIsCompatible()) { 
		map = new GMap2(document.getElementById("map"));

		geocoder = new GClientGeocoder();
		GEvent.addListener(map, "click", function(marker, point) {
			gb=map.getBounds();
			var minY=gb.getSouthWest().lat();
			var minX=gb.getSouthWest().lng();
			var maxY=gb.getNorthEast().lat();
			var maxX=gb.getNorthEast().lng();
			w=((maxX-minX)/parseFloat(map.getSize().width))*15;

			h=((maxY-minY)/parseFloat(map.getSize().height))*15;
			/*　■■■◆詳細画面◆　作成■■■　*/

var nw;
if(nendo=="user"){
			nw=	window.open(kankeiFolder+"syosai.php?pattern="+pattern+"&minx="+(point.x-w)+"&miny="+(point.y-h)+"&maxx="+(point.x+w)+"&maxy="+(point.y+h)+"&pageNumber=0&sortDir=ascending&sortBy=0&nendo="+nendo, "Syosai", "width=750,height=1100,resizable=yes,scrollbars=yes");

}else{

			nw=	window.open(ippanFolder+"syosai.php?pattern="+pattern+"&minx="+(point.x-w)+"&miny="+(point.y-h)+"&maxx="+(point.x+w)+"&maxy="+(point.y+h)+"&pageNumber=0&sortDir=ascending&sortBy=0&nendo="+nendo, "Syosai", "width=750,height=600,resizable=yes,scrollbars=yes");
}


			nw.focus();
		});


		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		/*　■■　マップの初期表示位置　■■　*/

try{

	map.setCenter(new GLatLng(centerY,centerX),parseInt(zoomLevel));
}catch(e){

	centerY=35.4577511438302;
	centerX=139.63299036026;
	zoomLevel=15;
	map.setCenter(new GLatLng(centerY,centerX),parseInt(zoomLevel));

}








//map.setMapType(G_SATELLITE_3D_MAP);		
//スケールバー
GScaleControl.prototype.printable=function(){return true}; 
  map.addControl(new GScaleControl()); 
  scale = new GScaleControl(); 
  scale.printable=function(){return true}; 
  map.addControl(scale); 
//map.addControl(new GScaleControl(true,false));
map.addControl(new GOverviewMapControl());
		//処理時間の測り方
		//var Now0   = new Date();
		//処理
		//var Now2   = new Date();
		//alert(Now2-Now0);

		gb=map.getBounds();
		getB(gb.getSouthWest(),gb.getNorthEast(),nendo);
/*
		GEvent.addListener(map, 'moveend', function(){
			gb=map.getBounds();

			getB(gb.getSouthWest(),gb.getNorthEast(),nendo);

		}) ;
*/


	GEvent.addListener(map, 'moveend', function(){
		gb=map.getBounds();

var resizeW=document.getElementById("map").offsetWidth;
	var resizeH=document.getElementById("map").offsetHeight;
var xxxx=Math.abs((gb.getSouthWest().lng()-gb.getNorthEast().lng())/resizeW);
var yyyy=Math.abs((gb.getSouthWest().lat()-gb.getNorthEast().lat())/resizeH);

//document.title=xxxx+' ' +yyyy+' | '+Math.abs(nowposLon-gb.getSouthWest().lng())+' '+Math.abs(nowposLat-gb.getSouthWest().lat());
if(Math.abs(nowposLat-gb.getSouthWest().lat())<yyyy*5 && Math.abs(nowposLon-gb.getSouthWest().lng())<xxxx*5){
//alert('');
}else{
		getB(gb.getSouthWest(),gb.getNorthEast(),nendo);
}
nowposLat=gb.getSouthWest().lat();
nowposLon=gb.getSouthWest().lng();
	} ) ;




		//document.getElementById("loading").style.display="none";





	}else{
		alert("対応ブラウザではありません。");
	}



}








/*　■■■◆アイコン◆　地価情報のアイコン・ラベルを表示■■■　*/
function getB(min,max,nendo){
	var minY=min.lat();
	var minX=min.lng();
	var maxY=max.lat();
	var maxX=max.lng();

	var widthXX=document.getElementById("map").offsetWidth;
	var heightYY=document.getElementById("map").offsetHeight;

if (heightYY==0){heightYY=500;}





	
	if(maxX<0){
		maxX=360+maxX;
		var point = new GLatLng((maxY+minY)/2,(maxX+minX)/2);
	}else{
		var point = new GLatLng((maxY+minY)/2,(maxX+minX)/2);
	}


point=map.getCenter();


	baseicon = new GIcon();
	baseicon.iconSize = new GSize(widthXX,heightYY);
	baseicon.iconAnchor = new GPoint(widthXX/2,heightYY/2);
	baseicon.infoWindowAnchor = new GPoint(5,5);

if(nendo=="user"){
ikFolder=kankeiFolder;
}else{
ikFolder=ippanFolder;
}
//センターマーク
if(divShow==true){
document.getElementById("centermark").style.left=7+(widthXX/2)-20;
document.getElementById("centermark").style.top=heightYY/2-20;
}else{
document.getElementById("centermark").style.left=(widthXX/2)-20+5;
document.getElementById("centermark").style.top=heightYY/2-20;
}
	baseicon.image = ikFolder+"tika.php?colorpattern="+colorpattern+"&pattern="+pattern+"&minx="+minX+"&miny="+minY+"&maxx="+maxX+"&maxy="+maxY+"&wX="+widthXX+"&hY="+heightYY+"&nendo="+nendo;
//	window.open(ikFolder+"tika.php?colorpattern="+colorpattern+"&pattern="+pattern+"&minx="+minX+"&miny="+minY+"&maxx="+maxX+"&maxy="+maxY+"&wX="+widthXX+"&hY="+heightYY+"&nendo="+nendo, "Test", "width=600,height=400");


	map.clearOverlays();
  map.addOverlay(new GMarker(point,baseicon,true));



	/*　■■■◆凡例変更◆　ズームレベルによる分岐処理■■■　*/
	zoominLevel=1;


//rosenXY();

}


function rosenXY(){　//現在表示している地図の中心点の座標を度・分・秒　で取り出すサンプル
	LatLngObj = map.getCenter();
	x = LatLngObj.x;
	d = Math.floor(x);
	m = Math.floor((x - d) * 60);
	s = Math.floor((x - d) * 60 * 60) % 60+12;
thisX = d+":"+m+":"+s;
	y = LatLngObj.y;
	d = Math.floor(y);
	m = Math.floor((y - d) * 60);
	s = Math.floor((y - d) * 60 * 60) % 60-12;
	thisY = d+":"+m+":"+s;

	var link="http://www.chikamap.jp/Map.aspx?LON=" + thisX + "&LAT=" + thisY + "&SCALE=1500&MODE=1&DATE=1";
document.getElementById("rosen").innerHTML="<a target=\"rosen\" href="+link+">この場所の路線価を表示</a>";


}



/*　■■■◆地図変更◆　画面をリサイズした時、地図の高さを自動調整する■■■　*/
function mapResize(){
	//　◆オブジェクトに取得した高さを返し、再描写する
	var divObj = document.getElementById("map");

	//　◆リサイズされたら「body」の縦幅を取得
    if (bodyHeight() >= 1200) {
       	divObj.style.height= "990px";
	}else if (bodyHeight() <= 700) {
       	divObj.style.height= "490px";
   	}else {
       	divObj.style.height= bodyHeight() - 210;
   	}


	//　◆リサイズされたら「body」の横幅を取得
    if (bodyWidth() <= 480) {
       	divObj.style.width= "384px";
   	}else {
       	divObj.style.width= bodyWidth() * 0.82;
   	}


	//　◆「checkResize」必須→忘れると更新されない
	map.checkResize();
}




/*　■■■◆「body」の高さを返す関数◆■■■　*/
function bodyHeight(){
	//　◆「body」の横幅・縦幅を取得
	var ua = navigator.userAgent;      // ユーザーエージェント
	var nWidth, nHeight;               // サイズ
	var nHit = ua.indexOf("MSIE");     // 合致した部分の先頭文字の添え字
	var bIE = (nHit >=  0);            // IE かどうか
	var bVer6 = (bIE && ua.substr(nHit+5, 1) == "6");  // バージョンが 6 かどうか
	var bStd = (document.compatMode && document.compatMode=="CSS1Compat"); // 標準モードかどうか
	if (bIE) {
		if (bVer6 && bStd) {
			nWidth = document.documentElement.clientWidth;
			nHeight = document.documentElement.clientHeight;
		} else {
			nWidth = document.body.clientWidth;
			nHeight = document.body.clientHeight;
		}
	} else {
		nWidth = window.innerWidth;
		nHeight = window.innerHeight;
	}

	return nHeight;
}





/*　■■■◆「body」の幅を返す関数◆■■■　*/
function bodyWidth(){
	//　◆「body」の横幅・縦幅を取得
	var ua = navigator.userAgent;      // ユーザーエージェント
	var nWidth, nHeight;               // サイズ
	var nHit = ua.indexOf("MSIE");     // 合致した部分の先頭文字の添え字
	var bIE = (nHit >=  0);            // IE かどうか
	var bVer6 = (bIE && ua.substr(nHit+5, 1) == "6");  // バージョンが 6 かどうか
	var bStd = (document.compatMode && document.compatMode=="CSS1Compat"); // 標準モードかどうか
	if (bIE) {
		if (bVer6 && bStd) {
			nWidth = document.documentElement.clientWidth;
			nHeight = document.documentElement.clientHeight;
		} else {
			nWidth = document.body.clientWidth;
			nHeight = document.body.clientHeight;
		}
	} else {
		nWidth = window.innerWidth;
		nHeight = window.innerHeight;
	}

	return nWidth;
}



	//クッキーからの状態取得と設定
function get_cookies() {



	//座標地の設定
	centerX= get_cook('centerX',139.64494228363037);
	centerY= get_cook('centerY',35.49366084082945);

	//ズームレベルの設定
	zoomLevel= get_cook('zoomLevel',12);
}

//クッキーへの状態保存
function sav_cookies() {
	//現状の取得
	centerX=map.getCenter().x;
	centerY=map.getCenter().y;
	zoomLevel=map.getZoom();

	//表示場所
	sav_cook('centerX',centerX);
	sav_cook('centerY',centerY);
	sav_cook('zoomLevel',zoomLevel);


}
function get_cook(coknam,_default) {

var str= String(document.location);
n = str.indexOf("kankei");
if(n>0){ coknam+="u";}
  coktxt = document.cookie+";";
  stano = coktxt.indexOf(coknam);
  if (stano != -1){
    endno = coktxt.indexOf(";",stano);
    txt0 = coktxt.substring(stano+coknam.length+1,endno);
  }else{
    txt0 = _default;
  }
if(txt0=="NaN"){
txt0=_default;

}


  return txt0;
}
function upopen(){
var nw=window.open(kankeiFolder+"fileup.php", "updialog", "width=600,height=400");
nw.focus();
}
function sav_cook(coknam,txt0) {
var str= String(document.location);
n = str.indexOf("kankei");
if(n>0){ coknam+="u";}
  
  day0 = new Date();
  day0.setTime(day0.getTime()+60*60*24*1000);
  endday = day0.toGMTString();
  document.cookie = coknam+"="+txt0+";expires="+endday;
//if(coknam=="nendo"){alert("cok"+document.cookie);}
}
var divShow=true;




function divnone() {
	if(divShow==false){
		document.getElementById("main").style.marginLeft = "5px";
		document.getElementById("main").style.marginRight = "205px";
		document.getElementById("inquiry").style.marginLeft = "5px";
		document.getElementById("inquiry").style.marginRight = "205px";

		document.getElementById("map").Width=document.getElementById("main").offsetWidth;
		divShow=true;
		resizeM();
		map.checkResize();
		gb=map.getBounds();
		getB(gb.getSouthWest(),gb.getNorthEast(),nendo);
		document.getElementById("menuShow").innerHTML="<a onclick='divnone()' href='#'>メニューを非表示</a>";


if(content3.style.display=="none"){
	content4.style.display="block";
}

		document.getElementById("link").style.display="block";

	}else{
//		document.getElementById("main").style.margin="0 0 0 0";
		document.getElementById("main").style.marginLeft = "5px";
		document.getElementById("main").style.marginRight = "5px";
		document.getElementById("inquiry").style.marginLeft = "5px";
		document.getElementById("inquiry").style.marginRight = "5px";

		document.getElementById("map").Width=document.getElementById("main").offsetWidth;
		divShow=false;
		resizeM();
		map.checkResize();
		gb=map.getBounds();
		getB(gb.getSouthWest(),gb.getNorthEast(),nendo);
		document.getElementById("menuShow").innerHTML="<a onclick='divnone()' href='#'>メニューを表示</a>";


//白枠対策
	content4.style.display="none";
		document.getElementById("link").style.display="none";

	}

}
function show1(){
	content1.style.display="block";
	content2.style.display="none";
}

function show2(){
	content1.style.display="none";
	content2.style.display="block";
}
function show3(){
	content3.style.display="block";
	content4.style.display="none";
}

function show4(){
	content3.style.display="none";
	content4.style.display="block";
}

function bunruiClick(bunrui){
itemlistFlag=true;
requestFile( '' , 'GET', './itemList.php?b='+encodeURI(bunrui) , true );
}

  //XMLHttpRequestオブジェクト生成
  function createHttpRequest(){

    //Win ie用
    if(window.ActiveXObject){
        try {
            //MSXML2以降用
            return new ActiveXObject("Msxml2.XMLHTTP") //[1]'
        } catch (e) {
            try {
                //旧MSXML用
                return new ActiveXObject("Microsoft.XMLHTTP") //[1]'
            } catch (e2) {
                return null
            }
         }
    } else if(window.XMLHttpRequest){
        //Win ie以外のXMLHttpRequestオブジェクト実装ブラウザ用
        return new XMLHttpRequest() //[1]'
    } else {
        return null
    }
  }

  //ファイルにアクセスし受信内容を確認します
  function requestFile( data , method , fileName , async )
  {
    //XMLHttpRequestオブジェクト生成
    var httpoj = createHttpRequest() //[1]
    
    //open メソッド
    httpoj.open( method , fileName , async ) //[2]
    
    //受信時に起動するイベント
    httpoj.onreadystatechange = function()  //[4]
    { 
      //readyState値は4で受信完了
      if (httpoj.readyState==4)  //[5]
      { 
        //コールバック
        on_loaded(httpoj)
      }
    }
    
    //send メソッド
    httpoj.send( data ) //[3]
  }

  //コールバック関数 ( 受信時に実行されます )
  function on_loaded(oj)
  {
        //レスポンスを取得
if(itemlistFlag){
        document.getElementById("itemList").innerHTML=oj.responseText;
}else{
        document.getElementById("bunrui").innerHTML=oj.responseText;
}
        
  
  }
