function menu_full_extent() {
	stopPost();
	
	if( Me2Map.getZoom() == 11 ) {
		ReadDB.url = "";
		Me2MapListener.onLoad();
	}
	Me2Map.setCenterAndZoom(new NPoint(372736, 357376), 11);
}

function menu_set_date(index) {
	stopPost();

	switch( index ) {
	case "today":
		var date = Me2Date.getToday(0);
		break;
	case "prev":
		var date = Me2Date.getDisplayDate();
		date = Me2Date.getPrev(date);
		break;
	case "next":
		var date = Me2Date.getDisplayDate();
		date = Me2Date.getNext(date);
		break;
	}

	YAHOO.util.Dom.setStyle("message_tag", "display", "none");
	YAHOO.util.Dom.setStyle("message_single_id", "display", "none");
	YAHOO.util.Dom.setStyle("panel_tag_cloud", "display", "none");

	Me2Date.setDisplayDate(date);
	YAHOO.ME2MAP.mode = "READ_DATE";
	Me2MapListener.onLoad();
}

function menu_write_post() {
	Me2Map.clearOverlays();
	showPanel("WRITE_POST");
	YAHOO.ME2MAP.old_mode = YAHOO.ME2MAP.mode.match("WRITE") ? YAHOO.ME2MAP.old_mode : YAHOO.ME2MAP.mode;
	YAHOO.ME2MAP.mode = "WRITE_POST";
	YAHOO.util.Dom.get("write_post_edt").value = "";
	YAHOO.util.Dom.get("write_post_tag").value = "";
	YAHOO.util.Dom.setStyle("message_post", "display", "block");
	Preview.hide();
	Preview.checkShadow();
	ReadDB.clear();
}

function menu_write_comment() {
	Me2Map.clearOverlays();
	showPanel("WRITE_COMMENT");
	YAHOO.ME2MAP.old_mode = YAHOO.ME2MAP.mode.match("WRITE") ? YAHOO.ME2MAP.old_mode : YAHOO.ME2MAP.mode;
	YAHOO.ME2MAP.mode = "WRITE_COMMENT";
	YAHOO.util.Dom.get("write_comment_edt").value = "";
	YAHOO.util.Dom.get("write_comment_lnk").value = "";
	YAHOO.util.Dom.setStyle("message_comment", "display", "block");
	Preview.hide();
	ReadDB.clear();
}

function menu_write_shadow() {
	Me2Map.clearOverlays();
	showPanel("WRITE_SHADOW");
	YAHOO.ME2MAP.old_mode = YAHOO.ME2MAP.mode.match("WRITE") ? YAHOO.ME2MAP.old_mode : YAHOO.ME2MAP.mode;
	YAHOO.ME2MAP.mode = "WRITE_SHADOW";
	YAHOO.util.Dom.get("write_shadow_edt").value = "";
	YAHOO.util.Dom.get("write_shadow_tag").value = "";
	YAHOO.util.Dom.setStyle("message_shadow", "display", "block");
	Preview.hide();
	ReadDB.clear();
}

function menu_stop_write() {
	stopPost();
	Me2MapListener.onLoad();
}

function menu_tag_cloud() {
	TagCloud.read();
}

function menu_easy_login() {
	Auth.authenticate();
}

function menu_easy_logout() {
	Auth.logout();
}

function menu_region_search() {
	RegionSearch.show();
}

function stopPost() {
	YAHOO.ME2MAP.mode = YAHOO.ME2MAP.mode.match("WRITE") ? YAHOO.ME2MAP.old_mode : YAHOO.ME2MAP.mode;
	YAHOO.ME2MAP.x = null;
	YAHOO.ME2MAP.y = null;
	showPanel("READ");
}

function showPanel(index) {
	YAHOO.util.Dom.setStyle("panel_read_me2day", "display", (index == "READ") ? "block" : "none");
	YAHOO.util.Dom.setStyle("panel_write_post", "display", (index == "WRITE_POST") ? "block" : "none");
	YAHOO.util.Dom.setStyle("panel_write_comment", "display", (index == "WRITE_COMMENT") ? "block" : "none");
	YAHOO.util.Dom.setStyle("panel_write_shadow", "display", (index == "WRITE_SHADOW") ? "block" : "none");
}

