// 最初に表示する場所
var _iniCenter = new LLPoint("35/40/40", "139/46/13.6");
var _iniScale = 25000;

// アイコンを表示する最小縮尺
var _contentsLimit = 3000000;

var _m = null;	// ProAtlasMap
var _sm = null;	// SubMap
var _ms = null; // Mapsvr

_delaytime=500;

var rtiTimer = null;//realtimeindex timer

//contents panes
//var panes = new Array('pane_video', 'pane_stamp', 'pane_photo', 'pane_route', 'pane_blog', 'pane_info', 'pane_jalan', 'pane_hotpepper');
var contents_panes = $H({
	pane_info		: -1,
	pane_blog		: 0,
	pane_photo		: 1,
	pane_route		: 2,
	pane_video		: 3,
	pane_stamp		: 4,
	pane_hotpepper	: 100,
	pane_jalan		: 101
});

function create_map() {
	_m = new ProAtlasMapCtrl(document.getElementById('map'),"yahoomap.xml");
	//taro 060921 : hidden default copyright
	_m.setVisibleCopyright(false);
	_m.setEnableAutoLayerChange(true);
	_m.setEnableKeyboardOperation(false);
	//_m.setEnableWheelOperation(false)
	_m.setEnableZoomendFadeinEfct(true);
	AlpsEvent.addEvent(_m,"mapMoved",mapMoved);
	AlpsEvent.addEvent(_m,"mouseDown",function(){ppmng.killPopup()});
	//060921
	AlpsEvent.addEvent(_m,"mapMoving",mapMoving);
	AlpsEvent.addEvent(_m,"layerChanged",layerChanged);
	AlpsEvent.addEvent(_m,"layerListChanged",layerListChanged);
	_sm = new ProAtlasMapCtrl(document.getElementById('submap'),"yahoomap.xml");
	_sm.setVisibleCopyright(false);
	_sm.setVisibleCenterMark(false);
	_sm.setEnableKeyboardOperation(false);
	_sm.setEnableWheelOperation(false)
	AlpsEvent.addEvent(_sm,"mapMoved",sm_mapMoved);
	AlpsEvent.addEvent(_sm,"resize",sm_resized);
	AlpsEvent.addEvent(_sm,"mouseDown",function(){ppmng.killPopup()});
	_m.moveAndLayerTo(_iniCenter,_m.getLayerId(_iniScale));
	_ms = new MapsvrCtrl(_m,"base.xml");
	_ms.setIconThreshold(_contentsLimit);
}
function show_contents(){
/*
	var a=new Array();
	var c=_ms.getCategoryList();
	for(var i=0;i<c.length;i++){
		var p=document.getElementById('cat_'+c[i].id);
		if(p&&p.checked){
			a.push(c[i].id);
		}
	}
	var e=document.getElementById('search_text');
	if(e&&e.value){
		_ms.addQueryParameter("keyword",e.value);
	}else{
		_ms.removeQueryParameter("keyword");
	}
    var eb=document.getElementById('icon_type_blog');
    var ep=document.getElementById('icon_type_photo');
    var er=document.getElementById('icon_type_route');
    if((eb&&eb.checked)||(ep&&ep.checked)||(er&&er.checked)){
		_ms.showCategories(a);
	}else{
		_ms.showCategories();
	}
*/

//taro 070920
_ms.showAllCategories();
/*
	var a=['icon_type_blog','icon_type_photo','icon_type_route','icon_type_video','icon_type_stamp','icon_type_hotpepper','icon_type_jalan'];
	var checked=false;
	for(var i=0;i<a.length;i++){
    	var e=document.getElementById(a[i]);
		if(e&&e.checked){
			checked=true;
			break;
		}
	}
	if(checked){
		_ms.showAllCategories();
	}else{
		_ms.showCategories();
	}
*/
}
function layerto(index){
	if(!_m)return;
	_m.smoothLayerTo(index);
}
var _layers={'s5000':'５千','s10000':'1万','s25000':'2.5万','s70000':'7万','s250000':'25万','s500000':'50万','s1000000':'100万','s3000000':'300万','s5000000':'広域','s26000000':'全図'};
var _layerCollect=new Array();
function create_layers(){
	for(var i=0;i<_layerCollect.length;i++){
		var menu=_layerCollect[i];
		document.getElementById("layers").removeChild(menu);
	}
	
	//060213 taro
	_layerCollect.length=0;
	for(var i = _m.getLayerCount() - 1; i >= 0; --i){
		var scale=_m.getLayerScale(i);
		if(!_layers['s'+scale])continue;
	
		//	060210 taro
		var menu = document.createElement("a");
		menu.setAttribute("layerid", i);
		menu.innerHTML = _layers['s'+scale];
		document.getElementById("layers").appendChild(menu);
		
		_layerCollect.push(menu);
	}
	set_layers();
//	_layerCollect.length=0;
//	for(var i=0;i<_m.getLayerCount();i++){
//		var scale=_m.getLayerScale(i);
//		if(!_layers['s'+scale])continue;
//		var menu=document.createElement("span");
//		menu.className="adminmenu";
//		menu.setAttribute("layerid",i);
//		menu.innerHTML='<a href="javascript:layerto('+i+')">'+_layers['s'+scale]+'</a>';
//		_layerCollect.push(menu);
//		document.getElementById("layers").appendChild(menu);
//	}
//	set_layers();
}

