var _max = $('.suifaLengthTip').text();// 随发最大可输入的文字长?
$(function() {
suifaImgesSelectAndPreview();
suifaContentLengthLimit();
replyContentLengthLimit();
releaseEvent();
viewSuifaEvent();
replyEvent();
clickZanEvent();
clickFocusEvent();
deleteSuifa();
$('.emotion').qqFace({
id : 'facebox',
assign : 'suifaContent',
path : 'vendors/jQuery-qqFace/arclist/' // 表情存放的路?
});
});
/**
* 删除随发
*/
function deleteSuifa() {
var suifaId = "";
$(".suifa_delete").unbind("click").click(function() {
suifaId = $(this).attr("data_suifa_id");
$("#myDeleteSuifaModal").modal("show");
});
// 删除回复确认
$("#btnDeleteSuifa").unbind("click").click(function() {
$.post("community/deleteSuifa.htm", {
'suifaId' : suifaId
}, function(result) {
if (result.success) {
$("#myDeleteSuifaModal").modal("hide");
$("#"+suifaId).remove();
$('.wrapper:eq(0)').masonry('reload');
} else {
if (!result.login) {
window.location.href = "login.htm";
}
alert(result.msg);
}
}, "json");
});
}
/**
* 删除回复
*/
function deleteReplyEvent() {
var loginUserId = $(".openmodal .reply").attr("login_id");
$(".replyContent").unbind("click");
$(".replyContent").click(function() {
var replyUserId = $(this).attr("user_id");
var replyId = $(this).attr("reply_id");
var suifaId = $(this).attr("suifa_id");
// 只有登录用户id和回复者id相同才能删除回复
if (replyUserId == loginUserId) {
$("#myDeleteReplyModal").modal("show");
$("#btnDeleteReply").attr("reply_id", replyId);
$("#btnDeleteReply").attr("suifaId", suifaId);
}
});
// 删除回复确认
$("#btnDeleteReply").unbind("click");
$("#btnDeleteReply").click(function() {
var replyId = $(this).attr("reply_id");
var suifaId = $(this).attr("suifaId");
$.post("community/deleteReplySuifa.htm", {
'replyId' : replyId
}, function(result) {
if (result.success) {
$("#myDeleteReplyModal").modal("hide");
var delCount = removeReplyTr(replyId);
var newCountreply = $("#view_suifa_reply").text() * 1 - delCount;
// 回复成功以后,页面回复数据加1
$("#view_suifa_reply").text(newCountreply);
$("#countReply" + suifaId).text(newCountreply);
} else {
if (!result.login) {
window.location.href = "login.htm";
}
alert(result.msg);
}
}, "json");
});
}
/**
* 删除回复的tr元素
*
* @param replyId
*/
function removeReplyTr(replyId) {
var count = 0;
$("#" + replyId).remove();
var replyItemTr = $("tr[parent_id='" + replyId + "']");
replyItemTr.each(function() {
var itemRplyId = $(this).attr("id");
count = count + removeReplyTr(itemRplyId);
});
replyItemTr.remove();
count++;
return count;
}
/**
* 点击关注事件注册
*/
function clickFocusEvent() {
$("#aFocus").unbind("click");
$("#aFocus").click(function() {
// 判断是否已关注,如果已关注,则取消关?
var toUserId = $(this).attr("data_to_id");
if (toUserId) {
$.post("community/focusSuifaUser.htm", {
'toUserId' : toUserId
}, function(result) {
if (result.success) {
if (result.attention) {
$("#aFocus").text("已关?);
} else {
$("#aFocus").text("+关注");
}
} else {
if (!result.login) {
window.location.href = "login.htm";
}
}
}, "json");
}
});
}
/**
* 点赞事件注册
*/
function clickZanEvent() {
$(".zan").unbind("click");
$(".zan").click(function() {
var $cur = $(this);
var suifaId = $(this).find("#zan_suifaId").val();
var $zanCout = $(this).find(".like");
var $zanCout1 = $("#countZan" + suifaId);
if (suifaId) {
$.post("community/suifaClickZan.htm", {
'suifaId' : suifaId
}, function(result) {
if (result.success) {
var newZanCount = $zanCout.text() * 1;
if (result.zan) {
newZanCount = newZanCount + 1;
$cur.attr("class","like-a zan");
} else {
newZanCount = newZanCount - 1;
$cur.attr("class","zan");
}
$zanCout.text(newZanCount);
$zanCout1.text(newZanCount);
} else {
if (!result.login) {
window.location.href = "login.htm";
}
}
}, "json");
}
});
}
/**
* 回复随发事件注册
*/
function replyEvent() {
var $suifaId = $("#view_suifa_id");// 随发主键
var $parentReplyId = $("#view_parent_reply_id");// 被回复的主键
var $suifaContent = $("#replyContent");// 回复的内?
var $btn = $("#btnReply");// 回复发布按钮
$("#btnReply").unbind("click");
$("#btnReply").click(function() {
var suifaId = $suifaId.val();
var parentReplyId = $parentReplyId.val();
var suifaContent = $suifaContent.val();
if (suifaContent == null || suifaContent == undefined || suifaContent == '') {
// alert("回复内容不能为空,请重新输入后再提交回复?);
return;
}
$.post("community/replySuifa.htm", {
'suifaId' : suifaId,
'parentReplyId' : parentReplyId,
'content' : suifaContent
}, function(result) {
if (result.success) {
var replyTr = createReplyTr(result.reply);
if (result.reply.parent_reply_id) {
var $tr;
var $parentAllTr = $("tr[parent_id='" + result.reply.parent_reply_id + "']");
if ($parentAllTr && $parentAllTr.length > 0) {
$tr = $parentAllTr.last();
} else {
$tr = $("#" + result.reply.parent_reply_id);
}
$tr.after(replyTr);
} else {
$(".openmodal .reply").show();
$(".openmodal .reply").append(replyTr);
deleteReplyEvent();
}
var newCountreply = $("#countReply" + suifaId).text() * 1 + 1;
// 回复成功以后,页面回复数据加1
$("#view_suifa_reply").text(newCountreply);
$("#countReply" + suifaId).text(newCountreply);
$("#replySuccessTip").show();
$("#replyContent").attr({
"disabled" : "disabled"
});
$suifaContent.val("");
// 禁用发布按钮
$btn.attr({
"disabled" : "disabled"
});// 内容长度超出,则禁用发布按钮
$btn.addClass("btn-disabled");
/**
* 1秒钟以后重新启用
*/
setTimeout("enableReplyDialog()", 1000);
} else {
alert(result.msg);
}
}, 'json');
});
}
/**
* 启用回复弹出?
*/
function enableReplyDialog() {
$(".replyLengthTip").text(_max);
$("#replySuccessTip").hide();
$("#replyContent").removeAttr("disabled");
}
/**
* 查看随发事件注册
*/
function viewSuifaEvent() {
var $suifaImage = $("#view_suifa_image");
var $suifaImagePath = $("#suifa_image_path");
var $defaultUserImage = $("#view_default_user_image");// 默认头像
var $userImage = $("#view_user_image");
var $userName = $("#view_user_name");
var $suifaZan = $("#view_suifa_zan");
var $suifaDate = $("#view_suifa_date");
var $suifaReply = $("#view_suifa_reply");
var $suifaContent = $("#view_suifa_content");
var $viewSuifaId = $("#view_suifa_id");
var $parentReplyId = $("#view_parent_reply_id");// 被回复的主键
var $replyToUserName = $("#view_reply_to_user_name");
var $homea = $(".home_a");
var $view_suifa_zan = $("#suifa_zan");
var suifaImageSrc = $suifaImagePath.val();
var userUrl = $("#hidden_user_url").val();
var userImageSrc = $("#hidden_user_image").val();
$("div.wfc a.openModal").unbind();
$("div.wfc a.openModal").click(function() {
if ($(this).find(".official").length > 0) {
return;
}
var suifaId = $(this).find("#suifaId").val();
$(this).find(".zan").attr("data_id", suifaId);
// 关注标签
var $focus = $("#aFocus");
// 获取当前登录用户id
var userId = $focus.attr("data_to_id");
// 初始化关注按?
$focus.text("+关注");
$focus.removeAttr("data_focus");
$("#myModal").find("#zan_suifaId").val(suifaId);
$(".openmodal .reply").hide().text("");
$.post("community/viewSuifaInfo.htm", {
'suifaId' : suifaId
}, function(result) {
if (result.official) {
return;
}
// 弹出显示回复?
$("#myModal").modal("show");
$("#replyContent").val("");
$homea.attr("href", userUrl + result.user_id);
if(result.dianzan==true){
$view_suifa_zan.attr("class" ,"like-a zan");
}else{
$view_suifa_zan.attr("class" ,"zan");
}
// 判断是否显示关注按钮,如果随发的用户和当前用户是同一个,则隐藏关注按?
if ($("#hidden_user_id").val() == result.user_id) {
$focus.hide();
} else {
$focus.show();
// 记录被关注的用户主键,用于被关注时方便获?
$focus.attr("data_to_id", result.user_id);
}
// 判断是否已关?
if (result.focus) {
$focus.text("已关?);
$focus.attr("data_focus", "true");
}
$viewSuifaId.val(result.suifa_id);
$suifaImage.attr("src", suifaImageSrc + result.image);
if (result.user_image && result.user_image != "") {
$defaultUserImage.hide();
$userImage.show();
$userImage.attr("src", userImageSrc + "=" + result.user_image);
} else {
$userImage.hide();
$defaultUserImage.show();
}
$userName.text(result.user_name ? result.user_name : result.login_name);
$suifaZan.text(result.count_zan);
$suifaDate.text(result.display_suifa_date);
$suifaReply.text(result.count_reply);
$suifaContent.html(replace_em(result.content));
$replyToUserName.text(result.user_name ? result.user_name : result.login_name);// 回复对象,默认是随发用户
var reply = '';
// 填充回复列表
$.each(result.replys, function(key, value) {
reply = reply + createReplyTr(value);
});
if (reply != '') {
$(".openmodal .reply").show();
$(".openmodal .reply").prepend(reply);
}
deleteReplyEvent();
}, 'json');
});
}
/**
* 选择回复
*
* @param replyId
* 回复主键
* @param userName
* 被回复的用户
*/
function selectReply(replyId, userName) {
$("#view_parent_reply_id").val(replyId);
$("#view_reply_to_user_name").text(userName);
}
function replace_em(str) {
if (typeof(str) == "undefined") {
return "";
}
str = str.replace(/\/g, '>');
str = str.replace(/\n/g, '
');
str = str.replace(/\[em_([0-9]*)\]/g, '');
return str;
}
/**
* 创建回复的tr标签
*
* @param value
* @returns {String}
*/
function createReplyTr(value) {
var reply = '';
if (value) {
reply = reply + '