
var baseurl;

var icon1;
var icon2;
var icon10;
var icon50;
var icon100;
var icon500;
var icon1000;

var icon1pro3;
var icon2pro3;
var icon10pro3;
var icon50pro3;
var icon100pro3;
var icon500pro3;
var icon1000pro3;

var icon1pro4;
var icon2pro4;
var icon10pro4;
var icon50pro4;
var icon100pro4;
var icon500pro4;
var icon1000pro4;

var icon1pro;
var icon2pro;
var icon10pro;
var icon50pro;
var icon100pro;
var icon500pro;
var icon1000pro;

var iconmymybox;
var iconmybox;
var iconmyboxpro3;
var iconmyboxpro4;
var iconmyboxpro;

var cross;
var scale;
var connectingicon;


var hmaps = new Array();

function Maps(_key,_emap){
	this.key = _key;
	this.emap = _emap;
	this.map = new GMap2(this.emap,G_DEFAULT_MAP_TYPES );
	this.currzoom=0;
	this.oldzoom=0;
	this.markers=new Array();
	this.marker=new Array();
	this.currpref=null;
	this.currcity=null;
	this.currtown=null;
	this.currzip1=null;
	this.currzip2=null;
	this._currlng=0;
	this._currlat=0;
	this._curriconview=0;
	this._ownerid=0;
	this.mapx=0;
	this.mapy=0;
	this.mapw=0;
	this.maph=0;
	this.clickedmarker=null;
	this.clickedmarkersel=null;
	this.crossmarker=null;
	this.scalemarker=null;
	this.connectingmarker=null;
	this.mask=-1;

}

function createMaps(key,emap){
	if(!key)key="0";
	var maps = new Maps(key,emap);
	hmaps[hmaps.length] = maps;
}

function getMaps(key){
	if(!key)key="0";
	for(var i=0;i<hmaps.length;i++){
		if(hmaps[i] && hmaps[i].key==key){
			return hmaps[i];
		}
	}
	return null;
}

function searchMaps(map){
	for(var i=0;i<hmaps.length;i++){
		if(hmaps[i].map==map){
			return hmaps[i];
		}
	}
	return null;
}

var openedmarker;
var openedno;

var movestart=false;
var forceinfo=false;
var clickinfo=false;


var ownermode=0;//0:all 1:owner
var mapmode=0;

var testmode=false;


var myboxlng=0;
var myboxlat=0;
var myboxzoom=0;

function checkBrowser(key){
	if(!GBrowserIsCompatible()){
		ready(key);
		return false;
	}
	return true;
}

function initMap(_mapmode,key){
	var maps = getMaps(key);
	var map = maps.map;
	
	mapmode=_mapmode;

	window.onresize=mapresize;
//	document.body.onresize=mapresize;
	_mapresize(key);
	var gomap = document.getElementById("gomap"+key);
	var gosatellite = document.getElementById("gosatellite"+key);
	var goiconshow = document.getElementById("goiconshow"+key);
	var ctrlup = document.getElementById("ctrlup"+key);
	var ctrlright = document.getElementById("ctrlright"+key);
	var ctrldown = document.getElementById("ctrldown"+key);
	var ctrlleft = document.getElementById("ctrlleft"+key);
	var ctrlrepos = document.getElementById("ctrlrepos"+key);
	var ctrlplus = document.getElementById("ctrlplus"+key);
	var ctrlminus = document.getElementById("ctrlminus"+key);
	var ctrlscalebar = document.getElementById("ctrlscalebar"+key);
	var ctrlscalethumb = document.getElementById("ctrlscalethumb"+key);

	if(goiconshow){
		goiconshow.style.visibility="hidden";
	}
	if(gomap){
		gomap.style.visibility="hidden";
	}
	if(gosatellite){
		gosatellite.style.visibility="hidden";
	}
	if(ctrlup){
		ctrlup.style.visibility="hidden";
	}
	if(ctrlright){
		ctrlright.style.visibility="hidden";
	}
	if(ctrldown){
		ctrldown.style.visibility="hidden";
	}
	if(ctrlleft){
		ctrlleft.style.visibility="hidden";
	}
	if(ctrlrepos){
		ctrlrepos.style.visibility="hidden";
	}
	if(ctrlplus){
		ctrlplus.style.visibility="hidden";
	}
	if(ctrlminus){
		ctrlminus.style.visibility="hidden";
	}

	if(ctrlscalebar){
		ctrlscalebar.style.visibility="hidden";
		ctrlscalebar.onmousedown=zoomscale;
	}

	if(ctrlscalethumb){
		ctrlscalethumb.style.visibility="hidden";
		ctrlscalethumb.onmousedown=thumbscaledown;
		document.onmousemove=thumbscaledrag;
		document.onmouseup=thumbscaleup;
		ctrlscalethumb.ondragstart=thumbdragstart;
	}
	
	if(mapmode==0){
		GEvent.addListener(map,'moveend',moveMap);
		GEvent.addListener(map,'movestart',moveStartMap);
		GEvent.addListener(map,'move',movingMap);
		GEvent.addListener(map,'zoom',zoomMap);
		GEvent.addListener(map,'infowindowclose',closeinfo);
	}else if(mapmode==1){
		GEvent.addListener(map,'moveend',moveMap2);
	}else if(mapmode==2){
		GEvent.addListener(map,'moveend',moveMap3);
	}else if(mapmode==3){
		GEvent.addListener(map,'moveend',moveMap4);
	}else if(mapmode==4){
		if(ctrlup){
			GEvent.addListener(map,'moveend',moveMap2);
		}else{
			map.disableDragging();
		}
	}
	GEvent.addListener(map, 'click', function(m) {
		if(m){
			var sel=0;
			var maps = m.maps;
			if(maps){
				var map = maps.map;
				map.panTo(m.getPoint());
				for(var j=0;j<maps.marker.length;j++){
					if(maps.marker[j]==m){
						sel=j;
						break;
					}
				}
				maps.clickedmarker=m;
				maps.clickedmarkersel=sel;
				setTimeout("_openinfo(\""+key+"\")",1000);
			}
		}

	});
//	GEvent.addListener(map,'click',clickmap);
	
}

function startMap(mmode,key,maptype,lng,lat,z){
	if(!checkBrowser())return;
	
	var emap = document.getElementById("map"+key);
	createMaps(key,emap);
	var maps = getMaps(key);
	var map = maps.map

	maps.currzoom=z;
	map.setCenter(new GLatLng(lat, lng), 19 - maps.currzoom)
	initMap(mmode,key);
	initIcon();
	var ctrlup = document.getElementById("ctrlup"+key);
	if(mmode==0){
		moveMap(key);
	}else if(mmode==1){
		moveMap2(key);
	}else if(mmode==2){
		moveMap3(key);
	}else if(mmode==3){
		moveMap4(key);
	}else if(mmode==4){
		
		if(ctrlup){
			moveMap2(key);
		}else{
			makeCross(key);
			GEvent.addListener(map,'click',clickMap);
			emap.style.cursor="hand";
		}
	}
	var gomap = document.getElementById("gomap"+key);
	var gosatellite = document.getElementById("gosatellite"+key);
	if(maptype==0){
		map.setMapType(G_NORMAL_MAP);
	}else{
		map.setMapType(G_SATELLITE_MAP);
	}
	if(gomap && gosatellite){
		var lvl="";
		if(gomap.src.indexOf("2.png")>0 || gosatellite.src.indexOf("2.png")>0){
			lvl="2";
		}
		if(maptype==0){
			gomap.src="/i/gomap"+lvl+"s.png?t="+new Date().getTime();
			gosatellite.src="/i/gosatellite"+lvl+".png?t="+new Date().getTime();
		}else{
			gomap.src="/i/gomap"+lvl+".png?t="+new Date().getTime();
			gosatellite.src="/i/gosatellite"+lvl+"s.png?t="+new Date().getTime();
		}
	}
	setMapZoom(map,maps.currzoom);
	
}

function clickMap(key){
	var maps = null;
	var map = null;
	if(key){
		maps = getMaps(key);
		map = maps.map;
	}else{
		maps = searchMaps(this);
		key = maps.key;
		map = maps.map;
	}
	var cpoint = map.getCenter();
	var lat = (cpoint.lat());
	var lng = (cpoint.lng());
	var z = getMapZoom(map);
	var mt = getMaptype(key);

	var jumplink=home+"/maps?clat="+lat+"&clng="+lng+"&zoom="+z+"&mt="+mt+"&ot=0&lcat=&backbtn=true";

	location.href=jumplink;
}

function noop(){
	return false;
}

//function clickmap(overlay,point){
//	if(overlay){
//		map.panTo(overlay.point);
//	}
//	status=overlay.point+"/"+point;
//}

var dummymap;

function goworld(key){
	var maps = getMaps(key);
	dummymap = maps.map;
	setTimeout("dummymap.setCenter(new GLatLng(do2per(35,40,51.035), do2per(139,46,38.975)), 19 - 18)",1000);
}

function gojapan(key){
	var maps = getMaps(key);
	dummymap = maps.map;
	setTimeout("dummymap.setCenter(new GLatLng(do2per(38,55,30.825), do2per(137,30,17.578)), 19 - 14)",1000);
}

function gomybox(key){
	var maps = getMaps(key);
	dummymap = maps.map;
	setTimeout("dummymap.setCenter(new GLatLng("+myboxlat+","+myboxlng+"),19 - "+myboxzoom+")",1000);
}

function getMapZoom(map){
	return 19 - map.getZoom();
}

function setMapZoom(map,z){
	map.setZoom(19 - z);
}

function getZoom(key){
	var maps = getMaps(key);
	if(!maps)return 5;
	var map = maps.map;
	if(!map)return 5;
	return getMapZoom(map);
}

function getMaptype(key){
	var maps = getMaps(key);
	if(!maps)return 0;
	var map = maps.map;
	if(!map)return 0;
	var maptype=0;
	if(map.getCurrentMapType()==G_NORMAL_MAP){
		maptype=0;
	}else{
		maptype=1;
	}
	return maptype;
}

function changeprofmaps(mapsno,key){
	var maps = getMaps(key);

	var map = document.getElementById("map"+key);
	var mappane = document.getElementById("mappane"+key);
	var elm = document.getElementById("mapsmask");
	var smaddr = document.getElementById("searchmapsaddr");
	var smzip = document.getElementById("searchmapszip");
	var smland = document.getElementById("searchmapslandmark");
	var smnew = document.getElementById("searchmapslandnew");
	var latlng = document.getElementById("latlng");
	var mapscmtdiary = document.getElementById("mapscmtdiary");
	if(elm){
		var x = getParentX(mappane);
		var y = getParentY(mappane);
		var w = parseInt(map.style.width);
		var h = parseInt(map.style.height);

		if(mapsno==0){
			mappane.style.visibility="hidden";
			elm.style.left=x+4;
			elm.style.top=y+4;
			elm.style.width=w;
			elm.style.height=h;
			if(smaddr){
				smaddr.disabled=true;
				smaddr.onclick=noop;
			}
			if(smzip){
				smzip.disabled=true;
				smzip.onclick=noop;
			}
			if(smland){
				smland.disabled=true;
				smland.onclick=noop;
			}
			if(smnew){
				smnew.disabled=true;
				smnew.onclick=noop;
			}
			if(latlng){
				latlng.style.color="#cccccc";
			}
			if(mapscmtdiary){
				mapscmtdiary.style.color="#cccccc";
			}
		}else{
			mappane.style.visibility="visible";
			elm.style.left=-600;
			elm.style.top=-600;
			if(smaddr){
				smaddr.disabled=false;
				smaddr.onclick=null;
			}
			if(smzip){
				smzip.disabled=false;
				smzip.onclick=null;
			}
			if(smland){
				smland.disabled=false;
				smland.onclick=null;
			}
			if(smnew){
				smnew.disabled=false;
				smnew.onclick=null;
			}
			if(latlng){
				latlng.style.color="#000000";
			}
			if(mapscmtdiary){
				mapscmtdiary.style.color="#ff0000";
			}
		}
		maps.mask=mapsno;
	}
}


function mapresize(){
	for(var i=0;i<hmaps.length;i++){
		_mapresize(hmaps[i].key);
	}
}