function set_layers(){
	if(!_m) return;
	var s=_m.getLayerScaleList();
	for(var i=0;i<_layerCollect.length;i++){
		var menu=_layerCollect[i];
		var layerid=menu.getAttribute("layerid");

		if(!s) continue;
		var scale=_m.getLayerScale(layerid);
		
		//	060210 taro
		//	無効なレイヤを無効化
		if (s._indexOf(scale) < 0){
			menu.className = "disabled_layer";
			menu.removeAttribute("href");
		}
		else{
			menu.className = "other_layer";
			menu.href='javascript:layerto(' + layerid + ')';
		}
		
		//カレントレイヤをセット
		if(layerid==_m.getCurrentLayerId()){
			menu.className = "current_layer";
		}
		
	//	if(s._indexOf(scale)<0){
	//		menu.style.color="gray";
	//		menu.innerHTML=_layers['s'+scale];
	//	}else{
	//		menu.style.color="";
	//		menu.innerHTML=' <a href="javascript:layerto('+layerid+')">'+_layers['s'+scale]+'</a> ';
	//	}
	//	
	//	if(layerid==_m.getCurrentLayerId()){
	//		menu.style.fontWeight="bold";
	//		menu.innerHTML = '[' + menu.innerHTML + ']';
	//	}else{
	//		menu.style.fontWeight="normal";
	//	}
	}
}
function sokodoko(pos) {
	if(!pos) pos=_m.getCenterLatLon();
	var xmlhttp=AlpsUtil.getXMLHttp();
	if (!xmlhttp) return;
	xmlhttp.open("POST", "/bin/address", true);
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			var adr=AlpsUtil.getElementContent(xmlhttp.responseXML,"gxml:unstructuredAddressString");
			if(!adr) adr=AlpsUtil.getElementContent(xmlhttp.responseXML,"unstructuredAddressString");
			set_text('map_title',adr||'ALPSLAB base');
			if($('map_title_dammy')){set_text('map_title_dammy',adr||'ALPSLAB base');}
			var item=xmlhttp.responseXML.getElementsByTagName("gxml:AddressItem");
			if(!item||!item.length){
				item=xmlhttp.responseXML.getElementsByTagName("AddressItem");
			}
			var prefname = '';
			var cityname = '';
			if(item){
				for(var i=0;i<item.length;i++){
					var name=AlpsUtil.getNodeContent(item[i]);
					switch(parseInt(item[i].getAttribute("level"))){
					case 1:
						set_text("rss_name_pref",name);
						prefname = name;
						break;
					case 2:
						set_text("rss_name_city",name);
						cityname = name;
						break;
					}
				}
			}
			var code=AlpsUtil.getElementContent(xmlhttp.responseXML,"GovernmentCode");
			if(code){
				var rss="http://base.alpslab.jp/bin/rss";
				var e=document.getElementById("rss_link_japan");
				if(e) e.href=rss;
				var e=document.getElementById("rss_link_pref");
				if(e) e.href=rss+"?code="+code.substr(0,2);
				var e=document.getElementById("rss_link_city");
				if(e) e.href=rss+"?code="+code.substr(0,5);
				
				if ($('citylink') && $('cityname')){
					$('citylink').href = 'http://www.alpslab.jp/html/local/' + code.substr(0,5) + '.html';
					$('cityname').innerHTML = prefname + cityname + 'の新着情報';
				}
			}
			else{
				if ($('citylink') && $('cityname')){
					$('citylink').href = '';
					$('cityname').innerHTML = 'この場所の新着情報はありません';
				}
			}
		}
	}
	var doc=AlpsUtil.createXMLDOM();
	var query=doc.createElement("query");
	doc.appendChild(query);
	var coordinates=doc.createElement("coordinates");
	query.appendChild(coordinates);
	coordinates.appendChild(doc.createTextNode(pos));
	xmlhttp.send(doc)
}


function search_address(sourceNode){
	if(!_m) return;
	if (!sourceNode) sourceNode = 'search_text';
	var temp = $(sourceNode).value.replace(/^\s+|\s+$/g,'');

	//060921 taro
	//check URL direct jump
	//if (temp.match(/[0-9]+\/[0-9]+\/[0-9\.]+\,[0-9]+\/[0-9]+\/[0-9\.]+/) || temp.match(/^http:\/\//) || temp.match(/^javascript:/i)){
	if(movetoWithLLword(temp)){
		//clear URL
		document.getElementById("search_text").value = "";
	}
	else{
		var adr=encodeURIComponent(temp);
		
		var xmlhttp=AlpsUtil.getXMLHttp();
		if (!xmlhttp) return;
		xmlhttp.open("GET", "/position.rb?adr="+adr, true);
		xmlhttp.onreadystatechange=function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				var pos=AlpsUtil.getElementContent(xmlhttp.responseXML,"coordinates");
				var scale=AlpsUtil.getElementContent(xmlhttp.responseXML,"scale");
				if(pos){
					var p=new LLPoint(pos);
					var l=scale?_m.getLayerId(parseInt(scale)):_m.getCurrentLayerId();
					_m.moveAndLayerTo(p,l);
				}
				else{
					$('map_title').value = temp + ' ・・・ 見つかりません';
					$('map_title').focus();
				}
			}
		}
		$('map_title').value = temp + ' ・・・ 検索中';
		xmlhttp.send(null);
	}
}



