	function SP_Add_PolygonDetail(Lat,Lng){
		var longitude	=Lng;
		var latitude	=Lat;
		
		var myLatLng=new GLatLng(latitude,longitude); 
		areaLatLngs.push(myLatLng); 
	}
	
	function SP_Remove_Polygon(){
		if(polygon){
			map.removeOverlay(polygon);
			polygon=null;
			areaLatLngs=new Array();
		}
	}
	
	function SP_View_Polygon(){
		if(areaLatLngs.length >1 ){
			if(polygon){
				map.removeOverlay(polygon);
			}
			
			//配列コピー
			var areaLatLngs_copy=[];
			for(var i=0;i<areaLatLngs.length;i++){
				areaLatLngs_copy[i] = areaLatLngs[i];
			}
			areaLatLngs_copy.push(areaLatLngs[0]);
			
			polygon=new GPolygon(areaLatLngs_copy,"#000000",2,.5,"#000000",.2);
			map.addOverlay(polygon);
		} else {
			if(polygon){
				map.removeOverlay(polygon);
				polygon=null;
			}
		}
	}
	
	function SP_ControlSubmitButton(){
		var routeDetailDispNode=document.getElementById("routeDetailDisp");
		var naviNodes=routeDetailDispNode.getElementsByTagName("table");
		if(naviNodes){
			if(naviNodes.length >1){
				document.getElementById("operatoinMessage").innerHTML="";
				document.getElementById("routeAddSubmitButton").innerHTML="<br /><input type='submit' name='areaAddForm' value='登録' /><br /><br />";
			} else if(naviNodes.length ==1){
				document.getElementById("operatoinMessage").innerHTML="次のエリア地点をマップよりクリックして選択してください。";
				document.getElementById("routeAddSubmitButton").innerHTML="";
			} else {
				document.getElementById("operatoinMessage").innerHTML="マップよりエリア始点をクリックして選択してください。";
				document.getElementById("routeAddSubmitButton").innerHTML="";
			}
		} else {
			document.getElementById("operatoinMessage").innerHTML="マップよりエリア始点をクリックして選択してください。";
			document.getElementById("routeAddSubmitButton").innerHTML="";
		}
	
	}
	
	function SP_Add_SpotToRouteDetail(theSpotID){
		// remove last table
		var routeDetailDispNode=document.getElementById("routeDetailDisp");
		var naviNodes=routeDetailDispNode.getElementsByTagName("table");
		if(naviNodes){
			if(naviNodes.length >0){
				var lastTableNode=naviNodes[naviNodes.length-1];
				var removableParameterNode=lastTableNode.firstChild.firstChild.firstChild.firstChild;
				SP_Remove_RouteDetail(removableParameterNode);
			}
		}
		
		//get spot data and add route detail form
		var request= GXmlHttp.create();
		var url="json_spot_view.html?Actniche_SpotID=" + theSpotID;
		request.open("GET",url,false);
		request.onreadystatechange=function(){
			if(request.readyState==4){
				eval("var spotObj="+request.responseText);
				if(spotObj.NODATA){
					return;
				} else {
					if(spotObj.photos.length >0){
						var spotForm={
							"Actniche_SpotID"		:{"value":spotObj.spot_id},
							"Actniche_Longitude"	:{"value":spotObj.longitude},
							"Actniche_Latitude"		:{"value":spotObj.latitude},
							"Actniche_Spot_Name"	:{"value":spotObj.spot_name},
							"Actniche_PhotoID"		:[{"value":spotObj.photos[0].photo_id, "checked":true}]
						};
					} else {
						var spotForm={
							"Actniche_SpotID"		:{"value":spotObj.spot_id},
							"Actniche_Longitude"	:{"value":spotObj.longitude},
							"Actniche_Latitude"		:{"value":spotObj.latitude},
							"Actniche_Spot_Name"	:{"value":spotObj.spot_name}
						};
					}
					SP_Add_PolygonDetail(null,null,spotForm);
				}
			}
		}
		request.setRequestHeader("If-Modified-Since","Thu,01 Jun 1970 00:00:00 GMT");	//cache management
		request.send(null);
		//route detail add
		
	
	}
	
	function OpenWindowOfSpotMaking(latitude,longitude){
		var html;
		html ="<div style='text-align:center'><form action='spot_form.html' onsubmit='window.open(\"\",\"new_spot\",\"width=540,height=600\")' target='new_spot' method='post'>";
		html+="<input type='hidden' name='Actniche_Latitude'  value='"+latitude+"' />";
		html+="<input type='hidden' name='Actniche_Longitude' value='"+longitude+"' />";
		html+="<input type='hidden' name='func' value='route_and_spot' />";
		html+="<span style='color:#000000'>ここに新しいスポット情報を追加しますか?</span><br /><br />";
		html+="<button type='submit' name='SpotAlsoAdd' style='font-size:8px'>登録する</button>&nbsp;";
		html+="<button type='button' style='font-size:8px' onclick='fCloseWindow()'>閉じる</button>";
		html+="</form></div>";
		var point = new GPoint(longitude, latitude);
		map.openInfoWindowHtml(point,html);
	}
	
	function viewRoutePolyLine(routeID){
		map.clearOverlays();
		var request=GXmlHttp.create();
		var url="json_routedetail_view.html?Actniche_RouteID="+routeID;
		request.open("GET",url,true);
		request.onreadystatechange=function(){
			if(request.readyState==4){
				eval("var routeObj="+request.responseText);
				var routeDetailObj=routeObj.RootDetail;
				var points= new Array();
				for(var j=0,n=routeDetailObj.length; j < n; j++){
					// set center of map
					if(j==0){
						var center_point=new GPoint(routeDetailObj[j].Longitude,routeDetailObj[j].Latitude);
						map.centerAndZoom(center_point, 0);
					}
					var point=addMaker_Infowindow(routeDetailObj[j],j);
					points.push(point);
				}
				
				//draw line
				gPolyObj=new GPolyline(points)
				map.addOverlay(gPolyObj);
			}
		}
		request.setRequestHeader("If-Modified-Since","Thu,01 Jun 1970 00:00:00 GMT");	//cache management
		request.send(null);
	}
	
	function addMaker_Infowindow(routeDetail,j){
		var point = new GPoint(routeDetail.Longitude,routeDetail.Latitude);
		
		var mk = new GMarker(point);
		if(routeDetail.SpotID){
			map.addOverlay(mk);
		}
		var onClick_function=function(){
			OpenWindowOfRoute(point,routeDetail);
		}
		GEvent.addListener(mk,"click",onClick_function);
		
		return point;
	}
	
	function AreaTemporayAdd_form(theAreaType){
		map.closeInfoWindow();
		
		//エリアの中心点取得
		var postData=encodeURIComponent('ActnicheCommunity_AreaName') + '=' + encodeURIComponent('temprary');
		globalLatlngArray.pop();
		if(globalLatlngArray.length > 2){
			for(var i=0; i<globalLatlngArray.length; i++){
				postData+='&' + encodeURIComponent('ActnicheCommunity_Latitude[]') + '=' + encodeURIComponent(globalLatlngArray[i].lat()) + '&' +encodeURIComponent('ActnicheCommunity_Longitude[]') + '=' + encodeURIComponent(globalLatlngArray[i].lng());
			}
			if(theAreaType=='Regist_HomeBaseMake'){
				postData+='&' + encodeURIComponent('Regist') + '=' + encodeURIComponent('True');
			}
			
			//選択地域ハイライト
			var myAreaData=new Array();
			for(var i=0,n=globalLatlngArray.length; i<n; i++){
				var latitude	=globalLatlngArray[i].lat();
				var longitude	=globalLatlngArray[i].lng();
				var mylatlng	=new GLatLng(latitude,longitude);
				myAreaData.push(mylatlng);
			}
			
			overrideArea=new GPolygon(myAreaData,"#000000",2,.0,"#000000",.2);
			map.addOverlay(overrideArea);
			
			var centerLatLng=json_postWithQueryString('json_centerlatlng.html',postData);
			var mylatlng= new GLatLng(centerLatLng.Latitude,centerLatLng.Longitude);
			
			//エリア登録フォーム
//			var html =innerHTML_getAndReturn('inner_area_add_form.html?Latitude='+centerLatLng.Latitude+"&Longitude="+centerLatLng.Longitude);
			
			//make query
			var url = theAreaType=='Community_Create' ? 'inner_community_add_form.html' : 'inner_area_add_form.html';
			var html =innerHTML_PostAndReturn(url,postData);
			
			//イベント削除
			clearEventListener();
			
			//プレビューライン削除
			if(previousNewPolyline){
				map.removeOverlay(previousNewPolyline);
				previousNewPolyline=false;
			}
			
			//マーカー非表示
			Marker_ForPolyline_Visible(false);

			//インフォウィンドウ
			map.openInfoWindowHtml(mylatlng,html);
			var theInfoWindow=map.getInfoWindow();
			GEvent.addListener(theInfoWindow,'closeclick',function(){
				map.closeInfoWindow();
				clearEventListener();
				addEventListener_ForArea(theAreaType);
				line_view(theAreaType);
				Marker_ForPolyline_Visible(true);
			});
		} else {
			alert("エリアを登録するには３点以上選択する必要があります。");
		}

	}
	
	function Marker_ForPolyline_Visible(theVisibleFlag){
		//エリア作成時のマーカーの表示・非表示
		
		if(globalMarkerForPolyine){
			for(var i=0,n=globalMarkerForPolyine.length; i<n; i++){
				if(theVisibleFlag){
					globalMarkerForPolyine[i].show();
				} else {
					globalMarkerForPolyine[i].hide();
				}
			}
		}
	}

