// 必要な変数の準備
var map         = null; // GoogleMapを呼び出す
var gGeo     = null; // 住所より緯度経度を取得する
//var date = ''; // カレンダーで選択した日時
var mapFlg = 0; //マップの表示・非表示のフラグ

/*
 * 日記一覧画面
 *	
 */
function loading_diary(){


}

/*
 * 日記確認画面
 *	GMapの表示
 */
function confirm_diary(){

		var lttd = document.form.lttd.value;
		var lgtd = document.form.lgtd.value;

		//alert(lttd+","+lgtd);


		if(lttd !='' && lgtd !=''){

			document.getElementById("map_point").innerHTML = '<div id="map" style="width: 400px; height: 300px"></div>';

			if (GBrowserIsCompatible()) {

				init_Gmap();

				//地図の中心地を設定
		        map.setCenter(new GLatLng(lgtd, lttd), 14);

				var gpObj = new GLatLng(lgtd, lttd);
				var marker = new GMarker(gpObj);
				map.addOverlay(marker);
			}
		}

		//読み終わった後画面を表示
		hidden ( WAITPAGE );

}

/*
 * 日記入力画面
 *	カレンダー・GMapの表示
 */
function input_diary(){

	var lttd = document.form.lttd.value;
	var lgtd = document.form.lgtd.value;

	//GMap表示
	if (GBrowserIsCompatible()) {

		init_Gmap();

		//中心点設定
		if(lttd !='' && lgtd !=''){
			//編集時は登録済みの中心点を設定
	        map.setCenter(new GLatLng(lgtd, lttd), 14);
		}
		else{
			//新規登録時は中心点を大分市役所に設定
	        map.setCenter(new GLatLng(33.239919, 131.6091), 14);

		}


		//アイコンの設定
		iconObj = new GIcon();
		iconObj.iconSize = new GSize(23,23);//アイコンのサイズ
		iconObj.iconAnchor = new GPoint(20, 20);//アイコンの地図との相対座標
		iconObj.image = "img/centerMarker.gif";


		//マップの中心点を取得
		gpObj = map.getCenter();

		//センターマーカーの表示
		center_marker = new GMarker( gpObj , iconObj );
		map.addOverlay( center_marker );

		//移動終了後のイベントを追加
		GEvent.addListener( map , "moveend" , function(){

			map.removeOverlay( center_marker );
			center_marker = new GMarker( map.getCenter() , iconObj );
			map.addOverlay( center_marker );

		} );

		//クリックした中央座標をテキストボックスに表示
		GEvent.addListener(map, "move", function(){
			var x = (map.getCenter()).lng();
			var y = (map.getCenter()).lat();
			document.form.lttd.value = x;
			document.form.lgtd.value = y;
		} );

    }

	//読み終わった後画面を表示
	hidden ( WAITPAGE );


/*
	//カレンダー表示
	calenderObj = new YAHOO.widget.Calendar("calenderObj","calender");

	//calenderObj.onSelect = calenderCheck;
	calenderObj.onRender = check;

	calenderObj.render();
*/

}


/*
 * 日記：詳細画面において地図の表示・非表示を制御
 *
 */
function disp_Gmap(){

		if(mapFlg == 0){


			var lttd = document.form.lttd.value;
			var lgtd = document.form.lgtd.value;

			//alert(lttd+","+lgtd);

			document.getElementById("map_point").innerHTML = '<div id="map" style="width: 400px; height: 300px"></div>';


			if (GBrowserIsCompatible()) {

				init_Gmap();

				//地図の中心地を設定
		        map.setCenter(new GLatLng(lgtd, lttd), 14);

				var gpObj = new GLatLng(lgtd, lttd);
				var marker = new GMarker(gpObj);
				map.addOverlay(marker);
			}

			document.getElementById("map_disp").innerHTML = '非表示';
			mapFlg = 1;


		}
		else{
			document.getElementById("map_point").innerHTML = '';
			document.getElementById("map_disp").innerHTML = '表示';

			mapFlg = 0;
		}
}


/*
 * マップ：初期処理
 *
 */
function init_Gmap(){

		map = new GMap2(document.getElementById("map"));

		// 地図のコントロールを設定
		map.addControl(new GLargeMapControl());

		//map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());
		//map.addControl(new GOverviewMapControl(new GSize(100,100)));

		//ジオコーディングオブジェクトの生成
		gGeo = new GClientGeocoder();

		//不要なコントロールを隠す
		var ctrl_kiyaku = document.getElementById("map").childNodes[1];
		var ctrl_goo = document.getElementById("map").childNodes[2];
		ctrl_kiyaku.style.visibility = "hidden";
		ctrl_goo.style.visibility = "hidden";

		//アイコンの表示非表示を設定
		//GEvent.addDomListener(document.getElementById("map"), "mouseover", showCtrl);
		//GEvent.addDomListener(document.getElementById("map"), "mouseout", hideCtrl);

}


/*
 * カレンダー：選択した日付を表示
 *
 */
/*function calenderCheck()
{
	//alert(calenderObj.selectedDates+"が選択されました");
	document.getElementById("date_disp").innerHTML = "&nbsp;&nbsp;<b>"+calenderObj.selectedDates+"</b>";
	document.form.date.value = calenderObj.selectedDates;
	//date = calenderObj.selectedDates;
}*/


/*
 * マップ：コントロールを表示
 *
 */
function showCtrl()
{
	var ctrl_scale = document.getElementById("map").childNodes[3];
	var ctrl_mode = document.getElementById("map").childNodes[4];
	ctrl_scale.style.visibility = "visible";
	ctrl_mode.style.visibility = "visible";
}