function searchTag(tag) {
	YAHOO.ME2MAP.mode = "READ_TAG";
	YAHOO.ME2MAP.tag = tag;

	YAHOO.util.Dom.get("message_tag").innerHTML = "<b>'" + tag + "'</b> 태그가 달린 포스트만 보여줍니다. <a href='javascript:menu_tag_cloud()'>태그구름</a>을 한 번 더 누르면 박스는 사라집니다. ";
	YAHOO.util.Dom.get("message_tag").innerHTML += "위쪽의 <a href='javascript:menu_set_date(\"today\")'>오늘</a>, <a href='javascript:menu_set_date(\"prev\")'>전날</a>, <a href='javascript:menu_set_date(\"next\")'>다음날</a> 등을 클릭하면 날짜별로 보여줍니다. ";
	YAHOO.util.Dom.setStyle("message_tag", "display", "block");

//	TagCloud.hide();
	ViewComment.hideComments();
	menu_full_extent();
	showPanel("READ");
}

function writePost() {
	if( Preview.hasAnonymousTag() ) {
		writeShadow();
		return;
	}

	if( !Auth.auth ) {
		alert("먼저 로그인을 해주세요.");
		return;
	}

	var edt = YAHOO.util.Dom.get("write_post_edt");
	var tag = YAHOO.util.Dom.get("write_post_tag");
	
	if( !edt.value.replace(/\s/g, "") ) {
		alert(edt.value);
		alert("내용을 입력해주세요.");
		return;
	}
	if( !YAHOO.ME2MAP.x || !YAHOO.ME2MAP.y ) {
		alert("지도를 더블클릭하여 위치를 선택하세요.");
		return;
	}
	if( Preview.hasShadowTag() ) {
		writeShadow();
		return;
	}

	YAHOO.ME2MAP.reg_date = Me2Date.getToday(0);
	var pre_edt = '["미투맵":http://ideapool.co.kr/me2day/map/?x=' + YAHOO.ME2MAP.x + '&y=' + YAHOO.ME2MAP.y + '&today=' + YAHOO.ME2MAP.reg_date + ' ] ';
	var pre_tag = 'me2map ';
	
	WriteDB.afterRead = function(json) {
		stopPost();
		Me2MapListener.onLoad();
	}
	WritePost.afterRead = function(json) {
		WriteDB.write(json.author.id, YAHOO.ME2MAP.x, YAHOO.ME2MAP.y, json.pubDate, YAHOO.ME2MAP.reg_date, "", "");
	}
	WritePost.write(Auth.id, Auth.pw, pre_edt + edt.value, pre_tag + tag.value, YAHOO.ME2MAP.x, YAHOO.ME2MAP.y);
}

function writeComment() {
	if( !Auth.auth ) {
		alert("먼저 로그인을 해주세요.");
		return;
	}

	var edt = YAHOO.util.Dom.get("write_comment_edt");
	var lnk = YAHOO.util.Dom.get("write_comment_lnk");
	
	if( !edt.value.replace(/\s/g, "") ) {
		alert(edt.value);
		alert("내용을 입력해주세요.");
		return;
	}
	if( !YAHOO.ME2MAP.x || !YAHOO.ME2MAP.y ) {
		alert("지도를 더블클릭하여 위치를 선택하세요.");
		return;
	}
	if( !lnk.value.match("http://me2day.net/") ) {
		alert("잘못된 퍼머링크입니다. 퍼머링크는 http://me2day.net/아이디/시간 형태의 미투데이 포스트 주소입니다.");
		return;
	}

	YAHOO.ME2MAP.reg_date = Me2Date.getToday(0);
	var pre_edt = '["미투맵":http://ideapool.co.kr/me2day/map/?x=' + YAHOO.ME2MAP.x + '&y=' + YAHOO.ME2MAP.y + '&today=' + YAHOO.ME2MAP.reg_date + ' ] ';
	
	WriteDB.afterRead = function(json) {
		stopPost();
		Me2MapListener.onLoad();
	}
	WriteComment.onSuccess = function() {
		var id = Me2Permalink.to_id(lnk.value);
		var pubDate = Me2Permalink.to_pubdate(lnk.value);
		WriteDB.write(id, YAHOO.ME2MAP.x, YAHOO.ME2MAP.y, pubDate, YAHOO.ME2MAP.reg_date, "", Auth.id);
	}
	WriteComment.write(Auth.id, Auth.pw, pre_edt + edt.value, lnk.value);
}

