

var NTBoard = {
	isLogin				: false
	,isSubmit			: false
	,formNmCmt			: "CommentForm"
	,formNmBbs			: "BoardForm"
	,formNmBbsSearch	: "BoardSearchForm"
	,idCmtArea			: "AreaComments"
	,idCmtCount			: "AreaCommentCount"
	,idCmtTextLength	: "AreaCommentTextLength"
	,dataCmt			: null
	,formNmFsite		: "FsiteForm"
	,formNmEnquete		: "EnqueteForm"
};

/* Comment ********************************/

NTBoard.showCmtError = function(msg) {
	showMessageBox(msg);
};

NTBoard.hideCmtError = function() {
	hideMessageBox();
};

NTBoard.initCmt = function() {
	if (!this.isLogin) {
		var form = document.forms[this.formNmCmt];
		if (form) {
			form.comment_text.value		= "コメントを作成するにはログインが必要です。";
			form.comment_text.disabled	= "disabled";
		}
	}
	this.doLoadCmt(1);
	return false;
};

NTBoard.doLoadCmt = function(page) {
	if (this.isSubmit) return false;

	var form = document.forms[this.formNmCmt];
	if (page!=null) form.page.value = page.toString();
	form.proc_cd.value = "L";
	
	this.isSubmit = true;
	SimpleAjax.executeXHFormRequest("post", "../comment.do.asp", true, form, ["proc_cd","page","write_no"], 
									this.callbackCmtAction.bind(this), form.proc_cd.value, "e4x", ["gyComment","gyPageNav"]);
	return false;
};

NTBoard.callbackCmtAction = function(data, proc_cd) {
	this.dataCmt = data;
	if (SimpleAjax.Value(this.dataCmt,"gyResponse.gyResultCode")!="0") {
		if (SimpleAjax.Value(this.dataCmt,"gyResponse.gyResultMsg"))
			this.showCmtError(this.dataCmt.gyResponse.gyResultMsg);
		else
			this.showCmtError("処理中にエラーが発生しました。");
	}else{
		var areaCmtCount = document.getElementById(this.idCmtCount);
		if (areaCmtCount) areaCmtCount.innerHTML = this.dataCmt.gyResponse.gyRowCount;
		var form = document.forms[this.formNmCmt];
		if (form) form.page.value = this.dataCmt.gyResponse.gyPage;
		this.updateCommentList();
		
		if (!form.comment_text.disabled) form.comment_text.value = "";
		form.proc_cd.value		= "I";
		this.checkCmtLength();
	}	
	this.isSubmit = false;
};

NTBoard.updateCommentList = function() {
	var html			= "";
	var area			= document.getElementById(this.idCmtArea);
	if (SimpleAjax.Value(this.dataCmt,"gyResponse.gyComments")) {
		var comments	= this.dataCmt.gyResponse.gyComments.gyComment;
		var paging		= this.dataCmt.gyResponse.gyPaging.gyPageNav;

		if ((comments) && (comments.length>0)) {
			for (var i=0; i<comments.length; i++) {
				html += '<div class="commentListBox">';
				html += '<div class="Name">'+ comments[i]["user"] +'</div>';
				if (comments[i]["@owner"]=="1") {
					//html += '<div class="DelBtn"><img src="http://image.gameyarou.jp/nostale/200908/btn_commentDel.gif" alt="修正" onclick="return NTBoard.initModifyCmt(\''+ comments[i]["@no"] +'\');" style="cursor:pointer" /></div>';
					html += '<div class="DelBtn"><img src="http://image.gameyarou.jp/nostale/200908/btn_commentDel.gif" alt="削除" onclick="return NTBoard.initDeleteCmt(\''+ comments[i]["@no"] +'\');" style="cursor:pointer" /></div>';
				}
				html += '<div class="Date">'+ comments[i]["time"].substr(0,10) +'</div>';
				html += '<div class="Txt"><p>'+ comments[i]["comment"].toString().htmlspecialchars(3).nl2br() + "</p></div>";
				html += '</div>';
			}
			html += '<div class="pageNo">';
			for (var i=0; i<paging.length; i++) {
				if ((paging[i]["@type"]=="page") && (this.dataCmt.gyResponse.gyPage == paging[i]["@page"])) {
					html += '<span>'+ paging[i]["@page"] + '</span> ';
				}else{
					switch (paging[i]["@type"]) {
						case "first_page":
							html += '<a href="#" onclick="return NTBoard.doLoadCmt('+ paging[i]["@page"] +');" class="first">最初ページ</a>';	break;
						case "previous_block":
							html += '<a href="#" onclick="return NTBoard.doLoadCmt('+ paging[i]["@page"] +');" class="previous">前のページ</a>';	break;
						case "next_block":
							html += '<a href="#" onclick="return NTBoard.doLoadCmt('+ paging[i]["@page"] +');" class="next">次のページ</a>';	break;
						case "last_page":
							html += '<a href="#" onclick="return NTBoard.doLoadCmt('+ paging[i]["@page"] +');" class="last">最後ページ</a>';	break;
						default:
							html += '<a href="#" onclick="return NTBoard.doLoadCmt('+ paging[i]["@page"] +');" class="page">'+ paging[i]["@page"] +'</a>';
					};
				}
			}
			html += '</div>';
		}
	}
	if (area) area.innerHTML = html;
};

