var currentInfoWindow = null;

// 初期設定( エリア別トップ用 )
function map_initialize( count )
{
	// 地図初期化
	var latlng = new google.maps.LatLng( 37.911904, 139.060993 );	// 新潟駅
	var mapOptions =
	{
		center : latlng,
		zoom : 14,
		scrollwheel : false,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	var map = new google.maps.Map( document.getElementById( "map_canvas" ), mapOptions );

	var arrID = document.getElementById( "happy_id" ).value.split( "," );

	for( var i = 0; i < count; i++ )
	{
		var url = document.getElementById( "title_url_" + arrID[ i ] ).value;
		var name = document.getElementById( "happy_name_" + arrID[ i ] ).value;
		var tel = document.getElementById( "happy_tel_" + arrID[ i ] ).value;
		var add = document.getElementById( "happy_zip_" + arrID[ i ] ).value;

		var seki1 = document.getElementById( "happy_seki_1_" + arrID[ i ] ).value;
		var seki2 = document.getElementById( "happy_seki_2_" + arrID[ i ] ).value;
		var kasi = document.getElementById( "happy_kasi_" + arrID[ i ] ).value;
		var min = document.getElementById( "happy_Course_min_" + arrID[ i ] ).value;
		var max = document.getElementById( "happy_Course_max_" + arrID[ i ] ).value;
		var lat = document.getElementById( "happy_lat_" + arrID[ i ] ).value;
		var lng = document.getElementById( "happy_lng_" + arrID[ i ] ).value;

		var money = "";

		if( !isNaN( seki1 ) && seki1 != "" )	seki1 += "名様";
		if( !isNaN( seki2 ) && seki2 != "" )	seki2 += "名様";
		if( !isNaN( kasi ) && kasi != "" )	kasi += "名様";
		if( !isNaN( min ) && min != "" )		money = min + "円";
		if( !isNaN( min != max ) && max != "" )	money += "～" + max + "円";

		var text = "";
		text += "<p>" + name + "</p>";
		text += "<p>電話番号：" + tel + "</p>";
		text += "<p>着席：" + seki1 + "　立席：" + seki2 + "</p>";
		text += "<p>貸切：" + kasi + "</p>";
		text += "<p>コース：" + money + "</p><br />";
		text += "<p align='right' ><a href='" + url + "' style='color:#4272db'>詳細 »</a></p>";

		if( add === "" ) continue;

		var marker = createMarker( map, lat, lng, text );
		if( lat === "" || lng === "" )
		{
			setLatLng( map, marker, add );
		}
	}
}

// 初期設定( アクセスマップ用 )
function AccessMapInitialize( lat, lng )
{
	// 地図初期化
	var latlng = new google.maps.LatLng( lat, lng );
	var mapOptions =
	{
		overviewMapControl : true,
		overviewMapControlOptions : { opened: true },
		center : latlng,
		zoom : 16,
		scrollwheel : false,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	var map = new google.maps.Map( document.getElementById( "map_canvas" ), mapOptions );

	var markerOpts =
	{
		position : latlng,
		map : map
	};
	var marker = new google.maps.Marker( markerOpts );
	marker.setMap( map );
}

// マーカー作成
function createMarker( map, lat, lng, text )
{
	var infoWndOpts = { content : text };
	var infoWnd = new google.maps.InfoWindow( infoWndOpts );
	var latlng = new google.maps.LatLng( lat, lng );

	var markerOpts =
	{
		position : latlng,
		map : map
	};
	var marker = new google.maps.Marker( markerOpts );
	marker.setMap( map );

	google.maps.event.addListener( marker, "click", function()
	{
		// 先に開いた情報ウィンドウがあれば、closeする
		if( currentInfoWindow )
		{
			currentInfoWindow.close();
		}
		// 情報ウィンドウを開く
		infoWnd.open( map, marker );

		currentInfoWindow = infoWnd;
	});
	return marker;
}

// 住所から取得した緯度経度にマーカーを配置
function setLatLng( map, marker, add )
{
	var geocoder = new google.maps.Geocoder();

	// 住所から緯度・経度取得
	geocoder.geocode( { 'address': add }, function( results, status )
	{
		if( status == google.maps.GeocoderStatus.OK )
		{
			var latlng =  results[ 0 ].geometry.location;
			marker.setPosition( latlng );
			marker.setMap( map );
		}
	});
}

