
var contFlag = false;		//댓글 내용 clear flag

var Request = function()
{
    this.getParameter = function( name )
    {
        var rtnval = '';
        var nowAddress = unescape(location.href);
        var parameters = (nowAddress.slice(nowAddress.indexOf('?')+1,nowAddress.length)).split('&');

        for(var i = 0 ; i < parameters.length ; i++)
        {
            var varName = parameters[i].split('=')[0];
            if(varName.toUpperCase() == name.toUpperCase())
            {
                rtnval = parameters[i].split('=')[1];
                break;
            }
        }
        return rtnval;
    }
}

var request = new Request();


$(document).ready(	function() {
	$("#aSearch").bind("click", function() {
		$("#frmSearch").submit();
	});

	$("#frmSearch").validn()
		.validnAdd(function() {
			if(!$("#txtSearch").val()) {
				$("#txtSearch").attr("style", "backgroundImage='';");
				$("#txtSearch").focus();
				return "검색값을 입력하세요.";
			}
		});//"txtSearch", "required", "검색값을 입력하세요.");

	//트랙백과 댓글 리스트, 댓글 등록 div 감추기
	$(".trackbackCmmtBox").attr("style", "display: none;");

	//recent comments에서 댓글 링크로 들어왔을 경우 댓글 리스트를 보여준다.
	if(request.getParameter("commentNo")) {
		getList();
	}

	//댓글 저장 버튼 클릭 시
	$(".btnCmmtSave").bind("click", forInsertCmmt);

	//클릭 시 트랙백, 댓글 리스트 보여줌
	$(".aCmmtBox").bind("click", getList);

	 //트랙백 주소 복사 클릭 시
	 $(".aTrackbackCopy").bind("click", function() {
	 	var spanTrackbackAddr = $(this).prev().get(0);
		var isSuccess = copyToClipboard(spanTrackbackAddr);

		if(isSuccess == true) {
			showDialogEffect("트랙백 주소가 복사되었습니다.");
		} else {
		 	showDialogEffect("트랙백 주소를 복사할 수 없습니다.");
		}
		return false;
	 });

	//댓글 작성 textarea 클릭시 설명 없애기.
	 $(".taCmmtCont").bind("click", function() {
	 	if(contFlag == false ) {
	 		$(this).val("");
	 		$(this).attr("style", "none;");
	 		contFlag = true;
	 	}
	 });

	 //트랙백 링크 클릭 시
	 $(".aTrackback").bind("click", function() {
	 	var postNo = getPostNo(this);

	 	if(($("#divTrackback_" + postNo).attr("style") == "display: none;" || $("#divTrackback_" + postNo).attr("style") == "DISPLAY: none")) {
	 		$("#divTrackback_" + postNo).show();
	 	}

	 	$("#divComment_" + postNo).hide();	//댓글 div hide
	 	$("#forWrite_" + postNo).hide();

		if(($("#trackbackCmmtBox_" + postNo).attr("style") == "display: none;" || $("#trackbackCmmtBox_" + postNo).attr("style") == "DISPLAY: none")) {
			updateDispTrackback(postNo, 1);

			$("#trackbackCmmtBox_" + postNo).show();
			$("#chBt1_" + postNo).attr("src", "../../images/common/btn_arrow2.gif");
		}

		return false;
	 });

	 //댓글 링크 클릭 시
	 $(".aComment").bind("click", function() {
	 	var postNo = getPostNo(this);

	 	if(($("#divComment_" + postNo).attr("style") == "display: none;" || $("#divComment_" + postNo).attr("style") == "DISPLAY: none")) {
	 		$("#divComment_" + postNo).show();
	 	}

	 	$("#divTrackback_" + postNo).hide();	//트랙백 div hide
	 	$("#forWrite_" + postNo).show();

		if(($("#trackbackCmmtBox_" + postNo).attr("style") == "display: none;" || $("#trackbackCmmtBox_" + postNo).attr("style") == "DISPLAY: none")) {
			updateDispComment(postNo, 1);
			$("#trackbackCmmtBox_" + postNo).show();
			$("#chBt1_" + postNo).attr("src", "../../images/common/btn_arrow2.gif");
		}

		return false;
	 });

});

//postNo 가져오기
function getPostNo(obj) {

	var tempPostNo = $(obj).attr("id");
	var postNo = tempPostNo.substring(tempPostNo.indexOf("_") + 1);

	return postNo;
}

// ↓ 링크 클릭 시 트랙백, 댓글 리스트 모두 가져옴. or recent comments에서 링크타고 온 경우 리스트 가져옴
function getList() {

	var postNo ;

	if(request.getParameter("postNo")) {
		postNo = request.getParameter("postNo");
	} else {
		postNo = getPostNo(this);
	}

	//로그인 하지 않았다면
//	var loginBtn = $(".globalLoginBtn");
//	if ( loginBtn.length != 0 ) {
//		$("#taCmmtCont_" + postNo).attr("style", "text-align:center;");
//	 	$("#taCmmtCont_" + postNo).text("댓글 등록은 로그인 후 이용 가능합니다.");
//	}

	if(($("#divTrackback_" + postNo).attr("style") == "display: none;" || $("#divTrackback_" + postNo).attr("style") == "DISPLAY: none")
			|| ($("#divComment_" + postNo).attr("style") == "display: none;" || $("#divComment_" + postNo).attr("style") == "DISPLAY: none")) {
		$("#divTrackback_" + postNo).show();
		$("#divComment_" + postNo).show();
	}

	//트랙백, 댓글 리스트를 보여줄 때 리스트들을 가져온다.
	//fireFox일 땐 style = display: none;			IE에선 style = DISPLAY: none
	if(($("#trackbackCmmtBox_" + postNo).attr("style") == "display: none;" || $("#trackbackCmmtBox_" + postNo).attr("style") == "DISPLAY: none")) {
		updateDispTrackback(postNo, 1);
		updateDispComment(postNo, 1);

		$("#trackbackCmmtBox_" + postNo).show();
		$("#chBt1_" + postNo).attr("src", "../../images/common/btn_arrow2.gif");

	} else {
		$("#trackbackCmmtBox_" + postNo).hide();
		$("#chBt1_" + postNo).attr("src", "../../images/common/btn_arrow1.gif");
	}


	var nowAddress = unescape(location.href);

	if(nowAddress.indexOf("#") > -1) {
		location.href = nowAddress;
	}

	return false;

}