NTBoard.checkCmtForm = function() {
	var form = document.forms[this.formNmCmt];
	if (!this.isLogin) {
		this.showCmtError("コメントを作成するにはログインが必要です。"); return false;
	}
	if (form.comment_text) {
		if (form.comment_text.value.length == 0) {
			this.showCmtError("コメントを入力してください。"); form.comment_text.focus(); return false;
		}
		if (form.comment_text.value.blength() > 500) {
			this.showCmtError("コメントは全角250文字・半角500文字以内で入力してください。"); form.comment_text.focus(); return false;
		}
	}
	return true;
};

NTBoard.doWriteCmt = function() {
	if (this.isSubmit) return false;
	var form = document.forms[this.formNmCmt];
	form.comment_text.value	= form.comment_text.value.trim();

	if (this.checkCmtForm()) {
		if (form.proc_cd.value=="I") form.page.value = "1";
		this.isSubmit = true;
		SimpleAjax.executeXHFormRequest("post", "../comment.do.asp", true, form, ["proc_cd","page","write_no","board_cd","comment_no","comment_text"], 
										this.callbackCmtAction.bind(this), form.proc_cd.value, "e4x", ["gyComment","gyPageNav"]);	
	}
	return false;
};

NTBoard.initModifyCmt = function(cmt_no) {
	if (this.isSubmit) return false;

	var comments	= this.dataCmt.gyResponse.gyComments.gyComment;
	if ((comments) && (comments.length>0)) {
		for (var i=0; i<comments.length; i++) {
			if ( comments[i]["@no"] == cmt_no.toString() ) {
				var form = document.forms[this.formNmCmt];
				form.comment_no.value	= cmt_no.toString();
				form.proc_cd.value		= "E";
				form.comment_text.value = comments[i]["comment"].toString();
				this.checkCmtLength();
				return false;
			}
		}
	}
};

NTBoard.initDeleteCmt = function(cmt_no) {
	if (this.isSubmit) return false;
	var form = document.forms[this.formNmCmt];
	form.comment_no.value	= cmt_no.toString();
	form.proc_cd.value		= "D";
	layerAlert.open(300, 160, null, "コメントを削除しますか？", ["削除","キャンセル"], true, this.callbackDeleteCmtConfirm.bind(this) );
	return false;
};

NTBoard.callbackDeleteCmtConfirm = function(selectedIndex) {
	var form = document.forms[this.formNmCmt];
	if (selectedIndex == 1) {
		this.isSubmit = true;
		SimpleAjax.executeXHFormRequest("post", "../comment.do.asp", true, form, ["proc_cd","page","write_no","board_cd","comment_no"], 
										this.callbackCmtAction.bind(this), form.proc_cd.value, "e4x", ["gyComment","gyPageNav"]);	
	}else{
		form.comment_no.value	= "";
		form.proc_cd.value		= "I";
	}
};

NTBoard.checkCmtLength = function() {
	var form = document.forms[this.formNmCmt];
	var areaCmtCount = document.getElementById(this.idCmtTextLength);
	if (form && areaCmtCount) {
		areaCmtCount.innerHTML = form.comment_text.value.blength().toString();
	}
	return true;
};


