//var change_what = '';

//제목글에 각종 체크하여 타이틀과 링크 값을 반환

function makeTitleLinkStr(list_item,deleteFg,listOpenFg,choiceFg,strCmtYn,xmlelem,listUserId,userId,adminYn){
	var returnTitle = "";
	var titleHtml = "";
	var oldTableId = "";
	var eventType = $('list_form').eventType.value;
	var btype = $('list_form').btype.value;
	
	if(ACTION_URL == "/freeboard.do"){	//자유게시판의 경우 후기게시판과 같이 사용하므로..
		if(list_item[i].getElementsByTagName("OLD_TABLE_ID").length > 0){ 
			oldTableId = list_item[i].getElementsByTagName("OLD_TABLE_ID")[0].firstChild.nodeValue;
		}else{
			oldTableId = "";
		}
		//if(oldTableId == "108" || oldTableId == "128" || oldTableId == "219"){
		//	titleHtml += "[" + message["board.title.history"] + "]";
		//} 
	}
	
	//이벤트 진행&종료
	//if(btype == 'B') {
		if(eventType == ''){
			if(xmlelem["EVENT_FLG"] == 'EVENT_ING'){
				titleHtml += "[" + message['board.poll.ing'] + "]";
			}
			if(xmlelem["EVENT_FLG"] == 'EVENT_END'){
				titleHtml += "[" + message['board.poll.end.short'] + "]";
			}
		}
	//}
	
	//삭제 여부 체크
	titleHtml += xmlelem["TITLE"];
	
	//공개여부
	if(listOpenFg == "N"){
		returnTitle += "<img src='/images/icon/lock.gif' alt='' class='lock' />";
		if(listUserId != userId && adminYn != 'Y'){
			returnTitle += titleHtml;
		}
	}else{
		var classStr = "";
		if(xmlelem["ALWAY_FG"] != "N"){		//공지글
			classStr += "notice ";
		}
		if(choiceFg == "Y"){				//베스트글
			classStr += "best";
		}				

		returnTitle += "<a href=\""+xmlelem["DETAILURL"]+"\" target=\"_blank\" onclick=\"VisitEvent.view('"+ACTION_URL+"', 'list_form', 'board_list', '"+xmlelem["SEQ"]+"');\">";

		returnTitle += titleHtml;
		if(strCmtYn == "Y" && xmlelem["CMT_CNT"] != "0"){
			returnTitle += "["+ xmlelem["CMT_CNT"] +"]";
		}
		returnTitle += "</a>";
		if(xmlelem["USER_ID"] == userId){
			returnTitle += "<a href='#' onClick=\"javascript:Board.edit('"+ACTION_URL+"', 'list_form','edit','"+ xmlelem["SEQ"]+"');return false;\">";
			returnTitle += " <img src='/ysrimg/board/btn_modify.gif' class='iconBest' />";
			returnTitle += "</a>";
			returnTitle += "<a href='#' onClick=\"javascript:Board.del('"+ACTION_URL+"', 'list_form','"+ xmlelem["BOARD_ID"]+"', '', '28','"+ xmlelem["SEQ"]+"');return false;\">";
			returnTitle += " <img src='/ysrimg/board/btn_delete.gif' class='iconBest' /> ";
			returnTitle += "</a>";
			//returnTitle += "<input type='button' value='삭 제' onClick=javascript:Board.del('visitevent.do?', 'list_form','1', '', '28') >";
		}
	}
	return returnTitle;
}

/**
* xml을 가지고 게시물 리스트를 그린다.
* made by jung(vinyl)
* @param {Object} formName 해당 폼 명
* @param {Object} element DIV ID
* @param {Object} listXml 리스트 XML
*/

