// for admin action
BoardAction.writeNoticeForm = "writeNoticeForm";
BoardAction.writeNotice = "writeNotice";
BoardAction.modifyNoticeForm = "modifyNoticeForm";
BoardAction.modifyNotice = "modifyNotice";
BoardAction.deleteNotice = "deleteNotice";
BoardAction.totalCommentList = "totalComment";
BoardAction.copyArticleForm = "copyArticleForm";
BoardAction.copyArticle = "copyArticle";
BoardAction.deleteNotice = "deleteNotice";

/*
 * extend notice article object
 */
Object.extend(Notice, (function() {
	var isProgressAction = false;
	var frm = null;

	function setWrittenContentForSubmit() {
		try {
			if ($("editorEditModeTEXT").checked)
				htmlEditor.document.body.innerHTML = $F("htmlEditorSource");
		} catch(e) { alert(e.description); }
		frm.content.value = EditContent();
	}
	
	function setThumbnailForSubmit() {
		if (attachFileList != null) {
			var thumbnailSet = false;
			for ( idx=0; idx < attachFileList.length; ++idx ) {
				var fileinfo = attachFileList[idx];
				if (!thumbnailSet 
					&& htmlEditor.document.body.innerHTML.indexOf(fileinfo.id) > -1) {
					$('thumbnailFileID').value = fileinfo.id;
					thumbnailSet = true;
				}
			}
		}
	}

	return {
		writeForm : function() {
			document.location.href = BoardAction.writeNoticeForm;
		},
		modifyForm : function() {
			var qry = NCScriptUtil.getQueryParams();
			var articleID = qry.articleID;
			delete qry.articleID;
			var qryStr = NCScriptUtil.JSONToQueryString(qry);
			document.location.href = BoardAction.modifyNoticeForm + "?articleID=" + articleID + ((qry != "") ? ("&queryString=" + encodeURIComponent(qryStr)) : "");
		},
		write : function() {
			if(isProgressAction) return;
			frm = document.getElementById("articleForm");
			setWrittenContentForSubmit();
			//do validate;
			if (!Board.writeArticleValidator.isValid()) return;
			setThumbnailForSubmit();
			frm.action = BoardAction.writeNotice;
			frm.submit();
			isProgressAction = true;
		},
		modify : function() {
			if(isProgressAction) return;
			frm = document.getElementById("articleForm");
			setWrittenContentForSubmit();
			//do validate;
			if (!Board.writeArticleValidator.isValid()) return;
			setThumbnailForSubmit();
			frm.action = BoardAction.modifyNotice;
			frm.submit();
			isProgressAction = true;		
		},
		remove : function() {
			if (confirm('공지글을 삭제 하시겠습니까?')) {
				var qry = NCScriptUtil.getQueryParams();
				var articleID = qry.articleID;
				delete qry.articleID;
				var qryStr = NCScriptUtil.JSONToQueryString(qry);
				document.location.href = BoardAction.deleteNotice + "?articleID=" + articleID + ((qry != "") ? ("&queryString=" + encodeURIComponent(qryStr)) : "");
			}
		}
	};
})());

Object.extend(Article, {
	copy : function(bbsType, articleID, title) {
		var url = BoardAction.copyArticleForm + "?bbsType=" + bbsType + "&articleID=" + articleID + "&articleTitle=" + title; 
		var url = encodeURI(url);
		var h = window.open(url, "CopyArticle", "width=400, height=250");
	}
});

Object.extend(Comment, {
	fullList : function(pageNo) {
		if(typeof(pageNo) == "undefined") {
			document.location.href = BoardAction.totalCommentList;
		} else {
			this._list(pageNo, BoardAction.totalCommentList);
		}
	},
	removeFromFullList : function(articleID, idx, subidx) {
		if (!confirm("의견을 삭제 하시겠습니까?"))
			return;
	
		var parameters = "articleID=" + articleID + "&idx=" + idx + "&subidx=" + subidx;
		new Ajax.Request(BoardAction.deleteComment, {
				method:'post',
				encoding: 'UTF-8',
				parameters: parameters ,
				onSuccess: function(request) {
					Comment.fullList();
				},
				onFailure: function(request) {
					alert("댓글을 삭제하는 중 오류가 발생하였습니다.");
				}
			}
		);
	}
});
