var lang = new validateMessage("board");
var TemplateInfo = new TableTemplate(Common.getRoot() + "getxml/main_xml"); // xml template요청
var objNoticeTable = new Table(null, "tableNoticeList", 0, false, 1, 5, "");
var objBbsTable = new Table(null, "tableBbsList", 0, false, 1, 5, "");
var objMailTable = new Table(null, "tableMailList", 0, false, 1, 5, "");
var objMemoTable = new Table(null, "tableMemoList", 0, false, 1, 5, "");
var objFileInfoTable = new Table(null, "tableFileInfoList2", 0, false, 1, 5, "");

var Main = {
	//리스트
	init : function(bbs_no_list, mail_size)
	{
		//Main.initTable();
		Main.getNoticeList();
		Main.getBbsList(bbs_no_list);
		Main.getMailList(mail_size);
		Main.getMemoList();
		Main.getFavoriteList();

		var today = new Date();
		var y = today.getFullYear();
		var m = today.getMonth()+1;
		if(parseInt(m, 10) < 10){
			m = "0" + m;
		}
		var d = today.getDate();
		if(parseInt(d, 10) < 10){
			d = "0" + d;
		}
		Main.today = y + "-" + m + "-" + d;
	},
	initTable: function()
	{
		var tableName = Array("tableNoticeList", "tableMemoList", "tableMailList", "tableBbsList");

		for(var i = 0; i < tableName.length; i++){
			var x = $(tableName[i]).insertRow(0);
			var y = x.insertCell(0);
			y.width = '100%';
			y.style.background = '#fffff9';
			y.style.align = 'center';
			y.innerHTML = "<img src=\"" + Common.getImageRoot() + "common/icon/progress.gif\"> Loading...";
		}
	},
	getNoticeList: function()
	{
		var URL = Common.getRoot()+"board/bbs_ajax/get_bbs_list";
		var param = $H({'boardNoList' : '1', 'countPerPage' : '3', 'startPage' : '1', 'to' : 'getBoardList'});
		getAjaxData(URL, param, Main.resultGetNoticeList.bind(Main));
	},
	resultGetNoticeList: function(data)
	{
		var tableName = "tableNoticeList";

		var list = data.data;

		for(var i=0; i<list.length; i++)
		{
			var arr_writedatetime = list[i].writedatetime.split(" ");

			list[i].tbl_subject	= "<img src='" + Common.getImagePath() + "main/spot.gif' width='8' height='3' align='absmiddle'>";

			if(list[i].current_user_level > 0){
				list[i].tbl_subject += "<a href=\"" + Common.getRoot() + "board/bbs/board_view/" + list[i].fk_board_info_no + "/" + list[i].no + "\" style=\"cursor:pointer;\">";
			}else{
				list[i].tbl_subject += "<a href=\"#\" onClick=\"window.alert('" + lang.getMessage("JBNoRightToRead") + "');\" style=\"cursor:pointer;\">";
			}
			list[i].tbl_subject += list[i].title;

			if(list[i].reply_cnt > 0){
				list[i].tbl_subject += "<font color=\"#276bb6\"><b>[" + list[i].reply_cnt + "]</b></font>";
			}
			list[i].tbl_subject += "</a>";

			/*if(list[i].new_img == "Y"){
				list[i].tbl_subject += " <img src='" + Common.getImagePath() + "main/new.gif' width='29' height='9' align='absmiddle'>";
			}*/

			if(Main.today == arr_writedatetime[0]){
				list[i].tbl_time= arr_writedatetime[1].substring(0, 5);
			}else{
				list[i].tbl_time= arr_writedatetime[0].substring(5);
			}

			//list[i].tbl_date	= arr_writedatetime[0].replace(/-/g, ".").substring(2);
			//list[i].tbl_time	= arr_writedatetime[1].substring(0, 5);
		}

		var table_data = $H({'result' : list});
		var table_row = table_data.toObject();

		$(tableName).deleteRow(0);
		objNoticeTable.insertRow(table_row);
	},
	getBbsList: function(bbs_no_list)
	{
		var URL = Common.getRoot()+"board/bbs_ajax/get_bbs_list";
		var param = $H({'boardNoList' : bbs_no_list, 'countPerPage' : '5', 'startPage' : '1', 'to' : 'getBoardList'});
		getAjaxData(URL, param, Main.resultGetBbsList.bind(Main));
	},
	resultGetBbsList: function(data)
	{
		var tableName = "tableBbsList";

		var list = data.data;

		for(var i=0; i<list.length; i++)
		{
			var arr_writedatetime = list[i].writedatetime.split(" ");

			list[i].tbl_subject	= "<img src='" + Common.getImagePath() + "main/spot.gif' width='8' height='3' align='absmiddle'>";

			if(list[i].current_user_level > 0){
				list[i].tbl_subject += "<a href=\"" + Common.getRoot() + "board/bbs/bbs_view/" + list[i].fk_board_info_no + "/" + list[i].no + "\" style=\"cursor:pointer;\">";
			}else{
				list[i].tbl_subject += "<a href=\"#\" onClick=\"window.alert('" + lang.getMessage("JBNoRightToRead") + "');\" style=\"cursor:pointer;\">";
			}
			list[i].tbl_subject += list[i].title;

			if(list[i].reply_cnt > 0){
				list[i].tbl_subject += "<font color=\"#276bb6\"><b>[" + list[i].reply_cnt + "]</b></font>";
			}
			list[i].tbl_subject += "</a>";

			if(list[i].new_img == "Y"){
				list[i].tbl_subject += " <img src='" + Common.getImagePath() + "main/new.gif' width='29' height='9' align='absmiddle'>";
			}

			if(Main.today == arr_writedatetime[0]){
				list[i].tbl_time= arr_writedatetime[1].substring(0, 5);
			}else{
				list[i].tbl_time= arr_writedatetime[0].substring(5);
			}

			//list[i].tbl_date	= arr_writedatetime[0].replace(/-/g, ".").substring(2);
			//list[i].tbl_time	= arr_writedatetime[1].substring(0, 5);
		}

		var table_data = $H({'result' : list});
		var table_row = table_data.toObject();

		$(tableName).deleteRow(0);

		objBbsTable.insertRow(table_row);
	},
	getMailList: function(mail_size)
	{
		if(mail_size > 0){
			var URL = Common.getRoot()+"mail/webmail/comm_m_list";
			var param = $H({'comp' : '0', 'count_per_page' : '5', 'mbox_no' : 'b0', 'order' : 'desc', 'orderby' : 'no', 'page' : 1});
			getAjaxData(URL, param, Main.resultGetMailList.bind(Main));
		}else{
			var tableName = "tableMailList";
			$(tableName).deleteRow(0);

			var x = $(tableName).insertRow(0);
			y = x.insertCell(0);
			y.className = "nodata";
			y.colspan="1";
		}
	},
	resultGetMailList: function(data)
	{
		var tableName = "tableMailList";

		var list = data.list;

		for(var i=0; i<list.length; i++)
		{
			var arr_received = list[i].received.split(" ");

			list[i].tbl_name	= "<a href=\"" + Common.getRoot() + "mail/webmail/m_write/new/mail/from_addr/" + list[i].no + "\">";
			list[i].tbl_subject	= "<a href=\"" + Common.getRoot() + "mail/webmail/m_view/b0/" + list[i].no + "\" style=\"cursor:pointer;\">";

			if(list[i].from_addr.indexOf('&lt;') > 0){
				addr_arr = list[i].from_addr.split("&lt;");
				from_addr = addr_arr[0].replace(/&quot;/g, "");
			}else{
				from_addr = list[i].from_addr;
			}


			if(list[i].is_new == "Y"){
				list[i].tbl_icon	= "<img src='" + Common.getImagePath() + "main/icon_mail_new.gif' width='11' height='10' align='absmiddle'>";
				list[i].tbl_name	+= "<span title='" + list[i].from_addr + "'>" + list[i].from_addr + "</span>";
				list[i].tbl_subject	+= "<b>" + list[i].subject + "</b>";
			}else{
				list[i].tbl_icon	= "<img src='" + Common.getImagePath() + "main/icon_mail_open.gif' width='11' height='10' align='absmiddle'>";
				list[i].tbl_name	+= "<span class='small_gray_ov01' title='" + list[i].from_addr + "'>" + from_addr + "</span>";
				list[i].tbl_subject	+= "<span class='small_gray_ov02'>" + list[i].subject + "</span>";
			}

			list[i].tbl_name	+= "</a>";
			list[i].tbl_subject	+= "</a>";

			if(Main.today.substring(2) == arr_received[0]){
				list[i].tbl_time	= arr_received[1];
			}else{
				list[i].tbl_time	= arr_received[0].substring(3);
			}

			//list[i].tbl_date	= arr_received[0].replace(/-/g, ".");
			//list[i].tbl_time	= arr_received[1];
		}

		var table_data = $H({'result' : list});
		var table_row = table_data.toObject();

		while(table_row.result.length > 5){
			table_row.result.pop();
		}

		$(tableName).deleteRow(0);

		objMailTable.insertRow(table_row);
	},
	getMemoList: function()
	{
		var URL = Common.getRoot()+"memo/memomain/getListData";
		var param = $H({'memo_box_name' : 'R', 'page' : '1', 'orderby_col' : '2', 'orderby_type' : '-1'});
		getAjaxData(URL, param, Main.resultGetMemoList.bind(Main));
	},
	resultGetMemoList: function(data)
	{
		var tableName = "tableMemoList";

		if(data.resultCode == "SUCCESS"){
			var list = data.result.list;

			for(var i=0; i<list.length; i++)
			{
				var arr_senddate = list[i].senddate.split(" ");

				list[i].tbl_icon	= "<img src='" + Common.getImagePath() + "main/icon_paper_new.gif' width='12' height='13' align='absmiddle'>";
				list[i].tbl_name	= "<a href=\"/memo/memomain/memomain_write/" + list[i].no + "/from\">" + list[i].sender_name + "</a>";

				list[i].tbl_subject	= "<a onClick=\"$('memo_sub"+list[i].no+"').style.fontWeight='normal';Main.showMemo('"+list[i].no+"');return false;\" style=\"cursor:pointer;\">";

				if(list[i].is_new == "Y"){
					list[i].tbl_subject	+= "<span id=\"memo_sub"+list[i].no+"\" style=\"font-weight:bold;\">" + list[i].subject + "</span></a>";
				}else{
					list[i].tbl_subject	+= "<span id=\"memo_sub"+list[i].no+"\">" + list[i].subject + "<span></a>";
				}

				if(Main.today.substring(2) == arr_senddate[0]){
					list[i].tbl_time	= arr_senddate[1];
				}else{
					list[i].tbl_time	= arr_senddate[0].substring(3);
				}

				//list[i].tbl_date	= arr_senddate[0].replace(/-/g, ".");
				//list[i].tbl_time	= arr_senddate[1];
			}

			var table_data = $H({'result' : list});
			var table_row = table_data.toObject();

			while(table_row.result.length > 5){
				table_row.result.pop();
			}

			$(tableName).deleteRow(0);

			objMemoTable.insertRow(table_row);
		}else{
			$(tableName).deleteRow(0);

			var x = $(tableName).insertRow(0);
			y = x.insertCell(0);
			y.className = "nodata";
			y.colspan="1";
		}
	},
	getFavoriteList: function()
	{
		var URL = Common.getRoot()+"favorite/ajax/get_main";
		var param = $H({'mode' : 'get_main'});
		getAjaxData(URL, param, Main.resultGetFavoriteList.bind(Main));
	},
	resultGetFavoriteList: function(data)
	{
		var tableName = "tableFavoriteList";		
		$(tableName).deleteRow(0);

		var list = data.favoriteList;
		var rowNum = 0;

		for(var i = 0; i < list.length; i++){
			var bg_color = "#E9F0F5";
			if(i % 2 == 0){
				bg_color = "#F7F7F7";
			}

			var x = $(tableName).insertRow(rowNum++);
			x.bgColor = bg_color;

			y = x.insertCell(0);
			y.width = "5";
			y.height = "8";
			y.className = "small_blue_fa";
			y.bgColor = bg_color;
			y.innerHTML = "&nbsp;";

			y = x.insertCell(1);
			y.width = "100px";
			y.className = "small_blue_fa2";
			y.bgColor = bg_color;
			y.innerHTML = "<a href=\"" + Common.getRoot() + "favorite/main/favorite_list/#page&fk_favorite_category_no=" + list[i].category.no + "\" style=\"cursor:pointer;\">" + list[i].category.name + "</a>";

			y = x.insertCell(2);
			y.bgColor = bg_color;
			y.style.lineHeight = '20px';

			y.innerHTML = "";
			for(var j = 0; j < list[i].favorite.length; j++){
				y.innerHTML += "<a href=\"" + Common.getRoot() + "favorite/main/view_site/" + list[i].favorite[j].no + "\" style=\"cursor:pointer;\" target=\"_blank\">"+ list[i].favorite[j].name + "</a>";

				if(j + 1 < list[i].favorite.length){
					y.innerHTML += "<span class='small_gray'><img src='" + Common.getImagePath() + "main/gray.gif' width='1' height='8' hspace='8'></span>";
				}
			}

			if(i + 1 < list.length){
				var x = $(tableName).insertRow(rowNum++);
				x.bgColor = "#F7F7F7";

				y = x.insertCell(0);
				y.height = "1";
				y.colSpan = "3";
				y.bgColor = "#FFFFFF";
			}
		}
	},
	GabiaNoticeList: function(position, page)
	{
		if(page == undefined){
			page = 1
		}

		window.open(Common.getRoot() + "gabianotice/index/" + position + "/" + page, "gabia_notice", "width=608,height=450,scrollbars=yes,resizable=yes,left=0,top=0")
	},
	GabiaNoticeView: function(position, num)
	{
		window.open(Common.getRoot() + "gabianotice/view/" + position + "/" + num, "gabia_notice", "width=608,height=450,scrollbars=yes,resizable=yes,left=0,top=0")
	},
	HiworksSearch: function()
	{
		var keyword = $('search_keyword').value;
		var kind	= $('search_sel').value;

		if(kind.length < 1){
			window.alert('검색 대상을 선택해 주시기 바랍니다.');
		}else if(keyword.length < 2){
			window.alert('검색어는 2자 이상 입력해 주시기 바랍니다.');
		}else{
			if(kind == "mail"){
				document.frmSearch.action = Common.getRoot() + "mail/webmail";
				document.frmSearch.searchWord.value = keyword;
				document.frmSearch.submit();

			}else if(kind == "memo"){
				document.frmSearch.action = Common.getRoot() + "memo/memomain";
				document.frmSearch.searchWord.value = keyword;
				document.frmSearch.submit();

			}else if(kind == "board"){
				document.frmSearch.action = Common.getRoot() + "board/bbs/bbs_list";
				document.frmSearch.searchWord.value = keyword;
				document.frmSearch.submit();

			}else if(kind == "addr"){
				document.frmSearch.action = Common.getRoot() + "addr/main/search";
				document.frmSearch.searchWord.value = keyword;
				document.frmSearch.submit();

			}else if(kind == "org"){
				document.frmSearch.action = Common.getRoot() + "org/orgmain";
				document.frmSearch.searchWord.value = keyword;
				document.frmSearch.submit();
			}
		}
	},
	showCurrentStatusLayer: function(event)
	{
		if($('tableCurrentStatus').style.display != "none"){
			$('tableCurrentStatus').hide();
		}else{
			$('tableCurrentStatus').style.left = Event.pointerX(event) + "px";
			$('tableCurrentStatus').style.top = Event.pointerY(event) + "px";
			$('tableCurrentStatus').show();
		}
	},
	showMemo : function(no)
	{
		$('layerViewMemo').openLayer().backLayerShow();

		var URL = Common.getRoot()+'memo/memomain/viewMemo';
		var param = $H({'no' : no});

		getAjaxData(URL, param, Main.resultShowMemo.bind(Main));
	},

	resultShowMemo : function(data)
	{
		var detail = data.result.detail;

		$('memoSender').update(detail.sender_name);
		$('memoSendTime').update(detail.senddate);

		$('memoReceiver').update(detail.receiver_name);
		if(parseInt(detail.receiver_cnt) > 1)
		{
			$('memoReceiverCnt').update(detail.receiver_cnt);
			$('memoReceiverGuide').show();
		}

		$('memoSubject').update(detail.subject);
		$('memoContent').update(detail.content);

		if(detail.important == "Y")
		{
			$('img_important2').src = Common.getImageRoot()+"common/icon/on.gif";
			$('img_important3').setStyle({color: '#FF6600'});
		}
		else
		{
			$('img_important2').src = Common.getImageRoot()+"common/icon/off.gif";
			$('img_important3').setStyle({color: '#C0C0C0'});
		}

		//event
		$('img_important2').observe('click', respondToClick);
		function respondToClick(event) {
			var element = event.element();
			Memomain.chkImportant(detail.no);
		}

		$('memoImportant').show();

		//set files
		if(detail.is_attach == "Y" || data.result.file_list.length > 0)
		{
			var tableName = "tableFileInfoList2";

			while($(tableName).rows[0])
			{
				$(tableName).deleteRow(0);
			}

			var list = data.result.file_list;
			var loop = list.length;
			for(var i=0; i<loop; i++)
			{
				list[i].download_url = Common.getRoot()+'memo/memomain/filedown/'+list[i].fk_memo_content_no+'/'+list[i].no;
				list[i].img_ext = list[i].file_name.img_ext();
			}

			var table_data = $H({'result' : list});

			objFileInfoTable.insertRow(table_data.toObject());

			/*var table_data = $H({
				'result'      : data.result.file_list,
				'row'         : data.result.file_list.length,
				'message'     : data.message,
				'param'       : '',
				'total'       : data.result.file_list.length,
				'page'        : null,
				'pagingcount' : null,
				'listcount'   : null
			});

			var objTable = new Table(table_data.toObject(), "tableFileInfoList2", true, false);
			objTable.insertRow();*/

			$('file_cnt').update(data.result.file_list.length);
			$('filelist').show();
		}
		else
		{
			$('filelist').hide();
		}

		//set input value for print & deletion
		$('memo_no').value = detail.no;

		//success updating
		if(typeof(data.result.update) != "undefined")
		{
			if(data.result.update.is_new == "SUCCESS")
			{
				var newCount = parseInt($('newCount').innerHTML);
				$('newCount').update(--newCount);

				$('list_subject_'+detail.no).update(detail.subject);
			}
		}
	}
}