/* Board ********************************/


NTBoard.showBbsError = function(msg) {
	//alert(msg);
	showMessageBox(msg);
};

NTBoard.hideBbsError = function() {
	hideMessageBox();
};

NTBoard.searchMyBbs = function() {
	if (this.isLogin) {
		var form = document.forms[this.formNmBbsSearch];
		if (form) {
			form.search_column.selectedIndex = 1;
			form.search_word.value = "";
			form.submit();
		}
	}else{
		this.showBbsError("ログインしてください。");
	}
}	
	
NTBoard.doWriteBbs = function() {
	if (this.isSubmit) return false;
	var form = document.forms[this.formNmBbs];

	if (form.write_title)	form.write_title.value		= form.write_title.value.trim();
	if (form.write_content)	form.write_content.value	= form.write_content.value.trim();

	if (this.checkBbsForm()) {
		this.isSubmit = true;
		SimpleAjax.executeXHFormRequest("post", "../board.do.asp", true, form, ["proc_cd","write_no","board_cd","board_sort","attached_files","deleted_files","write_title","write_content"], 
										this.callbackBbsAction.bind(this), form.proc_cd.value, "e4x");	
	}
	return false;
};

NTBoard.checkBbsForm = function() {
	var form = document.forms[this.formNmBbs];
	if (!this.isLogin) {
		this.showBbsError("ログインしてください。"); return false;
	}
	if (form.write_title) {
		if (form.write_title.value.length == 0) {
			this.showBbsError("タイトルを入力してください。"); form.write_title.focus(); return false;
		}
		if (form.write_title.value.blength() > 120) {
			this.showBbsError("タイトルは全角60文字・半角120文字以内で入力してください。"); form.write_title.focus(); return false;
		}
	}
	if (form.write_content) {
		if (form.write_content.value.length == 0) {
			this.showBbsError("内容を入力してください。"); form.write_content.focus(); return false;
		}
		if (form.write_content.value.blength() > 8000) {
			this.showBbsError("内容は全角4000文字・半角8000文字以内で入力してください。"); form.write_content.focus(); return false;
		}
	}
	if (form.attached_file_list_select) {
		if (form.attached_file_list_select.options.length == 0) {
			this.showBbsError("ファイルを添付してください。"); return false;
		}
	}
	return true;
};

NTBoard.callbackBbsAction = function(data, proc_cd) {
	if (SimpleAjax.Value(data,"gyResponse.gyResultCode")!="0") {
		if (SimpleAjax.Value(data,"gyResponse.gyResultMsg"))
			this.showBbsError(data.gyResponse.gyResultMsg);
		else
			this.showBbsError("処理中にエラーが発生しました。");
	}else{
		if ((proc_cd == "E") || (proc_cd == "R")) {
			location.href = f_getNewURLGetParam("./view.asp","","");
		}else{
			location.href = f_getNewURLGetParam("./list.asp","write_no","");
		}
	}
	this.isSubmit = false;
};

NTBoard.initDeleteBbs = function() {
	if (this.isSubmit) return false;
	layerAlert.open(300, 160, "", "書込みを削除しますか？", ["削除","キャンセル"], true, this.callbackDeleteBbsConfirm.bind(this) );
	return false;
};

NTBoard.callbackDeleteBbsConfirm = function(selectedIndex) {
	var form = document.forms[this.formNmBbs];
	if (selectedIndex == 1) {
		form.proc_cd.value = "D";
		this.isSubmit = true;
		SimpleAjax.executeXHFormRequest("post", "../board.do.asp", true, form, ["proc_cd","write_no","board_cd"], 
										this.callbackBbsAction.bind(this), form.proc_cd.value, "e4x");	
	}
};

NTBoard.doUploadBbsAttach = function() {
	var form = document.forms[this.formNmBbs];
	if (form.attached_file.value.length == 0) {
		this.showBbsError("ファイルを添付してください。"); form.attached_file.focus(); return false;
	}
	if (form.attached_file_list_select.options.length >= parseInt(form.attach_file_limit_count.value)) {
		this.showBbsError("これ以上ファイルを添付することはできません。"); return false;
	}

	f_createHiddenIframe("action_target");
	form.target	= "action_target";
	form.method	= "post";
	form.action	= "../attach.do.asp";
	this.isSubmit = true;
	form.submit();
	return false;
};