function updateDispTrackback(postNo, page) {
	$("#divTrackbackList_" + postNo).load("/post/postTrackbackIn.do", {postNo:postNo,page:page} , function() {
		var topDiv = $("#divTrackbackList_" + postNo);
		$(".trackbackPageLink", topDiv).click(function(){ updateDispTrackback(postNo, $(this).attr("page")); return false; });

		//트랙백 링크 팝업
		$(".trackbackPopup").bind("click", function() {
			var url = $(this).next(".hdnUrl").attr("name");
			windowOpenResizable(url, "", true, 1000, 600);
		});
	});

}

function updateDispComment(postNo, page) {
	$("#divCommentList_" + postNo).load("/post/postCommentIn.do", {postNo:postNo,page:page} , function() {
		var topDiv = $("#divCommentList_" + postNo);
		$(".cmmtPageLink", topDiv).click(function(){ updateDispComment(postNo, $(this).attr("page")); return false; });

		//댓글 삭제 버튼 클릭 시
		$(".aCommentDel").bind("click", findPostNoForDel);
	});

}

//현재 댓글 내용과 postNo를 찾아 insertCommentJSON 호출.
function forInsertCmmt() {

//	var loginBtn = $(".globalLoginBtn");
//	if ( loginBtn.length==0 ) {
		var postNo = $(this).attr("name");

		var thisTaCont = $("#taCmmtCont_" + postNo);
		var cmmtCont = thisTaCont.val();
		var thisTaMemNm = $("#taCmmtMemNm_" + postNo);
		var cmtMemNm = thisTaMemNm.val();

		if(cmmtCont == "" || cmmtCont == null) {
			showDialogEffect("댓글을 입력하세요!");
		} else if (cmtMemNm==""){
			showDialogEffect("이름을 입력하세요!", function() { thisTaMemNm.focus(); });
		} else if (cmmtCont.length > 300){
			showDialogEffect("댓글은 300자까지 입력 가능합니다.", function() { $("#taCmmtCont_" + postNo).focus(); });
		} else {
			insertCommentJSON(thisTaCont, cmmtCont, thisTaMemNm, cmtMemNm, postNo);
		}
//	} else {
//		showDialogEffect("로그인 후 이용가능합니다. 로그인 하시겠습니까?",
//			function(){
//				location.href = loginBtn.attr("href");
//			}, function() {});
//	}
	return false;
}

//댓글 등록
function insertCommentJSON(thisTaCont, cmmtCont, thisTaMemNm, cmtMemNm, postNo) {
	jQuery.post("insertCmmtJSON.do", {memName:cmtMemNm, cont:cmmtCont, postNo:postNo}, function(data) {
		var message = data.msg;
		if(message == "blockIpExist") {
			// 댓글 등록하는 ip가 차단 ip로 지정되어 있다면
			showDialogEffect("차단된 ip입니다.");
		} else {
			updateDispComment(postNo, 1) ;

			// 화면에 댓글 숫자 증가
			var commentCnt = new Number($("#h5Cmmt_" + postNo).text());

			commentCnt = commentCnt + 1;

			$("#h5Cmmt_" + postNo).text(commentCnt);
			$("#spanCmmt_" + postNo).text("댓글(" + commentCnt +")");

			showDialogEffect("등록되었습니다");
		}
		$(thisTaCont).val("");
		$(thisTaMemNm).val("");
	}, "json");

	return false;
}

//postNo를 찾아 deleteCommentJSON을 호출.
function findPostNoForDel() {
	var tempPostNo = $(this).parents(".divCommentList").attr("id");
	var postNo = tempPostNo.substring("divCommentList_".length, tempPostNo.length);

	deleteCommentJSON(postNo, this);

	return false;
}

//댓글 삭제
function deleteCommentJSON(postNo, obj) {

	showDialogEffect("삭제하시겠습니까?",
		function(){
			var cmmtNo = $(obj).attr("name");

			jQuery.getJSON("deleteCmmtJSON.do", {commentNo:cmmtNo,postNo:postNo}, function() {

				updateDispComment(postNo, 1) ;

				var commentCnt = new Number($("#h5Cmmt_" + postNo).text());
				commentCnt = commentCnt - 1;

				if(commentCnt >= 0) {
					$("#h5Cmmt_" + postNo).text(commentCnt);
					$("#spanCmmt_" + postNo).text("댓글(" + commentCnt +")");
				}

				showDialogEffect("삭제되었습니다");
			});
	}, function(){} );

	return false;
}