//taro 070918
//type
//0:blog
//1:photo
//2:route
//3:video
//4:stamp
//100:hotpepper
//101:jalan
function search_blog2(targetContent, kw, type, page, num, targetTitle){
	if (!targetTitle){
		targetTitle = "result_title";
	}
	if (!targetContent){
		targetContent = "result_content";
	}
	if (!num){num = 10;}

	var url="./search.rb?";
	if(kw) url+="&kw="+encodeURIComponent(kw);
	if(page) url+="&page="+page;
	if(num) url+="&num="+num;
	url+="&type="+type;
	var xmlhttp=AlpsUtil.getXMLHttp();
	if (!xmlhttp) return;
	
	xmlhttp.open("GET", url, true);
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			var target = $(targetContent);
			if (target && target.style.display != 'none'){
				//現在の子要素をすべて削除
				while(target.firstChild){
					target.removeChild(target.lastChild);
				}
				//検索結果ルートノード ex) <result page="1" pages="61" all="121">
				var result = xmlhttp.responseXML.getElementsByTagName('result')[0];
				//前・次
				var page_ = eval(result.getAttribute('page').replace(/[^0-9]+/g, ''));
				var pages_ = eval(result.getAttribute('pages').replace(/[^0-9]+/g, ''));
				var all_ = eval(result.getAttribute('all'));
				var result_control_main = '<div class="result_control_main">';
				if (page_ < pages_){
					result_control_main += '<span class="result_control_right"><a href="javascript:search_blog2(' + [ "'"+targetContent+"'", "'"+kw+"'", type, page_ + 1].join(',') + ')">→次</a></span>';
				}
				if (page_ > 1){
					result_control_main += '<span class="result_control_left"><a href="javascript:search_blog2(' + [ "'"+targetContent+"'", "'"+kw+"'", type, page_ - 1].join(',') + ')">前←</a></span>';
				}
				var viewnum;
				if (page_ < pages_){
					viewnum = (page_ - 1) * 10 + num;
				}
				else{
					viewnum = all_;
				}
				var currenttop = (page_ - 1) * 10 + 1;
				result_control_main += currenttop + '-' + viewnum + '件/' + all_ + '件';
				result_control_main += "</div>";
				
				//検索結果をリストに整形
				var ul = '<ul>';
				//フォーマット
				var itemFormat = getItemFormat(type);
				var items = result.getElementsByTagName('item');
				$A(items).each(function(item){
					ul += itemFormat.evaluate({
						blog_name: getChildValue(item, 'blog_name'),
						title: getChildValue(item, 'title'),
						link: getChildValue(item, 'link'),
						coordinates: getChildValue(item, 'coordinates'),
						address: getChildValue(item, 'address'),
						icon: getChildValue(item, 'icon')
					});
				});
				ul += '</ul>';

				//出力HTMLを整形
				target.innerHTML += result_control_main;
				target.innerHTML += ul;
				target.innerHTML += result_control_main;

			}
			else{
				target.innerHTML = '<div class="result_control_main">検索できませんでした</div>';
			}
		}
	};
	set_text(targetContent,'<div class="result_control_main">検索中...</div>');
	xmlhttp.send(null)
}
//taro 070918
function getItemFormat(type){
	//route
	if (type == 2){
		return new Template(
			'<li>' +
			'<a class="maplink" title="移動" href="javascript:moveto(\'#{coordinates}\')"><span>* </span></a>' +
			'<a target="_blank" href="#{link}" title="#{blog_name}">' +
			'	<img class="listicon" src="icon/alpslab_route_icon_16x16.gif" style="border: 0px none ;" height="16" width="16">' +
			'	#{title}' +
			'</a>' +
			'<br clear="all"><small class="date">#{address}</small></li>'
			);
	}
	//blog
	else if (type == 0){
		return new Template(
			'<li>' +
			'<a class="maplink" title="移動" href="javascript:moveto(\'#{coordinates}\')"><span>* </span></a>' +
			'<a target="_blank" href="#{link}" title="#{blog_name}">' +
			'	<img class="listicon" src="icon/quillpen_16x16.gif" style="border: 0px none ;" height="16" width="16">' +
			'	#{title}' +
			'</a>' +
			'<br clear="all"><small class="date">#{address}</small></li>'
			);
	}
	//photo
	else if (type == 1){
		return new Template(
			'<li>' +
			'<a class="maplink" title="移動" href="javascript:moveto(\'#{coordinates}\')"><span>* </span></a>' +
			'<a target="_blank" href="#{link}" title="#{blog_name}">' +
			'	<img class="listicon" src="#{icon}" height="50" width="50">' +
			'	#{title}' +
			'</a>' +
			'<br clear="all"><small class="date">#{address}</small></li>'
			);
	}
	//video
	else if (type == 3){
		return new Template(
			'<li>' +
			'<a class="maplink" title="移動" href="javascript:moveto(\'#{coordinates}\')"><span>* </span></a>' +
			'<a target="_blank" href="#{link}" title="#{blog_name}">' +
			'	<img class="listicon" src="http://video.alpslab.jp/images/view_video.png" style="border: 0px none ;" height="16" width="16">' +
			'	#{title}' +
			'</a>' +
			'<br clear="all"><small class="date">#{address}</small></li>'
			);
	}
	//stamp
	else if (type == 4){
		return new Template(
			'<li>' +
			'<a class="maplink" title="移動" href="javascript:moveto(\'#{coordinates}\')"><span>* </span></a>' +
			'<a target="_blank" href="#{link}" title="#{blog_name}">' +
			'	<img class="listicon" src="icon/stamp_16x16.gif" style="border: 0px none ;" height="16" width="16">' +
			'	#{title}' +
			'</a>' +
			'<br clear="all"><small class="date">#{address}</small></li>'
			);
	}
	//jalan
	else if (type == 101){
		return new Template(
			'<li>' +
			'<a class="maplink" title="移動" href="javascript:moveto(\'#{coordinates}\')"><span>* </span></a>' +
			'<a target="_blank" href="#{link}" title="#{blog_name}">' +
			'	<img class="listicon" src="icon/bed_16x16.gif" style="border: 0px none ;" height="16" width="16">' +
			'	#{title}' +
			'</a>' +
			'<br clear="all"><small class="date">#{address}</small></li>'
			);
	}
	//hotpepper
	else if (type == 100){
		return new Template(
			'<li>' +
			'<a class="maplink" title="移動" href="javascript:moveto(\'#{coordinates}\')"><span>* </span></a>' +
			'<a target="_blank" href="#{link}" title="#{blog_name}">' +
			'	<img class="listicon" src="icon/eat_16x16.gif" style="border: 0px none ;" height="16" width="16">' +
			'	#{title}' +
			'</a>' +
			'<br clear="all"><small class="date">#{address}</small></li>'
			);
	}
}
//taro 070918
function getChildValue(elem, tagName){
	var child = elem.getElementsByTagName(tagName)[0];
	if (child && child.hasChildNodes){
		return child.firstChild.nodeValue;
	}
	else{
		return "";
	}
}





function showUp(latlon){
	var pos = _m.mapView.conv.LL2Log(new LLPoint(latlon));
	var l = pos.x;
	var t = pos.y;
	var w = Element.getDimensions("hlt").width;
	var h = Element.getDimensions("hlt").height;
	l -= w / 2;
	t -= h / 2;
	Element.setStyle($("hlt"), {"left" : Math.floor(l) + "px"});
	Element.setStyle($("hlt"), {"top" : Math.floor(t) + "px"});
	Element.setStyle($("hlt"), {"display" : "block"});
}
function showDown(){
	Element.setStyle($("hlt"), {"display" : "none"});
}



function get_cloud(){
	var xmlhttp=AlpsUtil.getXMLHttp();
	if (!xmlhttp) return;
	xmlhttp.open("GET", "/bin/cloud", true);
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			set_text('cloud_content',xmlhttp.responseText);
		}
	}
	xmlhttp.send(null)
}
function clear_result(){
	set_view('result_pane',false);
}