NTBoard.doBbsAttachInsert = function(attachInfos) {
	var form = document.forms[this.formNmBbs];
	var option = new Option( decodeURIComponent(attachInfos[0]) + "(" + this.getByteFormatString(attachInfos[1]) + ")", attachInfos[2] )
	form.attached_file_list_select.options[form.attached_file_list_select.options.length] = option;
	this.updateBbsAttachSelect2Input();
	
	form.attached_file.value = "";
	form.attached_file_display.value = "";
	return false;
};

NTBoard.doDeleteBbsAttach = function() {
	var form = document.forms[this.formNmBbs];
	if (form.attached_file_list_select.selectedIndex < 0) {
		this.showBbsError("ファイルを選択してください。");
	}else{
		form.deleted_files.value += (form.deleted_files.value.length>0) ? "," : "";
		form.deleted_files.value +=  form.attached_file_list_select.options[form.attached_file_list_select.selectedIndex].value;
		form.attached_file_list_select.options[form.attached_file_list_select.selectedIndex] = null;
		this.updateBbsAttachSelect2Input();
	}
	return false;
};

NTBoard.callbackBbsAttachAction = function(code, msg, attachInfos ) {
	var form = document.forms[this.formNmBbs];
	if (code == 0) {
		this.doBbsAttachInsert(attachInfos);
	}else{
		this.showBbsError(decodeURIComponent(msg));
	}
	this.isSubmit = false;
};

NTBoard.updateBbsAttachSelect2Input = function() {
	var form = document.forms[this.formNmBbs];
	form.attached_files.value = "";
	
	for (var i=0; i<form.attached_file_list_select.options.length; i++) {
		if (form.attached_file_list_select.options[i].value) {
			form.attached_files.value += (form.attached_files.value.length>0) ? "," : "";
			form.attached_files.value +=  form.attached_file_list_select.options[i].value;
		}
	}
};

NTBoard.updateBbsAttachInput2Select = function() {
	var form = document.forms[this.formNmBbs];
	if (form.attached_file_list_select) {
		for (var i=(form.attached_file_list_select.options.length-1); i>=0; i--) {
			form.attached_file_list_select.options[i] = null;
		}
		
		var attaches = form.attached_files.value.split(",");
		for (var i=0; i<attaches.length; i++) {
			if (attaches[i].length > 0) {
				var attachInfos = attaches[i].split("|");
				if (attachInfos.length == 3) {
					var option = new Option( attachInfos[0] + "(" + this.getByteFormatString(attachInfos[1]) + ")", attaches[i] )
					form.attached_file_list_select.options[form.attached_file_list_select.options.length] = option;
				}
			}
		}
	}
};

NTBoard.showAttachImage = function(img, width, height) {
	if (!img) return false;
	LayerImage.open(width, height, "添付イメージ", img.getAttribute("src"), "添付イメージ", true);
	return false;
}


/* Fan Site ********************************/


NTBoard.showFsiteError = function(msg) {
	showMessageBox(msg);
};

NTBoard.hideFsiteError = function() {
	hideMessageBox();
};

NTBoard.doConfirmFsite = function() {
	if (this.isSubmit) return false;
	var form = document.forms[this.formNmFsite];

	if (form.site_nm)	form.site_nm.value		= form.site_nm.value.trim();
	if (form.site_url)	form.site_url.value		= form.site_url.value.trim();
	if (form.site_note)	form.site_note.value	= form.site_note.value.trim();

	if (this.checkFsiteForm()) {
		var formConfirm = document.forms[this.formNmFsite+"Confirm"];
		if (formConfirm) {

			formConfirm.category_cd.value	= form.category_cd.value
			formConfirm.site_nm.value		= form.site_nm.value
			formConfirm.site_note.value		= form.site_note.value
			formConfirm.site_url.value		= form.site_url.value
			formConfirm.attached_files.value	= form.attached_files.value
			formConfirm.deleted_files.value	= form.deleted_files.value

			this.isSubmit	= true;
			formConfirm.action		= "./confirm.asp";
			formConfirm.target		= "_self";
			formConfirm.submit();

		}
	}
	return false;
};