function _mapresize(key){

	var maps = getMaps(key);
	if(!key)key="";
	var map = document.getElementById("map"+key);
	var mappane = document.getElementById("mappane"+key);
	var gomap = document.getElementById("gomap"+key);
	var gosatellite = document.getElementById("gosatellite"+key);
	var goiconshow = document.getElementById("goiconshow"+key);
	var ctrlup = document.getElementById("ctrlup"+key);
	var ctrlright = document.getElementById("ctrlright"+key);
	var ctrldown = document.getElementById("ctrldown"+key);
	var ctrlleft = document.getElementById("ctrlleft"+key);
	var ctrlrepos = document.getElementById("ctrlrepos"+key);
	var ctrlplus = document.getElementById("ctrlplus"+key);
	var ctrlminus = document.getElementById("ctrlminus"+key);
	var ctrlscalebar = document.getElementById("ctrlscalebar"+key);
	var ctrlscalethumb = document.getElementById("ctrlscalethumb"+key);

	var x = getParentX(mappane);
	var y = getParentY(mappane);
	var w = parseInt(map.style.width);
	var h = parseInt(map.style.height);
	
	maps.mapx=x;
	maps.mapy=y;
	maps.mapw=w;
	maps.maph=h;

	var elm = document.getElementById("mapsmask");
	if(elm){
		if(maps.mask==0){
			elm.style.left=x+4;
			elm.style.top=y+4;
			elm.style.width=w;
			elm.style.height=h;
		}else{
			elm.style.left=-600;
			elm.style.top=-600;
		}
	}
	
	if(gomap && gosatellite){
		if(gomap.src.indexOf("2.png")>0 || gomap.src.indexOf("2s.png")>0){
			gomap.parentNode.parentNode.style.left=x+w-80-5-90-5;
			gosatellite.parentNode.parentNode.style.left=x+w-90-5;
		}else{
			gomap.parentNode.parentNode.style.left=x+w-135-5-135-5;
			gosatellite.parentNode.parentNode.style.left=x+w-135-5;
		}
		gomap.parentNode.parentNode.style.top=y+10;
		gosatellite.parentNode.parentNode.style.top=y+10;
	}


	if(mapmode==0){
		goiconshow.parentNode.parentNode.style.left=x+80;
		goiconshow.parentNode.parentNode.style.top=y+10;
	}
//	goiconshow.parentNode.parentNode.style.left=x+w-135-5;
//	goiconshow.parentNode.parentNode.style.top=y+50;

//	ctrlup.parentNode.parentNode.style.left=x+30;
//	ctrlup.parentNode.parentNode.style.top=y+10;
	if(ctrlup){
		ctrlup.parentNode.parentNode.style.left=x+30;
		ctrlup.parentNode.parentNode.style.top=y+10;
	}

	if(ctrlright){
		ctrlright.parentNode.parentNode.style.left=x+49;
		ctrlright.parentNode.parentNode.style.top=y+30;
	}

	if(ctrldown){
		ctrldown.parentNode.parentNode.style.left=x+30;
		ctrldown.parentNode.parentNode.style.top=y+50;
	}

	if(ctrlleft){
		ctrlleft.parentNode.parentNode.style.left=x+10;
		ctrlleft.parentNode.parentNode.style.top=y+30;
	}

	if(ctrlrepos){
		ctrlrepos.parentNode.parentNode.style.left=x+30;
		ctrlrepos.parentNode.parentNode.style.top=y+30;
	}

	if(ctrlplus){
		ctrlplus.parentNode.parentNode.style.left=x+30;
		ctrlplus.parentNode.parentNode.style.top=y+73;
	}

	if(ctrlminus){
		ctrlminus.parentNode.parentNode.style.left=x+30;
		if(ctrlscalebar){
			ctrlminus.parentNode.parentNode.style.top=y+245+16;
		}else{
			ctrlminus.parentNode.parentNode.style.top=y+93;
		}
	}

	if(ctrlscalebar){
		ctrlscalebar.parentNode.parentNode.style.left=x+31;
		ctrlscalebar.parentNode.parentNode.style.top=y+94;
	}

	if(ctrlscalethumb){
		ctrlscalethumb.parentNode.parentNode.style.left=x+30;
		ctrlscalethumb.parentNode.parentNode.style.top=y+94;
		scalethumbpos(maps.currzoom,key);
	}

}




function scalethumbpos(z,key){
	var maps = getMaps(key);
	if(!key)key="";
	var ctrlscalethumb = document.getElementById("ctrlscalethumb"+key);
	if(ctrlscalethumb){
		ctrlscalethumb.parentNode.parentNode.style.left=maps.mapx+30;
		ctrlscalethumb.parentNode.parentNode.style.top=maps.mapy+94+z*8+2;
	}
}

function begin(key){
	var maps = getMaps(key);
	var map = maps.map;
	
	if(maps.connectingmarker){
		map.removeOverlay(maps.connectingmarker);
	}
	maps.connectingmarker = new GMarker(map.getCenter(),connectingicon);
	map.addOverlay(maps.connectingmarker);
}

function beginend(key){
	var maps = getMaps(key);
	var map = maps.map;
	
	if(maps.connectingmarker){
		map.removeOverlay(maps.connectingmarker);
	}
}

function ready(key){
	if(!key)key="";
//	alert("splash"+key);
//	alert(document.getElementById("splash"+key));
//	document.getElementById("splash"+key).style.visibility="hidden";
}