function writeShadow() {
	if( !Auth.auth && !Preview.hasAnonymousTag() ) {
		alert("먼저 로그인을 해주세요.");
		return;
	}

	var edt = YAHOO.util.Dom.get("write_post_edt");
	var tag = YAHOO.util.Dom.get("write_post_tag");

	if( !edt.value.replace(/\s/g, "") ) {
		alert("내용을 입력해주세요.");
		return;
	}
	if( !YAHOO.ME2MAP.x || !YAHOO.ME2MAP.y ) {
		alert("지도를 더블클릭하여 위치를 선택하세요.");
		return;
	}

	YAHOO.ME2MAP.reg_date = Me2Date.getToday(0);
	var pre_edt = '["미투맵":http://ideapool.co.kr/me2day/map/?x=' + YAHOO.ME2MAP.x + '&y=' + YAHOO.ME2MAP.y + '&today=' + YAHOO.ME2MAP.reg_date + ' ] ';
	var pre_tag = 'me2map ';
	
	WriteDB.afterRead = function(json) {
		stopPost();
		Me2MapListener.onLoad();
	}
	WriteAnonymous.afterRead = function(json) {
		WriteDB.write(json.author.id, YAHOO.ME2MAP.x, YAHOO.ME2MAP.y, json.pubDate, YAHOO.ME2MAP.reg_date, "", "");
	}
	WriteShadow.onFailure = function() {
		WriteAnonymous.write(pre_edt + edt.value, pre_tag + tag.value);
	}
	WriteShadow.afterRead = function(id, pubDate) {
		WriteDB.write(id, YAHOO.ME2MAP.x, YAHOO.ME2MAP.y, pubDate, YAHOO.ME2MAP.reg_date, "", "");
	}
	WriteShadow.write(Auth.id, pre_edt + edt.value);
/*
	if( Auth.auth ) {
		WriteShadow.write(Auth.id, pre_edt + edt.value);
	}
	else if( YAHOO.ME2MAP.from_shadow ) {
		alert("그림자씨로 쓰려면 로그인을 해야 합니다.");
	}
	else {
		WriteAnonymous.write(pre_edt + edt.value, pre_tag + tag.value);
	}
*/
}

function viewAllID() {
	YAHOO.util.Dom.setStyle("message_single_id", "display", "none");
	YAHOO.util.Dom.setStyle("message_tag", "display", "none");
	YAHOO.util.Dom.get("me2day_face").onclick = viewSingleID;
	YAHOO.ME2MAP.id = null;
	YAHOO.ME2MAP.mode = "READ_DATE";
	Me2MapListener.onLoad();
}

function viewSingleID(id) {
	YAHOO.util.Dom.setStyle("message_single_id", "display", "block");
	YAHOO.util.Dom.setStyle("message_tag", "display", "none");
	if( !id || typeof(id) != "string" ) {
		id = YAHOO.util.Dom.get("me2day_info_id").innerHTML;
		if( !id ) {
			return;
		}
	}
	YAHOO.util.Dom.get("message_single_id").innerHTML = "아이디보기 모드로 전환하여 <a href='http://me2day.net/" + id + "'>" + id + "</a>님의 포스트만 보여줍니다. 사진을 한 번 더 클릭하거나 <a href='javascript:viewAllID()'>여기</a>를 클릭하면 모두보기 모드로 돌아갑니다.";
	YAHOO.util.Dom.get("me2day_face").onclick = viewAllID;
	YAHOO.ME2MAP.id = id;
	YAHOO.ME2MAP.mode = "READ_ID";
	Me2MapListener.onLoad();
}