NTBoard.doBackConfirmFsite = function() {
	if (this.isSubmit) return false;
	var form = document.forms[this.formNmFsite];
	this.isSubmit	= true;
	form.action		= "./write.asp";
	form.target		= "_self";
	form.submit();
	return false;
};

NTBoard.doWriteFsite = function() {
	if (this.isSubmit) return false;
	var form = document.forms[this.formNmFsite];

	if (form.site_nm)	form.site_nm.value		= form.site_nm.value.trim();
	if (form.site_url)	form.site_url.value		= form.site_url.value.trim();
	if (form.site_note)	form.site_note.value	= form.site_note.value.trim();

	if (this.checkFsiteForm()) {
		this.isSubmit = true;
		SimpleAjax.executeXHFormRequest("post", "./fsite.do.asp", true, form, ["proc_cd","category_cd","site_nm","site_url","site_note","attached_files","deleted_files"], 
										this.callbackFsiteAction.bind(this), form.proc_cd.value, "e4x");	
	}
	return false;
};

NTBoard.checkFsiteForm = function() {
	var form = document.forms[this.formNmFsite];
	if (!this.isLogin) {
		this.showFsiteError("ログインしてください。"); return false;
	}
	if (form.site_nm) {
		if (form.site_nm.value.length == 0) {
			this.showFsiteError("サイト名を入力してください。"); form.site_nm.focus(); return false;
		}
		if (form.site_nm.value.blength() > 50) {
			this.showFsiteError("サイト名は全角25文字・半角50文字以内で入力してください。"); form.site_nm.focus(); return false;
		}
	}
	if (form.site_url) {
		if (form.site_url.value.length == 0) {
			this.showFsiteError("サイトURLを入力してください。"); form.site_url.focus(); return false;
		}
		if (form.site_url.value.blength() > 200) {
			this.showFsiteError("サイトURLは半角200文字以内で入力してください。"); form.site_url.focus(); return false;
		}
		if (!f_isSiteUrl(form.site_url.value)) {
			this.showFsiteError("サイトURLを正しく入力してください。"); form.site_url.focus(); return false;
		}
	}
	if (form.site_note) {
		if (form.site_note.value.length == 0) {
			this.showFsiteError("サイト紹介を入力してください。"); form.site_note.focus(); return false;
		}
		if (form.site_note.value.blength() > 500) {
			this.showFsiteError("サイト紹介は全角250文字・半角500文字で入力してください。"); form.site_note.focus(); return false;
		}
	}
	if (form.category_cd) {
		if (f_getFormValue(form.category_cd) == "") {
			this.showFsiteError("カテゴリを選択してください。"); form.category_cd.focus(); return false;
		}
	}
	/*if (form.attached_file_list_select) {
		if (form.attached_file_list_select.options.length == 0) {
			this.showBbsError("バナー用のイメージを添付してください。"); return false;
		}
	}*/
	return true;
};

NTBoard.callbackFsiteAction = function(data, proc_cd) {
	if (SimpleAjax.Value(data,"gyResponse.gyResultCode")!="0") {
		if (SimpleAjax.Value(data,"gyResponse.gyResultMsg"))
			this.showFsiteError(data.gyResponse.gyResultMsg);
		else
			this.showFsiteError("処理中にエラーが発生しました。");
	}else{
		if (proc_cd == "I") {
			location.href = f_getNewURLGetParam("./write_result.asp","","");
		}
	}	
	this.isSubmit = false;
};

NTBoard.doUploadFsiteAttach = function() {
	var form = document.forms[this.formNmFsite];
	if (form.attached_file.value.length == 0) {
		this.showFsiteError("バナー用のイメージを添付してください。"); form.attached_file.focus(); return false;
	}
	if (form.attached_file_list_select.options.length >= parseInt(form.attach_file_limit_count.value)) {
		this.showFsiteError("これ以上ファイルを添付することはできません。"); return false;
	}

	f_createHiddenIframe("action_target");
	form.target	= "action_target";
	form.method	= "post";
	form.action	= "./attach.do.asp";
	this.isSubmit = true;
	form.submit();
	return false;
};