/*
 * マップ：コントロールを隠す
 *
 */
function hideCtrl()
{
	var ctrl_scale = document.getElementById("map").childNodes[3];
	var ctrl_mode = document.getElementById("map").childNodes[4];
	ctrl_scale.style.visibility = "hidden";
	ctrl_mode.style.visibility = "hidden";
}


/*
 * マップ：住所検索用
 *
 */
function searchPoint() {
document.getElementById("result").innerHTML = "検索中です...";
var address = document.getElementById("address").value;
gGeo.getLatLng(address, checkGeo);
}

function checkGeo(point) {
if (point) {
	map.setCenter(point, 14);
	document.getElementById("result").innerHTML = "中央が該当地点です";
	}else{
	document.getElementById("result").innerHTML = "見つかりませんでした";
	}
}


/*
 * 日記：入力内容チェック
 *
 */
function diaryCheck () {

	//var date = document.form.date.value;
	var diary_title = document.form.diary_title.value;
	var diary_message = document.form.diary_message.value;
	//var photo = document.form.photo.value;
	var address = document.form.address.value;
	var lttd = document.form.lttd.value;
	var lgtd = document.form.lgtd.value;

	var mes = "";

	//alert(isNaN(lttd));
	//alert(isNaN(lgtd));

	//alert(diary_title+','+diary_message+','+photo+','+address+','+lttd+','+lgtd);

	//全角・半角スペースを除去
	var rgexp_s = new RegExp(" ", "g");
	diary_title = diary_title.replace(rgexp_s, "");

	var rgexp_b = new RegExp("　", "g");
	diary_title = diary_title.replace(rgexp_b, "");

	//diary_title = diary_title.replace(' ','');
	//diary_title = diary_title.replace('　','');

	if(diary_title == '' || diary_message == ''){

			mes = "タイトル・日記の内容を入力してください。";
			back (mes);
	}
	//else if(photo != ''){

		//alert(photo.indexOf(".gif"));
		//alert(photo.indexOf(".GIF"));
		//alert(photo.length - 5);
		//alert(photo.indexOf("."));

		//ファイルの拡張子をチェック
		//if( (photo.indexOf(".gif") == -1 && photo.indexOf(".GIF") == -1) || photo.indexOf(".") < photo.length - 5 ){
		//
		//	mes = "写真はGIF形式で登録してください。<br>ディレクトリ名にピリオドを含まないでください。";
		//	back (mes);
		//}
		//else{
		//	complete ();
		//}


	//}
	//緯度・経度の値をチェック
	else if((lttd !='' || lgtd !='') && (isNaN(lttd) == true || isNaN(lgtd) == true)) {
			mes = "緯度・経度は数値で入力してください。<br>地図をダブルクリックすると自動入力されます。";
			back (mes);
	}
	else if((lttd !='' && lgtd =='') || (lttd =='' && lgtd !='')){
			mes = "緯度・経度指定する場合は両方入力してください。<br>地図をダブルクリックすると自動入力されます。";
			back (mes);
	}
	else {

			//確認画面表示
			ajaxDiaryConfirm('main','script/ajax/diary_Ajax_confirm.php');
			//mes = "日記を登録します。よろしいですか？";
			//complete (mes);
	}
}


/*
 * 日記：削除時のメッセージ
 *
 */
function diaryDelete () {

	var mes = "日記を削除します。よろしいですか？";
	complete (mes);
}

/*
 * 日記：コメント削除時のメッセージ
 *
 */
function diaryDeleteCom () {

	var mes = "コメントを削除します。よろしいですか？";
	complete (mes);
}


/*
 * 日記：コメント登録時のメッセージ
 *
 */
function diaryComment () {

	var comment = document.form.comment_message.value;
	var mes = "";

	if(comment == ''){
		mes = "コメント欄を入力してください。";
		back (mes);
	}
	else{
		mes = "コメントを登録します。よろしいですか？";
		complete (mes);
	}
}


/*
 * 日記：アラートの表示
 *
 */
function back (mes) {

	Dialog.alert(mes, 
			{
				windowParameters: {width:300}, 
				okLabel: "閉じる",
				buttonClass: "diaryButtonClass",
				id: "diaryDialogId",
				ok:function(win) {return true;}
			});
}

/*
 * 日記：登録の確認
 *
 */
function complete (mes) {

	Dialog.confirm(mes, 
	              {windowParameters: {width:300}, okLabel: "はい", cancelLabel: "いいえ",
	               buttonClass: "diaryButtonClass",
	               id: "diaryDialogId",
	               cancel:function(win) {},
	               ok:function(win) {diaryUpdate();return true;}
	              });
}


/*
 * 日記：内容をDB登録PHPを呼び出す
 *
 */
function diaryUpdate () {


		//alert("DB登録開始");
		//DB登録PHPを呼び出す

		ajaxDiaryResult('main','script/ajax/diary_Ajax_result.php');
}

	/**
	 * 送信アドレスを追加する.
	 * 
	 * 
	 */
	function imageadd(img){

		//一度にHTMLを挿入しないとdivがずれる
		document.getElementById('dispimage').innerHTML = "<img src=\"dispimage.php?image="+img+"&width=80&height=80\"><input type=\"hidden\" name=\"photo\" value=\""+img+"\"><a class=\"link_b\" onclick=\"imagedel()\">&gt;&gt;写真登録なし</a>";

	}

	function dispPhotoList(){
		document.getElementById('photo_frame').innerHTML ='<br><br><iframe frameborder="0" name="_content"  id="_content" src="mypage.php?type=photo" width="100%" height="200px"></iframe>';
	}

	
	function imagedel(){
		document.getElementById('dispimage').innerHTML = "";
	}

