// (C)2008 Five Inc.

var pass_to;var map;var labelobj;var labelCount;var lbl=new Array();var markerobj;var mak=new Array();var makLabelLevel=12;var makerLevel=11;var nowArea;var nowAreaId;var mmobj=new Array();var emMkMenuObj;var emMvMenuObj;var moveobj;var zooming=false;var markerCount;var iconImg=false;function readLabel(id){var http=new Ajax.Request(pass_to+'/kmap/labeldata_json/'+id,{onSuccess:function(request){use_results(request);}});function use_results(request){labelobj=JSON.parse(request.responseText);labelCount=labelobj.length;nowAreaId=id;showLabel(labelobj);}}
function readMove(id){var http=new Ajax.Request(pass_to+"/kmap/areadata_json",{onSuccess:function(request){use_results(request);}});function use_results(request){moveobj=JSON.parse(request.responseText);for(var i=0;i<moveobj.length;i++){if(moveobj[i].attributes.area=='wide'){break;}}
if(id!=moveobj[i].attributes.id){$('help_wideview').show();showMove(moveobj);}else{$('help_wideview').hide();showMoveWide(moveobj);}}}
function readMarker(id,area){var http=new Ajax.Request(pass_to+'/kmap/spotdata_json/'+id,{onSuccess:function(request){use_results(request);}});function use_results(request){markerobj=JSON.parse(request.responseText);markerCount=markerobj.length;if(area!='wide'){showMarker(markerobj,zooming);}}}
function showLabel(obj){var area=map.getBounds();var fontsize;if(map.getZoom()<=13){fontsize='style="font-size:0.7em"';}else{switch(map.getZoom()){case 14:case 15:fontsize='style="font-size:0.7em"';break;case 16:case 17:case 18:fontsize='style="font-size:0.8em"';break;case 19:default:fontsize='style="font-size:0.9em"';}}
for(var i=0;i<labelCount;i++){var alreadys=0;for(var j=0;j<lbl.length;j++){if('label'+i==lbl[j].id){alreadys++;break;}}
var latlng=new GLatLng(obj[i].attributes.lat,obj[i].attributes.lng);if(area.contains(latlng)&&map.getZoom()>=obj[i].attributes.zoom&&alreadys==0){var labelName=obj[i].attributes.name;var content='<div id="labelview"'+fontsize+'>'+labelName+'</div>';var label=new TLabel();label.id='label'+i;label.anchorLatLng=latlng;label.anchorPoint='topCenter';label.markerOffset=new GSize(0,0);label.content=content;label.percentOpacity=70;map.addTLabel(label);lbl.push(label);}}}
function zoomChange(){zooming=true;while(0<lbl.length){map.removeTLabel(lbl.pop());}
while(0<mak.length){map.removeTLabel(mak.pop());}
showLabel(labelobj);}
function moveChange(){if(zooming!=true){var area=map.getBounds();var dispobj;var i;showLabel(labelobj);}else{zooming=false;}}
function showMarkerLabel(obj){while(0<mak.length){map.removeTLabel(mak.pop());}
for(var i=0;i<obj.markerdata.length;i++){var area=obj.markerdata[i].area;var latlng=new GLatLng(obj.markerdata[i].lat,obj.markerdata[i].lng);if(nowArea==area&&map.getZoom()>=makLabelLevel){var labelName=obj.markerdata[i].label;var content='<div style="white-space: nowrap; color: yellow; font-size: 0.8em; padding: 0px; font-family:Arial,Helvetica; font-weight: bold; background-color: blue">'+labelName+'</div>';var label=new TLabel();label.id='marker'+i;label.anchorLatLng=latlng;label.anchorPoint='bottomLeft';label.markerOffset=new GSize(-10,-10);label.content=content;label.percentOpacity=90;map.addTLabel(label);mak.push(label);}}}
function createMarker(latlng,i,html,text,url){var icon=new GIcon(G_DEFAULT_ICON);var markerImg=document.createElement("img");if(url!=""){icon.image=pass_to+"/images/0to99_markers_red_gif/marker"+(i+1)+".gif";}else{icon.image=pass_to+"/images/0to99_markers_yel_gif/marker"+(i+1)+".gif";}
icon.printImage=icon.image;icon.mozPrintImage=icon.image;var mk=new GMarker(latlng,{"icon":icon,"title":text});GEvent.addListener(mk,"click",function(){map.closeInfoWindow();mk.openInfoWindowHtml(html);});return mk;}
function removeToMenu(){alert("移動先メニューを全部消すファンクション！");}
function showMarker(obj,zoom){map.clearOverlays();$('markerList').innerHTML="";map.closeInfoWindow();for(var i=0;i<obj.length;i++){var latlng=new GLatLng(obj[i].attributes.lat,obj[i].attributes.lng);var url=obj[i].attributes.url;if(url!=""){html=createLinkInfowindow(url);}
var imgfile=obj[i].attributes.img;var img=document.createElement("img");img.style.marginRight="10px";img.src=pass_to+"/images/spot_images/"+imgfile;var web=obj[i].attributes.web;var tableNode=document.createElement("table");tableNode.id="infowindow";var tbodyNode=document.createElement("tbody");var trNode=document.createElement("tr");trNode.style.verticalAlign="top";var tdNode=document.createElement("td");if(imgfile!=""&&imgfile!=null){tdNode.appendChild(img);}
trNode.appendChild(tdNode);var tdNode=document.createElement("td");if(url!=""){tdNode.appendChild(html);}
var htmlNode=document.createElement("span");htmlNode.style.marginRight="30px";var text=obj[i].attributes.label;text=adjuststring(text,",","<br />");if(url!=""&&text==""){htmlNode.innerHTML="<br />くわしいじょうほう";htmlNode.innerHTML+="<br />Detailed contents";htmlNode.innerHTML+="<br />Conteúdos detalhados";htmlNode.innerHTML+="<br />Los volúmenes detallados";}else if(url!=""){htmlNode.innerHTML="<br />"+text;}else{htmlNode.innerHTML=text;}
tdNode.appendChild(htmlNode);if(web!=""&&web!=null){var html2=document.createElement("span");html2.innerHTML='<br /><br />';html2.innerHTML+='<a href='+web+' target="_blank">Web</a>';tdNode.appendChild(html2);}
trNode.appendChild(tdNode);tbodyNode.appendChild(trNode);tableNode.appendChild(tbodyNode);var html=tableNode;var text=obj[i].attributes.text;text=adjuststring(text,","," ");var mk=createMarker(latlng,i,html,text,url);map.addOverlay(mk);var markerImg=document.createElement("img");if(url!=""){markerImg.src=pass_to+"/images/0to99_markers_red_gif/marker"+(i+1)+".gif";}else{markerImg.src=pass_to+"/images/0to99_markers_yel_gif/marker"+(i+1)+".gif";}
var link=obj[i].attributes.name;var text=obj[i].attributes.text;text=adjuststring(text,",","<br />");var linkItem=createMarkerLink(i,mk,link,html);var tableNode=document.createElement("table");tableNode.border="0";tableNode.width="205px";var tbodyNode=document.createElement("tbody");var trNode=document.createElement("tr");trNode.style.verticalAlign="top";var tdNode=document.createElement("td");tdNode.width="22px";tdNode.appendChild(markerImg);trNode.appendChild(tdNode);var tdNode=document.createElement("td");var htmlNode=document.createElement("span");htmlNode.innerHTML=text;tdNode.appendChild(linkItem);tdNode.appendChild(htmlNode);trNode.appendChild(tdNode);tbodyNode.appendChild(trNode);tableNode.appendChild(tbodyNode);var markerList=document.getElementById("markerList");markerList.appendChild(tableNode);mmobj.push(tableNode);addMarkerEvent(mk,tableNode);}
function adjuststring(str,input,out){var textobj=str;var text='';textobj=textobj.split(input);for(var j=0;j<textobj.length;j++){textobj[j]=textobj[j].replace(/^[\s　]*/,"");textobj[j]=textobj[j].replace(/[\s　]*$/,"");if(textobj[j]!=""){text+=textobj[j]+out;}}
return text;}
function createLinkInfowindow(url){var html=document.createElement("a");html.href="#";html.onclick=function(){openSubWindow(url)}
html.innerHTML="詳細（NAIYOU）&nbsp;&nbsp;>>";return html;}
function createMarkerLink(i,mk,link,html){var linkList=document.createElement("a");linkList.innerHTML=link+"<br />";linkList.href="#";linkList.onclick=function(){map.closeInfoWindow();mk.openInfoWindowHtml(html)}
return linkList;}
function addMarkerEvent(mk,tableNode){GEvent.addListener(mk,"infowindowopen",function(){if(emMkMenuObj!=null){emMkMenuObj.style.backgroundColor="transparent";}
emMkMenuObj=tableNode;tableNode.style.backgroundColor="#bbffbb";});GEvent.addListener(mk,"infowindowclose",function(){tableNode.style.backgroundColor="transparent";});}}
function showMoveWide(obj){iconImg=true;var widePass=false;for(var i=0;i<obj.length;i++){if(obj[i].attributes.area!='wide'){var latlng=new GLatLng(obj[i].attributes.lat,obj[i].attributes.lng);var toName=obj[i].attributes.name;var zoom=parseInt(obj[i].attributes.zoom);var id=obj[i].attributes.id;var area=obj[i].attributes.area;var iconImg=document.createElement("img");if(widePass){iconImg.src=pass_to+"/images/0to99_iconsSQ_red/marker"+(i+1-1)+".png";}else{iconImg.src=pass_to+"/images/0to99_iconsSQ_red/marker"+(i+1)+".png";}
var moveItem=createMoveLink(i,latlng,zoom,toName);var tableNode=document.createElement("table");tableNode.id='movelist'+i;tableNode.border="0";tableNode.width="205px";var tbodyNode=document.createElement("tbody");var trNode=document.createElement("tr");trNode.style.verticalAlign="top";var htmlNode=document.createElement("span");var tdNode=document.createElement("td");tdNode.id='moveimg'+i;tdNode.width="17px";tdNode.style.verticalAlign="top";tdNode.appendChild(iconImg);trNode.appendChild(tdNode);var tdNode=document.createElement("td");tdNode.style.verticalAlign="top";tdNode.appendChild(moveItem);trNode.appendChild(tdNode);tbodyNode.appendChild(trNode);tableNode.appendChild(tbodyNode);var movetoList=document.getElementById("moveList");movetoList.appendChild(tableNode);var mk=createIcon(i,latlng,zoom,toName,widePass,id,area,tableNode,movetoList);map.addOverlay(mk);addMoveEvent(id,area,tableNode,movetoList);}else{widePass=true;}}
function createIcon(i,latlng,zoom,toName,widePass,id,area,tableNode,movetoList){if(widePass){i--;}
var icon=new GIcon();icon.image=pass_to+"/images/0to99_iconsSQ_red/marker"+(i+1)+".png";icon.iconSize=new GSize(15,15);icon.shadow="";icon.iconAnchor=new GPoint(3,15);var mk=new GMarker(latlng,{"icon":icon,"title":toName});GEvent.addListener(mk,"click",function(){map.setZoom(zoom);map.panTo(latlng);map.savePosition();$('help_wideview').show();iconImg=false;removeImg();emMvMenuObj=tableNode;tableNode.style.backgroundColor="#bbffbb";nowAreaId=id;nowArea=area;if(navigator.userAgent.match(/Firefox/i)){movetoList.insertBefore(tableNode,movetoList.firstChild);}
while(0<lbl.length){map.removeTLabel(lbl.pop());}
map.clearOverlays();$('markerList').innerHTML="";readLabel(id);readMarker(id,area);});return mk;}
function createMoveLink(i,latlng,zoom,movetoName){var newLink=document.createElement("a");newLink.innerHTML=movetoName;newLink.href="#";newLink.id='moveclick'+i;newLink.onclick=function(){map.setZoom(zoom);map.panTo(latlng);map.savePosition();}
return newLink;}
function addMoveEvent(id,area,tableNode,movetoList){var clickid=document.getElementById('moveclick'+i);GEvent.addDomListener(clickid,"click",function(){if(iconImg){iconImg=false;removeImg();$('help_wideview').show();}
if(emMvMenuObj!=null){emMvMenuObj.style.backgroundColor="transparent";}
emMvMenuObj=tableNode;tableNode.style.backgroundColor="#bbffbb";if(nowAreaId!=id){nowAreaId=id;nowArea=area;if(navigator.userAgent.match(/Firefox/i)){movetoList.insertBefore(tableNode,movetoList.firstChild);}
while(0<lbl.length){map.removeTLabel(lbl.pop());}
readLabel(id);readMarker(id,area);}});}
function removeImg(){for(var i=0;i<obj.length;i++){if(obj[i].attributes.area!='wide'){var htmlNode=$('moveimg'+i);htmlNode.innerHTML="　■";htmlNode.style.color="#888888";htmlNode.style.fontSize="0.5em";htmlNode.style.paddingTop="5px";htmlNode.style.verticalAlign="top";}}}}
function showMove(obj){var widePass=false;for(var i=0;i<obj.length;i++){if(obj[i].attributes.area!='wide'){var latlng=new GLatLng(obj[i].attributes.lat,obj[i].attributes.lng);var toName=obj[i].attributes.name;var zoom=parseInt(obj[i].attributes.zoom);var id=obj[i].attributes.id;var area=obj[i].attributes.area;var moveItem=createMoveLink(i,latlng,zoom,toName);var tableNode=document.createElement("table");tableNode.id='movelist'+i;tableNode.border="0";tableNode.width="205px";var tbodyNode=document.createElement("tbody");var trNode=document.createElement("tr");trNode.style.verticalAlign="top";var tdNode=document.createElement("td");tdNode.innerHTML="　■";tdNode.style.color="#888888";tdNode.style.fontSize="0.5em";tdNode.width="17px;";tdNode.style.paddingTop="5px";tdNode.style.verticalAlign="top";trNode.appendChild(tdNode);var tdNode=document.createElement("td");tdNode.style.verticalAlign="top";tdNode.appendChild(moveItem);trNode.appendChild(tdNode);tbodyNode.appendChild(trNode);tableNode.appendChild(tbodyNode);var movetoList=document.getElementById("moveList");movetoList.appendChild(tableNode);addMoveEvent(id,area,tableNode,movetoList);if(widePass){ajdusted_i=i-1;}else{ajdusted_i=i;}
if(nowAreaId==id||ajdusted_i==0){emMvMenuObj=tableNode;tableNode.style.backgroundColor="#bbffbb";}}else{widePass=true;}}
function createMoveLink(i,latlng,zoom,movetoName){var newLink=document.createElement("a");newLink.innerHTML=movetoName;newLink.href="#";newLink.id='moveclick'+i;newLink.onclick=function(){map.setZoom(zoom);map.panTo(latlng);map.savePosition();}
return newLink;}
function addMoveEvent(id,area,tableNode,movetoList){var clickid=document.getElementById('moveclick'+i);GEvent.addDomListener(clickid,"click",function(){if(emMvMenuObj!=null){emMvMenuObj.style.backgroundColor="transparent";}
emMvMenuObj=tableNode;tableNode.style.backgroundColor="#bbffbb";if(nowAreaId!=id){nowAreaId=id;nowArea=area;if(navigator.userAgent.match(/Firefox/i)){movetoList.insertBefore(tableNode,movetoList.firstChild);}
while(0<lbl.length){map.removeTLabel(lbl.pop());}
readLabel(id);readMarker(id,area);}});}}
function remAllMarkerLabel(makerobj){while(0<makerobj.length){map.removeTLabel(mak.pop());}}
var orgnum=1;function openSubWindow(url){var opt={className:'spread',title:'Kyousei Mappu!',url:url,maxWidth:505,minWidth:505,maxHeight:380,minHeight:380,draggable:false,resizable:false,closable:true,minimizable:false,maximizable:false,recenterAuto:false};var subwin=new Window('win'+orgnum,opt);subwin.showCenter(true,80,20);orgnum++;}
function wideview(){$('help_wideview').hide();for(var i=0;i<moveobj.length;i++){if(moveobj[i].attributes.area=='wide'){break;}}
var id=moveobj[i].attributes.id;nowAreaId=id;var area=moveobj[i].attributes.area;nowArea=area;if(emMvMenuObj!=null){emMvMenuObj.style.backgroundColor="transparent";}
while(0<lbl.length){map.removeTLabel(lbl.pop());}
map.clearOverlays();$('markerList').innerHTML="";map.closeInfoWindow();readLabel(id);$('moveList').innerHTML="";map.panTo(new GLatLng(moveobj[i].attributes.lat,moveobj[i].attributes.lng));map.setZoom(parseInt(moveobj[i].attributes.zoom));map.savePosition();showMoveWide(moveobj);}
function customControl(){}
customControl.prototype=new GControl();customControl.prototype.initialize=function(map){var container=$('custom');var view=$('wideview');GEvent.addDomListener(view,'click',function(){for(var i=0;i<moveobj.length;i++){if(moveobj[i].attributes.area=='wide'){break;}}
var id=moveobj[i].attributes.id;nowAreaId=id;var area=moveobj[i].attributes.area;nowArea=area;if(emMvMenuObj!=null){emMvMenuObj.style.backgroundColor="transparent";}
while(0<lbl.length){map.removeTLabel(lbl.pop());}
map.clearOverlays();$('markerList').innerHTML="";map.closeInfoWindow();readLabel(id);$('moveList').innerHTML="";map.panTo(new GLatLng(moveobj[i].attributes.lat,moveobj[i].attributes.lng));map.setZoom(parseInt(moveobj[i].attributes.zoom));map.savePosition();showMoveWide(moveobj);});map.getContainer().appendChild(container);return container;}
customControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(230,5));}
function startUp(lat,lng,zoom,id,area,url_add_pass_to){pass_to=url_add_pass_to;var jNormal=new GMapType(G_NORMAL_MAP.getTileLayers(),G_NORMAL_MAP.getProjection(),"MAP");var jSatellite=new GMapType(G_SATELLITE_MAP.getTileLayers(),G_SATELLITE_MAP.getProjection(),"SAT");var tilelayer=new GTileLayer(new GCopyrightCollection(),0,17);tilelayer.getTileUrl=function(tile,zoom){return pass_to+"/images/white.gif";}
tilelayer.getOpacity=function(){return 0.4;}
var layers1=[jNormal.getTileLayers()[0],tilelayer];var newTransHybrid1=new GMapType(layers1,G_NORMAL_MAP.getProjection(),"MAP2");map=new GMap2(document.getElementById("mymap"));map.getMapTypes().length=0;map.addMapType(jNormal);map.addMapType(newTransHybrid1);map.addMapType(jSatellite);map.setCenter(new GLatLng(35.3669444,136.6178977),14,jNormal);map.setCenter(new GLatLng(lat,lng),zoom);map.savePosition();map.addControl(new GLargeMapControl());map.addControl(new GScaleControl());map.addControl(new GMapTypeControl());map.addControl(new GOverviewMapControl());enableTooltips("moveCap");$('help_wideview').hide();readLabel(id);readMove(id);readMarker(id,area);GEvent.addListener(map,"zoomend",zoomChange);GEvent.addListener(map,"moveend",moveChange);}
onload=startUp;onunload=GUnload;