var NoticeCmt = {};
NoticeCmt.msg = {
	FAIL_GET_LIST : '리스트를 가져오는데 실패했습니다.',
	EMPTY_Cmt : '내용을 입력해주세요.',
	ADD_Cmt_SUCCESS: '댓글을 추가하였습니다.',
	ADD_Cmt_FAIL: '댓글 추가에 실패하였습니다.',	
	DEL_Cmt_SUCCESS: '댓글을 삭제하였습니다',	
	DEL_Cmt_FAIL: '댓글 삭제에 실패하였습니다.',
	LOGIN_Cmt_FAIL: '로그인 하세요.'	
}

/**
 * 리스트 가져오기 
 * @param tagNames [a,b,...]
 */
NoticeCmt.getCmtList = function ( pageNumber) {
	var noticeseq = $F('noticeseq');
	try {
		new Ajax.Request(Constants.CONTEXT_NAME + '/cmt/list.do', {
			parameters: {
				noticeSeq: noticeseq,
				pageNumber: pageNumber
			},				
			onComplete: function(resp){
				var json = resp.responseText.evalJSON();
				NoticeCmt.printCmts(json.cmts, pageNumber);
				$('pageNaviArea').update(json.pageNavi);
			},
			onFailure: function(){
				NoticeCmt.showMsg(NoticeCmt.msg.FAIL_GET_LIST);
				return;
			}
		});
			
	} catch (e) {
		alert('NoticeCmt.getCmtList Err=' + e);
	}	
}

NoticeCmt.printCmts = function (cmts, pageNumber) {
	var html = '';
	var total = cmts.length;
	for (var i = 0; i < cmts.length; i++) {
		html += "<tr>";
		html += "<th>"+cmts[i].number+"</th>";
		html += "<td>"+cmts[i].cmtContent;
		if(cmts[i].del == 1) {
			html += " <a href='javascript:NoticeCmt.delCmt("+cmts[i].cmtSeq+")'><img src='/mbnweb/image/cmt/btn_cmt_delete.gif' alt='삭제' title='삭제' style='cursor:pointer;' /></a>";
		}
		//html += " <a href='javascript:NoticeCmt.replyCmt("+cmts[i].cmtSeq+")'>리플</a>";
		html += "</td>";
		html += "<td class='name'>"+cmts[i].email+"</td>";
		html += "<td class='date'>"+cmts[i].inputDate+"</td>";
		if(cmts[i].del == 1) {
			html += "<td class='w_space'></td>";
		}
		html += "</tr>";
		//html += "<tr colspan='5' id='inWrite"+cmts[i].cmtSeq+"' class='contReArea' style='display:none;'><td><input name='noticeseq' id='noticeseq' type='hidden' value='${notice.noticeSeq}'><input type='text' name='repCmt' id='repCmt' class='textf_d' /><img src='/mbnweb/image/cmt/btn_submit.gif' alt='등록' class='ml05 mb02' style='cursor:pointer;' onclick='javascript:NoticeCmt.addCmt(event);'/></td></tr>";
	}
	if(cmts == "") {
		html += "<tr>";
		html += "<td style='text-align:center'>등록된 댓글이 없습니다.</td>";
		html += "</tr>";
	}
	
	$('cmtlist').update(html);
}
/**
 * 댓글 추가
 * @param {Object} e
 */
NoticeCmt.addCmt = function (e) {
	var repCmt = $F('repCmt');
	var noticeseq = $F('noticeseq');

	if (repCmt.blank()) {
		return alert(NoticeCmt.msg.EMPTY_Cmt);
	}
	if (repCmt.blank()) {
		return alert(NoticeCmt.msg.EMPTY_TAG_NAME);
	}
	new Ajax.Request(Constants.CONTEXT_NAME + '/cmt/addCmt.do', {
		parameters: {
			cmtContent: repCmt,
			noticeSeq: noticeseq
		},				
		onComplete: function(resp){				
			try {
				var json = resp.responseText.evalJSON();
				if (json.result == 'login') {
					NoticeCmt.showMsg(NoticeCmt.msg.LOGIN_Cmt_FAIL);				
				} else if(json.result == 'success') {
					$('repCmt').value = "";
					NoticeCmt.getCmtList(1);
					NoticeCmt.showMsg(NoticeCmt.msg.ADD_Cmt_SUCCESS);		
				} else {
					NoticeCmt.showMsg(NoticeCmt.msg.ADD_Cmt_FAIL);					
				}
				//if (json.result == 'add') {
					//NoticeCmt.getCmtList(tagName, 1);
					//NoticeCmt.showMsg(NoticeCmt.msg.ADD_Cmt_SUCCESS);					
				//}
			} catch (e) {
				alert('NoticeCmt.addCmt Err=' + e);
			}	
			//alert(document.getElementById('CmtResult').value);
		},
		onFailure: function(){
			NoticeCmt.showMsg(NoticeCmt.msg.FAIL_GET_LIST);
			return;
		}
	});

}
/**
 * 삭제
 */
NoticeCmt.delCmt = function (val) {
	var noticeseq = $F('noticeseq');
	var cmtSeq = val;	
	
	new Ajax.Request(Constants.CONTEXT_NAME + '/cmt/delCmt.do', {
		parameters: {
			noticeSeq: noticeseq,
			cmtSeq: cmtSeq
		},
		onComplete: function(resp){
			try {
				var json = resp.responseText.evalJSON();
				if (json.result == 'login') {
					NoticeCmt.showMsg(NoticeCmt.msg.LOGIN_Cmt_FAIL);				
				} else if(json.result == 'success') {
					NoticeCmt.showMsg(NoticeCmt.msg.DEL_Cmt_SUCCESS);
					NoticeCmt.getCmtList(1);
				} else {
					NoticeCmt.showMsg(NoticeCmt.msg.DEL_Cmt_FAIL);				
				}
			} catch (e) {
				alert('NoticeCmt.addCmt Err=' + e);
			}
		},
		onFailure: function(){
			NoticeCmt.showMsg(NoticeCmt.msg.DEL_Cmt_FAIL);
			return;
		}
	});
}
NoticeCmt.showMsg = function (msg) {
	alert(msg);
}
/**
 * 댓글 추가
 * @param {Object} e
 */
NoticeCmt.replyCmt = function (val) {
	var repCmt = $F('repCmt');
	var noticeseq = $F('noticeseq');
	var cmtSeq = val;	
	document.getElementById("inWrite"+val).style.display = "block";
}
/**
 *  페이지 이동
 * @param {Object} pageNumber
 */
NoticeCmt.goPage = function (pageNumber) {
	NoticeCmt.getCmtList(pageNumber);
}

