/*===================================
施設マップの住所検索のボタンクリックの際
エンターキーを無効にする。
===================================*/
document.onkeydown = KeyEvent;
self.focus();
function KeyEvent(e){
	pressKey=event.keyCode;
	if(pressKey==13){return false;}
} 

/*===================================
【リスト用】座標検索
===================================*/
function showAddress(address){
	var address = document.getElementById("address").value;
	var marker = "";
	del_marker();
	if (geocoder){
		geocoder.geocode({'address': address}, function(results, status){
			if (status == google.maps.GeocoderStatus.OK) {
				map.setCenter(results[0].geometry.location);
				marker = new google.maps.Marker({
					map: map,
					position: results[0].geometry.location
				});
				marker_list.push(marker);
			} else {
				alert("位置を取得できませんでした");
				
			}
		});
	}
}

/*===================================
【リスト用】マーカーの削除
===================================*/
function del_marker(){
	for(i=0; i<marker_list.length; i++){
		marker_list[i].setMap(null);
		if(infowindow){
			infowindow.close();
		}
		if(currentInfoWindow){
			currentInfoWindow.close();
		}
	};
	data = new Array();
}

/*===================================
【リスト用】サイドバー折りたたみJS
===================================*/
function nDisplay(){
	var element = document.getElementById("m_category");
	var childs = element.childNodes;
	for(i=0; i<childs.length; i++){
		if(childs[i].id){
			if(childs[i].id.match("mid")){
				childs[i].style.display = "none";
			}
		}
	}
}

/*===================================
【リスト用】施設名をクリックした時の処理
===================================*/
function prev(category,pageid){
	del_marker();
	var data = data_processing(markers,category,pageid);
}

/*===================================
【リスト用】施設のデータを配列にして返す(リスト用）
===================================*/
function data_processing(markers,category,pageid){
	var data = new Array();
	for(var z=0; z<markers.length; z++){
		var page_id = markers[z][0];	//ページID
		var name = markers[z][1];	//施設名
		var latlng = markers[z][2];		//座標
		var s_point = latlng.split(",");	//座標をカンマで分割
		var y = s_point[0];		//座標：Y軸
		var x = s_point[1];		//座標：X軸
		var category_cd = markers[z][3];	//カテゴリコード
		var tel = markers[z][4];	//電話番号
		tel = tel.replace(/,/g,"<br />");
		var url = markers[z][5];	//URL
		var img = markers[z][6];	//画像URL
		var img_alt = name+"の写真";	//画像ALT
		var add = markers[z][7];	//住所
		add = add.replace(/,/g,"<br />");
		var html ="<div class=\"mapfukidashi\">";
		html +="<strong>" +name+ "</strong>";
		if(img && img_alt){
			html += "<div class=\"mapimage\"><img src=\"" +img+ "\" alt=\"" +img_alt+ "\"></div>";
		}
		if(add){
			html += "<br />住所:"+add;
		}
		if(tel){
			html += "<br />電話番号:"+tel;
		}
		html += "<br /><a href =\""+url+"\">施設の詳細情報</a></div>";
		if((pageid == 0 || page_id == pageid) && category_cd == category){
			data.push({y:y, x:x, content:html});
		}
	}
	make_marker(data);
	function make_marker(){
		for(i=0; i<data.length; i++){
			var y = data[i].y;
			var x = data[i].x;
			var point = new google.maps.LatLng(y,x);
			var myMarker = new google.maps.Marker({
				position:point,
				map:map,
				maxWidth: 250
			});
			marker_list.push(myMarker);
			if(data.length >= 2){
				attachMessage(myMarker, data[i].content,i);
			}else{
				var infowindow = new google.maps.InfoWindow({content:  data[i].content});
				if(currentInfoWindow){
					currentInfoWindow.close();
				}
				infowindow.open(map,myMarker);
				map.setCenter(point);
				currentInfoWindow = infowindow;
			}
		}
		function attachMessage(marker,mess,i){
			var infowindow = new google.maps.InfoWindow({content: mess});
			google.maps.event.addListener(marker, 'click', function() {
				if(currentInfoWindow){
					currentInfoWindow.close();
				}
				infowindow.open(map,marker);
				currentInfoWindow = infowindow;
			});
		}
	}
}


/*===================================
【リーフ用】地図を表示
===================================*/
function page_map(points){
	var point = points.split(",");
	var x = point[0];
	var y = point[1];
	var latlng = new google.maps.LatLng(x,y);
	var myOptions = {zoom:15, center:latlng, mapTypeId:google.maps.MapTypeId.ROADMAP, streetViewControl:false};	//マップの初期設定
	var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);	//マップ使用宣言
	var marker = new google.maps.Marker({
	position: latlng,
	map: map
	});
}