var _sep="?";
var _target;
var _keyword;
function parse_hash(){
	var h="";
	if(document.location.search){
		h=document.location.search.substring(1);
		_sep="?";
	}else if(document.location.hash){
		h=document.location.hash.substring(1);
		_sep="#";
	}
	if(document.cookie){
		var c=document.cookie.split(/;\s*/);
		for(var i=0;i<c.length;i++){
			if(c[i].match(/^pos=/)){
				h=decodeURIComponent(c[i].substring(4))+';'+h;
				break;
			}
		}
	}
	if(!h) return;
	var pairs=h.split(";");
	var s=25000;
	var p;

	var target;
	var keyword;
	for(var i=0;i<pairs.length;i++){
		var pair=pairs[i].split("=");
		if(pair[0]=="s"){
			s=parseInt(pair[1]);
		}else if(pair[0]=="p"){
			p=pair[1];
		}
/*
		else if(pair[0]=="t"){
			var t=parseInt(pair[1]);
			var eb=document.getElementById('icon_type_blog');
			var ep=document.getElementById('icon_type_photo');
			var er=document.getElementById('icon_type_route');
			if (eb) eb.checked = t&1;
			if (ep) ep.checked = t&2;
			if (er) er.checked = t&4;
		}
*/
		else if (pair[0] == 't'){
			_target = pair[1];
		}
		else if (pair[0] == 'kw'){
			_keyword = decodeURIComponent(pair[1]);
		}
	}
/*
	if ($(target) && keyword){
		var result_content = document.getElementsByClassName('result_content', $(target))[0];
		var text_input = document.getElementsByClassName('kw_input', $(target))[0];
		if (result_content && text_input){
			togglePane(target);
			text_input.value = kw;
			search_blog2(result_content.id, kw, contents_panes[target]);
		}
		else{
			$('talk').innerHTML = 'no source';
		}
	}
*/
	if(p){
		_iniScale=s;
		_iniCenter=new LLPoint(p);
		return true;
	}
}
function set_url(){
	if(!_m){
		return;
	}
	var s=_m.getCurrentScale();
	var p=_m.getCenterLatLon();
	var path=document.location.href.split(_sep)[0];
	var param="s="+s+";p="+p;
	var date=new Date();
	date.setTime(date.getTime()+1000*60*60*24*30);
	document.cookie="pos="+encodeURIComponent(param)+"; expires="+date.toGMTString();
	var url=path+_sep+param;
	//060127 taro
	if($('url_input')){$('url_input').value = url;}

	
	//060313 taro
	if($('latlon_input')){$('latlon_input').value = p;}
	if($('scale_input')){$('scale_input').value = s;}

	var lat=Math.floor(p.lat*3600000);
	var lon=Math.floor(p.lon*3600000);
	
	var tb='http://base.alpslab.jp/bin/tb/'+lat+'/'+lon;
	//060127 taro
	if($('trackback_input')){$('trackback_input').value = tb;}
	
	var img='http://clip.alpslab.jp/bin/map?pos='+p+'&scale='+s;
	var tag='<a href="'+url+'" target="_blank"><img src="'+img+'"></a>';
	if($('imagetag')){$('imagetag').value = tag;};

	//fslide
	if($('aaaaaa')){
		var tmpl = new Template('<object codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,22,0" width="320" height="240"><param name="movie" value="http://slide.alpslab.jp/fslide.swf" /><param name="flashvars" value="pos=#{pos}&scale=#{scale}&link=base" /><embed src="http://slide.alpslab.jp/fslide.swf" width="320" height="240" type="application/x-shockwave-flash" flashvars="pos=#{pos}&scale=#{scale}&link=base" /></object>');
		$('aaaaaa').value = tmpl.evaluate({
			pos: p,
			scale: s
		});
	}

	//「へのリンク」という日本語が入っていると、IEでINPUT/TEXTAREAのwidthを％指定した場合に乱れるのでASCIIのみに変更
//	var ywiki='[[img('+img.replace(/\,/g,'%2C')+')]]\n['+url+' ALPSLAB baseへのリンク]\n';
	if($('yahootag')){
		var tmpl = new Template('[[item(http://slide.alpslab.jp/fslide.swf?pos=#{pos}&scale=#{scale}&link=base,320,240)]]');
		$('yahootag').value = tmpl.evaluate({
			pos: encodeURIComponent(p),
			scale: s
		});
	//	$('yahootag').value = ywiki;
	}
	
}

