﻿  //Yahoo!デベロッパーネットワークWebサービスＡＰＩを利用しています。
  //http://developer.yahoo.co.jp/map/localsearch/V1/localsearch.html
  //施設のURLが少ないためリンクはしていません。2008/01/25
 
	
		
	
	
function shisetsuSearch (start_page){
//mapクリックを無効にします。	
	google.maps.event.clearListeners(map, 'click');

//基本マーカー以外全てを削除します。
        　del_all();	

   //利用する変数を設定します。
     var str_html = ""   ;                  //htmlエラー表示の取得
     var res_count = 0  ;                  //対象施設の該当件数を取得
     var view_count = 0  ;                 //このページの表示件数を取得
     var shisetsu_name = new Array ();         //各施設名を取得
     var shisetsu_address = new Array ();        //各施設の簡単な住所を取得
     var shisetsu_x = new Array ();           //各緯度を取得
     var shisetsu_y = new Array ();           //各経度を取得
     var start = 1 ;				//開始ページの初期値をページ目に設定します
     var result_html = "";                  //html検索結果を表示する
     var pagenavi_html = "";                //htmlページナビゲーションを表示する
     var shisetsu_ichiran_html = "";        //htmlで施設一覧を作成
      
      
    //世界測地系の緯度経度を示します。
     var wy = BasemyMarkPosition.lat(); //世界系緯度
     var wx = BasemyMarkPosition.lng(); //世界系経度
         
　　//開始位置の設定、クエリの要素を設定します。
	
	start = (start_page -1) * 10 + 1;
	$('fy').b.value = start;
	$('fy').lon.value = wx;
	$('fy').lat.value = wy;

	//題名欄に「近隣施設の検索」をしている旨の表示をします
	$('kekka_daimei').innerHTML = '<b>近隣施設の検索</b>'; 
	$('page_navi').innerHTML     = '';  //ページナビを消去する
				
	//結果欄と一覧表欄に「只今　目的地設定中の表示をします
	$('yado_kekka').innerHTML = '<b>只今</b>'
	$('yado_ichiran').innerHTML = '<p style="padding:25px"><img src="scr_hol/ajax_load_orange.gif" \/><br />検索中...<\/p>';
	var myAjax = new Ajax.Request(
	'search_shisetsu.cgi',
	{    
			method: 'post', 
			postBody: Form.serialize($('fy')),
			onComplete:function(request) {   
			  $('yado_ichiran').innerHTML = '<p style="padding:8px"><b>読み込み終了しました</b></p>';
				showResponse (request);
	　		  },   
	                onSuccess: function(request) {   
			  $('yado_ichiran').innerHTML = '<p style="padding:8px"><b>読み込み成功しました</b></p>';
	                  },   
	                onFailure: function(request) {   
	                  request.transport.abort();
			  },   
	                onException: function (request) {   
	                  request.transport.abort();
			  }
	}
	);

	//----cgiに必要データを送信終了





	//----cgiから受信したデータを加工します
	function showResponse (request){
     //cgiデータをcsv方式で受信します
	var rcvdata = new Array();
	rcvdata = request.responseText.split("%,") ;
	
		
	//検索結果が ０件の場合は目的地検索「obSearch()」を実行します
	if(rcvdata[1] == 0 || rcvdata[1] =="")
	{
		//基本マーカーに情報ウィンドウを設定します。
　　　　 		BasemyInfo = '<div style="background-color:#ffc0cb;font-size:8pt;padding:4px;">施設検索の結果<br>このポイントでは見つかりませんでした。<br>マーカーをドラッグし移動させてください。<br>クリック移動も可能になります。</div>';
			$('yado_ichiran').innerHTML ='';


	}
	
        //検索結果が ０件の以外の場合の処理を行います。
	
 	else
	
	{

	
      
     //各変数に値を設定します
	 str_html = rcvdata[0] ;
     	 res_count = parseInt(rcvdata[1]) ;
	 view_count = parseInt(rcvdata[2]) ;
	 
	  //表示件数が１０件に満たない場合はview_countを変更します。
	 var hasukensu = 0 ;
	 hasukensu =  res_count- (start-1) ;
	 if( hasukensu < 10 )
	   {
	   view_count = hasukensu ;
	   }

	 
	 
	 
	 for( var i = 0; i < view_count; i++ ) 
		 {
	      shisetsu_name[i]      = rcvdata[(i * 4) + 3];           //各施設名を取得
	      shisetsu_address[i]   = rcvdata[(i * 4) + 4];           //各施設写真の住所を取得
	      shisetsu_x[i]         = rcvdata[(i * 4) + 5];           //各緯度を取得
	      shisetsu_y[i]         = rcvdata[(i * 4) + 6];           //各経度を取得
	       }
	   
	
	
//表示可能な最大ページ数を計算します
	var max_page = (res_count%10 > 0) ? parseInt(res_count/10) + 1 : parseInt(res_count/10);//ページ数


//検索結果が１００件を超える場合は１００件に制限します
	max_page = (max_page > 10 ) ? 10 : max_page ;  //ページを10(１００件)に制限する

//掲載が２ページ以上ある場合はページナビゲーションを設定します
	pagenavi_html =""
	if (start_page > 1)
		{  
		pagenavi_html += '<a href="javascript:void(0)" onclick="shisetsuSearch (' + (start_page - 1) + ');">←前へ</a>　';								}
	for (var i = 1; i <= max_page; i++ )
		{
		if (start_page == i)
			{
			pagenavi_html += '<span id="page_navi" style="background-color:#fff000;">' + i + '</span>　';
			}
		else
			{
			pagenavi_html += '<a href="javascript:void(0)" onclick="shisetsuSearch (' + i + ');">' + i + '</a>　';
			}
		}
	if (start_page < max_page && 1 <= max_page )
		{
		  pagenavi_html += '<a href="javascript:void(0)" onclick="shisetsuSearch (' + (start_page + 1) + ');">次へ→</a>';
		
		}
        		
//検索結果を表示します。
//検索結果res_countが ０件の場合は目的地検索「obSearch(0)」を実行できるようにします
	
	result_html += '<div>検索結果：' + res_count + ' 件<span>（うち ' + ((start_page-1)*10 + 1) + '－' + ((start_page-1)*10+view_count) + '件を表示）</span></div>';

		
//このページの検索状態表示と施設リストを作成します
	shisetsu_ichiran_html = "<div>検索状態 :　" + str_html + "</div>";
		
	for (var i = 0; i < view_count; i++ )                           //view_count=実表示件数
           {
	shisetsu_ichiran_html += '<li id="mark_'+ i + '" style="padding-right:2px;"><a href="javascript:void(0)" onclick="this.blur()" >' + shisetsu_name[i] + '</a></li>';
	   }
	
	

//各欄に結果を表示するコマンド
	
	$('kekka_daimei').innerHTML = '<b>施設検索結果</b>'; 
	$('page_navi').innerHTML = pagenavi_html;  //ページナビを設定
	$('yado_kekka').innerHTML = result_html;   //施設結果件数を設定
	$('yado_ichiran').innerHTML = shisetsu_ichiran_html; //施設検索結果を設定
	


//------------------------------地図本文-----------------------------------------------
	
//地図をクリックすると情報ウィンドウを閉じるよう再設定します。
	 google.maps.event.addListener(map, 'click', function(event){
                myinfowindow.close(map);
	});


//基本のマーカー(BasemyMarker)をクリックすると情報を表示するように設定します。
	google.maps.event.addListener(BasemyMarker, 'click', function(){
	BaseshowInfo();
	});		

//情報ウィンドウの内容を設定します(view_count=実表示件数)

	for( var i = 0; i < view_count; i++ )
		{
		myInfo[i]= '<table width="200" height="60" bgcolor="#cee7b5"><tr><td style="padding:8px;font-size:8pt"><div><b>【施設名】： ' + shisetsu_name[i] + '</b></div><div>【住所】： ' +  shisetsu_address[i] + '</div></td></tr></table>'
		
		}         		
			
// 各地点に中マーカー(A～J)位置を緯度、経度で設定します。
	for( var i = 0; i < view_count; i++ )  //view_count=実表示件数
          		{ 
		myMarkPosition[i] = new google.maps.LatLng(shisetsu_y[i],shisetsu_x[i]);
	}


// 各中マーカー(A～J)に情報ウィンドウを表示させます。
       function showInfo(num){
        var hyoji = function()
	   {
		myinfowindow.setContent(myInfo[num]);
		myinfowindow.open(map,myMarker[num]);
		map.panTo(myMarkPosition[num]);
           };

        google.maps.event.addListener(myMarker[num], 'click', hyoji);
   

        var mark_link = document.getElementById("mark_" + num );
	if(mark_link){mark_link.onclick = hyoji;};
     
        }
 

   // 各中マーカー(A～J)を地図に設定します。
     for(i=0; i < myMarkPosition.length ; i++){
        myMarker[i] = new google.maps.Marker({
        position:myMarkPosition[i], 
	icon: Mkimage[i],
	shadow : Mkshadow,
        map: map
	});   
	showInfo(i);
      };


    
	//基本マーカーに情報ウィンドウを設定します。
　　　　 BasemyInfo = '<div style="background-color:#ffff00;font-size:8pt;padding:4px;"><b>施設検索の結果<br> ' + result_html +'</b> １０件以上の場合、一覧表より別のページへ移動できます。<br>別の場所を検索する場合は<br>マーカーをドラッグし移動させてください。<br>クリック移動も可能になります。</div>';


//検索結果が0以外の場合の処理を終了します
	}
	
//----cgiから受信したデータ加工を終了します
		//情報ウィンドウを表示し、obSearch();へ
		show_makinfo();
		}
//shisetsuSearchの終了
}

    
    


