if($UA.b=="IE"){
document.write('<script type=\"text/vbscript\" language=\"VBScript\"\>\n');
document.write('On Error Resume Next\n');
document.write('Sub map_FSCommand(ByVal command, ByVal args)\n');
document.write('Call map_DoFSCommand(command, args)\n');
document.write('End Sub\n');
document.write('</script\>\n');
}else if($UA.b=="Op"){
alert("Opera ではエリアマップを正常に表示・動作することができません\n現在原因究明中");
}
page_onload(function(){
$("word").value="検索したいキーワードを入力";
$("word").onselect=$("word").onfocus=function(){
if($("word").value=="検索したいキーワードを入力"){
$("word").value="";
$("word").style.color="#333";
}
}
AreaNet.Tab(0,1);
$("map_display").onclick=function(){
if($("map_area").style.display=='none'){
AreaNet.MapDisplay(true);
}else{
AreaNet.MapDisplay(false);
}
return false;
}
});
function map_DoFSCommand(command, args) {
if(command=="show"){
e_show(args);
}else if(command=="search"){
AreaNet.search_from(args);
}
}
var AreaNet=new function(){
var FileList=new Array("data/hotel.tsv","data/hotspring.tsv","data/sightseeing.tsv","data/restaurant.tsv","data/transportation.tsv");
var FileListName=new Array("泊まる","温泉","見る・遊ぶ","食べる","交通");
var MixData=new Array();
var TempData=new Array();
this.DataLoad=function(){
if(MixData.length==0){
for(var i=0;i<FileList.length;i++){
var csv=ajax.get(FileList[i]);
var ary=TSVtoArray(csv);
MixData.push(ary);
}
TempData=MixData;
}
};
this.search_from=function(arg){
var req=decodeURIComponent(arg);
AreaNet.search(req.split(":")[0],req.split(":")[1],9,9);
};
this.search=function(TabNum,str,start_key,end_key,ex_key_array){
if(typeof(str)=="undefined"){
var input=$("word").value;
if(input=="検索したいキーワードを入力") input="";
var word_list=AreaNet.StringFormat(input);
ex_key_array=Array(5,7,8);
if(input!=""){
$scroll("areainfo");
ajax.touch("./log/logger.php?s="+encodeURIComponent(input));
}
}else{
var input=str;
var word_list=AreaNet.StringFormat(input);
$scroll("areainfo");
}
if(!start_key) start_key=0;
if(MixData.length==0){
AreaNet.DataLoad();
}
TempData=new Array();
for(var i=0;i<MixData.length;i++){
var matched_array=new Array();
matched_array.push(MixData[i][0]);
for(var h=1;h<MixData[i].length;h++){
var source_line_array=new Array();
if(!end_key || end_key=="" || end_key>MixData[i][h].length-1) end_key=MixData[i][h].length-1;
for(var k=start_key; k<=end_key; k++){
if(ex_key_array){
var f=0;
for(var m=0; m<ex_key_array.length; m++){
if(k==ex_key_array[m]) f++;
}
if(f==0) source_line_array.push(MixData[i][h][k]);
}else{
source_line_array.push(MixData[i][h][k]);
}
}
var source_line_str=source_line_array.toString();
var flag=0;
for(var j=0;j<word_list.length;j++){
if(source_line_str.indexOf(word_list[j])!=-1) flag++;
}
if(flag>0) matched_array.push(MixData[i][h]);
}
TempData.push(matched_array);
}
if(!TabNum) TabNum=0;
AreaNet.Tab(TabNum,0);
OpenNew();
};
this.StringFormat=function(str){
var exclude=new Array('0','8','9','10','11','12','13','32','33','34','35','36','37','38','39','40','41','42','43','44','59','60','61','62','63','91','92','93','94','95','124','12288');
var str_x=new String();
for(var i=0;i<str.length;i++){
str_x+="&#"+str.charCodeAt(i)+";";
}
for(var i=65280;i<=65370;i++){
var reg=new RegExp('&#'+i+';',"g"); 
str_x=str_x.replace(reg,'&#'+(i-65248)+';');
}
for(var i=0;i<exclude.length;i++){
var reg=new RegExp('&#'+exclude[i]+';',"g"); 
str_x=str_x.replace(reg,"&#160;");
}
str_x=str_x.replace(/(&#160;)+/g,"&#160;").replace(/^(&#160;)+|(&#160;)+$/g, "");
var str_x_array=str_x.split("&#160;");
var reg=new RegExp("&#","g"); 
var str_array=new Array();
for(var i=0;i<str_x_array.length;i++){
var code_array=str_x_array[i].replace(reg,"").split(";");
var line_str="";
for(var j=0;j<code_array.length;j++){
if(code_array[j]!="") line_str+=String.fromCharCode(code_array[j]);
}
str_array.push(line_str);
}
return str_array;
}
this.MakeTable=function(data,num,page){
var page_limit=5;
if(!num) num=0;
if(!page) page=1;
var TAB='';
TAB+='<table border="0" cellspacing="0" cellpadding="0" id="data_table"><thead><tr>';
for(var i=0;i<FileList.length;i++){
TAB+='<td id="cat'+i+'" style="width:'+Math.round(640/FileList.length)+'px">';
TAB+='<a href="javascript:AreaNet.Tab('+i+');">'+FileListName[i]+'<span>('+(data[i].length-1)+')</span></a></td>';
}
TAB+='</tr></thead><tbody><tr><td colspan="'+FileList.length+'">';
var page_total=Math.ceil((data[num].length-1)/page_limit);
var page_cnt=1;
var NA="";
if(page_total>1){
if(page!=1){
NA+='<div class="page">ページ <a href="javascript:AreaNet.Tab('+num+','+(page-1)+')"><img src="images/icon_left.gif" alt="前のページ" width="14" height="14" /></a>［&nbsp;';
}else{
NA+='<div class="page">ページ <img src="images/icon_left.gif" alt="" width="14" height="14" />［&nbsp;';
}
for(var i=1;i<=page_total;i++){
if(i==page){
NA+='<em>'+i+'</em>&nbsp;';
}else{
NA+='<a href="javascript:AreaNet.Tab('+num+','+i+')">'+i+'</a>&nbsp;';
}
}
if(page<page_total){
NA+='] <a href="javascript:AreaNet.Tab('+num+','+(page+1)+')"><img src="images/icon_right.gif" alt="次のページ" width="14" height="14" /></a></div>';
}else{
NA+='］<img src="images/icon_right.gif" alt="" width="14" height="14" /></div>';
}
}
TAB+=NA;
for(var i=page*page_limit-page_limit+1; i<data[num].length;i++){
if(page_cnt>page_limit){
break;
}else{
page_cnt++;
}
var Piece=data[num][i];
if(Piece.length==data[num][0].length){
TAB+='<div class="piece">';
var name=Piece[0];
var code=Piece[1];
var add=Piece[2];
var tel=Piece[3];
var fax=Piece[4];
var url=Piece[5];
var comm=Piece[6];
var img1=Piece[7];
var img2=Piece[8];
var otherNum=10;
TAB+='<h1>'+name+'</h1>';
if(add!='') TAB+='<address>〒'+code+'&nbsp;'+add+'</address>';
if(url!='') TAB+='<address><a href="'+url+'" class="NewWindow">'+url+'</a></address>';
if(tel!=''){
TAB+='<address>TEL '+tel;
if(fax!='') TAB+=' FAX '+fax;
TAB+='</address>';
}
if(comm!='') TAB+='<p>'+comm+'</p>';
if(Piece.length>otherNum){
TAB+='<dl>';
for(var m=otherNum;m<Piece.length;m++){
if(Piece[m]!='') TAB+='<dt>'+data[num][0][m]+'</dt><dd>'+Piece[m]+"</dd>";
}
TAB+='</dl>';
}
if(img1!=''||img2!=''){
TAB+='<div class="thumbnail">';
if(img1!='') TAB+='<img src="'+img1+'" alt="" />';
if(img2!='') TAB+='<img src="'+img2+'" alt="" />';
TAB+='</div>';
}
TAB+='</div><div class="navi"><a href="#" onclick="$scroll(\'top\');return false;">▲ページの上へ</a></div>';
}
}
if(data[num].length==1) TAB+='<div class="nodata">この項目には検索語に一致するデータはありません。</div>';
TAB+=NA+"<br />";
TAB+='</td></tr></tbody></table>';
return TAB;
}
this.MapDisplay=function(b){
if(b===false){
$("map_area").style.display="none";
$("map_display").innerHTML="地図を表示する";
}else if(b===true){
$("map_area").style.display="block";
$("map_display").innerHTML="地図を表示しない";
}
}
this.Tab=function(TabNum,page){
if(!page) page=1;
$('data_result').innerHTML=AreaNet.MakeTable(TempData,TabNum,page);
$("cat"+TabNum).style.backgroundImage="url(images/tab_active.gif)";
$("cat"+TabNum).style.borderWidth="1px 0px 0px 1px";
for(var i=0;i<FileListName.length;i++){
if(i!=TabNum){
$("cat"+i).style.backgroundImage="url(images/tab_passive.gif)";
$("cat"+i).style.borderWidth="1px 0px 1px 1px";
}
}
}
OpenNew();
};
AreaNet.DataLoad();