NTBoard.doFsiteAttachInsert = function(attachInfos) {
	var form = document.forms[this.formNmFsite];
	var option = new Option( decodeURIComponent(attachInfos[0]) + "(" + this.getByteFormatString(attachInfos[1]) + ")", attachInfos[2] )
	form.attached_file_list_select.options[form.attached_file_list_select.options.length] = option;
	this.updateFsiteAttachSelect2Input();
	
	form.attached_file.value = "";
	form.attached_file_display.value = "";
	return false;
};

NTBoard.doDeleteFsiteAttach = function() {
	var form = document.forms[this.formNmFsite];
	if (form.attached_file_list_select.selectedIndex < 0) {
		this.showFsiteError("ファイルを選択してください。");
	}else{
		form.deleted_files.value += (form.deleted_files.value.length>0) ? "," : "";
		form.deleted_files.value +=  form.attached_file_list_select.options[form.attached_file_list_select.selectedIndex].value;
		form.attached_file_list_select.options[form.attached_file_list_select.selectedIndex] = null;
		this.updateFsiteAttachSelect2Input();
	}
	return false;
};

NTBoard.callbackFsiteAttachAction = function(code, msg, attachInfos ) {
	var form = document.forms[this.formNmFsite];
	if (code == 0) {
		this.doFsiteAttachInsert(attachInfos);
	}else{
		this.showFsiteError(decodeURIComponent(msg));
	}
	this.isSubmit = false;
};

NTBoard.updateFsiteAttachSelect2Input = function() {
	var form = document.forms[this.formNmFsite];
	form.attached_files.value = "";
	
	for (var i=0; i<form.attached_file_list_select.options.length; i++) {
		if (form.attached_file_list_select.options[i].value) {
			form.attached_files.value += (form.attached_files.value.length>0) ? "," : "";
			form.attached_files.value +=  form.attached_file_list_select.options[i].value;
		}
	}
};

NTBoard.updateFsiteAttachInput2Select = function() {
	var form = document.forms[this.formNmFsite];
	if (form.attached_file_list_select) {
		for (var i=(form.attached_file_list_select.options.length-1); i>=0; i--) {
			form.attached_file_list_select.options[i] = null;
		}
		
		var attaches = form.attached_files.value.split(",");
		for (var i=0; i<attaches.length; i++) {
			if (attaches[i].length > 0) {
				var attachInfos = attaches[i].split("|");
				if (attachInfos.length == 3) {
					var option = new Option( attachInfos[0] + "(" + this.getByteFormatString(attachInfos[1]) + ")", attaches[i] )
					form.attached_file_list_select.options[form.attached_file_list_select.options.length] = option;
				}
			}
		}
	}
};


/* Enquete ********************************/

NTBoard.showEnqueteError = function(msg) {
	showMessageBox(msg);
};

NTBoard.hideEnqueteError = function() {
	hideMessageBox();
};

NTBoard.doEnquete = function() {
	if (this.isSubmit) return false;
	if (!this.isLogin) {
		this.showEnqueteError("ログインしてください。"); return false;
	}
	var form = document.forms[this.formNmEnquete];
	if (form) {
		if (typeof(form.enquete_no.length) != 'undefined'){
			var v_enquete_item_checked	= false;
			for (var i = 0; i < enquete_no.length; i++){
				if (!f_getFormValue( form['enquete_item_no_' + form.enquete_no[i].value] )) {
					this.showEnqueteError("各設問に投票してからボタンをクリックしてください。");
					return false;
				}
			}
		}else{
			if (!f_getFormValue( form['enquete_item_no_' + form.enquete_no.value] )) {
				this.showEnqueteError("各設問に投票してからボタンをクリックしてください。");
				return false;
			}
		}
		f_createHiddenIframe("action_target");
		form.target	= "action_target";
		form.method	= "post";
		form.action	= "./enquete.do.asp";
		this.isSubmit = true;
		form.submit();
		return false;
	}
};

NTBoard.callbackEnqueteAction = function(code, msg) {
	var form = document.forms[this.formNmEnquete];
	if (code == 0) {
		location.href = f_getNewURLGetParam("./view.asp","enquete_mst_no",form.enquete_mst_no.value);
	}else{
		this.showEnqueteError(decodeURIComponent(msg));
	}
	this.isSubmit = false;
}