function initIcon(){

	var t=2;

	icon1 = new GIcon();
	icon1.image = "/i/marker1.png?t="+t+"&img=.png";
	icon1.shadow = "/i/markershadow1.png?t="+t+"&img=.png";
	icon1.iconSize = new GSize(64, 36);
	icon1.shadowSize = new GSize(68, 36);
	icon1.iconAnchor = new GPoint(32, 36);
	icon1.infoWindowAnchor = new GPoint(32, 10);

	icon2 = new GIcon();
	icon2.image = "/i/marker2.png?t="+t+"&img=.png";
	icon2.shadow = "/i/markershadow2.png?t="+t+"&img=.png";
	icon2.iconSize = new GSize(64, 36);
	icon2.shadowSize = new GSize(68, 36);
	icon2.iconAnchor = new GPoint(32, 36);
	icon2.infoWindowAnchor = new GPoint(32, 10);

	icon10 = new GIcon();
	icon10.image = "/i/marker10.png?t="+t+"&img=.png";
	icon10.shadow = "/i/markershadow10.png?t="+t+"&img=.png";
	icon10.iconSize = new GSize(64, 44);
	icon10.shadowSize = new GSize(90, 44);
	icon10.iconAnchor = new GPoint(32, 44);
	icon10.infoWindowAnchor = new GPoint(32, 10);

	icon50 = new GIcon();
	icon50.image = "/i/marker50.png?t="+t+"&img=.png";
	icon50.shadow = "/i/markershadow50.png?t="+t+"&img=.png";
//	icon50.image = "/i/marker50.png";
//	icon50.shadow = "/i/markershadow50.png";
	icon50.iconSize = new GSize(64, 44);
	icon50.shadowSize = new GSize(90, 44);
	icon50.iconAnchor = new GPoint(32, 44);
	icon50.infoWindowAnchor = new GPoint(32, 10);

	icon100 = new GIcon();
	icon100.image = "/i/marker100.png?t="+t+"&img=.png";
	icon100.shadow = "/i/markershadow100.png?t="+t+"&img=.png";
	icon100.iconSize = new GSize(64, 44);
	icon100.shadowSize = new GSize(90, 44);
	icon100.iconAnchor = new GPoint(32, 44);
	icon100.infoWindowAnchor = new GPoint(32, 10);

	icon500 = new GIcon();
	icon500.image = "/i/marker500.png?t="+t+"&img=.png";
	icon500.shadow = "/i/markershadow500.png?t="+t+"&img=.png";
	icon500.iconSize = new GSize(64, 44);
	icon500.shadowSize = new GSize(90, 44);
	icon500.iconAnchor = new GPoint(32, 44);
	icon500.infoWindowAnchor = new GPoint(32, 10);

	icon1000 = new GIcon();
	icon1000.image = "/i/marker1000.png?t="+t+"&img=.png";
	icon1000.shadow = "/i/markershadow1000.png?t="+t+"&img=.png";
	icon1000.iconSize = new GSize(64, 44);
	icon1000.shadowSize = new GSize(90, 44);
	icon1000.iconAnchor = new GPoint(32, 44);
	icon1000.infoWindowAnchor = new GPoint(38, 10);





	icon1pro3 = new GIcon();
	icon1pro3.image = "/i/marker1pro3.png?t="+t+"&img=.png";
	icon1pro3.shadow = "/i/markershadow1.png?t="+t+"&img=.png";
	icon1pro3.iconSize = new GSize(64, 36);
	icon1pro3.shadowSize = new GSize(68, 36);
	icon1pro3.iconAnchor = new GPoint(32, 36);
	icon1pro3.infoWindowAnchor = new GPoint(32, 10);

	icon2pro3 = new GIcon();
	icon2pro3.image = "/i/marker2pro3.png?t="+t+"&img=.png";
	icon2pro3.shadow = "/i/markershadow2.png?t="+t+"&img=.png";
	icon2pro3.iconSize = new GSize(64, 36);
	icon2pro3.shadowSize = new GSize(68, 36);
	icon2pro3.iconAnchor = new GPoint(32, 36);
	icon2pro3.infoWindowAnchor = new GPoint(32, 10);

	icon10pro3 = new GIcon();
	icon10pro3.image = "/i/marker10pro3.png?t="+t+"&img=.png";
	icon10pro3.shadow = "/i/markershadow10.png?t="+t+"&img=.png";
	icon10pro3.iconSize = new GSize(64, 44);
	icon10pro3.shadowSize = new GSize(90, 44);
	icon10pro3.iconAnchor = new GPoint(32, 44);
	icon10pro3.infoWindowAnchor = new GPoint(32, 10);

	icon50pro3 = new GIcon();
	icon50pro3.image = "/i/marker50pro3.png?t="+t+"&img=.png";
	icon50pro3.shadow = "/i/markershadow50.png?t="+t+"&img=.png";
	icon50pro3.iconSize = new GSize(64, 44);
	icon50pro3.shadowSize = new GSize(90, 44);
	icon50pro3.iconAnchor = new GPoint(32, 44);
	icon50pro3.infoWindowAnchor = new GPoint(32, 10);

	icon100pro3 = new GIcon();
	icon100pro3.image = "/i/marker100pro3.png?t="+t+"&img=.png";
	icon100pro3.shadow = "/i/markershadow100.png?t="+t+"&img=.png";
	icon100pro3.iconSize = new GSize(64, 44);
	icon100pro3.shadowSize = new GSize(90, 44);
	icon100pro3.iconAnchor = new GPoint(32, 44);
	icon100pro3.infoWindowAnchor = new GPoint(32, 10);

	icon500pro3 = new GIcon();
	icon500pro3.image = "/i/marker500pro3.png?t="+t+"&img=.png";
	icon500pro3.shadow = "/i/markershadow500.png?t="+t+"&img=.png";
	icon500pro3.iconSize = new GSize(64, 44);
	icon500pro3.shadowSize = new GSize(90, 44);
	icon500pro3.iconAnchor = new GPoint(32, 44);
	icon500pro3.infoWindowAnchor = new GPoint(32, 10);

	icon1000pro3 = new GIcon();
	icon1000pro3.image = "/i/marker1000pro3.png?t="+t+"&img=.png";
	icon1000pro3.shadow = "/i/markershadow1000.png?t="+t+"&img=.png";
	icon1000pro3.iconSize = new GSize(64, 44);
	icon1000pro3.shadowSize = new GSize(90, 44);
	icon1000pro3.iconAnchor = new GPoint(32, 44);
	icon1000pro3.infoWindowAnchor = new GPoint(38, 10);







	icon1pro4 = new GIcon();
	icon1pro4.image = "/i/marker1pro4.png?t="+t+"&img=.png";
	icon1pro4.shadow = "/i/markershadow1.png?t="+t+"&img=.png";
	icon1pro4.iconSize = new GSize(64, 36);
	icon1pro4.shadowSize = new GSize(68, 36);
	icon1pro4.iconAnchor = new GPoint(32, 36);
	icon1pro4.infoWindowAnchor = new GPoint(32, 10);

	icon2pro4 = new GIcon();
	icon2pro4.image = "/i/marker2pro4.png?t="+t+"&img=.png";
	icon2pro4.shadow = "/i/markershadow2.png?t="+t+"&img=.png";
	icon2pro4.iconSize = new GSize(64, 36);
	icon2pro4.shadowSize = new GSize(68, 36);
	icon2pro4.iconAnchor = new GPoint(32, 36);
	icon2pro4.infoWindowAnchor = new GPoint(32, 10);

	icon10pro4 = new GIcon();
	icon10pro4.image = "/i/marker10pro4.png?t="+t+"&img=.png";
	icon10pro4.shadow = "/i/markershadow10.png?t="+t+"&img=.png";
	icon10pro4.iconSize = new GSize(64, 44);
	icon10pro4.shadowSize = new GSize(90, 44);
	icon10pro4.iconAnchor = new GPoint(32, 44);
	icon10pro4.infoWindowAnchor = new GPoint(32, 10);

	icon50pro4 = new GIcon();
	icon50pro4.image = "/i/marker50pro4.png?t="+t+"&img=.png";
	icon50pro4.shadow = "/i/markershadow50.png?t="+t+"&img=.png";
	icon50pro4.iconSize = new GSize(64, 44);
	icon50pro4.shadowSize = new GSize(90, 44);
	icon50pro4.iconAnchor = new GPoint(32, 44);
	icon50pro4.infoWindowAnchor = new GPoint(32, 10);

	icon100pro4 = new GIcon();
	icon100pro4.image = "/i/marker100pro4.png?t="+t+"&img=.png";
	icon100pro4.shadow = "/i/markershadow100.png?t="+t+"&img=.png";
	icon100pro4.iconSize = new GSize(64, 44);
	icon100pro4.shadowSize = new GSize(90, 44);
	icon100pro4.iconAnchor = new GPoint(32, 44);
	icon100pro4.infoWindowAnchor = new GPoint(32, 10);

	icon500pro4 = new GIcon();
	icon500pro4.image = "/i/marker500pro4.png?t="+t+"&img=.png";
	icon500pro4.shadow = "/i/markershadow500.png?t="+t+"&img=.png";
	icon500pro4.iconSize = new GSize(64, 44);
	icon500pro4.shadowSize = new GSize(90, 44);
	icon500pro4.iconAnchor = new GPoint(32, 44);
	icon500pro4.infoWindowAnchor = new GPoint(32, 10);

	icon1000pro4 = new GIcon();
	icon1000pro4.image = "/i/marker1000pro4.png?t="+t+"&img=.png";
	icon1000pro4.shadow = "/i/markershadow1000.png?t="+t+"&img=.png";
	icon1000pro4.iconSize = new GSize(64, 44);
	icon1000pro4.shadowSize = new GSize(90, 44);
	icon1000pro4.iconAnchor = new GPoint(32, 44);
	icon1000pro4.infoWindowAnchor = new GPoint(38, 10);







	icon1pro = new GIcon();
	icon1pro.image = "/i/marker1pro.png?t="+t+"&img=.png";
	icon1pro.shadow = "/i/markershadow1.png?t="+t+"&img=.png";
	icon1pro.iconSize = new GSize(64, 36);
	icon1pro.shadowSize = new GSize(68, 36);
	icon1pro.iconAnchor = new GPoint(32, 36);
	icon1pro.infoWindowAnchor = new GPoint(32, 10);

	icon2pro = new GIcon();
	icon2pro.image = "/i/marker2pro.png?t="+t+"&img=.png";
	icon2pro.shadow = "/i/markershadow2.png?t="+t+"&img=.png";
	icon2pro.iconSize = new GSize(64, 36);
	icon2pro.shadowSize = new GSize(68, 36);
	icon2pro.iconAnchor = new GPoint(32, 36);
	icon2pro.infoWindowAnchor = new GPoint(32, 10);

	icon10pro = new GIcon();
	icon10pro.image = "/i/marker10pro.png?t="+t+"&img=.png";
	icon10pro.shadow = "/i/markershadow10.png?t="+t+"&img=.png";
	icon10pro.iconSize = new GSize(64, 44);
	icon10pro.shadowSize = new GSize(90, 44);
	icon10pro.iconAnchor = new GPoint(32, 44);
	icon10pro.infoWindowAnchor = new GPoint(32, 10);

	icon50pro = new GIcon();
	icon50pro.image = "/i/marker50pro.png?t="+t+"&img=.png";
	icon50pro.shadow = "/i/markershadow50.png?t="+t+"&img=.png";
	icon50pro.iconSize = new GSize(64, 44);
	icon50pro.shadowSize = new GSize(90, 44);
	icon50pro.iconAnchor = new GPoint(32, 44);
	icon50pro.infoWindowAnchor = new GPoint(32, 10);

	icon100pro = new GIcon();
	icon100pro.image = "/i/marker100pro.png?t="+t+"&img=.png";
	icon100pro.shadow = "/i/markershadow100.png?t="+t+"&img=.png";
	icon100pro.iconSize = new GSize(64, 44);
	icon100pro.shadowSize = new GSize(90, 44);
	icon100pro.iconAnchor = new GPoint(32, 44);
	icon100pro.infoWindowAnchor = new GPoint(32, 10);

	icon500pro = new GIcon();
	icon500pro.image = "/i/marker500pro.png?t="+t+"&img=.png";
	icon500pro.shadow = "/i/markershadow500.png?t="+t+"&img=.png";
	icon500pro.iconSize = new GSize(64, 44);
	icon500pro.shadowSize = new GSize(90, 44);
	icon500pro.iconAnchor = new GPoint(32, 44);
	icon500pro.infoWindowAnchor = new GPoint(32, 10);

	icon1000pro = new GIcon();
	icon1000pro.image = "/i/marker1000pro.png?t="+t+"&img=.png";
	icon1000pro.shadow = "/i/markershadow1000.png?t="+t+"&img=.png";
	icon1000pro.iconSize = new GSize(64, 44);
	icon1000pro.shadowSize = new GSize(90, 44);
	icon1000pro.iconAnchor = new GPoint(32, 44);
	icon1000pro.infoWindowAnchor = new GPoint(38, 10);






	iconmymybox = new GIcon();
	iconmymybox.image = "/i/mybox.png?t="+t+"&img=.png";
	iconmymybox.shadow = "/i/myboxshadow.png?t="+t+"&img=.png";
	iconmymybox.iconSize = new GSize(64, 36);
	iconmymybox.shadowSize = new GSize(68, 36);
	iconmymybox.iconAnchor = new GPoint(32, 36);
	iconmymybox.infoWindowAnchor = new GPoint(38, 10);

	iconmybox = new GIcon();
	iconmybox.image = "/i/mybox.png?t="+t+"&img=.png";
	iconmybox.shadow = "/i/myboxshadow.png?t="+t+"&img=.png";
	iconmybox.iconSize = new GSize(64, 36);
	iconmybox.shadowSize = new GSize(68, 36);
	iconmybox.iconAnchor = new GPoint(32, 36);
	iconmybox.infoWindowAnchor = new GPoint(38, 10);







	iconmyboxpro3 = new GIcon();
	iconmyboxpro3.image = "/i/myboxpro3.png?t="+t+"&img=.png";
	iconmyboxpro3.shadow = "/i/myboxshadow.png?t="+t+"&img=.png";
	iconmyboxpro3.iconSize = new GSize(64, 36);
	iconmyboxpro3.shadowSize = new GSize(68, 36);
	iconmyboxpro3.iconAnchor = new GPoint(32, 36);
	iconmyboxpro3.infoWindowAnchor = new GPoint(38, 10);

	iconmyboxpro4 = new GIcon();
	iconmyboxpro4.image = "/i/myboxpro4.png?t="+t+"&img=.png";
	iconmyboxpro4.shadow = "/i/myboxshadow.png?t="+t+"&img=.png";
	iconmyboxpro4.iconSize = new GSize(64, 36);
	iconmyboxpro4.shadowSize = new GSize(68, 36);
	iconmyboxpro4.iconAnchor = new GPoint(32, 36);
	iconmyboxpro4.infoWindowAnchor = new GPoint(38, 10);

	iconmyboxpro = new GIcon();
	iconmyboxpro.image = "/i/myboxpro.png?t="+t+"&img=.png";
	iconmyboxpro.shadow = "/i/myboxshadow.png?t="+t+"&img=.png";
	iconmyboxpro.iconSize = new GSize(64, 36);
	iconmyboxpro.shadowSize = new GSize(68, 36);
	iconmyboxpro.iconAnchor = new GPoint(32, 36);
	iconmyboxpro.infoWindowAnchor = new GPoint(38, 10);







	cross = new GIcon();
	cross.image = "/i/cross.png?t="+t+"&img=.png";
//	cross.shadow = "/i/crossshadow.png?t="+t;
	cross.iconSize = new GSize(26, 26);
	cross.shadowSize = new GSize(38, 26);
	cross.iconAnchor = new GPoint(13, 13);
	cross.infoWindowAnchor = new GPoint(13, 13);
	
	scale = new GIcon();
	scale.image = "/i/scale2.png?t="+t+"&img=.png";
//	scale.shadow = "/i/scaleshadow.png?t="+t;
	scale.iconSize = new GSize(240, 30);
	scale.shadowSize = new GSize(38, 26);
	scale.iconAnchor = new GPoint(13, 13);
	scale.infoWindowAnchor = new GPoint(13, 13);

	connectingicon = new GIcon();
	connectingicon.image = "/i/connecting.png?t="+t+"&img=.png";
//	connectingicon.shadow = "/i/connectingiconshadow.png?t="+t;
	connectingicon.iconSize = new GSize(136, 24);
	connectingicon.shadowSize = new GSize(38, 26);
	connectingicon.iconAnchor = new GPoint(55, 19);
	connectingicon.infoWindowAnchor = new GPoint(13, 13);

}

var loadsetdata=true;

function loadMapData2(request){
		var xmlDoc = request.responseXML;
//		alert(request+"/"+xmlDoc+"/"+request.readyState);

	var mapskey = xmlDoc.documentElement.getElementsByTagName("mapskey");
	var key = mapskey[0].getAttribute("key")
	var maps = getMaps(key);
	var map = maps.map;

	var tapoint = xmlDoc.documentElement.getElementsByTagName("apoint");
	

	var currarea = document.getElementById("addr");
	var latlng = document.getElementById("latlng");
	maps.currpref = tapoint[0].getAttribute("pref");
	maps.currcity = tapoint[0].getAttribute("city");
	maps.currtown = tapoint[0].getAttribute("town");

	if(currarea){
		currarea.value=maps.currpref+maps.currcity+maps.currtown;
	}
	var cpoint = map.getCenter();
	if(latlng){
		latlng.innerHTML="緯度:"+per2do(cpoint.lat())+"／"+"経度:"+per2do(cpoint.lng())+"／"+maps.currpref+maps.currcity+maps.currtown;
	}

	var lat = document.getElementById("latitude");
	if(!loadsetdata){
		loadsetdata=true;
	}else if(lat){
		var lng = document.getElementById("longitude");
		var zip1 = document.getElementById("zip1");
		var zip2 = document.getElementById("zip2");
		var pref = document.getElementById("pref");
		var addr1 = document.getElementById("addr1");
		var addr2 = document.getElementById("addr2");
		var landmark = document.getElementById("landmark");
		
		lat.value=per2long(cpoint.y);
		lng.value=per2long(cpoint.x);
		zip1.value="";
		zip2.value="";
		if(maps.currpref){
			pref.value=maps.currpref;
			addr1.value=maps.currcity;
			addr2.value=maps.currtown;
			landmark.value="";
		}else{
			pref.value="";
			addr1.value="";
			addr2.value="";
			landmark.value=maps.currtown;
		}
	}

  beginend(key);
}

function loadMapData3(request){
		var xmlDoc = request.responseXML;
//		alert(request+"/"+xmlDoc+"/"+request.readyState);

	var mapskey = xmlDoc.documentElement.getElementsByTagName("mapskey");
	var key = mapskey[0].getAttribute("key")
	var maps = getMaps(key);
	var map = maps.map;

	var tapoint = xmlDoc.documentElement.getElementsByTagName("apoint");

	var izip1 = document.getElementById("zip1");
	var izip2 = document.getElementById("zip2");
	var latlng = document.getElementById("latlng");
	maps.currzip1 = tapoint[0].getAttribute("zip1");
	maps.currzip2 = tapoint[0].getAttribute("zip2");
	maps.currpref = tapoint[0].getAttribute("pref");
	maps.currcity = tapoint[0].getAttribute("city");
	maps.currtown = tapoint[0].getAttribute("town");

	if(izip1){
		izip1.value=maps.currzip1;
	}
	if(izip2){
		izip2.value=maps.currzip2;
	}
	var cpoint = map.getCenter();
	latlng.innerHTML="緯度:"+per2do(cpoint.lat())+"／"+"経度:"+per2do(cpoint.lng())+"／"+"〒"+maps.currzip1+"-"+maps.currzip2+" "+maps.currpref+maps.currcity+maps.currtown;

  beginend(key);
}