function ListTableCreate(formName, element, listHTML) {
	// 목록 HTML 그리기
	$(element).innerHTML = listHTML;
	
	// 게시판 형태에 따라 board_list 스타일 변경
	if($F('btype') == 'B'){$('board_list').removeClassName('board_list');$('board_list').addClassName('list_type');}else{$('board_list').removeClassName('list_type');$('board_list').addClassName('board_list');}
	
	// 닉네임 팝업 초기화
	TooltipManager.init("tooltip");
	
	// 검색일 경우, 변경되는 전체 글 수를 가져오기 위한 방편, tempTotalCnt는 list_list.jsp 상단에 포함되어있음 by kkh 11.11.17
	$('list_form').totalCount.value = $F('tempTotalCnt');
	
	// 페이징 수정
	$('board_list_paging').innerHTML = PagingCreate('Board.page', 'board_list', ACTION_URL, 'list_form', $('list_form').totalCount.value ,$('list_form').page.value, $('list_form').rowLimit.value, $('list_form').groupLimit.value, 'String');
	
	// 컨텐츠 높이에 따라 화면 높이 조정
	adjustContentsHeight($('left_side'), $('board_list'), $('contents'));
}

function maketitlelink(btype,category,listboardlevel,seq,title,new_flg,cmt_cnt,choice_fg)
{
	var strBlank = "";
	var num_board_level = Number(listboardlevel);
	
	if(num_board_level > 0) 
	{
		for(var nK=0; nK < num_board_level; nK++) 
		{
			strBlank += "&nbsp;&nbsp;&nbsp;";
		}
		strBlank += message["board.reply"];
	}
	
	if(btype=='B')
	{
		strBlank += "<span class='category'>"+category+"</span><br>";
	}
	
	//베스트 여부
	if(choice_fg == "Y" && strBestYn == "Y") 
	{
	 strBlank += " <img src=\"/images/board/icon_best.gif\" alt=\"Best\" class=\"iconBest\" />";
	}
	strBlank += " <a href=\"javascript:Board.view('" + ACTION_URL + "?cmd=view"+"&seq="+seq+"','list_form',"+seq+",'view','post');\">"+title+"</a>";
	
	if(cmt_cnt != '0') {
		strBlank += "&nbsp;<span class=\"comment\">["+cmt_cnt+"]</span>";
	}
	
	//신규 글 여부
	if(new_flg== "Y") 
	{
		strBlank += " <img src=\"/ysrimg11/common/icon/ico_new.gif\" alt=\"new\" class=\"iconN\" />";
	}
	return strBlank;
}

/*
	.make tooltip message
*/
function maketooltip(nickname)
{
	  var tempInLi="";
	  tempInLi += "<ul>";
	  tempInLi += "   <li class=\"name\">" +nickname+ "</li>";
	  tempInLi += "   <li class=\"first\"><a href=\"#\">" + message["board.campus.search.publisher"] + "</a></li>";
	  tempInLi += "   <li><a href=\"#\">" + message["board.campus.search.sendmsg"] + "</a></li>";
	  tempInLi += "   <li><a href=\"#\">" + message["board.campus.search.sendlink"] + "</a></li>";
	  tempInLi += "   <li><a href=\"#\">" + message["board.campus.search.goblog"] + "</a></li>";
	  tempInLi += "   <li><a href=\"#\">" + message["board.campus.search.seenmcard"] + "</a></li>";
	  tempInLi += "</ul>";
	  return tempInLi;
}

/*
	. 접미사가  count|cnt 로 끝나는 단어를 골라서 디폴트 값을 '0'을 리턴합니다.
	. ignore case 
*/
function checksuffix(str)
{
	var myRegExp = /[^(cou|c)nt]\b/gi;
	return !myRegExp.test(str);
}

//상단 접근 메소드
function getdefaultval(str)
{
	if(checksuffix(str)) return "0";
	else return "";
}

deleteFlag = false;
var insertCheck = false;

