
if (typeof wzs == "undefined") {
	wzs = {};
}

function ColumnEntry() {};

ColumnEntry.prototype.cntcaptcha = 0;

ColumnEntry.prototype.check_comment_form = function() {

	Ext.getDom('process_status').innerHTML = "入力内容をチェックしています。！！";
	var errmsg = this.check_comment_items();

	if (errmsg != "") {
		alert(errmsg);
		Ext.getDom('process_status').innerHTML = "";
		return false;
	}

	var param = new Object();
	param.entry_id = Ext.getDom('entry_id').value;
	param.author = Ext.getDom('author').value;
	param.comment = Ext.getDom('comment').value;

	var tmpthis = this;

	this.cntcaptcha = 0;
	wzs.requestAjax(param, "/columns/comment_confirm_ajax/", 
		(function(response) {
			var obj = Ext.util.JSON.decode(response);	
			if (obj.result == "OK") {
				Ext.getDom('confirm').innerHTML = tmpthis.sub_res_comment_confirm(obj);
				Ext.get("input").setStyle({display: 'none'});
				Ext.getDom('process_status').innerHTML = "";
			} else {
				var alertmsg = "入力内容にエラーがありました！！\n";
				if (errmsg_author) alertmsg +=  " *" + obj.errmsg_author + "\n";
				if (errmsg_comment) alertmsg +=  " *" + obj.errmsg_comment + "\n";
				alert(alertmsg);
				Ext.getDom('process_status').innerHTML = "入力内容にエラーがありました！！";
				Ext.getDom('errmsg-author').innerHTML = obj.errmsg_author;
				Ext.getDom('errmsg-comment').innerHTML = obj.errmsg_comment;
			}
		}),
		"json");

	return false;
}

ColumnEntry.prototype.sub_res_comment_confirm = function(obj) {

	this.captcha = obj.captchafile;

	ret = "";
	ret += "<table class=\"tbl_input\">\n";
	ret += "<tbody>\n";
	ret += "<tr>\n";
	ret += "<td class=\"key\">お名前<span class=\"mandatory\">*</span></td>\n";
	ret += "<td class=\"value\">\n";
	ret += obj.author + "\n";
	ret += "</td>\n";
	ret += "<td class=\"msg\">\n";
	ret += "</td>\n";
	ret += "</tr>\n";
	ret += "<tr>\n";
	ret += "<td class=\"key\">コメント<span class=\"mandatory\">*</span></td>\n";
	ret += "<td class=\"value\">\n";
	ret += "<textarea rows=\"10\" cols=\"40\" disabled=\"disabled\" style=\"background-color:#ffffff;border:1px solid #999999;color:#000000;\">" + obj.comment + "</textarea>\n";
	ret += "<td class=\"msg\">\n";
	ret += "</td>\n";
	ret += "</tr>\n";
	ret += "<tr>\n";
	ret += "<td class=\"key\">認証<span class=\"mandatory\">*</span></td>\n";
	ret += "<td class=\"value\">\n";
	ret += "<p id=\"imgcaptcha\"><img class=\"imgcaptcha\" src=\"/images/captchas/" + obj.captchafile + ".gif\" alt=\"\"></p>\n";
	ret += "<input type=\"text\" size=\"20\" maxlength=\"6\" name=\"captcha\" id=\"captcha\" value=\"\" />\n";
	ret += "<p>上の英数字を入力してください</p>\n";
	ret += "<p>エラーではねられる場合、認証文字がわかりにくい場合は、下のボタンで変更できます。</p>\n";
	ret += "<button id=\"btnUpdate\" type=\"button\" onclick=\"return clsfunc.update_captcha();\">認証文字変更</button>";
	ret += "</td>\n";
	ret += "<td class=\"msg\">\n";
	ret += "</td>\n";
	ret += "</tr>\n";
	ret += "</tbody>\n";
	ret += "</table>\n";

	ret += "<button id=\"btnUpdate\" type=\"button\" onclick=\"return clsfunc.update_comment_form();\">この内容で投稿する</button>\n";
	ret += "<button id=\"btnToConfirm\" type=\"button\" onclick=\"return clsfunc.reinput_comment_form();\">もとの画面で修正する</button>\n";

	return ret;
}


ColumnEntry.prototype.check_comment_items = function() {
	var errmsg = "";

	errmsg += wzs.Tools.check_anitem(Ext.getDom('author').value, 'お名前', true, 0, 32, false);
	errmsg += wzs.Tools.check_anitem(Ext.getDom('comment').value, '内容', true, 0, 500, false);

	return errmsg;
}

ColumnEntry.prototype.reinput_comment_form = function() {
	Ext.getDom('confirm').innerHTML = "";
	Ext.get("input").setStyle({display: 'block'});
	Ext.getDom('process_status').innerHTML = "";
	Ext.getDom('errmsg-author').innerHTML = "";
	Ext.getDom('errmsg-comment').innerHTML = "";
}


ColumnEntry.prototype.update_comment_form = function() {

	var param = new Object();
	param.entry_id = Ext.getDom('entry_id').value;
	param.author = Ext.getDom('author').value;
	param.comment = Ext.getDom('comment').value;
	param.captcha = document.getElementById('captcha').value;
	param.crypt = this.captcha;

	var tmpthis = this;

	wzs.requestAjax(param, "/columns/comment_update_ajax/", 
		(function(response) {
			var obj = Ext.util.JSON.decode(response);	
			if (obj.result == "OK") {
				location.reload();
			} else {
				tmpthis.cntcaptcha++;
				if (tmpthis.cntcaptcha < 10) {
					alert("認証の文字列が違います!\n" + tmpthis.cntcaptcha + "回目\n10回間違えますと投稿できません");
				} else {
					location.reload();
				}
			}
		}),
		"json");
	return false;
}

ColumnEntry.prototype.update_captcha = function() {

	var param = new Object();
	var tmpthis = this;

	wzs.requestAjax(param, "/system/getcaptcha/", (
		function(response) {
			var obj = Ext.util.JSON.decode(response);
			tmpthis.captcha = obj.captchafile;
			document.getElementById("imgcaptcha").innerHTML = "<img class=\"imgcaptcha\" src=\"/images/captchas/" + obj.captchafile + ".gif\" alt=\"\">";
		}),
		"json");

	return false;
}