NTBoard.initEnqueteCmt = function() {
	if (!this.isLogin) {
		var form = document.forms[this.formNmCmt];
		if (form) {
			form.comment_text.value		= "コメントを作成するにはログインが必要です。";
			form.comment_text.disabled	= "disabled";
		}
	}
	this.doLoadEnqueteCmt(1);
	return false;
};

NTBoard.doLoadEnqueteCmt = function(page) {
	if (this.isSubmit) return false;

	var form = document.forms[this.formNmCmt];
	if (page!=null) form.page.value = page.toString();
	form.proc_cd.value = "L";
	
	this.isSubmit = true;
	SimpleAjax.executeXHFormRequest("post", "./comment.do.asp", true, form, ["proc_cd","page","enquete_mst_no"], 
									this.callbackEnqueteCmtAction.bind(this), form.proc_cd.value, "e4x", ["gyComment","gyPageNav"]);
	return false;
};

NTBoard.callbackEnqueteCmtAction = function(data, proc_cd) {
	this.dataCmt = data;
	if (SimpleAjax.Value(this.dataCmt,"gyResponse.gyResultCode")!="0") {
		if (SimpleAjax.Value(this.dataCmt,"gyResponse.gyResultMsg"))
			this.showEnqueteError(this.dataCmt.gyResponse.gyResultMsg);
		else
			this.showEnqueteError("処理中にエラーが発生しました。");
	}else{
		var areaCmtCount = document.getElementById(this.idCmtCount);
		if (areaCmtCount) areaCmtCount.innerHTML = this.dataCmt.gyResponse.gyRowCount;
		var form = document.forms[this.formNmCmt];
		if (form) form.page.value = this.dataCmt.gyResponse.gyPage;
		this.updateEnqueteCommentList();
		
		if (!form.comment_text.disabled) form.comment_text.value = "";
		form.proc_cd.value		= "I";
		this.checkEnqueteCmtLength();
	}	
	this.isSubmit = false;
};

NTBoard.updateEnqueteCommentList = function() {
	if (SimpleAjax.Value(this.dataCmt,"gyResponse.gyComments")) {
		var area		= document.getElementById(this.idCmtArea);
		var comments	= this.dataCmt.gyResponse.gyComments.gyComment;
		var paging		= this.dataCmt.gyResponse.gyPaging.gyPageNav;
		var html		= "";

		if ((comments) && (comments.length>0) && (area)) {
			for (var i=0; i<comments.length; i++) {
				html += '<div class="commentListBox">';
				html += '<div class="Name">'+ comments[i]["user"] +'</div>';
				if (comments[i]["@owner"]=="1") {
					//html += '<div class="DelBtn"><img src="http://image.gameyarou.jp/nostale/200908/btn_commentDel.gif" alt="修正" onclick="return NTBoard.initModifyEnqueteCmt(\''+ comments[i]["@no"] +'\');" style="cursor:pointer" /></div>';
					html += '<div class="DelBtn"><img src="http://image.gameyarou.jp/nostale/200908/btn_commentDel.gif" alt="削除" onclick="return NTBoard.initDeleteEnqueteCmt(\''+ comments[i]["@no"] +'\');" style="cursor:pointer" /></div>';
				}
				html += '<div class="Date">'+ comments[i]["time"].substr(0,10) +'</div>';
				html += '<div class="Txt"><p>'+ comments[i]["comment"].toString().htmlspecialchars(3).nl2br() + "</p></div>";
				html += '</div>';
			}
			html += '<div class="pageNo">';
			for (var i=0; i<paging.length; i++) {
				if ((paging[i]["@type"]=="page") && (this.dataCmt.gyResponse.gyPage == paging[i]["@page"])) {
					html += '<span>'+ paging[i]["@page"] + '</span> ';
				}else{
					switch (paging[i]["@type"]) {
						case "first_page":
							html += '<a href="#" onclick="return NTBoard.doLoadEnqueteCmt('+ paging[i]["@page"] +');" class="first">最初ページ</a>';	break;
						case "previous_block":
							html += '<a href="#" onclick="return NTBoard.doLoadEnqueteCmt('+ paging[i]["@page"] +');" class="previous">前のページ</a>';	break;
						case "next_block":
							html += '<a href="#" onclick="return NTBoard.doLoadEnqueteCmt('+ paging[i]["@page"] +');" class="next">次のページ</a>';	break;
						case "last_page":
							html += '<a href="#" onclick="return NTBoard.doLoadEnqueteCmt('+ paging[i]["@page"] +');" class="last">最後ページ</a>';	break;
						default:
							html += '<a href="#" onclick="return NTBoard.doLoadEnqueteCmt('+ paging[i]["@page"] +');" class="page">'+ paging[i]["@page"] +'</a>';
					};
				}
			}
			html += '</div>';
			area.innerHTML = html;
		}
	}
};