var AjaxBoardManager = {
	/*
	* 리스트를 Ajax를 이용해서 HTML을 생성해서 가져온다. postBody: postData,
	*/
	list : function(element, URL, formName) {
		showAjaxLoadingBox(element);
		new Ajax.Request(URL, {
			method : 'POST',
			parameters:Form.serialize(formName),
			encoding : 'UTF-8',
			onComplete : function(xmlHttp) {
				// 리스트 HTML을 생성
				ListTableCreate(formName, element, xmlHttp.responseText);
				if($('ajaxLoadingBox')) Element.hide('ajaxLoadingBox');
				
				// 히스토리 추가
				if(typeof dhtmlHistory != "undefined") {
					var newLocation = $(formName).page.value;
					var toJson = " { ";
					toJson += "url : '" + URL + "', ";
					toJson += "element : '" + element + "', ";
					toJson += "page : '" + $(formName).page.value + "', ";
					toJson += "formName : '" + formName + "' ";
					toJson += " } ";
					dhtmlHistory.add(newLocation, toJson);
				} else {
					//alert("dhtmlHistory undefined");
				}
			},
			onFailure : function(){
				if($('ajaxLoadingBox')) Element.hide('ajaxLoadingBox');
			}
		});
	}
};
var viewTypes = "";
/**
* 보드 관련 이벤트 처리부분
*/
var Board = {
	//게시판 유형 변경시 처리
	boardTypeChange : function(url, formName, divElement, type, typeIdx) {
		typeIdx = Number(typeIdx);					
                switch(typeIdx) {
                        case 1 :						
				$('list_type_btn').src = "/ysrimg11/common/blit/blt_txtblist_out.gif";
				$('img_type_btn').src = "/ysrimg11/common/blit/blt_imglist_over.gif";   
                                break;						
                        case 2 :						
				$('list_type_btn').src = "/ysrimg11/common/blit/blt_txtblist_over.gif";
				$('img_type_btn').src = "/ysrimg11/common/blit/blt_imglist_out.gif"; 
                                break;						
                        default:						
                                break;						
        }							
        $(formName).cmd.value ="ajax_list";			
        $(formName).btype.value = type;				
        //$(formName).orderBy.value = "";	        
        /*
        if(type == "L"){
        	$(formName).rowLimit.value = 20;
        }else{
        	$(formName).rowLimit.value = 10;
        }
        */
        $(formName).rowLimit.value = 20;
        AjaxBoardManager.list(divElement, url, formName);
	},
	
	//페이지 출력수 변경시 처리
    rowLimitChange : function(url, formName, divElement) {
    	$(formName).cmd.value = "ajax_list";
        $(formName).page.value = "1";
        document.body.focus();
        // change_what = 'row_limit';
        AjaxBoardManager.list(divElement, url, formName);
    },
	
	//정렬 시 호출
	orderBy : function(url, formName, divElement, orderBy, sortIdx) {
		sortIdx = Number(sortIdx);
		
		switch(sortIdx) {
			case 1 :
				$('sort_id_date').className = "selected";
				if(cmtOd == 'Y')$('sort_id_cmt').className = "";
				if(viewOd == 'Y')$('sort_id_view').className = "";
				if(recmdOd == 'Y')$('sort_id_recmd').className = "";
				break;
			case 2 :
				if(cmtOd == 'Y')$('sort_id_cmt').className = "selected";
				if(viewOd == 'Y')$('sort_id_view').className = "";
				if(recmdOd == 'Y')$('sort_id_recmd').className = "";
				$('sort_id_date').className = "";
				break;
			case 3 :
				if(viewOd == 'Y')$('sort_id_view').className = "selected";
				if(cmtOd == 'Y')$('sort_id_cmt').className = "";
				if(recmdOd == 'Y')$('sort_id_recmd').className = "";
				$('sort_id_date').className = "";
				break;
			case 4 :
				if(recmdOd == 'Y')$('sort_id_recmd').className = "selected";
				if(cmtOd == 'Y')$('sort_id_cmt').className = "";
				if(viewOd == 'Y')$('sort_id_view').className = "";
				$('sort_id_date').className = "";
				break;
			case 5 :
				break;
			default:
				break;
		}
		
		$(formName).cmd.value = "ajax_list";
		$(formName).page.value = "1";
		$(formName).orderBy.value = orderBy;
		AjaxBoardManager.list(divElement, url, formName);
	},
	
	//글쓰기 페이지로 이동
	write: function(url, formName, cmd) {
		if(userId == '') {
			alert_module.show('confirm', {
	   			msg : message["board.alert.login.msg"],
		   			ok_func : function () {
						location.href = "/login.do?cmd=login&nextUrl=" + NEXT_URL;
						return;
		   			},
		   			cancel_func : function () {
		   				return;
		   			}
	   		});
	   		return;
		}
		$(formName).cmd.value = cmd;
		$(formName).action = url;
		$(formName).method = "post";
		$(formName).submit();
	},
	
	del: function(url, formName, boardId, boardLevel, tid) {
		alert_module.show('confirm', {
   			msg : message["board.confirm.list.delete"],
	   			ok_func : function () {
					$(formName).cmd.value="delete";
					$(formName).action = url;
					$(formName).submit();
					return true;
	   			},
	   			cancel_func : function () {
	   				return;
	   			}
   		});			
	},
	
	// 게시물 삭제 요청시 처리
	del: function(url, formName, boardId, boardLevel, tid ,seq) {
		alert_module.show('confirm', {
   			msg : message["board.confirm.list.delete"],
	   			ok_func : function () {
					$(formName).cmd.value="delete";
					$(formName).boardId.value=boardId;
					$(formName).seq.value=seq;
					$(formName).action = url;
					$(formName).submit();
					return true;
	   			},
	   			cancel_func : function () {
	   				return;
	   			}
   		});	
	},
	
	//글보기 페이지로 이동
	edit : function(url, formName, cmd, seq) {
		$(formName).cmd.value = cmd;
		$(formName).seq.value = seq;
		$(formName).action = url;
		$(formName).method = 'post';
		$(formName).submit();
	},
	
	//검색 요청시 처리
	search : function(url, formName, divElement)
	{
		$(formName).word.value = document.list_form.checkWord.value;
		$(formName).searchCndt.value = document.list_form.search_cndt.value;
		
		//alert($(formName).searchCndt.value);

		if($(formName).word.value == '')
		{
			alert_module.show('alert', {
				msg : message["board.search.select_item"]
			});				
			return;
		}
		
		$(formName).cmd.value = "ajax_list";
		$(formName).page.value = "1";
		$(formName).orderBy.value = "";
		//if($(formName).word.value != "") {
		//	$('searchResult').innerHTML = "\"<span class=\"searchWord\">" + $(formName).word.value + "</span>\"" + message["board.list.search.result"];

		//	Board.show('searchResult');
		//} else {
		//	Board.hide('searchResult');
		//}

		AjaxBoardManager.list(divElement, url, formName);
	},
	
	//리스트 페이지에서의 페이징숫자를 눌렀을때 처리
    page : function(url, formName, divElement, goPage) {
        $(formName).cmd.value = "ajax_list";
        $(formName).page.value = goPage;
        AjaxBoardManager.list(divElement, url, formName);
    },
    
    //엘리먼트 숨기기
	hide : function(divElement) {
		if($(divElement)) {
			$(divElement).style.display = 'none';
		}
	},
	
	//엘리먼트 보기게 하기
	show : function(divElement) {
		if($(divElement)) {
			$(divElement).style.display = 'block';
		}
	},
	//카테고리 목록 가져오기
	categoryChange : function(url, formName, divElement, category) {
		$(formName).cg.value = category;
		$(formName).cmd.value ="ajax_list";
		$(formName).orderBy.value = "";
		AjaxBoardManager.list(divElement, url, formName);
	},
	
	//이벤트 type 변경
	eventTypeChange : function(url, formName, divElement, type) {

    	if(type == "I"){
			document.getElementById("event_all").className = "";
			document.getElementById("event_ing").className = "selected";
			document.getElementById("event_end").className = "";
    	}else if(type == "E"){
			document.getElementById("event_all").className = "";
			document.getElementById("event_ing").className = "";
			document.getElementById("event_end").className = "selected";
    	}else{
			document.getElementById("event_all").className = "selected";
			document.getElementById("event_ing").className = "";
			document.getElementById("event_end").className = "";
    	}

        $(formName).cmd.value ="ajax_list";
        $(formName).page.value = "1";			
        $(formName).eventType.value = type;
        AjaxBoardManager.list(divElement, url, formName);
	}
}
