
var PhotoCommentElement = function (messageId, viewId, submitId, newnaiNum, photoId, nickName, userImg) {
	PhotoCommentElement.comment_list = YAHOO.util.Dom.getElementsByClassName("comment-list", "OL")[0];
	PhotoCommentElement.newnaiNum = newnaiNum;
	PhotoCommentElement.photoId = photoId;
	PhotoCommentElement.nickName = nickName;
	PhotoCommentElement.userImg = userImg;
	PhotoCommentElement.message = YAHOO.util.Dom.get(messageId);
	PhotoCommentElement.viewButton = YAHOO.util.Dom.get(viewId);
	PhotoCommentElement.submitButton = YAHOO.util.Dom.get(submitId);
	PhotoCommentElement.submitButton.disabled = false;
};
PhotoCommentElement.DEFAULT_ID = "comment_";
PhotoCommentElement.AJAX_DELETE_URL = "doPhotoComment.do?method=delete";
PhotoCommentElement.AJAX_ADD_URL = "doPhotoComment.do?method=add";
PhotoCommentElement.AJAX_MODIFY_URL = "doPhotoComment.do?method=modify";
PhotoCommentElement.AJAX_TOP_URL = "doPhotoComment.do?method=top";
PhotoCommentElement.DEFAULT_LEFT_CLASS = "pull-left";
PhotoCommentElement.DEFAULT_RIGHT_CLASS = "meta";
PhotoCommentElement.DEFAULT_CONTENT_CLASS = "comment-content";
PhotoCommentElement.DEFAULT_META_CLASS = "meta";
PhotoCommentElement.STATIC_LINK = "#comment";
PhotoCommentElement.comment_list = null;
PhotoCommentElement.message = null;
PhotoCommentElement.newnaiNum = 0;
PhotoCommentElement.photoId = 0;
PhotoCommentElement.nickName = "";
PhotoCommentElement.userImg = "";
PhotoCommentElement.viewButton = null;
PhotoCommentElement.submitButton = null;
PhotoCommentElement.quoteComment = function (commentId) {
	var li = YAHOO.util.Dom.get("comment_" + commentId);
	var user = YAHOO.util.Dom.getElementsByClassName("_comment_user", "A", li)[0];
	var userName = "";
	if(user){
		var address = user.parentNode.innerHTML.split(" <")[0];
		userName = user.innerHTML;
		if(userName == "我"){
			userName = PhotoCommentElement.nickName;
		}
		userName = address + " " + userName;
	}else{
		var address = YAHOO.util.Dom.get("address").value;
		var ipAddress = YAHOO.util.Dom.get("ipAddress").value;
		userName = address + " " + ipAddress;
	}
	var context = YAHOO.util.Dom.getElementsByClassName("_comment_context", "DIV", li)[0];
	var textt = context.innerHTML.split("<br>");
	var tmp = "";
	for (var i = 0; i < textt.length; i++) {
		tmp += textt[i] + "\n";
	}
	tmp = tmp.substr(0, tmp.length - 1);
	PhotoCommentElement.message.focus();
	PhotoCommentElement.message.value = "<blockquote>" + userName + " \u8bf4\uff1a\n" + tmp + "</blockquote>\n";
	PhotoCommentElement.submitButton.value = "发表评论";
	PhotoCommentElement.message.focus();
};
PhotoCommentElement.deleteComment = function (commentId) {
	if (!window.confirm("\u60a8\u786e\u8ba4\u8981\u5220\u9664\u8be5\u6761\u8bc4\u8bba\u5417\uff1f")) {
		return;
	}
	var data = "commentid=" + commentId;
	var opt = {success:function (o) {
		var result = o.responseText;
		if (result == "ajax_failure") {
			alert("\u5220\u9664\u5931\u8d25");
		} else {
			PhotoCommentElement.comment_list.removeChild(YAHOO.util.Dom.get(PhotoCommentElement.DEFAULT_ID + commentId));
		}
	}, failure:function (o) {
		window.alert("对不起，服务器正忙，请稍后重试！");
	}};
	YAHOO.util.Connect.asyncRequest("POST", PhotoCommentElement.AJAX_DELETE_URL, opt, data);
};
PhotoCommentElement.addComment = function () {
	var validCode = YAHOO.util.Dom.get("validCode").value;
	if(validCode.length == 0){
		alert("验证码不能为空！");
		YAHOO.util.Dom.get("validCode").focus();
		return;
	}
	if (PhotoCommentElement.message.value.length < 1) {
		alert("\u8bf7\u8f93\u5165\u4e00\u4e9b\u8bc4\u8bba\u518d\u63d0\u4ea4\uff01");
		return;
	}
	PhotoCommentElement.submitButton.disabled = true;
	var text = PhotoCommentElement.message.value.split("</blockquote>\n");
	var context = "";
	for (var i = 0; i < text.length; i++) {
		context += text[i] + "</blockquote>";
	}
	context = context.substr(0, context.length - 13);
	var p = context.split("\n");
	context = "";
	for (var i = 0; i < p.length; i++) {
		context += p[i] + "<br>";
	}
	context = context.substr(0, context.length - 4);
	if (context.length > NEWNAI_PARAMS.commentLength) {
		context = context.substr(0, NEWNAI_PARAMS.commentLength);
		alert("评论的长度应小于"+NEWNAI_PARAMS.commentLength+"个字，超出的部分系统将自动截取！");
	}
	var address = YAHOO.util.Dom.get("address").value;
	var ipAddress = YAHOO.util.Dom.get("ipAddress").value;
	var url = PhotoCommentElement.AJAX_ADD_URL;
	var data = "validCode=" + validCode + "&newnaiNum=" + PhotoCommentElement.newnaiNum + "&photoId=" + PhotoCommentElement.photoId
	 + "&content=" + context + "&address=" + address ;
	var modify = false;
	var commentId = 0;
	if(PhotoCommentElement.submitButton.commentId){
		commentId = PhotoCommentElement.submitButton.commentId;
		modify = true;
		url = PhotoCommentElement.AJAX_MODIFY_URL;
		data = "commentid=" + PhotoCommentElement.submitButton.commentId + "&content=" + context + "&validCode=" + validCode;
	}
	data = encodeURI(data);
	var opt = {success:function (o) {
		var result = o.responseText;
		if (result == "ajax_failure") {
			alert("\u6dfb\u52a0\u5931\u8d25 \u8bf7\u7a0d\u540e\u91cd\u8bd5!");
			PhotoCommentElement.submitButton.disabled = false;
		} else if(result == "validCode_failure"){
			alert("验证码输入错误，请重新输入!");
			changeImg(document.getElementById('validateImg'));
			PhotoCommentElement.submitButton.disabled = false;
		}else {
			if(modify){
				alert("评论修改成功！");
				var li = YAHOO.util.Dom.get("comment_" + commentId);
				var area = YAHOO.util.Dom.getElementsByClassName("_comment_context", "DIV", li)[0];
				area.innerHTML = context;
				PhotoCommentElement.message.value = "";
			}else{
				alert("\u8bc4\u8bba\u53d1\u8868\u6210\u529f\uff01");
				PhotoCommentElement.createComment(result.split(",")[0], result.split(",")[1]);
				PhotoCommentElement.message.value = "";
			}
			var count = 0;
			var time = window.setInterval(function () {
				count++;
				PhotoCommentElement.submitButton.value = "\u7a0d\u7b49" + (5 - count) + "\u79d2";
				PhotoCommentElement.submitButton.title = "\u7a0d\u7b49" + (5 - count) + "\u79d2";
				if (count == 5) {
					PhotoCommentElement.submitButton.disabled = false;
					PhotoCommentElement.submitButton.value = "\u7ee7\u7eed\u53d1\u8868\u8bc4\u8bba";
					PhotoCommentElement.submitButton.title = "\u7ee7\u7eed\u53d1\u8868\u8bc4\u8bba";
					window.clearInterval(time);
				}
			}, 1000);
		}
	}, failure:function (o) {
		window.alert("对不起，服务器正忙，请稍后重试！");
		PhotoCommentElement.submitButton.disabled = false;
	}};
	YAHOO.util.Connect.asyncRequest("POST", url, opt, data);
};
PhotoCommentElement.modifyComment = function (commentId) {
	var li = YAHOO.util.Dom.get("comment_" + commentId);
	var user = YAHOO.util.Dom.getElementsByClassName("_comment_user", "A", li)[0];
	var context = YAHOO.util.Dom.getElementsByClassName("_comment_context", "DIV", li)[0];
	var textt = context.innerHTML.split("<br>");
	var tmp = "";
	for (var i = 0; i < textt.length; i++) {
		tmp += textt[i] + "\n";
	}
	tmp = tmp.substr(0, tmp.length - 1);
	PhotoCommentElement.message.focus();
	PhotoCommentElement.message.value = tmp;
	PhotoCommentElement.submitButton.value = "保存修改内容";
	PhotoCommentElement.submitButton.commentId = commentId;
	PhotoCommentElement.message.focus();
};
PhotoCommentElement.hiddenTools = function(li){
	var tool = YAHOO.util.Dom.getElementsByClassName("meta", "DIV", li);
	YAHOO.util.Dom.setStyle(tool, "display", "none");
};
PhotoCommentElement.showTools = function(li){
	var tool = YAHOO.util.Dom.getElementsByClassName("meta", "DIV", li);
	YAHOO.util.Dom.setStyle(tool, "display", "block");
};
PhotoCommentElement.cancelComment = function () {
	PhotoCommentElement.submitButton.value = "发表评论";
	PhotoCommentElement.submitButton.commentId = undefined;
	PhotoCommentElement.message.value = "";
};
PhotoCommentElement.viewComment = function () {
};
PhotoCommentElement.createComment = function (commentId, time) {
	var li = document.createElement("LI");
	li.id = PhotoCommentElement.DEFAULT_ID + commentId;
	YAHOO.util.Event.on(li, "mouseover", function () {
		PhotoCommentElement.showTools(this);
	});
	YAHOO.util.Event.on(li, "mouseout", function () {
		PhotoCommentElement.hiddenTools(this);
	});
	var meta = document.createElement("DIV");
	YAHOO.util.Dom.setStyle(meta, "display", "none");
	YAHOO.util.Dom.addClass(meta, PhotoCommentElement.DEFAULT_RIGHT_CLASS);
	var staticLink = document.createElement("A");
	staticLink.href = PhotoCommentElement.STATIC_LINK + "_" + commentId;
	staticLink.innerHTML = "\u6c38\u4e45\u94fe\u63a5";
	staticLink.onclick = new Function("copyLink(this)");
	meta.appendChild(document.createTextNode("( "));
	meta.appendChild(staticLink);
	meta.appendChild(document.createTextNode(" | "));
	if(PhotoCommentElement.newnaiNum != 0){
		var modify = document.createElement("A");
		modify.href = "javascript:PhotoCommentElement.modifyComment('" + commentId + "')";
		modify.innerHTML = "修改";
		meta.appendChild(modify);
		meta.appendChild(document.createTextNode(" | "));
		var del = document.createElement("A");
		del.href = "javascript:PhotoCommentElement.deleteComment('" + commentId + "')";
		del.innerHTML = "\u5220\u9664";
		meta.appendChild(del);
		meta.appendChild(document.createTextNode(" | "));
	}
	var qLink = document.createElement("A");
	qLink.href = "javascript:PhotoCommentElement.quoteComment('" + commentId + "')";
	qLink.innerHTML = "\u5f15\u7528";
	meta.appendChild(qLink);
	meta.appendChild(document.createTextNode(" )"));
	
	var left = document.createElement("DIV");
	YAHOO.util.Dom.addClass(left, PhotoCommentElement.DEFAULT_LEFT_CLASS);
	var head = document.createElement("IMG");
	head.src = PhotoCommentElement.userImg;
	head.title = PhotoCommentElement.nickName;
	YAHOO.util.Dom.setStyle(head, "width", "48px");
	YAHOO.util.Dom.setStyle(head, "height", "48px");
	if(PhotoCommentElement.newnaiNum != 0){
		var hLink = document.createElement("A");
		hLink.href = "showUserHomePage.do?newnaiNum=" + PhotoCommentElement.newnaiNum;
		hLink.title = PhotoCommentElement.nickName;
		YAHOO.util.Event.on(head, "mouseover", function () {
			PersonElement.delayTimer(this, PhotoCommentElement.newnaiNum);
		});
		hLink.appendChild(head);
		left.appendChild(hLink);
	}else{
		left.appendChild(head);
	}
	var action = document.createElement("P");
	YAHOO.util.Dom.addClass(action, "action-ding");
	var ding = document.createElement("A");
	ding.href = "javascript:void(0)";
	ding.onclick = new Function("PhotoCommentElement.topComment('"+commentId+"', this)");
	ding.innerHTML = "顶";
	var count = document.createElement("SPAN");
	YAHOO.util.Dom.addClass(count, "count");
	count.innerHTML = 0;
	action.appendChild(ding);
	action.appendChild(document.createTextNode(" "));
	action.appendChild(count);
	left.appendChild(action);
	
	var content = document.createElement("DIV");
	YAHOO.util.Dom.addClass(content, PhotoCommentElement.DEFAULT_CONTENT_CLASS);
	var h = document.createElement("H3");
	var address = YAHOO.util.Dom.get("address").value;
	h.appendChild(document.createTextNode(address + " "));
	if(PhotoCommentElement.newnaiNum != 0){
		var nLink = document.createElement("A");
		YAHOO.util.Dom.addClass(nLink, "_comment_user");
		nLink.href = "showUserHomePage.do?newnaiNum=" + PhotoCommentElement.newnaiNum;
		nLink.innerHTML = "我";
		h.appendChild(nLink);
	}else{
		var ipAddress = YAHOO.util.Dom.get("ipAddress").value;
		var formIp = document.createElement("SPAN");
		YAHOO.util.Dom.addClass(formIp, "from-ip");
		formIp.appendChild(document.createTextNode(" IP:"+ipAddress));	
		h.appendChild(formIp);	
	}
	content.appendChild(h);
	
	var tSpan = document.createElement("SPAN");
	tSpan.appendChild(document.createTextNode(time + " \u8bf4\uff1a"));
	YAHOO.util.Dom.addClass(tSpan, "date");
	content.appendChild(tSpan);
	var div = document.createElement("DIV");
	YAHOO.util.Dom.addClass(div, "_comment_context");
	var text = PhotoCommentElement.message.value.split("</blockquote>\n");
	var context = "";
	for (var i = 0; i < text.length; i++) {
		context += text[i] + "</blockquote>";
	}
	context = context.substr(0, context.length - 13);
	text = context.split("\n");
	context = "";
	for (var i = 0; i < text.length; i++) {
		context += text[i] + "<br>";
	}
	context = context.substr(0, context.length - 4);
	if (context.length > NEWNAI_PARAMS.commentLength) {
		context = context.substr(0, NEWNAI_PARAMS.commentLength);
	}
	div.innerHTML = context;
	content.appendChild(div);
	content.appendChild(meta);
	li.appendChild(left);
	li.appendChild(content);
	PhotoCommentElement.comment_list.appendChild(li);
};
PhotoCommentElement.topComment = function (commentId, link) {
	var data = "commentid=" + commentId;
	var opt = {success:function (o) {
		var result = o.responseText;
		if (result == "ajax_failure") {
			alert("顶帖失败，注意您是否短时间内连续顶贴啦！");
		} else {
			var parent = link.parentNode;
			var count = YAHOO.util.Dom.getElementsByClassName("count", "SPAN", parent)[0];
			count.innerHTML = (parseInt(count.innerHTML, 10) + 1);
			var span = document.createElement("SPAN");
			span.appendChild(document.createTextNode("顶"));
			parent.insertBefore(span, link);
			parent.removeChild(link);
		}
	}, failure:function (o) {
		window.alert("对不起，服务器正忙，请稍后重试！");
	}};
	YAHOO.util.Connect.asyncRequest("POST", PhotoCommentElement.AJAX_TOP_URL, opt, data);
};