function show_categories(){
	if(!_ms) return;
//taro 070918
//	var p=document.getElementById('categories');
	var s="";
	var c=_ms.getCategoryList();
	var scale=_m.getCurrentScale();
	for(var i=0;i<c.length;i++){
		var id="cat_"+c[i].id;
		var e=document.getElementById(id);
		if(e){
			e.disabled=_contentsLimit&&(scale>_contentsLimit);
		}else{
			var di=(_contentsLimit&&scale>_contentsLimit)?" disabled":"";
			s+='<input type="checkbox" id="'+id+'" onclick="show_contents()"'+di+'><label for="'+id+'"><img src="'+c[i].iconImage[0]+'"> '+c[i].name+'</label><br>\n';
		}
	}
//taro 070918
//	if(s) p.innerHTML+=s;
}
function check_categories(){
//	var p=document.getElementById('categories');
//	for(var i=0;i<p.elements.length;i++){
//		if(p.elements[i].type=="checkbox"){
//			p.elements[i].checked=true;
//		}
//	}
	show_contents();
}
function change_type(changeonly){
	if(!_ms) return;
//	var value=0;
//	if(eb&&eb.checked) value+=1;
//	if(ep&&ep.checked) value+=2;
//	if(er&&er.checked) value+=4;
	var a=['icon_type_blog','icon_type_photo','icon_type_route','icon_type_video','icon_type_stamp'];
	var value=-1;
	for(var i=0;i<a.length;i++){
		var e=document.getElementById(a[i]);
		if(e&&e.checked) value=i;
	}
	var a=['icon_type_hotpepper','icon_type_jalan'];
	for(var i=0;i<a.length;i++){
		var e=document.getElementById(a[i]);
		if(e&&e.checked) value=100+i;
	}

	if(value<0){
		_ms.removeQueryParameter("type");
	}else{
		_ms.addQueryParameter("type",value);
	}
	if(!changeonly){
		show_contents();
	//	doRealtimeIndex();
	}
}
function moveto(pos){
	if(!_m)return;
	_m.moveTo(new LLPoint(pos));
}
function submap_moveto(){
	if(!_m||!_sm) return;
	var s=_m.getCenterLatLon();
	_sm.moveTo(s);
	set_subframe();
}
function submap_layerto(){
	if(!_m||!_sm) return;
	var scale=_m.getCurrentScale();
	var sid=_sm.getLayerId(scale)+2;
	if(sid>=_sm.getLayerCount()) sid=_sm.getLayerCount()-1;
	_sm.layerTo(sid);
	set_subframe();
}
function set_subframe(){
	if(!_m)return;
	if(!_sm)return;
	var m=_m.getContainer();
	var sm=_sm.getContainer();
	var tl=_m.log2LatLon(new Point(0,0));
	var br=_m.log2LatLon(new Point(m.offsetWidth,m.offsetHeight));
	var tlp=_sm.latLon2Log(tl);
	var brp=_sm.latLon2Log(br);
	var sf=document.getElementById("subframe");
	if(!sf){
		sf=document.createElement("div");
		sf.id="subframe";
		sf.style.position="absolute";
		sf.style.overflow="hidden";
		sf.style.borderWidth="2px";
		sf.style.borderStyle="solid";
		sf.style.borderColor="red";
		sf.style.zIndex=1;
		sm.appendChild(sf);
	}
	sf.style.left=Math.floor(tlp.x)+"px";
	sf.style.top=Math.floor(tlp.y)+"px";
	sf.style.width=Math.floor(brp.x-tlp.x)+"px";
	sf.style.height=Math.floor(brp.y-tlp.y)+"px";
}
function set_text(id,text){
	var e=document.getElementById(id);
	if(e){
		if (e.value != undefined){
			e.value = text;
		}
		else{
			e.innerHTML=text;
		}
	}
}
function set_view(id,visible){
	var e=document.getElementById(id);
	if(e) e.style.display=visible?"block":"none";
}
function submap_resize(){
	if(!_sm) return;
	var p=_sm.getContainer();
	p.style.height=p.offsetWidth+"px";
	_sm.resetCenter();
}
function copy_clip(id) {
	var e=document.getElementById(id);
	if(_bi.type==1&&e.value) {
		var tr=e.createTextRange();
		tr.execCommand("Copy");
	}
}
function show_user(){
	return;
	var xmlhttp=AlpsUtil.getXMLHttp();
	if (!xmlhttp) return;
	xmlhttp.open("GET", "/atlas/servlet/UserManager", true);
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			var user=AlpsUtil.getElementContent(xmlhttp.responseXML,"user");
			var login=AlpsUtil.getElementContent(xmlhttp.responseXML,"login");
			var logout=AlpsUtil.getElementContent(xmlhttp.responseXML,"logout");
			if(user){
				set_text("user",'こんにちは、'+user+'さん（<a href="'+logout+'">ログアウト</a>）');
			}else{
				set_text("user",'<a href="'+login+'">ログイン</a>');
			}
		}
	}
	xmlhttp.send(null);
}
function imgsearch(index){
	var noimg="noimg.gif";
	var imgsize=45;
	var pos=_m.getCenterLatLon();
	var xmlhttp=AlpsUtil.getXMLHttp();
	if (!xmlhttp) return;
	xmlhttp.open("POST", "/bin/yimg", true);
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			set_text('result_title','Yahoo!画像検索結果');
			var de=xmlhttp.responseXML.documentElement;
			var num,all,pos;
			if(de){
				num=parseInt(de.getAttribute("totalResultsReturned"));
				all=parseInt(de.getAttribute("totalResultsAvailable"));
				pos=parseInt(de.getAttribute("firstResultPosition"));
			}
			if(num){
				var s=pos+"-"+(pos+num-1)+"/"+all;
				if(pos-16>0){
					s+='&nbsp;<a href="javascript:imgsearch('+(pos-16)+')">前←</a>';
				}
				if(pos+16<all){
					s+='&nbsp;<a href="javascript:imgsearch('+(pos+16)+')">→次</a>';
				}
				s+="<br>";
				set_text('result_content',s);
			}else{
				set_text('result_content',"画像が見つかりませんでした");
			}
			set_view('result_pane',true);
			var e=document.createElement("div");
			document.getElementById("result_content").appendChild(e);
			var res=xmlhttp.responseXML.getElementsByTagName("Result");
			for(var i=0;i<16;i++){
				var img=document.createElement("img");
				img.className="imgsearch-thumb";
				if(i<res.length){
					var thumb=res[i].getElementsByTagName("Thumbnail")[0];
					img.src=AlpsUtil.getElementContent(thumb,"Url");
					img.title=AlpsUtil.getElementContent(res[i],"Summary")||null;
					var src=AlpsUtil.getElementContent(res[i],"Url");
					var width=AlpsUtil.getElementContent(res[i],"Width");
					var height=AlpsUtil.getElementContent(res[i],"Height");
					img.onmouseover=imgview(src,width,height);
					img.onmouseout=imgview();
					var url=AlpsUtil.getElementContent(res[i],"RefererUrl");
					img.onclick=imgjump(url);
					img.style.cursor="pointer";
				}else{
					img.src=noimg;
				}
				img.width=imgsize;
				img.height=imgsize;
				e.appendChild(img);
			}
			var a=document.createElement("a");
			a.className='yahoolink';
			a.href='http://developer.yahoo.co.jp/about';
			a.target='_blank';
			//a.innerHTML='Web Service by Yahoo! JAPAN';
			a.innerHTML='<img src="http://i.yimg.jp/images/yjdn/yjdn_attbtn1_125_17.gif" title="Webサービス by Yahoo! JAPAN" alt="Web Services by Yahoo! JAPAN" width="125" height="17"/>';
			document.getElementById("result_content").appendChild(a);
		}
	}
	var doc=AlpsUtil.createXMLDOM();
	var query=doc.createElement("query");
	doc.appendChild(query);
	var coordinates=doc.createElement("coordinates");
	query.appendChild(coordinates);
	coordinates.appendChild(doc.createTextNode(pos));
	if(index){
		var start=doc.createElement("start");
		query.appendChild(start);
		start.appendChild(doc.createTextNode(index));
	}
	xmlhttp.send(doc);
	set_text('result_title','画像検索中…');
}
function imgview(url,width,height){
	return function(){
		var c=_m.getContainer();
		var e=document.getElementById("imgview");
		if(e) c.removeChild(e);
		if(!url) return;
		e=document.createElement("img");
		e.id="imgview";
		e.className="imgsearch-large";
//		e.src="noimg.gif";
		var img=new Image();
		img.onload=function(){
			e.src=url;
		};
		img.src=url;
		e.width=width;
		e.height=height;
		e.style.border="1px solid black";
		e.style.margin="auto";
		e.style.position="absolute";
		e.style.left=Math.floor(c.offsetWidth/2-width/2)+"px";
		e.style.top=Math.floor(c.offsetHeight/2-height/2)+"px";
		c.appendChild(e);
	}
}
function imgjump(url){
	return function(){
		window.open(url,"_blank");
	}
}
function getEventPos(e){
	if(!e) e=window.event;
	var x=0,y=0;
	if(_bi.type==1){
		if(document.documentElement && document.documentElement.scrollLeft){
			x=document.documentElement.scrollLeft;
		}else if(document.body && document.body.scrollLeft){
			x=document.body.scrollLeft;
		}else if(window.scrollX||window.pageXOffset){
			x=(window.scrollX||window.pageXOffset);
		}
		x+=e.clientX;
		if(document.documentElement && document.documentElement.scrollTop){
			y=document.documentElement.scrollTop;
		}else if(document.body && document.body.scrollTop){
			y=document.body.scrollTop;
		}else if(window.scrollY||window.pageYOffset){
			y=(window.scrollY||window.pageYOffset);
		}
		y+=e.clientY;
	}else if(_bi.type==4){
		x=(document.documentElement?window.pageXOffset:0)+e.clientX;
		y=(document.documentElement?window.pageYOffset:0)+e.clientY;
	}else{
		x=e.pageX;
		y=e.pageY;
	}
	return new Point(x,y);
}
function popupImage(src,pos){
	var e=document.getElementById("popup_image");
	if(!src){
		e.src=null;
		if(e) e.style.display="none";
		return;
	}
	if(!e){
		e=ImageMaker.createImg(src);
		e.id="popup_image";
		e.style.border="1px solid gray";
		e.style.zIndex=100;
		e.onmouseout=function(){popupImage()}
		document.body.appendChild(e);
	}else{
		e.src=src;
	}
	e.style.left=Math.floor(pos.x+10)+"px";
	e.style.top=Math.floor(pos.y)+"px";
	e.style.display="block";
}
var _shiftdown=false;