function loadMapData4(request){
		var xmlDoc = request.responseXML;
//		alert(request+"/"+xmlDoc+"/"+request.readyState);

	var mapskey = xmlDoc.documentElement.getElementsByTagName("mapskey");
	var key = mapskey[0].getAttribute("key")
	var maps = getMaps(key);
	var map = maps.map;

	var tapoint = xmlDoc.documentElement.getElementsByTagName("apoint");

	var currarea = document.getElementById("landmark");
	var latlng = document.getElementById("latlng");
	maps.currpref = tapoint[0].getAttribute("pref");
	maps.currcity = tapoint[0].getAttribute("city");
	maps.currtown = tapoint[0].getAttribute("town");

	if(currarea){
		sug=maps.currpref+maps.currcity+maps.currtown;
		currarea.value=maps.currpref+maps.currcity+maps.currtown;
	}
	var cpoint = map.getCenter();
	latlng.innerHTML="緯度:"+per2do(cpoint.lat())+"／"+"経度:"+per2do(cpoint.lng())+"／"+maps.currpref+maps.currcity+maps.currtown;

  beginend(key);
}

function thispointauto(pno,key){
	var maps = getMaps(key);
	var map = maps.map;

	var cpoint = map.getCenter();
	var lat = per2long(cpoint.lat());
	var lng = per2long(cpoint.lng());
	var s = map.getBounds();
	var w = per2long(getMapWidth(s)) / 5;
	var h = per2long(getMapHeight(s)) / 5;

	var x = Math.random()*(w)-w/2;
	var y = Math.random()*(h)-w/2;
	lng = lng + x;
	lat = lat + y;
	
	
	
	pointselectaddr(pno,0,'','',maps.currpref,maps.currcity,"付近(撮影地は目安)",'',lat,lng);
}

function thispointlandmarkauto(pno,key){
	var maps = getMaps(key);
	var map = maps.map;

	var cpoint = map.getCenter();
	var lat = per2long(cpoint.lat());
	var lng = per2long(cpoint.lng());
	
	var s = map.getBounds();
	var w = per2long(getMapWidth(s)) / 5;
	var h = per2long(getMapHeight(s)) / 5;

	var x = Math.random()*(w)-w/2;
	var y = Math.random()*(h)-w/2;
	lng = lng + x;
	lat = lat + y;
//	pointselectlandmark(pno,0,'','','','','',maps.currpref,per2long(cpoint.lat()),per2long(cpoint.lng()),mapskey);
	pointselectlandmark(pno,0,'','','','','',maps.currpref+"付近(撮影地は目安)",lat,lng,mapskey);
}


function thispointaddr(pno,key){
	var maps = getMaps(key);
	if(!maps){
		maps = getMaps("0");
	}
	var map = maps.map;

	var cpoint = map.getCenter();
	pointselectaddr(pno,0,'','',maps.currpref,maps.currcity,maps.currtown,'',per2long(cpoint.lat()),per2long(cpoint.lng()),mapskey);
}

function thispointzip(pno,key){
	var maps = getMaps(key);
	if(!maps){
		maps = getMaps("0");
	}
	var map = maps.map;

	var cpoint = map.getCenter();
	pointselectzip(pno,0,maps.currzip1,maps.currzip2,maps.currpref,maps.currcity,maps.currtown,'',per2long(cpoint.lat()),per2long(cpoint.lng()),mapskey);
}

function thispointlandmark(pno,key){
	var maps = getMaps(key);
	if(!maps){
		maps = getMaps("0");
	}
	var map = maps.map;

	var cpoint = map.getCenter();
	pointselectlandmark(pno,0,'','','','','',maps.currpref,per2long(cpoint.lat()),per2long(cpoint.lng()),mapskey);
}

function loadMapData(request){
	if(testmode){
		return;
	}
  if (request.readyState == 4) {

		forceinfo=true;
//		status=status+"info";

		var xmlDoc = request.responseXML;
//		alert(request+"/"+xmlDoc+"/"+request.readyState);

		if(!xmlDoc || !xmlDoc.documentElement)return;
		var mapskey = xmlDoc.documentElement.getElementsByTagName("mapskey");
		var key = mapskey[0].getAttribute("key");
		var maps = getMaps(key);
		var map = maps.map;

		var tapoint = xmlDoc.documentElement.getElementsByTagName("apoint");
		var currarea = document.getElementById("currarea");
		var currkyori = document.getElementById("currkyori");
		var currhoui = document.getElementById("currhoui");
		currarea.innerHTML=tapoint[0].getAttribute("area");
		currkyori.innerHTML=tapoint[0].getAttribute("kyori");
		currhoui.innerHTML=tapoint[0].getAttribute("houi");


		var twpoint = xmlDoc.documentElement.getElementsByTagName("wpoint");

		var wpoint = twpoint[0].getAttribute("point");
		var wpointname = twpoint[0].getAttribute("name");
		var wimg = document.getElementById("wimg");
		var wlink = document.getElementById("wlink");
		if(wpoint==0){
			wimg.src="/i/unknownweather.jpg";
			wimg.alt="-- の天気予報";
			wlink.href="http://www.tenki-yoho.com";
		}else{
			wimg.src="http://link.tenki-yoho.com/img.php?"+wpoint+",fc2";
			wimg.alt=wpointname+"の天気予報";
			wlink.href="http://www.tenki-yoho.com/cities/"+wpoint+".html";
		}
		
		var a = xmlDoc.documentElement.getElementsByTagName("marker");
		var sti=maps.markers.length;
		for(var i=0;i<a.length;i++){
			maps.markers[maps.markers.length] = xmlobject(a[i]);
		}
//		alert(markers[0]);
//		status=markers.length+"?"+a.length;
		if(maps._curriconview==0){
			for (var i = 0; i < a.length; i++) {
				addIcon(sti+i,key);
			}
		}
		forceinfo=false;
	  beginend(key);
  }
}

function xmlobject(a){
	var obj = new Object();
	obj.type = a.getAttribute("type");
	obj.count = a.getAttribute("count");
	obj.pcount = a.getAttribute("pcount");
	obj.baselat = a.getAttribute("baselat");
	obj.baselng = a.getAttribute("baselng");
	obj.meshwidth = a.getAttribute("meshwidth");
	obj.meshheight = a.getAttribute("meshheight");
	obj.pid = a.getAttribute("id");
	obj.pserial = a.getAttribute("serial");
	obj.owner = a.getAttribute("owner");
	obj.usertype = a.getAttribute("usertype");
	obj.title = a.getAttribute("title");
	obj.src = a.getAttribute("src");
	obj.lat = a.getAttribute("lat");
	obj.lng = a.getAttribute("lng");
	return obj;
}

function openinfo(m,sel,key){
	var maps = getMaps(key);
	var map = maps.map;

	clickinfo=true;
	var type = maps.markers[sel].type;
	var count = maps.markers[sel].count;
	var pcount = maps.markers[sel].pcount;
	var baselat = maps.markers[sel].baselat;
	var baselng = maps.markers[sel].baselng;
	var meshwidth = maps.markers[sel].meshwidth;
	var meshheight = maps.markers[sel].meshheight;
	var pid = maps.markers[sel].pid;
	var pserial = maps.markers[sel].pserial;
	var owner = maps.markers[sel].owner;
	var title = maps.markers[sel].title;
	var src = maps.markers[sel].src;

	openedmarker=m;
	openedno=sel;
	
	var cpoint = map.getCenter();
	var zoom = getMapZoom(map);
	
	var viewowner="";
	if(ownermode==1 || ownermode==2){
		viewowner=owner;
	}
	var t=new Date().getTime();
	var a = "";
	var a2 = "</a>";
	var link="";
	var scount="";
	if(type=="mymybox" || type=="mybox"){
		if(count==1){
			scount="この場所に 1 個 MyBox があります";
			a = "<a href='javascript:jumpmyboxdetail(\""+owner+"\",\""+key+"\");'>";
			link="このMyBoxの詳細...";
		}else{
			scount="この付近に "+count+" 個 MyBox があります。<br>詳細は拡大してご覧ください。";
			a = "<a href='javascript:jumpmyboxlist("+baselat+","+baselng+","+meshwidth+","+meshheight+",\""+key+"\");'>";
			link="この付近のMyBoxリスト...";
		}
	}else if(type=="photo"){
		if(count==1){
			scount="この場所に 1 枚写真があります";
			a = "<a href='javascript:jumpdetail(\""+pid+"\",\""+pserial+"\",\""+key+"\");'>";
			link="この写真の詳細...";
		}else{
			scount="この付近に撮影地が "+pcount+" 点、写真が "+count+" 枚写真があります。<br>詳細は拡大してご覧ください。";
			a = "<a href='javascript:jumplist(\""+viewowner+"\","+baselat+","+baselng+","+meshwidth+","+meshheight+",\""+key+"\");'>";
			link="この付近の写真リスト...";
		}
	}
	var html="";
	html=html+"<table border='0' width='300'>";
	html=html+"<tr>";

	html=html+"<td class='mapinfo'>";
	html=html+title+"<br>";
//	html=html+a+"<img src='"+baseurl+"/"+owner+"/photo/tn_"+pid+"_"+pserial+".jpg' width='70'>"+a2;
	html=html+a+"<img src='"+src+"' height='70'>"+a2;
	html=html+"</td>";
	
	html=html+"<td class='mapinfo'>";
	html=html+scount+"<br>";
	html=html+a+link+a2+"<br>";
	html=html+"</td>";

	html=html+"</tr>";
	html=html+"</table>";
	
	m.openInfoWindowHtml(html);
//	map.openInfoWindowHtml(m.getPoint(),html,new GSize(0,-20));
//	map.openInfoWindowHtml(m.getPoint(),html);
//	map.openInfoWindowHtml(m.point,html);
	clickinfo=false;
}


function addIconMybox(){
	var point = new GLatLng(35.680843,139.777493)
	var mybox = new GMarker(point,iconmybox);
	map.addOverlay(mybox);
}

function addIcon(i,key){
	var maps = getMaps(key);
	var map = maps.map;
	var markers = maps.markers;

	var point = new GLatLng(
					   parseFloat(markers[i].lat),
					   parseFloat(markers[i].lng));
	var type = markers[i].type;
	var usertype = markers[i].usertype;
	var count = Number(markers[i].count);
	var icon;
	if(usertype==3){

		if(type=="mymybox"){
			icon=iconmyboxpro3;
		}else if(type=="mybox"){
			icon=iconmyboxpro3;
		}else if(count>=1000){
			icon=icon1000pro3;
		}else if(count>=500){
			icon=icon500pro3;
		}else if(count>=100){
			icon=icon100pro3;
		}else if(count>=50){
			icon=icon50pro3;
		}else if(count>=10){
			icon=icon10pro3;
		}else if(count>=2){
			icon=icon2pro3;
		}else if(count==1){
			icon=icon1pro3;
		}
	}else if(usertype==4){

		if(type=="mymybox"){
			icon=iconmyboxpro4;
		}else if(type=="mybox"){
			icon=iconmyboxpro4;
		}else if(count>=1000){
			icon=icon1000pro4;
		}else if(count>=500){
			icon=icon500pro4;
		}else if(count>=100){
			icon=icon100pro4;
		}else if(count>=50){
			icon=icon50pro4;
		}else if(count>=10){
			icon=icon10pro4;
		}else if(count>=2){
			icon=icon2pro4;
		}else if(count==1){
			icon=icon1pro4;
		}
	}else if(usertype==5){

		if(type=="mymybox"){
			icon=iconmyboxpro;
		}else if(type=="mybox"){
			icon=iconmyboxpro;
		}else if(count>=1000){
			icon=icon1000pro;
		}else if(count>=500){
			icon=icon500pro;
		}else if(count>=100){
			icon=icon100pro;
		}else if(count>=50){
			icon=icon50pro;
		}else if(count>=10){
			icon=icon10pro;
		}else if(count>=2){
			icon=icon2pro;
		}else if(count==1){
			icon=icon1pro;
		}
	}else{

		if(type=="mymybox"){
			icon=iconmybox;
		}else if(type=="mybox"){
			icon=iconmybox;
		}else if(count>=1000){
			icon=icon1000;
		}else if(count>=500){
			icon=icon500;
		}else if(count>=100){
			icon=icon100;
		}else if(count>=50){
			icon=icon50;
		}else if(count>=10){
			icon=icon10;
		}else if(count>=2){
			icon=icon2;
		}else if(count==1){
			icon=icon1;
		}
	}
	maps.marker[maps.marker.length] = new GMarker(point,icon);
	maps.marker[maps.marker.length-1].maps = maps;
	map.addOverlay(maps.marker[maps.marker.length-1]);
	/*
	GEvent.addListener(maps.marker[maps.marker.length-1], 'click', function(m) {
		var sel=0;
		var maps = m.maps;
		var map = maps.map;
		map.panTo(m.getPoint());
		for(var j=0;j<maps.marker.length;j++){
			if(maps.marker[j]==m){
				sel=j;
				break;
			}
		}
		maps.clickedmarker=m;
		maps.clickedmarkersel=sel;
		setTimeout("_openinfo(\""+key+"\")",1000);

	});
	*/
}