NTBoard.checkEnqueteCmtForm = function() {
	var form = document.forms[this.formNmCmt];
	if (!this.isLogin) {
		this.showEnqueteError("コメントを作成するにはログインが必要です。"); return false;
	}
	if (form.comment_text) {
		if (form.comment_text.value.length == 0) {
			this.showEnqueteError("コメントを入力してください。"); form.comment_text.focus(); return false;
		}
		if (form.comment_text.value.blength() > 500) {
			this.showEnqueteError("コメントは全角250文字・半角500文字以内で入力してください。"); form.comment_text.focus(); return false;
		}
	}
	return true;
};

NTBoard.doWriteEnqueteCmt = function() {
	if (this.isSubmit) return false;
	var form = document.forms[this.formNmCmt];
	form.comment_text.value	= form.comment_text.value.trim();

	if (this.checkCmtForm()) {
		if (form.proc_cd.value=="I") form.page.value = "1";
		this.isSubmit = true;
		SimpleAjax.executeXHFormRequest("post", "./comment.do.asp", true, form, ["proc_cd","page","enquete_mst_no","comment_no","comment_text"], 
										this.callbackEnqueteCmtAction.bind(this), form.proc_cd.value, "e4x", ["gyComment","gyPageNav"]);	
	}
	return false;
};

NTBoard.initModifyEnqueteCmt = function(cmt_no) {
	if (this.isSubmit) return false;

	var comments	= this.dataCmt.gyResponse.gyComments.gyComment;
	if ((comments) && (comments.length>0)) {
		for (var i=0; i<comments.length; i++) {
			if ( comments[i]["@no"] == cmt_no.toString() ) {
				var form = document.forms[this.formNmCmt];
				form.comment_no.value	= cmt_no.toString();
				form.proc_cd.value		= "E";
				form.comment_text.value = comments[i]["comment"].toString();
				this.checkEnqueteCmtLength();
				return false;
			}
		}
	}
};

NTBoard.initDeleteEnqueteCmt = function(cmt_no) {
	if (this.isSubmit) return false;
	var form = document.forms[this.formNmCmt];
	form.comment_no.value	= cmt_no.toString();
	form.proc_cd.value		= "D";
	layerAlert.open(300, 160, null, "コメントを削除しますか？", ["削除","キャンセル"], true, this.callbackDeleteEnqueteCmtConfirm.bind(this) );
	return false;
};

NTBoard.callbackDeleteEnqueteCmtConfirm = function(selectedIndex) {
	var form = document.forms[this.formNmCmt];
	if (selectedIndex == 1) {
		this.isSubmit = true;
		SimpleAjax.executeXHFormRequest("post", "./comment.do.asp", true, form, ["proc_cd","page","enquete_mst_no","comment_no"], 
										this.callbackEnqueteCmtAction.bind(this), form.proc_cd.value, "e4x", ["gyComment","gyPageNav"]);	
	}else{
		form.comment_no.value	= "";
		form.proc_cd.value		= "I";
	}
};

NTBoard.checkEnqueteCmtLength = function() {
	var form = document.forms[this.formNmCmt];
	var areaCmtCount = document.getElementById(this.idCmtTextLength);
	if (form && areaCmtCount) {
		areaCmtCount.innerHTML = form.comment_text.value.blength().toString();
	}
	return true;
};


/* Etc ********************************/

NTBoard.getByteFormatString = function(size) {
	if (size == 0) {
	}else if (size > 1024*1024*1024) {
		return Math.round( size/1024*1024*1024 ).toString() + "GB";
	}else if (size > 1024*1024) {
		return Math.round( size/1024*1024 ).toString() + "MB";
	}else if (size > 1024) {
		return Math.round( size/1024 ).toString() + "KB";
	}else{
		return size.toString() + "Bytes"
	}
};

