/* map.js 1.0
 * (c)2010 dari http://www.nandani.sakura.ne.jp/
 */

/*マップ表示用*/
var mapname;	//マップID
var mc_lat;		//中心座標の緯度
var mc_lng;		//中心座標の経度
var mp_lat;		//マーカーの緯度
var mp_lng;		//マーカーの経度
var zoom;		//ズーム値
var map;
var maker;

function map_single(mapname, mapcomment){
	if (GBrowserIsCompatible()) {
		
		if(document.getElementById(mapname) != null){
		
			var gmap_coords = document.getElementsByClassName("gmap_coord")[0];
			
			//Class「gmap_coords」から座標データを取得する
			if(gmap_coords != null){
				gmap_coords_array = gmap_coords.innerHTML.split(",");
				if(gmap_coords_array.length == 5){
					mp_lat = gmap_coords_array[0];
					mp_lng = gmap_coords_array[1];
					mc_lat = gmap_coords_array[2];
					mc_lng = gmap_coords_array[3];
					zoom = parseInt(gmap_coords_array[4]);
				}
			}
			
			//吹き出し用データを取得する
			comment = "<div class='gmap_block'>";
			comment += document.getElementById(mapcomment).innerHTML;
			comment += "</div>";
			
			// マップ表示
			map = new GMap2(document.getElementById(mapname));
			var map_center = new GLatLng(mc_lat, mc_lng);
			map.setCenter(map_center, zoom);
			
			// マーカー表示
			get_obj = document.getElementsByClassName("gmap_title")[0].getElementsByTagName("a")[0];
			AddGMarker(get_obj, mp_lat, mp_lng, comment);
			
			// コントロール（小）表示
			map.addControl(new GSmallMapControl);
		
			// ズーム初期設定
			zoom=map.getZoom();
		}
	}
}

function all_marker_map(mapname,gmapcomment){
		
	// マップオブジェクト設定
	map   = new GMap2(document.getElementById(mapname));
	
	var minLat = 999;
	var maxLat = 0;
	var minLng = 999;
	var maxLng = 0;
	
	var content_list = document.getElementById(gmapcomment);
	var get_li_array = content_list.getElementsByTagName("li");
	
	for(i=0; i<get_li_array.length; i++){
			
		//コメント
		comment = "<div class='gmap_block'>";
		comment += get_li_array[i].innerHTML;
		comment += "</div>";
			
		//マーカー用座標
		coord = document.getElementsByClassName("gmap_coord")[i].innerHTML;
		coord_array = coord.split(",");
			
		get_obj = document.getElementsByClassName("gmap_title")[i].getElementsByTagName("a")[0];
			
		//マーカーを表示
		AddGMarker(get_obj, coord_array[0], coord_array[1], comment);
		
		//中心座標を取得するため、緯度経度の最小値と最大値を取得する
		if(coord_array[0] < minLat){
			minLat = coord_array[0];
		}
		if(coord_array[0] > maxLat){
			maxLat = coord_array[0];
		}
		
		if(coord_array[1] < minLng){
			minLng = coord_array[1];
		}
		if(coord_array[1] > maxLng){
			maxLng = coord_array[1];
		}
	}
	
	//中心座標とズームを自動調整
	var minLatLng = new google.maps.LatLng(minLat, minLng);
	var maxLatLng = new google.maps.LatLng(maxLat, maxLng);
	var LatLngBounds = new google.maps.LatLngBounds(minLatLng, maxLatLng);
	var LatLngCenter = LatLngBounds.getCenter();
	zoom = map.getBoundsZoomLevel(LatLngBounds);
	map.setCenter(LatLngCenter, zoom);
	
	// コントロール（小）表示
	map.addControl(new GSmallMapControl);
}

//マーカー表示用関数
function AddGMarker(obj, get_mp_lat, get_mp_lng, get_comment){

	var objPoint = new GLatLng(get_mp_lat, get_mp_lng);
	var objMarker = new GMarker(objPoint);
	
	var browser_type = browser();
	//リストから店名をクリックした場合
	if(browser_type == "MSIE"){
		obj.attachEvent("onclick",function(){ objMarker.openInfoWindowHtml(get_comment); });
	}else{
		obj.addEventListener("click",function(){ objMarker.openInfoWindowHtml(get_comment); }, false);
	}
	//マーカーをクリックした場合
	GEvent.addListener(objMarker,"click",function(){ objMarker.openInfoWindowHtml(get_comment); });
	map.addOverlay(objMarker);
}

//ブラウザ判別
function browser(){
	if(navigator.userAgent.indexOf("Opera") != -1){
		type = "Opera";
	}else if(navigator.userAgent.indexOf("MSIE") != -1){
		type = "MSIE";
	}else if(navigator.userAgent.indexOf("Firefox") != -1){
		type = "Firefox";
	}else if(navigator.userAgent.indexOf("Netscape") != -1){
		type = "Netscape";
	}else if(navigator.userAgent.indexOf("Safari") != -1){
		type = "Safari";
	}else{
		type = "none"; 
	}
	return type;
}
	