function _openinfo(key){
	var maps = getMaps(key);
	openinfo(maps.clickedmarker,maps.clickedmarkersel,key);
}

function registthispoint(key){
	var maps = getMaps(key);
	var map = maps.map;

	var cpoint = map.getCenter();
//	var cbounds = map.getBounds();
	var b = map.getBounds();
	var minX=getMinX(b);
	var minY=getMinY(b);
	var maxX=getMaxX(b);
	var maxY=getMaxY(b);

//	var cspan = map.getBounds();
	var zoom = getMapZoom(map);
	
	var clat=per2long(cpoint.lat());
	var clng=per2long(cpoint.lng());
 	var t=new Date().getTime();

	location.href= home+"/photo?mode=upload&latitude="+clat+"&longitude="+clng+"&addrmode=latlng"+'&x1='+minX+'&y1='+minY+'&x2='+maxX+'&y2='+maxY+'&z='+zoom+"&t="+t;
}


function jumpdetail(pid,pserial,key){
	var maps = getMaps(key);
	var map = maps.map;

	var cpoint = map.getCenter();
	var b = map.getBounds();
	var minX=getMinX(b);
	var minY=getMinY(b);
	var maxX=getMaxX(b);
	var maxY=getMaxY(b);
	var cspan = map.getBounds();
	var zoom = getMapZoom(map);
	
	var clat=minY+getMapHeight(cspan)/2;
	var clng=minX+getMapWidth(cspan)/2;

	var elcat = document.getElementById("lcat");
	var lcat = elcat.options[elcat.selectedIndex].value;

	var maptype=0;
	if(map.getCurrentMapType()==G_NORMAL_MAP){
		maptype=0;
	}else{
		maptype=1;
	}
	
 	var t=new Date().getTime();

	location.href= home+"/photo?fpage=m&mode=detail&id="+pid+"_"+pserial+"&oid="+maps._ownerid+"&clat="+clat+"&clng="+clng+"&zoom="+zoom+"&ot="+ownermode+"&mt="+maptype+"&lcat="+lcat+"&t="+t;
}

function jumplist(viewowner,baselat,baselng,meshwidth,meshheight,key){
	var maps = getMaps(key);
	var map = maps.map;

	var cpoint = map.getCenter();
	var b = map.getBounds();
	var minX=getMinX(b);
	var minY=getMinY(b);
	var maxX=getMaxX(b);
	var maxY=getMaxY(b);
	var cspan = map.getBounds();
	var zoom = getMapZoom(map);
	
	var clat=minY+getMapHeight(cspan)/2;
	var clng=minX+getMapWidth(cspan)/2;
	
	var elcat = document.getElementById("lcat");
	var lcat = elcat.options[elcat.selectedIndex].value;
	var maptype=0;
	if(map.getCurrentMapType()==G_NORMAL_MAP){
		maptype=0;
	}else{
		maptype=1;
	}
 	var t=new Date().getTime();

	location.href= home+"/photo?fpage=m&mode=list&owner="+viewowner+"&oid="+maps._ownerid+"&baselat="+baselat+"&baselng="+baselng+"&meshw="+meshwidth+"&meshh="+meshheight+"&clat="+clat+"&clng="+clng+"&zoom="+zoom+"&ot="+ownermode+"&mt="+maptype+"&lcat="+lcat+"&t="+t;
}

function jumpmyboxdetail(owner,key){
	var maps = getMaps(key);
	var map = maps.map;

	var cpoint = map.getCenter();
	var b = map.getBounds();
	var minX=getMinX(b);
	var minY=getMinY(b);
	var maxX=getMaxX(b);
	var maxY=getMaxY(b);
	var cspan = map.getBounds();
	var zoom = getMapZoom(map);
	
	var clat=minY+getMapHeight(cspan)/2;
	var clng=minX+getMapWidth(cspan)/2;

	var elcat = document.getElementById("lcat");
	var lcat = elcat.options[elcat.selectedIndex].value;

	var maptype=0;
	if(map.getCurrentMapType()==G_NORMAL_MAP){
		maptype=0;
	}else{
		maptype=1;
	}
	
 	var t=new Date().getTime();

	location.href= home+"/photo?fpage=m&mode=myboxdetail&owner="+owner+"&oid="+maps._ownerid+"&clat="+clat+"&clng="+clng+"&zoom="+zoom+"&ot="+ownermode+"&mt="+maptype+"&lcat="+lcat+"&t="+t;
}

function jumpmyboxlist(baselat,baselng,meshwidth,meshheight,key){
	var maps = getMaps(key);
	var map = maps.map;

	var cpoint = map.getCenter();
	var b = map.getBounds();
	var minX=getMinX(b);
	var minY=getMinY(b);
	var maxX=getMaxX(b);
	var maxY=getMaxY(b);
	var cspan = map.getBounds();
	var zoom = getMapZoom(map);
	
	var clat=minY+getMapWidth(cspan)/2;
	var clng=minX+getMapWidth(cspan)/2;
	
	var elcat = document.getElementById("lcat");
	var lcat = elcat.options[elcat.selectedIndex].value;
	var maptype=0;
	if(map.getCurrentMapType()==G_NORMAL_MAP){
		maptype=0;
	}else{
		maptype=1;
	}
	
 	var t=new Date().getTime();

	location.href= home+"/photo?fpage=m&mode=myboxlist&baselat="+baselat+"&oid="+maps._ownerid+"&baselng="+baselng+"&meshw="+meshwidth+"&meshh="+meshheight+"&clat="+clat+"&clng="+clng+"&zoom="+zoom+"&ot="+ownermode+"&mt="+maptype+"&lcat="+lcat+"&t="+t;
}

function makeCross(key){
	var maps = getMaps(key);
	var map = maps.map;

	if(testmode){
		return;
	}
	if(maps.crossmarker){
		map.removeOverlay(maps.crossmarker);
	}
	maps.crossmarker = new GMarker(map.getCenter(),cross);
	map.addOverlay(maps.crossmarker);
	
	
	if(mapmode!=4 || mapmode==4){
		if(maps.scalemarker){
			map.removeOverlay(maps.scalemarker);
		}
		var b = map.getBounds();
		var minX=getMinX(b);
		var minY=getMinY(b);
		var maxX=getMaxX(b);
		var maxY=b.getNorthEast().lat();

		scale = new GIcon();
		scale.image = "/i/scale"+(maps.currzoom-2)+".png?t="+new Date().getTime()+"&img=.png";
		scale.iconSize = new GSize(240, 30);
		scale.shadowSize = new GSize(38, 26);
		scale.iconAnchor = new GPoint(13, 13);
		scale.infoWindowAnchor = new GPoint(13, 13);

		maps.scalemarker = new GMarker(new GLatLng(minY+(maxY-minY)/12,minX+(maxX-minX)/40),scale);
		map.addOverlay(maps.scalemarker);
	}
}

function moveStartMap(){
	var maps = searchMaps(this);
	var key = maps.key;
	var map = maps.map;
	if(maps.crossmarker){
		map.removeOverlay(maps.crossmarker);
	}
	if(maps.scalemarker){
		map.removeOverlay(maps.scalemarker);
	}
}

function movingMap(){
	movestart=true;
}

function zoomMap(){
	var maps = searchMaps(this);
	var key = maps.key;
	var map = maps.map;
	begin(key);
	movestart=true;
	openedmarker=null;
	
}

function closeinfo(){
	if(forceinfo)return;
	openedmarker=null;
}

function moveAtLatLng(lat,lng,z,key){
	var maps = getMaps(key);
	var map = maps.map;
	if(z==0){
		map.setCenter(new GLatLng(lat,lng));
	}else{
		map.setCenter(new GLatLng(lat,lng),19 - z);
		maps.currzoom=z;
	}
}

function moveUp(key){
	var maps = getMaps(key);
	dummymap = maps.map;
	setTimeout("dummymap.panTo(new GLatLng(dummymap.getBounds().getNorthEast().lat(),dummymap.getCenter().lng()))",100);
}

function moveRight(key){
	var maps = getMaps(key);
	dummymap = maps.map;
	setTimeout("dummymap.panTo(new GLatLng(dummymap.getCenter().lat(),dummymap.getBounds().getNorthEast().lng()))",100);
}

function moveDown(key){
	var maps = getMaps(key);
	dummymap = maps.map;
	setTimeout("dummymap.panTo(new GLatLng(dummymap.getBounds().getSouthWest().lat(),dummymap.getCenter().lng()))",100);
}

function moveLeft(key){
	var maps = getMaps(key);
	dummymap = maps.map;
	setTimeout("dummymap.panTo(new GLatLng(dummymap.getCenter().lat(),dummymap.getBounds().getSouthWest().lng()))",100);
}

function startPos(oid,lng,lat,z,ot,mt,lcat,iv,key){
	var maps = getMaps(key);
	var map = maps.map;

	map.setCenter(new GLatLng(lat,lng), 19 - z);
	maps._ownerid=oid;
	maps._currlng=lng;
	maps._currlat=lat;
	maps.currzoom=getMapZoom(map);
	maps.oldzoom=maps.currzoom;
	ownermode=ot;
	var gomap = document.getElementById("gomap"+key);
	var gosatellite = document.getElementById("gosatellite"+key);
	if(mt==0){
		map.setMapType(G_NORMAL_MAP);
		gomap.src="/i/gomaps.png?t="+new Date().getTime();
		gosatellite.src="/i/gosatellite.png?t="+new Date().getTime();
	}else{
		map.setMapType(G_SATELLITE_MAP);
		gomap.src="/i/gomap.png?t="+new Date().getTime();
		gosatellite.src="/i/gosatellites.png?t="+new Date().getTime();
	}
	var ivimg = document.getElementById("goiconshow"+key);
	if(iv==0){
		ivimg.src="/i/goiconhide.png?t="+new Date().getTime();
		maps._curriconview=0;
	}else{
		ivimg.src="/i/goiconshow.png?t="+new Date().getTime();
		maps._curriconview=-1;
	}
	setMapZoom(map,z);
}

function changeIconShowHide(key){
	var maps = getMaps(key);
	var map = maps.map;

	var ivimg = document.getElementById("goiconshow"+key);
	if(maps._curriconview==0){
		ivimg.src="/i/goiconshow.png?t="+new Date().getTime();
		maps._curriconview=-1;
	}else{
		ivimg.src="/i/goiconhide.png?t="+new Date().getTime();
		maps._curriconview=0;
	}
movestart=true;
maps.currzoom=-1;
maps.oldzoom=maps.currzoom;
moveMap(key);
}

function checkiconview(key){
	var maps = getMaps(key);
	var map = maps.map;

	var eiv = document.getElementById("iv");
	if(eiv.checked){
		maps._curriconview=0;
	}else{
		maps._curriconview=-1;
	}
movestart=true;
maps.currzoom=-1;
maps.oldzoom=maps.currzoom;
moveMap(key);
}

function moveRepos(key){
	var maps = getMaps(key);
	dummymap = maps.map;
	setTimeout("dummymap.panTo(new GLatLng("+maps._currlat+","+maps._currlng+"))",100);
}