function form_setup(){
	//map search operation
	$('map_title').onmouseover = function(e){
		if (this.status && this.status == 'focus'){return false;};
		this.style.background = "url('images/clickheretosearch.gif') center left no-repeat";
	}
	$('map_title').onmouseout = function(e){
		this.style.background = "none";
	}
	$('map_title').onfocus = function(e){
		this.style.borderWidth = '1px 1px 1px 1px'; 
		this.select();
		this.style.background = "none";
		this.status = "focus";
		this.style.cursor = "text";
	}
	$('map_title').onblur = function(e){
		this.style.borderWidth = '0px 0px 1px 0px';
		this.status = "blur";
		this.style.cursor = "pointer";
	}
	Event.observe($('map_title'), 'keypress', function(e){
		if(e.keyCode==13){
			search_address('map_title');
			$('map_title').blur();
		};
	});
	Event.observe($('searchbutton'), 'click', function(e){
		search_address('map_title');
	});

	//pane search
	contents_panes.each(function(pair){
		var source = pair.key;
		var code = pair.value;
		if ($(source)){
			var result_content = document.getElementsByClassName('result_content', $(source))[0];
			var text_input = document.getElementsByClassName('kw_input', $(source))[0];
			var content_search_button = document.getElementsByClassName('content_search_button', $(source))[0];
			if (result_content && text_input && content_search_button){
				Event.observe(text_input, 'keypress', function(e){
					if(e.keyCode==13){
						search_blog2(result_content.id, this.value, code)
						text_input.select();
					};
				});
				Event.observe(content_search_button, 'click', function(e){
					search_blog2(result_content.id, text_input.value, code)
					text_input.select();
				});
			}
		}
	});

	//latlon direct jump
	var llJump = function(e){
		if (e.keyCode > 0 && e.keyCode != 13) return;
		var p = $F("latlon_input");
		movetoWithLLword(p);
	}
	Event.observe('latlon_input', 'keypress', llJump.bindAsEventListener(), false);
}


var _infobar_message=new Array();
function infobar_setup(){
	var xmlhttp=AlpsUtil.getXMLHttp();
	if (!xmlhttp) return;
	xmlhttp.open("GET", "/modules/whatsnew.html", true);
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			var a=xmlhttp.responseText.split(/\n/);
			for(var i=0;i<a.length;i++){
				if(!a[i]) continue;
				_infobar_message.push(a[i].replace(/<\/?li>/g,""));
			}
			if(_infobar_message.length>0){
				infobar_show();
			}
		}
	};
	xmlhttp.send(null);
}
var _infobar_index=0;
var _infobar_status=0;
function infobar_show(){
	var e=document.getElementById("infobar");
	if(!e) return;
	var left=0;
	if(_infobar_status>0){
		left=Math.floor(e.offsetWidth*_infobar_status/10);
	}else if(_infobar_status<0){
		var m=document.getElementById("infobar_message");
		if(m){
			left=Math.floor(m.offsetWidth*_infobar_status/10);
		}
	}
	var style="position: relative; white-space: nowrap; left: "+left+"px"; 
	e.innerHTML='<span id="infobar_message" style="'+style+'">'+_infobar_message[_infobar_index]+'</span>';
	if(_infobar_status==0){
		_infobar_status--;
		window.setTimeout("infobar_show()",15000);
	}else{
		if(_infobar_status==-10){
			_infobar_index++;
			if(_infobar_index==_infobar_message.length) _infobar_index=0;
			_infobar_status=10;
		}else{
			_infobar_status--;
		}
		window.setTimeout("infobar_show()",50);
	}
}




