﻿//Topic func

function PostReply() {
	window.frames["Editor"].Save();
	if ($("#msgcontent").val().replace(/( |&nbsp;|\<.+\/\>| )/gi, "") == "") { $.alert("内容不能为空！"); return; }
	//检查附件
	var isSucc = true;
	$(":file").each(function() {
		var filepath = this.value;
		if (filepath == "") return;

		if (filepath.indexOf(".") == -1 || ".gif.png.jpg.rar.zip.7z.".indexOf(filepath.substring(filepath.lastIndexOf("."), filepath.length).toLowerCase() + ".") == -1) {
			$.alert("选择了不允许上传的文件");
			isSucc = false;
			return;
		}
	});
	if (!isSucc) return;

	$("#button").attr({ disabled: true });
	$('#post')[0].submit();
	$.load("正在提交数据");
}

function submitRequest() {
	PostReply();
}

function PostTopic() {
	if ($("#title").val() == "") { $.alert("标题不能为空！"); return false; }
	PostReply();
}



//Edit post
var currentedit;
var currentid = 0;
var precontent = "";
function editPost(id) {
	if (currentid == id) return;
	if (currentid > 0 && !confirm("您有编辑操作尚未保存，确认放弃修改吗？")) return;
	if (currentid > 0) cancelEdit();

	currentid = id;
	currentedit = new nicEditor().panelInstance('tc_' + currentid, { hasPanel: true });
	precontent = currentedit.nicInstances[0].getContent();
	$("#postfoot_" + id).fadeIn();
}

function cancelEdit(keep) {
	if (currentid > 0) {
		if (keep == null || !keep) currentedit.nicInstances[0].setContent(precontent);
		currentedit.removeInstance('tc_' + currentid);
		$("#postfoot_" + currentid).fadeOut();
		currentid = 0;
	}
}

function saveEdit() {
	var ct = currentedit.nicInstances[0].getContent();
	if (ct.replace(/(&nbsp;|\<br \/\>| )/gi, "") == "") { showInfo("内容不能为空！"); return; }

	//保存操作
	$.post(self.location + "", {
		content: ct,
		postid: currentid
	}, function(data) {
		if (data.substring(0, 1) == "$") {
			setInfo(data.substring(1, data.length));
			cancelEdit();
		} else {
			setInfo(data);
			cancelEdit(true);
		}
		setTimeout("$.unblockUI();", 1000);
	});
}

function openImg(obj, evt) {
	var e = (evt) ? evt : window.event;
	if (window.event) {
		e.cancelBubble = true;
	} else {
		e.stopPropagation();
	}

	window.open(this.src);
}

$(function() {
	if ($.browser.msie) window.onload = resizeImg;
	$(".mainContent img").click(openImg).css({ cursor: 'pointer' }).each(function() {
		$(this).attr({ style: "" });
		$(this).parent().attr({ href: "javascript:void(0);" });
		this.onerror = function() { this.src = "http://images.0574.com/editor/images/imgerror.gif"; };
	});
	$(".mainContent a").attr({ target: "_blank" });
	parseMedia();
}
);

function parseMedia() {
	$(".mainContent").each(function() {
		var obj = this;
		var jobj = $(this);

		checkMedia(obj, jobj);
	});
}