function zoomscale(e){
	var key = this.id.substring("ctrlscalebar".length);
	var maps = getMaps(key);
	var map = maps.map;

	var ctrlscalebar = document.getElementById("ctrlscalebar"+key);

	var x = parseInt(ctrlscalebar.parentNode.parentNode.style.left);
	var y = parseInt(ctrlscalebar.parentNode.parentNode.style.top);
	var w = parseInt(ctrlscalebar.style.width);
	var h = parseInt(ctrlscalebar.style.height);
	var mx = parseInt(getMouseX(e));
	var my = parseInt(getMouseY(e));
	var sy = my-y;
	sy = Math.floor(sy / 8);
	begin(key);
	scalethumbpos(sy,key);
	dummymap=map;
	setTimeout("setMapZoom(dummymap,"+sy+")",100);
//	setTimeout("map.panTo(new GLatLng(map.getBounds().minX,map.getCenter().y))",100);
}

var dragst=false;
var dragkey=null;
function thumbscaledown(e){
	var key = this.id.substring("ctrlscalethumb".length);
	dragkey=key;
	var maps = getMaps(key);
	var map = maps.map;
//	var ctrlscalethumb = document.getElementById("ctrlscalethumb");
//	var ctrlscalebar = document.getElementById("ctrlscalebar");

//	var x = parseInt(ctrlscalebar.parentNode.parentNode.style.left);
///	var y = parseInt(ctrlscalebar.parentNode.parentNode.style.top);
//	var w = parseInt(ctrlscalebar.style.width);
//	var h = parseInt(ctrlscalebar.style.height);
//	var mx = parseInt(getMouseX(e));
//	var my = parseInt(getMouseY(e));
//	var sy = my-y;
//	sy = Math.floor(sy / 8);
//  if(document.all){            //e4用
//		event.srcElement.setCapture();
//	}
//status="a";
//	begin();
//	scalethumbpos(sy);
//	setTimeout("map.setZoom("+sy+")",100);
//	setTimeout("map.panTo(new GLatLng(map.getBounds().minX,map.getCenter().y))",100);
	dragst=true;
	return false;
}
function thumbdragstart(e){
	return false;
}

function defreturn(){
	return false;
}

function thumbscaleup(e){
//  if(document.all){            //e4用
//		event.srcElement.releaseCapture();
//	}
	if(!dragst)return;
	var key = dragkey;
	var maps = getMaps(key);
	var map = maps.map;

	var ctrlscalebar = document.getElementById("ctrlscalebar"+key);
	var y = parseInt(ctrlscalebar.parentNode.parentNode.style.top);
	var my = parseInt(getMouseY(e));
	var sy = my-y;
	sy = Math.floor(sy / 8);
	if(sy<0)sy=0;
	if(sy>19)sy=19;
	if(sy==maps.currzoom)return false;
	begin(key);
	maps.currzoom=sy;
	scalethumbpos(sy,key);
	dummymap=map;
	setTimeout("setMapZoom(dummymap,"+sy+")",100);
	dragst=false;
	return false;
}
function thumbscaledrag(e){
	if(!dragst){
		return false;
	}
	var key = dragkey;
	var maps = getMaps(key);
	var map = maps.map;
	var ctrlscalethumb = document.getElementById("ctrlscalethumb"+key);
	var ctrlscalebar = document.getElementById("ctrlscalebar"+key);

//	var x = parseInt(ctrlscalebar.parentNode.parentNode.style.left);
	var y = parseInt(ctrlscalebar.parentNode.parentNode.style.top);
//	var w = parseInt(ctrlscalebar.style.width);
//	var h = parseInt(ctrlscalebar.style.height);
//	var mx = parseInt(getMouseX(e));
	var my = parseInt(getMouseY(e));
	var sy = my-y;
	sy = Math.floor(sy / 8);
	if(sy<0)sy=0;
	if(sy>19)sy=19;
	
	status=sy;
//	scalethumbpos(sy);
  if(document.all){            //e4用
		ctrlscalethumb.parentNode.parentNode.style.pixelTop=sy*8+y;
  }else{
		ctrlscalethumb.parentNode.parentNode.style.top=sy*8+y+"px";
	}
//	ctrlscalethumb.parentNode.parentNode.style.top=(sy+y)+"px";
}
function zoomUp(key){
	var maps = getMaps(key);
	var map = maps.map;
	if(maps.currzoom>0){
		maps.currzoom-=1;
		begin(key);
		scalethumbpos(maps.currzoom,key);
		dummymap=map;
		setTimeout("setMapZoom(dummymap,"+(maps.currzoom)+")",100);
	}
}

function zoomDown(key){
	var maps = getMaps(key);
	var map = maps.map;
	if(maps.currzoom<19){
		maps.currzoom+=1;
		begin(key);
		scalethumbpos(maps.currzoom,key);
		dummymap=map;
		setTimeout("setMapZoom(dummymap,"+(maps.currzoom)+")",100);
	}
}

function changeMapTypeMap(key){
	var maps = getMaps(key);
	var map = maps.map;

	if(map.getCurrentMapType()==G_NORMAL_MAP)return;
	begin(key);
	var gomap = document.getElementById("gomap"+key);
	var gosatellite = document.getElementById("gosatellite"+key);
	var lvl="";
	if(gomap.src.indexOf("2.png")>0 || gosatellite.src.indexOf("2.png")>0){
		lvl="2";
	}
	gomap.src="/i/gomap"+lvl+"s.png?t="+new Date().getTime();
	gosatellite.src="/i/gosatellite"+lvl+".png?t="+new Date().getTime();
	dummymap=map;
	setTimeout("dummymap.setMapType(G_NORMAL_MAP)",100);
}

function changeMapTypeSatellite(key){
	var maps = getMaps(key);
	var map = maps.map;

	if(map.getCurrentMapType()==G_SATELLITE_MAP)return;
	begin(key);
	var gomap = document.getElementById("gomap"+key);
	var gosatellite = document.getElementById("gosatellite"+key);
	var lvl="";
	if(gomap.src.indexOf("2.png")>0 || gosatellite.src.indexOf("2.png")>0){
		lvl="2";
	}
	gomap.src="/i/gomap"+lvl+".png?t="+new Date().getTime();
	gosatellite.src="/i/gosatellite"+lvl+"s.png?t="+new Date().getTime();
	dummymap=map;
	setTimeout("dummymap.setMapType(G_SATELLITE_MAP)",100);
//	map.setMapType(G_SATELLITE_MAP);
}


function changeOwnerTypeAll(key){
	if(ownermode==0)return;
	var maps = getMaps(key);
	var map = maps.map;
	begin(key);
	ownermode=0;
	
	var wmode1 = document.getElementById("wmode1");
	var wmode2 = document.getElementById("wmode2");
	var wmodea = document.getElementById("wmodea");
//	wmode1.src="/i/map_plazamaps.jpg?t="+new Date().getTime();
//	wmode2.src="/i/map_mymap.jpg?t="+new Date().getTime();
//	wmodea.href="javascript:changeOwnerTypeOwner();";
	document.body.focus();
	
movestart=true;

	var elcat = document.getElementById("lcat");
	var lcat = elcat.options[elcat.selectedIndex].value;
		var ccenter = map.getCenter();
	var maptype=0;
	if(map.getCurrentMapType()==G_NORMAL_MAP){
		maptype=0;
	}else{
		maptype=1;
	}
location.href=home+"/maps?oid="+maps._ownerid+"&clat="+ccenter.lat()+"&clng="+ccenter.lng()+"&zoom="+maps.currzoom+"&ot="+ownermode+"&mt="+maptype+"&lcat="+lcat+"&t="+new Date().getTime();
maps.currzoom=-1;
maps.oldzoom=maps.currzoom;

//moveMap(key);

}

function changeOwnerTypeOwner(key){
	if(ownermode==1)return;
	var maps = getMaps(key);
	var map = maps.map;
	begin(key);

	var wmode1 = document.getElementById("wmode1");
	var wmode2 = document.getElementById("wmode2");
	var wmodea = document.getElementById("wmodea");
//	wmode1.src="/i/map_mymaps.jpg?t="+new Date().getTime();
//	wmode2.src="/i/map_plazamap.jpg?t="+new Date().getTime();
//	wmodea.href="javascript:changeOwnerTypeAll();";
	document.body.focus();

	ownermode=1;
movestart=true;
	var elcat = document.getElementById("lcat");
	var lcat = elcat.options[elcat.selectedIndex].value;
		var ccenter = map.getCenter();
	var maptype=0;
	if(map.getCurrentMapType()==G_NORMAL_MAP){
		maptype=0;
	}else{
		maptype=1;
	}
location.href=home+"/maps?oid="+maps._ownerid+"&clat="+ccenter.lat()+"&clng="+ccenter.lng()+"&zoom="+maps.currzoom+"&ot="+ownermode+"&mt="+maptype+"&lcat="+lcat+"&t="+new Date().getTime();
maps.currzoom=-1;
maps.oldzoom=maps.currzoom;
//moveMap(key);

}

function changeOwnerTypeMember(key){
	var maps = getMaps(key);
	var map = maps.map;
	if(maps._ownerid==0){
		location.href=home+"/search?t="+new Date().getTime();
		return;
	}
	if(ownermode==2)return;
	begin(key);

	var wmode1 = document.getElementById("wmode1");
	var wmode2 = document.getElementById("wmode2");
	var wmodea = document.getElementById("wmodea");
//	wmode1.src="/i/map_mymaps.jpg?t="+new Date().getTime();
//	wmode2.src="/i/map_plazamap.jpg?t="+new Date().getTime();
//	wmodea.href="javascript:changeOwnerTypeAll();";
	document.body.focus();

	ownermode=2;
movestart=true;
	var elcat = document.getElementById("lcat");
	var lcat = elcat.options[elcat.selectedIndex].value;
		var ccenter = map.getCenter();
	var maptype=0;
	if(map.getCurrentMapType()==G_NORMAL_MAP){
		maptype=0;
	}else{
		maptype=1;
	}
location.href=home+"/maps?oid="+maps._ownerid+"&clat="+ccenter.lat()+"&clng="+ccenter.lng()+"&zoom="+maps.currzoom+"&ot="+ownermode+"&mt="+maptype+"&lcat="+lcat+"&t="+new Date().getTime();
maps.currzoom=-1;
maps.oldzoom=maps.currzoom;
//moveMap(key);

}

function changeOwnerTypeMyp(key){
	var maps = getMaps(key);
	var map = maps.map;

	begin(key);

	var wmode1 = document.getElementById("wmode1");
	var wmode2 = document.getElementById("wmode2");
	var wmodea = document.getElementById("wmodea");
//	wmode1.src="/i/map_mymaps.jpg?t="+new Date().getTime();
//	wmode2.src="/i/map_plazamap.jpg?t="+new Date().getTime();
//	wmodea.href="javascript:changeOwnerTypeAll();";
	document.body.focus();

	ownermode=3;
movestart=true;
	var elcat = document.getElementById("lcat");
	var lcat = elcat.options[elcat.selectedIndex].value;
		var ccenter = map.getCenter();
	var maptype=0;
	if(map.getCurrentMapType()==G_NORMAL_MAP){
		maptype=0;
	}else{
		maptype=1;
	}
location.href=home+"/maps?oid="+maps._ownerid+"&clat="+ccenter.lat()+"&clng="+ccenter.lng()+"&zoom="+maps.currzoom+"&ot="+ownermode+"&mt="+maptype+"&lcat="+lcat+"&t="+new Date().getTime();
maps.currzoom=-1;
maps.oldzoom=maps.currzoom;
//moveMap(key);

}

function removeMap(key){
	var maps = getMaps(key);
	var map = maps.map;
movestart=true;
	maps.currzoom=-1;
maps.oldzoom=maps.currzoom;
	moveMap(key);
}

function moveMap2(key){
	var maps = null;
	var map = null;
	if(key){
		maps = getMaps(key);
		map = maps.map;
	}else{
		maps = searchMaps(this);
		key = maps.key;
		map = maps.map;
	}
	makeCross(key);
	begin(key);
	var b = map.getBounds();
	var minX=getMinX(b);
	var minY=getMinY(b);
	var maxX=getMaxX(b);
	var maxY=b.getNorthEast().lat();
	var s = map.getSize();
	var p = map.getCenter();
	var zoom = getMapZoom(map);
	
	var elcat = document.getElementById("lcat");
	var lcat = 0;
	var sendtext='&act=movemap2&&ownermode='+ownermode+'&oid='+maps._ownerid+'&x='+p.lng()+'&y='+p.lat()+'&x1='+minX+'&y1='+minY+'&x2='+maxX+'&y2='+maxY+'&z='+zoom+'&lcat='+lcat+'&mapskey='+key;
	setTimeout("sendRequest(loadMapData2,'"+sendtext+"','POST','"+home+"/maps',true,true)",100);
}