//060921
//moveto with LatLon-included-word(like Googlemaps URL)
function movetoWithLLword(p){
	p = p.replace(/^\s+|\s+$/g,'');
	//avoid js hangup by longurl
	if (p.length > 256){
		p = p.substr(0, 256);
	}
	
	//google map url
	//	ll=35.182867,137.016184
	//	(wgs84 datum)
	if (p.match(/^http:\/\/.+\.google\./) && p.match(/ll=([^\&]+)/)){
		p = RegExp.$1;
		//wgs84 to tokyo
		p = BesslWgs(1, new LLPoint(p)).toString();
	}
	//mapion url
	//	el=136%2F57%2F05.756&nl=35%2F09%2F48.949
	//	nl=35.37.52.902&el=138.33.27.723
	else if (p.match(/^http:\/\/.+\.mapion\.co\.jp/)){
		p = decodeURIComponent(p);
		var lat = p.match(/nl=([^\&]+)/) ? RegExp.$1 : null;
		var lon = p.match(/el=([^\&]+)/) ? RegExp.$1 : null;
		
		//dms - slash separated
		if (lat.match(/[0-9]+\/[0-9]+\/[0-9\.]+/)){
			p = lat + "," + lon;
		}
		//dms - dot separated
		else if (lat.match(/[0-9]+\.[0-9]+\.[0-9\.]+/)){
			lat = lat.match(/([0-9]+)\.([0-9]+)\.([0-9\.]+)/) && [RegExp.$1, RegExp.$2, RegExp.$3].join("/");
			lon = lon.match(/([0-9]+)\.([0-9]+)\.([0-9\.]+)/) && [RegExp.$1, RegExp.$2, RegExp.$3].join("/");
			p = lat + "," + lon;
		}
	}
	
	//mapfan web url
	//	MAP=E136.16.42.1N35.22.41.
	else if (p.match(/^http:\/\/www\.mapfan\.com/) && p.match(/MAP=([^\&]+)/i)){
		p = RegExp.$1;
		var lat = p.match(/N([0-9\.]+)/) ? RegExp.$1 : null;
		var lon = p.match(/E([0-9\.]+)/) ? RegExp.$1 : null;
		if (lat && lon){
			lat = lat.match(/([0-9]+)\.([0-9]+)\.([0-9\.]+)/) && [RegExp.$1, RegExp.$2, RegExp.$3].join("/");
			lon = lon.match(/([0-9]+)\.([0-9]+)\.([0-9\.]+)/) && [RegExp.$1, RegExp.$2, RegExp.$3].join("/");
			p = lat + "," + lon;
		}
	}
	
	//yahoo maps url
	else if (p.match(/^http:\/\/.*map\.yahoo\.co\.jp/)){
		var lat = p.match(/nl=([^\&]+)/) ? RegExp.$1 : p.match(/lat=([^\&]+)/) ? RegExp.$1 : null;
		var lon = p.match(/el=([^\&]+)/) ? RegExp.$1 : p.match(/lon=([^\&]+)/) ? RegExp.$1 : null;
		if (lat && lon){
			lat = decodeURIComponent(lat);
			lon = decodeURIComponent(lon);
			
			//dms - slash separated
			if (lat.match(/[0-9]+\/[0-9]+\/[0-9\.]+/)){
				p = lat + "," + lon;
			}
			//dms - dot separated
			else if (lat.match(/[0-9]+\.[0-9]+\.[0-9\.]+/)){
				lat = lat.match(/([0-9]+)\.([0-9]+)\.([0-9\.]+)/) && [RegExp.$1, RegExp.$2, RegExp.$3].join("/");
				lon = lon.match(/([0-9]+)\.([0-9]+)\.([0-9\.]+)/) && [RegExp.$1, RegExp.$2, RegExp.$3].join("/");
				p = lat + "," + lon;
			}
			//degree
			else{
				var latlon = new LLPoint(lat, lon);
				p = latlon.toString();
			}
		}
	}
	
	//rakuten travel url
	//	fi=12576554&fk=49258847
	//	(not msec ... it's csec)
	else if (p.match(/^http:\/\/travel\.rakuten\.co\.jp/)){
		var lat = p.match(/fi=([^\&]+)/) ? RegExp.$1 : null;
		var lon = p.match(/fk=([^\&]+)/) ? RegExp.$1 : null;
		if (lat && lon){
			var csec2dms = function(csec){
				var rest = csec;
				var d = Math.floor(csec / (60 * 60 * 100));
				rest -= d * (60 * 60 * 100);
				var m = Math.floor(rest / (60 * 100));
				rest -= m * (60 * 100);
				var s = rest / 100;
				return [d, m, s].join("/");
			}
			p = csec2dms(lat) + "," + csec2dms(lon);
		}
	}
	
	//gnavi url
	//	c=35%2f09%2f27.95%2c136%2f59%2f18.54
	else if (p.match(/^http:\/\/alp\.gnavi\.co\.jp/) && p.match(/c=([^\&]+)/)){
		p = RegExp.$1;
		p = decodeURIComponent(p);
	}

	//LocaPoint
	else if (p.match(/^([A-Z]{2}[0-9]\.){3}[A-Z]{2}[0-9]$/)){
		var lat=((p.charCodeAt(0)-65)*1757600
				+(p.charCodeAt(1)-65)*67600
				+(p.charCodeAt(2)-48)*6760
				+(p.charCodeAt(8)-65)*260
				+(p.charCodeAt(9)-65)*10
				+(p.charCodeAt(10)-48)*1
				)*180/45697600-90;
		var lon=((p.charCodeAt(4)-65)*1757600
				+(p.charCodeAt(5)-65)*67600
				+(p.charCodeAt(6)-48)*6760
				+(p.charCodeAt(12)-65)*260
				+(p.charCodeAt(13)-65)*10
				+(p.charCodeAt(14)-48)*1
				)*360/45697600-180;
		p = BesslWgs(1, new LLPoint(lat,lon)).toString();
	}
	
	//ALPSLAB dms style TOKYO latlon
	else{
		p = p.replace(/[^0-9\.\,\/]/g, '');
		//check
		if (!p.match(/^[0-9]+\/[0-9]+\/[0-9\.]+\,[0-9]+\/[0-9]+\/[0-9\.]+$/)) p = null;
	}
	
	//do moveto
	if (p){
		moveto(p);
		return true;
	}
	return false;
}









var stimer=null;

// Events
function mapMoved(){
	
	
	if(stimer) window.clearTimeout(stimer);
	stimer=window.setTimeout("sokodoko()",_delaytime);
	//sokodoko();
	submap_moveto();


	//【暫定】PanelContent2が表示されているのなら、リアルタイムインデックス
//	if (rtiTimer) window.clearTimeout(rtiTimer);
//	rtiTimer = window.setTimeout(doRealtimeIndex, 750);

	set_url();
	
	
	var e=document.getElementById('address_search');
	if(e) e.blur();
	
	
	set_view('address',true);
	set_view('address_search',false);

	//mobile url set
	setMobileUrl();
}


function setMobileUrl(){
	var s = _m.getCurrentScale();
	var p = _m.getCenterLatLon();
	var id = LatLon2LocaPoint(p) + '.' + s;
	var url = 'http://m.alpslab.jp/m/' + id;

	//mobile_url
	$('mobile_url').value = url;
	//mobile_id
	$('mobile_id').value = id;
	//mobile_qr
	var host = 'http://m.alpslab.jp/bin/qrcode?v=0&data=';

	var li = $('mobile_qr_li');
	if(li){
		while(li.firstChild){
			li.removeChild(li.lastChild);
		}
		
		var img = document.createElement('img');
		img.src = host + encodeURIComponent(url);
		li.appendChild(img);
	}
//	$('mobile_qr').src = host + encodeURIComponent(url);
}



function mapMoving(){
	if (stimer) window.clearTimeout(stimer);
	if (rtiTimer) window.clearTimeout(rtiTimer);
}



