//<![CDATA[

var map; //GOOGLEMAP
var mapZoom = 4; //拡大率
var mapCenter;
var markerClick;//mouseの動作を判別するフラグ[ 1=ふきだし表示 / 0=地図移動 ]
var store_searched = 'start';//サイトの絞込み検索からのアクセスを判別するフラグ

var link_url='./?m=pc&a=shop_data&shop=';//ふきだしのリンク先
var cgi_from_search = "./map/search_results_xml.php";//検索結果のリクエスト
var cgi_from_move = './map/xml_gen.php';//地図内でのリクエストに対応
	
function load(){
		//GoogleMap--main---------
		if(GBrowserIsCompatible()){
			map = new GMap(document.getElementById("map_search"));
		
	
			/* コントローラー */
			map.addControl(new GLargeMapControl());//大きめのコントローラー
			map.addControl(new GMapTypeControl());
			map.addControl(new GOverviewMapControl());
			map.enableDoubleClickZoom();//ダブルクリックによるズーム機能
			map.enableContinuousZoom();//ダブルクリックによるズーム機能(スムース)
			
			/*--検索結果表示--*/
			if(store_searched == 'start'){
				display_stores(map,cgi_from_search,store_searched);
			}
			
			/* マップ移動中 */
			GEvent.addListener(map, "move", function() {
				markerClick = 0;
			});
			
			/* マップ移動終了（すべての移動終了） */
			GEvent.addListener
				(map, 'moveend', function(){
									if(!markerClick){
										var point = map.getCenterLatLng();//中心経緯を取得
										var bounds = map.getBoundsLatLng();//地図の四隅の経緯を取得
										
										/* サーバへ送信 */
			
										var minX = "?sX="+parseFloat(bounds.minX);
										var maxX = "&gX="+parseFloat(bounds.maxX);
										var minY = "&sY="+parseFloat(bounds.minY);
										var maxY = "&gY="+parseFloat(bounds.maxY);
										var send_cgi  = cgi_from_move + minX + maxX + minY + maxY;
										if(store_searched == 'end'){									
											display_stores(map,send_cgi);
										}
										store_searched= 'end';
									}//end--markerClick
								});	//GEvent.addListener
			
				
		}else{
		// 未対応ブラウザへの出力
		}//end--if(GBrowserIsCompatible());
		
	//--------------------------------------------------
	/*
	+ [関数名]: display_stores() 
	+ [概要]  : 店舗情報を表示
	+ [引数]  map / url：送信先のcgi / centFLG [true/false] : 中心経緯を設定するか
	*/
	var url;
	var centFLG;
	function display_stores(map,url,store_searched){
		var request = GXmlHttp.create();
		request.open("GET", url, true);
		request.onreadystatechange = function() {
			//通信完了---
			if (request.readyState == 4 && request.status == 200) {
				markerGen(map,request,store_searched);	
			}//-end--readystate
		}
		/*送信---------+*/
		request.send(null);
		
	}
	//--------------------------------------------------
	
	/*
	+ [関数名]: markerGen() 
	+ [概要]  : xmlから取得した店舗情報を表示
	+ [引数]  map / request
	*/
	function markerGen(map,request,store_searched){
		//map.clearOverlays();//初期化
		
		var xmlDoc = request.responseXML;
		var targetNames = xmlDoc.getElementsByTagName("lawson");
		var targetLength = targetNames.length;//全体数を取得

		if(targetLength > 0){
			//-XMLから値を取得、変数にset--------------------------------+
			var shop_name = xmlDoc.getElementsByTagName("shop_name");
			var shop_address = xmlDoc.getElementsByTagName("shop_address");
			var phone = xmlDoc.getElementsByTagName("phone");
			var link = xmlDoc.getElementsByTagName("c_shop_list_id");
			var lat_point = xmlDoc.getElementsByTagName("latitude");
			var lon_point = xmlDoc.getElementsByTagName("longitude");
			var open_date = xmlDoc.getElementsByTagName("open_date");
			var open_time = xmlDoc.getElementsByTagName("open_time");
			var is_IC_Card = xmlDoc.getElementsByTagName("is_IC_Card");
			//------------------------------------------------------------+
			
			//初期表示の場合、取得した店舗情報の一番目を中心経緯にset
			
			
			if(store_searched == 'start'){
				if(lat_point[0].childNodes.length>0) var La = lat_point[0].childNodes[0].nodeValue;
				if(lon_point[0].childNodes.length>0) var Lo = lon_point[0].childNodes[0].nodeValue;
				show_center_point(La,Lo,mapZoom);
			}
			
			var list_html="";
			for(i=0; i<targetLength; i++){	

				maintenance_text = new Array();
				maintenance_date = new Array();
				for(j=0; j<targetNames[i].getElementsByTagName("maintenance_text").length; j++){
					if(targetNames[i].getElementsByTagName("maintenance_text")[j].childNodes.length>0) maintenance_text[j] = targetNames[i].getElementsByTagName("maintenance_text")[j].childNodes[0].nodeValue;
					if(targetNames[i].getElementsByTagName("maintenance_date")[j].childNodes.length>0) maintenance_date[j] = targetNames[i].getElementsByTagName("maintenance_date")[j].childNodes[0].nodeValue;
				}

			//地図============				
				/*--ふきだし内容--*/
				var pophtml;
				pophtml  = '<div style="font-size:12px;">';
				if(link[i].childNodes.length>0) pophtml += '<b><a href="'+link_url+link[i].childNodes[0].nodeValue+'" title="'+shop_name[i].childNodes[0].nodeValue+'" target="_self">'+shop_name[i].childNodes[0].nodeValue+'</a></b><br>';
				pophtml += shop_address[i].childNodes[0].nodeValue+'<br>';
				if(phone[i].childNodes.length>0) pophtml += phone[i].childNodes[0].nodeValue;
				pophtml += '</div>';
				/*----------------*/
				
				if(lat_point[i].childNodes.length>0 && lon_point[i].childNodes.length>0) var point = new GLatLng(lat_point[i].childNodes[0].nodeValue,lon_point[i].childNodes[0].nodeValue); //window.alert(point);
				var marker = new GMarker(point);
	
				infoBody(marker,pophtml);//--ふきだしをセット
				map.addOverlay(marker);	
			//HTML============
				list_html += '<div class="shop">';
				if(is_IC_Card[i].childNodes[0].nodeValue=="1") list_html += '<h2 class="ic">'+shop_name[i].childNodes[0].nodeValue+'<span class="shop_add">'+shop_address[i].childNodes[0].nodeValue+'</span></h2>';
				else list_html += '<h2 class="non_ic">'+shop_name[i].childNodes[0].nodeValue+'<span class="shop_add">'+shop_address[i].childNodes[0].nodeValue+'</span></h2>';
				list_html += '<ul>';
				list_html += '<li>営業日';
				if(open_date[i].childNodes.length>0) list_html += '<span class="shop_mente">'+open_date[i].childNodes[0].nodeValue+'</span>';
				list_html += '</li>';
				list_html += '<li>営業時間';
				if(open_time[i].childNodes.length>0) list_html += '<span class="shop_mente">'+open_time[i].childNodes[0].nodeValue+'</span>';
				list_html += '</li>';
/*
				list_html += '<li>メンテナンス情報<span class="shop_mente">';
				for(k=0; k<maintenance_text.length; k++){
					if(k>0) list_html += '<br>　　　　　　　　　　　';
					maintenance_text[k] = maintenance_text[k].replace(/\n/,"<br>　　　　　　　　　　　　　　　　　　　　");
					list_html += maintenance_date[k]+'　'+maintenance_text[k];
				}
				list_html += '</span></li>';
*/
				list_html += '</ul>';
				list_html += '</div>';
				list_html += '<div class="link">';
				if(link[i].childNodes.length>0) list_html += '<a href="?m=pc&a=shop_data&shop='+link_url+link[i].childNodes[0].nodeValue+'"><img src="/img/common/shop_link.png" alt="店舗詳細情報へ" /></a>';
				list_html += '</div>';
			}//end--loop
			/*-結果をアサイン-*/
			document.getElementById("list_cnt").innerHTML="地図上に<b>"+targetLength+"</b>件の店舗情報があります"
			document.getElementById("list").innerHTML=list_html;
		}else{
			/*-一致する店舗情報なし-*/
			document.getElementById("list_cnt").innerHTML='<font color="red">表示中の地図上には店舗情報が登録されていません</font>';
			document.getElementById("list").innerHTML="";
		}//end--if(targetLength > 0)
	}
	//--------------------------------------------------
	
			
	/*
	+ [関数名]: infoBody 
	+ [概要]  : インフォウィンドウの内容を設定
	+ [引数] marker ：object / pophtml：ふきだしに表示するhtml
	*/
	function infoBody(marker,pophtml) {
		GEvent.addListener(marker, "click", function(){
			marker.openInfoWindowHtml(pophtml);
		});
	}
	//--------------------------------------------------
	/*
	+ [関数名]: show_center_point()
	+ [概要]  : 経緯を参照してmapの中心をセット
	+ [引数] latitude / longitude
	*/
	var latitude;
	var longitude;
	var ZoomLevel;

	function show_center_point(latitude,longitude,ZoomLevel){
		 map.centerAndZoom(new GLatLng(latitude,longitude), ZoomLevel);
	}
	//--------------------------------------------------
	




}//end--function map_load();


/*

var list_html;
list_html_tbl_start = '<table cellspacing="0">';

	
//--start--loop	
list_html += '<tr>';
//list_html += '<td class="list_n">({if $shop_results[i].recruit_now == 1})<img src="./images/arbeit.gif">({else})&nbsp;({/if})</td>';
list_html += '<td class="list_n">&nbsp;</td>';//暫定処理◆
list_html += '<td class="list_l">'+shop_name[i].childNodes[0].nodeValue+'</td>';
list_html += '<td class="list_r">'+shop_address[i].childNodes[0].nodeValue+'shop_address[i].childNodes[0].nodeValue+'</td>';
list_html += '<td class="list_btn"><a href="'+link_url+link[i].childNodes[0].nodeValue+'" >詳細</a></td>';
list_html += '</tr>
//--end--loop	
	
list_html_tbl_end = '</table>';
*/




//]]>