function moveMap3(key){
	var maps = null;
	var map = null;
	if(key){
		maps = getMaps(key);
		map = maps.map;
	}else{
		maps = searchMaps(this);
		key = maps.key;
		map = maps.map;
	}
	makeCross(key);
	begin(key);
	var b = map.getBounds();
	var minX=getMinX(b);
	var minY=getMinY(b);
	var maxX=getMaxX(b);
	var maxY=b.getNorthEast().lat();
	var s = map.getSize();
	var p = map.getCenter();
	var zoom = getMapZoom(map);
	
	var elcat = document.getElementById("lcat");
	var lcat = 0;
	var sendtext='&act=movemap3&&ownermode='+ownermode+'&oid='+maps._ownerid+'&x='+p.lng()+'&y='+p.lat()+'&x1='+minX+'&y1='+minY+'&x2='+maxX+'&y2='+maxY+'&z='+zoom+'&lcat='+lcat+'&mapskey='+key;
	setTimeout("sendRequest(loadMapData3,'"+sendtext+"','POST','"+home+"/maps',true,true)",100);
}

function moveMap4(key){
	var maps = null;
	var map = null;
	if(key){
		maps = getMaps(key);
		map = maps.map;
	}else{
		maps = searchMaps(this);
		key = maps.key;
		map = maps.map;
	}
	makeCross(key);
	begin(key);
	var b = map.getBounds();
	var minX=getMinX(b);
	var minY=getMinY(b);
	var maxX=getMaxX(b);
	var maxY=b.getNorthEast().lat();
	var s = map.getSize();
	var p = map.getCenter();
	var zoom = getMapZoom(map);
	
	var elcat = document.getElementById("lcat");
	var lcat = 0;
	var sendtext='&act=movemap4&&ownermode='+ownermode+'&oid='+maps._ownerid+'&x='+p.lng()+'&y='+p.lat()+'&x1='+minX+'&y1='+minY+'&x2='+maxX+'&y2='+maxY+'&z='+zoom+'&lcat='+lcat+'&mapskey='+key;
	setTimeout("sendRequest(loadMapData4,'"+sendtext+"','POST','"+home+"/maps',true,true)",100);
}

function mailtomap(key){
	var maps = getMaps(key);
	var map = maps.map;
	var ccenter = map.getCenter();

	var elcat = document.getElementById("lcat");
	var lcat = elcat.options[elcat.selectedIndex].value;
	var maptype=0;
	if(map.getCurrentMapType()==G_NORMAL_MAP){
		maptype=0;
	}else{
		maptype=1;
	}
	
	var data = "http://"+fulldomain+"/home/maps";
	data = data + "?ownermode="+ownermode;
	data = data + "&oid="+maps._ownerid;
	data = data + "&clat="+ccenter.lat();
	data = data + "&clng="+ccenter.lng();
	data = data + "&zoom="+maps.currzoom;
	data = data + "&ot="+ownermode+"&mt="+maptype+"&lcat="+lcat;
	data = data + "&t="+new Date().getTime();
	location.href="mailto:?subject="+mailtosubject+"&body="+mailtobody+"%3A%0d%0a"+encodeURIComponent(data);
}

function moveMap(key,reset){
	if(!movestart){
		movestart=false;
		return;
	}
	var maps = null;
	var map = null;
	if(key){
		maps = getMaps(key);
		map = maps.map;
	}else{
		maps = searchMaps(this);
		key = maps.key;
		map = maps.map;
	}
//	setTimeout("begin()",10);
	var currlat = document.getElementById("currlat");
	var currlng = document.getElementById("currlng");
	if(currlat && currlng){
		var b = map.getBounds();
	var minX=getMinX(b);
	var minY=getMinY(b);
	var maxX=getMaxX(b);
	var maxY=b.getNorthEast().lat();
		var cspan = map.getBounds();
		var ccenter = map.getCenter();

//		var alat = per2do(cbounds.minY+cspan.height/2);
//		var alng = per2do(cbounds.minX+cspan.width/2);
		var alat = per2do(ccenter.lat());
		var alng = per2do(ccenter.lng());
		currlat.innerHTML=alat[0]+"度"+alat[1]+"分"+alat[2]+"秒";
		currlng.innerHTML=alng[0]+"度"+alng[1]+"分"+alng[2]+"秒";
	}
	var currarea = document.getElementById("currarea");
	var currkyori = document.getElementById("currkyori");
	var currhoui = document.getElementById("currhoui");
	currarea.innerHTML="検索中..."
	currkyori.innerHTML="検索中...";
	currhoui.innerHTML="検索中...";

//		status="???"+maps.oldzoom+":"+currzoom+"="+getMapZoom(map);
	if(maps.oldzoom!=getMapZoom(map)){
		maps.currzoom=getMapZoom(map);
		maps.oldzoom=maps.currzoom;

		map.clearOverlays();
		maps.marker = new Array();
		maps.markers = new Array();
		reset=1;
		scalethumbpos(maps.currzoom,key);
	}
	if(!reset){
		reset=0;
	}
	movestart=false;
	makeCross(key);
	
	begin(key);

	var b = map.getBounds();
	var minX=getMinX(b);
	var minY=getMinY(b);
	var maxX=getMaxX(b);
	var maxY=b.getNorthEast().lat();
	var s = map.getBounds();
	var p = map.getCenter();
	minX = p.lng() - getMapWidth(s) / 2;
	maxX = p.lng() + getMapWidth(s) / 2;
	minY = p.lat() - getMapHeight(s) / 2;
	maxY = p.lat() + getMapHeight(s) / 2;
	
	var zoom = getMapZoom(map);
	
	var elcat = document.getElementById("lcat");
	var lcat = elcat.options[elcat.selectedIndex].value;

var sendtext='&act=movemap&&ownermode='+ownermode+'&oid='+maps._ownerid+'&reset='+reset+'&x='+p.lng()+'&y='+p.lat()+'&x1='+minX+'&y1='+minY+'&x2='+maxX+'&y2='+maxY+'&z='+zoom+'&lcat='+lcat+'&mapskey='+key;
setTimeout("sendRequest(loadMapData,'"+sendtext+"','POST','"+home+"/maps',true,true)",100);

/*
	var request = GXmlHttp.create();
	request.onreadystatechange = function() {
		loadMapData(request);
	}
	request.open('GET', home+'/maps?act=movemap&&ownermode='+ownermode+'&reset='+reset+'&x='+p.x+'&y='+p.y+'&x1='+b.minX+'&y1='+b.minY+'&x2='+b.maxX+'&y2='+b.maxY+'&z='+zoom+'&t='+new Date().getTime(), true);
	request.send('');
	*/
}


	function chkAjaBrowser()
	{
		var a,ua = navigator.userAgent;
		this.bw= { 
		  safari    : ((a=ua.split('AppleWebKit/')[1])?a.split('(')[0]:0)>=124 ,
		  konqueror : ((a=ua.split('Konqueror/')[1])?a.split(';')[0]:0)>=3.3 ,
		  mozes     : ((a=ua.split('Gecko/')[1])?a.split(" ")[0]:0) >= 20011128 ,
		  opera     : (!!window.opera) && ((typeof XMLHttpRequest)=='function') ,
		  msie      : (!!window.ActiveXObject)?(!!createHttpRequest()):false 
		}
		return (this.bw.safari||this.bw.konqueror||this.bw.mozes||this.bw.opera||this.bw.msie)
	}
	function createHttpRequest()
	{
		if(window.XMLHttpRequest){
			 //Win Mac Linux m1,f1,o8 Mac s1 Linux k3 & Win e7用
			return new XMLHttpRequest() ;
		} else if(window.ActiveXObject){
			 //Win e4,e5,e6用
			try {
				return new ActiveXObject("Msxml2.XMLHTTP") ;
			} catch (e) {
				try {
					return new ActiveXObject("Microsoft.XMLHTTP") ;
				} catch (e2) {
					return null ;
	 			}
	 		}
		} else  {
			return null ;
		}
	}
	function sendRequest(callback,data,method,url,async,sload,user,password)
	{
		sendRequest.prototype.README	 = {
			url		: "http://jsgt.org/mt/archives/01/000409.html",
			name	: "sendRequest", 
			version	: 0.50, 
			license	: "Public Domain",
			author	: "Toshiro Takahashi http://jsgt.org/mt/01/",memo:""}

		//XMLHttpRequestオブジェクト生成
		var oj = createHttpRequest();
		if( oj == null ) return null;
		
		//強制ロードの設定
		var sload = (!!sendRequest.arguments[5])?sload:false;
		if(sload || method.toUpperCase() == 'GET')url += "?";
		if(sload)url=url+"t="+(new Date()).getTime();
		
		//ブラウザ判定
		var bwoj = new chkAjaBrowser();
		var opera	  = bwoj.bw.opera;
		var safari	  = bwoj.bw.safari;
		var konqueror = bwoj.bw.konqueror;
		var mozes	  = bwoj.bw.mozes ;
				
		//callbackを分解
		//{onload:xxxx,onbeforsetheader:xxx}
		if(typeof callback=='object'){
			var callback_onload = callback.onload
			var callback_onbeforsetheader = callback.onbeforsetheader
		} else {
			var callback_onload = callback;
			var callback_onbeforsetheader = null;
		}

		//受信処理
		//operaはonreadystatechangeに多重レスバグがあるのでonloadが安全
		//Moz,FireFoxはoj.readyState==3でも受信するので通常はonloadが安全
		//Win ieではonloadは動作しない
		//Konquerorはonloadが不安定
		//参考http://jsgt.org/ajax/ref/test/response/responsetext/try1.php
		if(opera || safari || mozes){
			oj.onload = function () { callback_onload(oj); }
		} else {
		
			oj.onreadystatechange =function () 
			{
				if ( oj.readyState == 4 ){
					//alert(oj.status+"--"+oj.getAllResponseHeaders());
					callback_onload(oj);
				}
			}
		}

		//URLエンコード
		data = uriEncode(data,url)
		if(method.toUpperCase() == 'GET') {
			url += data
		}
		
		//open メソッド
		oj.open(method,url,async,user,password);

		
		//リクエストヘッダカスタマイズ用コールバック
		//使う場合は、呼び出しHTML側のwindow直下へグローバルな関数setHeadersを
		//記述し、その中でsetRequestHeader()をセットしてください
		//@sample function setHeaders(oj){oj.setRequestHeader('Content-Type',contentTypeUrlenc)}
		//
		if(!!callback_onbeforsetheader)callback_onbeforsetheader(oj)

		//デフォルトヘッダapplication/x-www-form-urlencodedセット
		setEncHeader(oj)
		
		
		//デバック
		//alert("////jslb_ajaxxx.js//// \n data:"+data+" \n method:"+method+" \n url:"+url+" \n async:"+async);
		
		//send メソッド
		oj.send(data);

		//URIエンコードヘッダセット
		function setEncHeader(oj){
	
			//ヘッダapplication/x-www-form-urlencodedセット
			// @see  http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#h-17.13.3
			// @see  #h-17.3
			//   ( enctype のデフォルト値は "application/x-www-form-urlencoded")
			//   h-17.3により、POST/GET問わず設定
			//   POSTで"multipart/form-data"を指定する必要がある場合はカスタマイズしてください。
			//
			//  このメソッドがWin Opera8.0でエラーになったので分岐(8.01はOK)
			var contentTypeUrlenc = 'application/x-www-form-urlencoded; charset=UTF-8';
			if(!window.opera){
				oj.setRequestHeader('Content-Type',contentTypeUrlenc);
			} else {
				if((typeof oj.setRequestHeader) == 'function')
					oj.setRequestHeader('Content-Type',contentTypeUrlenc);
			}	
			return oj
		}

		//URLエンコード
		//引数dataは、stringかobjectで渡せます
		function uriEncode(data,url){
			var encdata =(url.indexOf('?')==-1)?'?dmy':'';
			if(typeof data=='object'){
				for(var i in data)
					encdata+='&'+encodeURIComponent(i)+'='+encodeURIComponent(data[i]);
			} else if(typeof data=='string'){
				if(data=="")return "";
				//&と=で一旦分解しencode
				var encdata = '';
				var datas = data.split('&');
				for(i=1;i<datas.length;i++)
				{
					var dataq = datas[i].split('=');
					encdata += '&'+encodeURIComponent(dataq[0])+'='+encodeURIComponent(dataq[1]);
				}
			} 
			return encdata;
		}

		return oj
	}

		//URLエンコード
		//引数dataは、stringかobjectで渡せます
		function urlEncode(data,url){
			var encdata =(url.indexOf('?')==-1)?'?dmy':'';
			if(typeof data=='object'){
				for(var i in data)
					encdata+='&'+encodeURIComponent(i)+'='+encodeURIComponent(data[i]);
			} else if(typeof data=='string'){
				if(data=="")return "";
				//&と=で一旦分解しencode
				var encdata = '';
				var datas = data.split('&');
				for(i=1;i<datas.length;i++)
				{
					var dataq = datas[i].split('=');
					encdata += '&'+encodeURIComponent(dataq[0])+'='+encodeURIComponent(dataq[1]);
				}
			} 
			return encdata;
		}