function checkMedia(obj, jobj) {
	var html = obj.innerHTML;
	if (!/\[\/(FLASH|MUSIC|RM)\]/gi.test(html)) return;

	html = html.replace(/\[MUSIC=(\d+),(\d+),(\d){1}]([^\[]+)\[\/MUSIC\]/gi, function(a, b, c, d, e) {
		return "<object classid=\"clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6\" width=\"" + b + "\" height=\"" + c + "\"><param name='autostart' value='" + d + "' /><param name='url' value='" + e + "' /><embed src='" + e + "' autostart='" + d + "\" type='audio/x-ms-wma' width='" + c + "' height='" + d + "'></embed></object>";
	});
	html = html.replace(/\[RM=(\d+),(\d+),(\d){1}]([^\[]+)\[\/RM\]/gi, function(a, b, c, d, e) {
		var mid = Math.floor(Math.round() * 10000);
		return "<object classid=\"clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA\" width=\"" + b + "\" height=\"" + c + "\"><param name=\"autostart\" value=\"" + d + "\" /><param name=\"src\" value=\"" + e + "\" /><param name=\"controls\" value=\"imagewindow\" /><param name=\"console\" value=\"" + mid + "_\" /><embed src=\"" + e + "\" type=\"audio/x-pn-realaudio-plugin\" controls=\"IMAGEWINDOW\" console=\"" + mid + "_\" width=\"" + b + "\" height=\"" + c + "\"></embed></object><br /><object classid=\"clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA\" width=\"" + b + "\" height=\"32\"><param name=\"src\" value=\"" + e + "\" /><param name=\"controls\" value=\"controlpanel\" /><param name=\"console\" value=\"" + mid + "_\" /><embed src=\"" + e + "\" type=\"audio/x-pn-realaudio-plugin\" controls=\"ControlPanel\" console=\"" + mid + "_\" width=\"" + b + "\" height=\"32\"></embed></object>";
	});
	html = html.replace(/\[FLASH=(\d+),(\d+)]([^\[]+)\[\/FLASH\]/gi, function(a, b, c, d) {
		return "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"" + b + "\" height=\"" + c + "\"> <param name=\"movie\" value=\"" + d + "\" /> <param name=\"quality\" value=\"high\" /><embed src=\"" + d + "\" quality=\"high\" width=\"" + b + "\" height=\"" + c + "\" type=\"application/x-shockwave-flash\" /></embed></object>";
	});

	obj.innerHTML = html;
}

function resizeImg() {
	$(".mainContent img").each(function() {
		if (this.width != undefined && this.width > 500) this.width = 500;
	});
}

function pasteHTML(html) {
	window.frames["Editor"].pasteHTML(html);
}

function insf(id) {
	pasteHTML(ua["att" + id])
}

function ia(id) {
	if ($("#File" + id).val() == "") {
		alert("这个文件未选择！");
	} else {
		pasteHTML("[upload]" + id + "[/upload]");
	}
}

function Reply(id, build) {
	var a, t, c;
	if (build == 0) {
		a = $("#tza_" + id)[0].innerHTML;
		t = $("#tzt_" + id)[0].innerHTML;
		c = $("#tzc_" + id)[0].innerHTML;
	} else {
		a = $("#ta_" + id)[0].innerHTML;
		t = $("#tt_" + id)[0].innerHTML;
		c = $("#tc_" + id)[0].innerHTML;
	}
	var url = "/ClubHandler.ashx?act=FindPost&tid=" + topicID + "&pid=" + id + "&build=" + build;

	var html = "<div class='quotehead'><div>[<a href='" + url + "' target='_blank'>查找这个帖子 -&gt;</a>]</div>以下回复 <u>" + (build ? build + "F" : "楼主") + "</u> <strong>" + a + "</strong> 于 <em>" + t + "</em> 的发言：</div><br /><br />";
	pasteHTML(html);
}

function Quote(id, build) {
	var a, t, c;
	if (build == 0) {
		a = $("#tza_" + id)[0].innerHTML;
		t = $("#tzt_" + id)[0].innerHTML;
		c = $("#tzc_" + id)[0].innerHTML;
	} else {
		a = $("#ta_" + id)[0].innerHTML;
		t = $("#tt_" + id)[0].innerHTML;
		c = $("#tc_" + id)[0].innerHTML;
	}
	var url = "/ClubHandler.ashx?act=FindPost&tid=" + topicID + "&pid=" + id + "&build=" + build;

	var html = "<div class='quote'><div class='quotehead'><div>[<a href='" + url + "' target='_blank'>查找这个帖子 -&gt;</a>]</div>以下引用 <u>" + (build ? build + "F" : "楼主") + "</u> <strong>" + a + "</strong> 于 <em>" + t + "</em> 的发言：</div><div class='quotecontent'>" + getSubHtml(c) + "</div></div><br /><br />";
	pasteHTML(html);
}

function getSubHtml(c) {
	var v = c.replace(/\<(br|p).*\>/gi, "\r\n");
	v = v.replace(/\<[^\>]*\>/gi, "");
	if (v.length > 200) {
		return HTMLEncode(v.substring(0, 200));
	} else {
		return c;
	}
}

function HTMLEncode(text) {
	text = text.replace(/&/g, "&amp;");
	text = text.replace(/"/g, "&quot;");
	text = text.replace(/</g, "&lt;");
	text = text.replace(/>/g, "&gt;");
	text = text.replace(/'/g, "&#146;");
	text = text.replace(/\ /g, "&nbsp;");
	text = text.replace(/\n/g, "<br />");
	text = text.replace(/\t/g, "&nbsp;&nbsp;&nbsp;&nbsp;");
	return text;
}

function controlSize(size, id) {
	$("#" + id).css({ 'font-size': size + "px" });
}

function showPage() {
	var obj = $("#pager");
	var o = obj[0];

	for (var i = 1; i <= pc; i++) o.options[o.options.length] = new Option("第" + i + "页", i);

	obj.val(cp);
}

var calcTimerid = null;
function calcTimer() {
	if (rl == 0) return;

	calcTimerid = setInterval("calcTimerInv()", 1000);
	calcTimerInv();
}

function calcTimerInv() {
	var r = Math.floor(((new Date()).getTime() - lastRep.getTime()) / 1000);
	if (r >= rl) {
		$("#replyState").html("已经可以回复");
		$("#button")[0].disabled = false;
		clearInterval(calcTimerid);
	} else {
		$("#button")[0].disabled = true;
		$("#replyState").html("还必须等待 " + (rl - r) + " 秒");
	}
}

function df(id) {
	if (!confirm("确定要删除这个已经上传的附件吗？")) return;

	$("#uf_" + id).remove();
	$("#deletefile").val($("#deletefile").val() + "|" + id);
	uploadedf--;
	setStatus();
}


function setStatus() {
	//	var rest=5-uploadedf;
	//	for(var i=0;i<5;i++){
	//		$("#File"+i)[0].disabled=(i<rest)?false:true;
	//	}
}

//置顶
function topOp() {
	var i = $("#adminTop").attr("s");
	$.confirm("确定要把主题" + (i == 1 ? "解除" : "") + "置顶吗？", function() {
		$.ajax0574("/Club/ExtOp/settop/" + topicID, {l:1}, 1000, function(d) {
			var o = $("#adminTop");
			var x = o.attr("s");
			x = 1 - x;
			o.html(x ? "解除置顶" : "置顶").attr({ s: x });
			if (x) $("#adminaTop").html("总置顶");
		}, "正在处理……");
	});
}
function topAOp() {
	var i = $("#adminaTop").attr("s");
	$.confirm("确定要把主题" + (i == 1 ? "解除" : "") + "总置顶吗？", function() {
		$.ajax0574("/Club/ExtOp/settop/" + topicID, { l: 2 }, 1000, function(d) {
			var o = $("#adminaTop");
			var x = o.attr("s");
			x = 1 - x;
			o.html(x ? "解除总置顶" : "总置顶").attr({ s: x });
			if (x) $("#adminTop").html("置顶");
		}, "正在处理……");
	});
}
function lockOp() {
	var i = $("#adminLock").attr("s");
	$.confirm("确定要把主题" + (i == 1 ? "解除" : "") + "锁定吗？", function() {
		$.ajax0574("/Club/ExtOp/locktopic/" + topicID, {}, 1000, function(d) {
			var o = $("#adminLock");
			var x = o.attr("s");
			x = 1 - x;
			o.html(x ? "解除锁定" : "锁定").attr({ s: x });
		}, "正在处理……");
	});
}
function bestOp() {
	var i = $("#adminBest").attr("s");
	$.confirm("确定要把主题" + (i == 1 ? "取消" : "加为") + "精华吗？", function() {
		$.ajax0574("/Club/ExtOp/setbest/" + topicID, {}, 1000, function(d) {
			var o = $("#adminBest");
			var x = o.attr("s");
			x = 1 - x;
			o.html(x ? "取消精华" : "加精").attr({ s: x });
		}, "正在处理……");
	});
}
function deleteOp() {
	$.confirm("确定要删除吗？这个操作不可恢复！", function() {
		$.ajax0574("/Club/ExtOp/deletetopic/" + topicID, {}, 1000, null, "正在提交……");
	});
}
var deleteid;
function deleteReply(id) {
	deleteid = id;
	$.confirm("确定要删除吗？这个操作不可恢复！", function() {
		$.ajax0574("/Club/ExtOp/deletereply/" + topicID + "," + deleteid, {}, 1000, function(d) {
			$("#reply" + deleteid).remove();
		}, "正在提交……");
	});
}