function layerChanged(){
	show_categories();
	submap_layerto();
	set_url();
	set_layers();
	if(_m&&_ms) _ms.addQueryParameter("scale",_m.getCurrentScale());
	
//	doRealtimeIndex();
}
function sm_mapMoved(){
	if(!_m) return;
	if(!AlpsEvent.isEventRunning(_m,'mapMoved')){
		var s=_sm.getCenterLatLon();
		_m.moveTo(s,true);
	}
}
function sm_resized(){
	set_subframe();
}
function layerListChanged(id){
	if(!_m) return;
	if(id==_m.getCurrentPackageId()){
		set_layers();
	}
}

function LatLon2LocaPoint(llpoint){
	var wgs = BesslWgs(0, llpoint)
	var latitude_step = (wgs.lat + 90)/180*45697600;
	var longitude_step = (wgs.lon + 180)/360*45697600;

	var locapoint = String.fromCharCode(
		latitude_step/1757600%26 + 65,
		latitude_step/67600%26 + 65,
		latitude_step/6760%10 + 48,
		46,
		longitude_step/1757600%26 + 65,
		longitude_step/67600%26 + 65,
		longitude_step/6760%10 + 48,
		46,
		latitude_step/260%26 + 65,
		latitude_step/10%26 + 65,
		latitude_step/1%10 + 48,
		46,
		longitude_step/260%26 + 65,
		longitude_step/10%26 + 65,
		longitude_step/1%10 + 48
	);
	return(locapoint);
}

//070925 taro
/*
function search_at_open(){
	var param = new Hash;
	document.location.search.replace(/\?/, '').split('&').each(function(obj){
		keyvalue = obj.split('=');
		param[keyvalue[0]] = keyvalue[1];
	});
	var source = param['type'];
	var kw = decodeURIComponent(param['kw']);
	if ($(source)){
		var result_content = document.getElementsByClassName('result_content', $(source))[0];
		var text_input = document.getElementsByClassName('kw_input', $(source))[0];
		if (result_content && text_input){
			togglePane(source);
			text_input.value = kw;
			search_blog2(result_content.id, kw, contents_panes[source]);
		}
		else{
			$('talk').innerHTML = 'no source';
		}
	}
}
*/
function search_at_open(){
	if (_target == 'map'){
		$('map_title').value = _keyword;
		search_address('map_title');
	}
	else 
	if ($(_target) && _keyword){
		var result_content = document.getElementsByClassName('result_content', $(_target))[0];
		var text_input = document.getElementsByClassName('kw_input', $(_target))[0];
		if (result_content && text_input){
			togglePane(_target);
			text_input.value = _keyword;
			search_blog2(result_content.id, _keyword, contents_panes[_target]);
		}
		else{
		//	$('talk').innerHTML = 'no source';
		}
	}
}





//	setHilight
//	
//	@param	id		id of DOM Object or DOM Object
//	@param	colors	color hash : includes "normal" as normal color, "hilight" as hilight color
//
//	[usage]
//	setHilight("titlebar", {normal : "silver", hilight : "#eee"});
//
function setHilight(id, colors){
	var normal = colors["normal"] || "transparent";
	var hilight = colors["hilight"] || "transparent";
	Event.observe(id, 'mouseover', Element.setStyle.bind(this, id, {"backgroundColor" : hilight}), false);
	Event.observe(id, 'mouseout', Element.setStyle.bind(this, id, {"backgroundColor" : normal}), false);
}





// ALPSLAB print
function alpslabPrint(type, paper){
	if (type == 'mappreview'){
		var url = 'http://print.alpslab.jp/preview/?';
		//latlon
		var pos=_m.getCenterLatLon().toString();
		url += '&p=' + pos;
		//scale
		var scale = _m.getCurrentScale();
		url += '&s=' + scale;
		document.location.href = url;
	}
	else{
		var url = 'http://api.alpslab.jp/v0/printbase?';
		//type;
		url += 'type=' + type;
		//paper
		if (paper){
			url += '&paper=' + paper;
		}
		//latlon
		var pos=_m.getCenterLatLon().toString();
		url += '&center=' + pos;
		//scale
		var scale = _m.getCurrentScale();
		url += '&scale=' + scale;
		document.location.href = url;
	}
}





function jumpToPhoto(){
	var pos=_m.getCenterLatLon().toString();
	var scale = _m.getCurrentScale();
	var url = 'http://photo.alpslab.jp/index.html?'
		+ 's=' + scale
		+ ';p=' + pos;
	
	window.open(url);
}

function jumpToDesign(){
	var pos=_m.getCenterLatLon().toString();
	var scale = _m.getCurrentScale();
	var url = 'http://design.alpslab.jp/index.html?'
		+ 'p=' + pos;
	
	window.open(url);
}

function jumpToRoute(){
	var pos=_m.getCenterLatLon().toString();
	var scale = _m.getCurrentScale();
	var url = 'http://route.alpslab.jp/create.rb?'
		+ 's=' + scale
		+ ';p=' + pos;
	
	window.open(url);
}

function jumpToLoupe(){
//	var p = _m.getCenterLatLon();
//	var id = LatLon2LocaPoint(p) + '.' + s;
	var pos=_m.getCenterLatLon().toString();
	var scale = _m.getCurrentScale();
	var url = 'http://loupe.alpslab.jp/?'
		+ 'p=' + pos
		+ '&s=' + scale;
	
	window.open(url);
}





window.onload=function(){
	$('talk').innerHTML = new Array(
	'somewhere over the Web2.0',
	'all you need is map',
	'Mary in the Air with Pearl',
	'got to get map into your life',
	'why don\'t we do it in the map',
	'your map should know'
	)[Math.floor(Math.random() * 6)];

	parse_hash();
	create_map();
	create_layers();
	show_user();
	show_categories();
	form_setup();
	
	//set submap initial width
	$('submap').style.width = '25%';
	
	//resize sub map
	resizeMapHeight();
	
	change_type(true);
	check_categories();

	search_at_open();
	
	//pane controlbar button hilight
	setHilight("max", {normal : "#cce", hilight : "#eef"});
	setHilight("inc", {normal : "#cce", hilight : "#eef"});
	setHilight("dec", {normal : "#cce", hilight : "#eef"});
	setHilight("min", {normal : "#cce", hilight : "#eef"});
	setHilight("max2", {normal : "#cce", hilight : "#eef"});
	setHilight("min2", {normal : "#cce", hilight : "#eef"});
	
}