function per2long(per){
	return per*1000000;
}

function do2per(_do,fun,byo){
//	return _do + fun / 60 + byo / 3600 + sss / 2160000;
	return _do+(fun*60 + byo) * 1000 / 3600000;
}

function per2do(per){
	var _do = Math.floor(per);
	var fun = Math.floor((per - _do) * 60);
	var byo = Math.round(((per - _do - fun/60) * 3600)*1000)/1000;
	
	var a = new Array();
	a[0] = _do;
	a[1] = fun;
	a[2] = byo;
	
	
	return a;
}

//function WGSPoint(a,b) {
//  if (  a>115 && a<152 && b>30 && b<50 ) {
////    a -= 0.0032027777777777775;
////    b += 0.003236111111111111;
//  }
//  this.x = a; this.y = b;
//}








function moveLAYER(layName,x,y){
    if(document.getElementById){        //e5,e6,n6,n7,m1,o6,o7,s1用
        layName.style.left = x;
        layName.style.top  = y;
    } else if(document.all){            //e4用
        layName.style.pixelLeft = x;
        layName.style.pixelTop  = y;
    } else if(document.layers)          //n4用
        layName.moveTo(x,y);
  }

function moveLAYERY(layName,y){
    if(document.getElementById){        //e5,e6,n6,n7,m1,o6,o7,s1用
        layName.style.top  = y;
    } else if(document.all){            //e4用
        layName.style.pixelTop  = y;
    } else if(document.layers)          //n4用
        layName.moveTo(0,y);
  }

function getMouseX(e){
  if(navigator.userAgent.search(
           "Opera(\ |\/)6") != -1 )   //o6用
      return e.clientX;
  else if(document.all)               //e4,e5,e6用
      return document.body.scrollLeft+event.clientX;
  else if(document.layers ||
          document.getElementById)    //n4,n6,n7,m1,o7,s1用
      return e.pageX;
}

function getMouseY(e){
  if(navigator.userAgent.search(
           "Opera(\ |\/)6") != -1 )   //o6用
      return e.clientY;
  else if(document.all)               //e4,e5,e6用
      return document.body.scrollTop+event.clientY-2;
  else if(document.layers ||
          document.getElementById)    //n4,n6,n7,m1,o7,s1用
      return e.pageY;
}
function getParentX(elm,lvl){
	if(isNaN(lvl))lvl=0;
	if(!elm || elm.tagName=='BODY' || elm.tagName=='FRAME')return 0;
	var x = elm.offsetLeft;

		//ブラウザ判定
	var uai = new UAIdentifier();

	if(elm.tagName=='FORM'){
		x=0;
	}
	if(elm.tagName=='TBODY'){
		x=0;
	}
	if((uai.firefox || uai.opera) && elm.tagName=='DIV' && lvl>2){
		x=0;
	}
//	if(uai.windows && uai.safari && elm.tagName=='DIV' && lvl>2){
//		x=0;
//	}

	if(uai.safari && elm.tagName=='DIV' && lvl>2){
		x=0;
	}

//	if(userid==7 && uai.safari){
//		x=/2;
//	}

	if(elm.tagName=='A' && lvl!=0){
		x=0;
	}
	if(elm.tagName=='TR')x=0;
	x+=getParentX(elm.parentNode,lvl+1);
	return x;
}

var py="";

function getParentY(elm,lvl){
	if(isNaN(lvl))lvl=0;
	if(!elm || elm.tagName=='BODY' || elm.tagName=='FRAME')return 0;
	var y = elm.offsetTop;
	
		//ブラウザ判定
	var uai = new UAIdentifier();

	if(elm.tagName=='FORM'){
		y=0;
	}
	if(elm.tagName=='TBODY'){
		y=0;
	}
	if((uai.firefox || uai.opera) && elm.tagName=='DIV' && lvl>2){
		y=0;
	}
//	if(uai.windows && uai.safari && elm.tagName=='DIV' && lvl>2){
//		y=0;
//	}
	if(uai.safari && elm.tagName=='DIV' && lvl>2){
		y=0;
	}
	if(elm.tagName=='A' && lvl!=0){
		y=0;
	}
	if(elm.tagName=='TR')y=0;

	if(lvl==0){
		py="";
	}else{
		py=py+elm.tagName+"["+y+"]";
	}

	y+=getParentY(elm.parentNode,lvl+1);
	
	if(lvl==0){
//		alert(py);
	}
	return y;
}

function getMinX(latlng){
	var minX=latlng.getSouthWest().lng();
	var maxX=latlng.getNorthEast().lng();
	return Math.min(minX,maxX);
}

function getMaxX(latlng){
	var minX=latlng.getSouthWest().lng();
	var maxX=latlng.getNorthEast().lng();
	return Math.max(minX,maxX);
}

function getMinY(latlng){
	var minY=latlng.getSouthWest().lat();
	var maxY=latlng.getNorthEast().lat();
	return Math.min(minY,maxY);
}

function getMaxY(latlng){
	var minY=latlng.getSouthWest().lat();
	var maxY=latlng.getNorthEast().lat();
	return Math.max(minY,maxY);
}

function getMapWidth(latlng){
	return getMaxX(latlng) - getMinX(latlng);
}

function getMapHeight(latlng){
	return getMaxY(latlng) - getMinY(latlng);
}

function UAIdentifier() {
	if (typeof(navigator) != "object" || !navigator.userAgent) {
		this.unknown = true;
		return;
	}
	
	var ua = navigator.userAgent;
	var match;
	
	if (typeof(RegExp) == "undefined") {
		if (ua.indexOf("Opera") >= 0) {
			this.opera = true;
		} else if (ua.indexOf("Netscape") >= 0) {
			this.netscape = true;
		} else if (ua.indexOf("Mozilla/") == 0) {
			this.mozilla = true;
		} else if (ua.indexOf("Safari/") == 0) {
			this.safari = true;
		} else {
			this.unknown = true;
		}
		
		if (ua.indexOf("Gecko/") >= 0) {
			this.gecko = true;
		}
		
		if (ua.indexOf("Win") >= 0) {
			this.windows = true;
		} else if (ua.indexOf("Mac") >= 0) {
			this.mac = true;
		} else if (ua.indexOf("Linux") >= 0) {
			this.linux = true;
		} else if (ua.indexOf("BSD") >= 0) {
			this.bsd = true;
		} else if (ua.indexOf("SunOS") >= 0) {
			this.sunos = true;
		}
		return;
	}
	
	/* for Trident/Tasman */
	/*@cc_on
	@if (@_jscript)
		function jscriptVersion() {
			switch (@_jscript_version) {
				case 3.0:  return "4.0";
				case 5.0:  return "5.0";
				case 5.1:  return "5.01";
				case 5.5:  return "5.5";
				case 5.6:
					if ("XMLHttpRequest" in window) return "7.0";
					return "6.0";
				case 5.7:
					return "7.0";
				default:   return true;
			}
		}
		if (@_win16 || @_win32 || @_win64) {
			this.windows = true;
			this.trident = jscriptVersion();
		} else if (@_mac || navigator.platform.indexOf("Mac") >= 0) {
			// '@_mac' may be 'NaN' even if the platform is Mac,
			// so we check 'navigator.platform', too.
			this.mac = true;
			this.tasman = jscriptVersion();
		}
		if (match = ua.match("MSIE ?(\\d+\\.\\d+)b?;")) {
			this.ie = match[1];
		}
	@else @*/
	
	/* for AppleWebKit */
	if (match = ua.match("AppleWebKit/(\\d+(\\.\\d+)*)")) {
		this.applewebkit = match[1];
	}
	
	/* for Gecko */
	else if (typeof(Components) == "object") {
		if (match = ua.match("Gecko/(\\d{8})")) {
			this.gecko = match[1];
		} else if (navigator.product == "Gecko"
				&& (match = navigator.productSub.match("^(\\d{8})$"))) {
			this.gecko = match[1];
		}
	}
	
	/*@end @*/
	
	if (typeof(opera) == "object" && typeof(opera.version) == "function") {
		this.opera = opera.version();
	} else if (typeof(opera) == "object"
			&& (match = ua.match("Opera[/ ](\\d+\\.\\d+)"))) {
		this.opera = match[1];
	} else if (this.ie) {
	} else if (match = ua.match("Safari/(\\d+(\\.\\d+)*)")) {
		this.safari = match[1];
	} else if (match = ua.match("Konqueror/(\\d+(\\.\\d+)*)")) {
		this.konqueror = match[1];
	} else if (ua.indexOf("(compatible;") < 0
			&& (match = ua.match("^Mozilla/(\\d+\\.\\d+)"))) {
		this.mozilla = match[1];
		if (match = ua.match("\\([^(]*rv:(\\d+(\\.\\d+)*).*?\\)"))
			this.mozillarv = match[1];
		if (match = ua.match("Firefox/(\\d+(\\.\\d+)*)")) {
			this.firefox = match[1];
		} else if (match = ua.match("Netscape\\d?/(\\d+(\\.\\d+)*)")) {
			this.netscape = match[1];
		}
	} else {
		this.unknown = true;
	}
	
	if (ua.indexOf("Win 9x 4.90") >= 0) {
		this.windows = "ME";
	} else if (match = ua.match("Win(dows)? ?(NT ?(\\d+\\.\\d+)?|\\d+|XP|ME|Vista)")) {
		this.windows = match[2];
		if (match[3]) {
			this.winnt = match[3];
		} else switch (match[2]) {
			case "2000":   this.winnt = "5.0";  break;
			case "XP":     this.winnt = "5.1";  break;
			case "Vista":  this.winnt = "6.0";  break;
		}
	} else if (ua.indexOf("Mac") >= 0) {
		this.mac = true;
	} else if (ua.indexOf("Linux") >= 0) {
		this.linux = true;
	} else if (match = ua.match("\\w*BSD")) {
		this.bsd = match[0];
	} else if (ua.indexOf("SunOS") >= 0) {
		this.sunos = true;
	}
}

UAIdentifier.prototype.toString = function() {
	var r = "";
	
	if (this.opera) {
		r += "Opera";
		if (this.opera !== true)
			r += ":" + this.opera;
	} else if (this.ie) {
		r += "IE";
		if (this.ie !== this)
			r += ":" + this.ie;
	} else if (this.safari) {
		r += "Safari:" + this.safari;
	} else if (this.konqueror) {
		r += "Konqueror:" + this.konqueror;
	} else if (this.mozilla) {
		r += "Mozilla";
		if (this.mozilla !== true) {
			r += ":" + this.mozilla;
			if (this.mozillarv)
				r += ":" + this.mozillarv;
		}
		if (this.firefox)
			r += ",Firefox:" + this.firefox;
		else if (this.netscape)
			r += ",Netscape:" + this.netscape;
	} else {
		r += "Unknown";
	}
	
	if (this.trident) {
		r += ",Trident";
		if (this.iec !== true)
			r += ":" + this.trident;
	} else if (this.tasman) {
		r += ",Tasman";
		if (this.iec !== true)
			r += ":" + this.tasman;
	} else if (this.gecko) {
		r += ",Gecko";
		if (this.gecko !== true)
			r += ":" + this.gecko;
	} else if (this.applewebkit) {
		r += ",AppleWebKit:" + this.applewebkit;
	}
	
	if (this.windows) {
		r += ",Win";
		if (this.winnt)
			r += "NT:" + this.winnt;
		else if (this.windows !== true)
			r += ":" + this.windows;
	} else if (this.mac) {
		r += ",Mac";
	} else if (this.linux) {
		r += ",Linux";
	} else if (this.bsd) {
		r += "," + ((this.bsd === true) ? "BSD" : this.bsd);
	} else if (this.sunos) {
		r += ",Solaris";
	}
	return r;
};
