feixn jPlugin.js
(function(g) {
var e = /(http:\/\/|https:\/\/|ftp:\/\/|www\.){1}[\w-]+(\.[\w-]+)*(:[\d]+)?(\/[\w-\.\/?&=]*)?/ig;
var a = /<img\s[\s\S]*?(alt='[^']*'|alt="[^"]*"|alt=[\S]*)[\s\S]*?(>[^<]*<\/img>|>)/gi;
var c = /^<br\s*\/?>$/i;
g.extend(g.fn, {
jChatWindow: function(at) {
var w = g.extend({
maxRelative: g(document.body),
mode: "singleChat",
user: {},
buddy: {},
defaultHeight: 365,
defaultWidth: 448,
onActive: function() {},
onClosed: function() {},
onFocus: function() {},
onMined: function() {},
onMaxed: function() {},
onResized: function() {},
onSendMessage: function() {}
},
at);
var X = g("<div />").attr("id", "Main_chatWindow_" + w.user.uid + "_" + w.buddy.uid).addClass("pop_default_message pop_dm_bg w450").css({
top: "-1000px",
left: "-1000px"
});
var s = g("<div />").addClass("pop_outer_new1");
var aa = g("<div />").addClass("pop_inner_new1");
X.append(s.append(aa));
X.appendTo(document.body);
w.maxRelative = ((typeof w.maxRelative == "string") ? g("#" + w.maxRelative) : w.maxRelative);
X.maxRelative = w.maxRelative;
var aE = g("<div />").addClass("pop_message_title h42_new1");
var D = w.buddy.statusClass;
var F = buddyPor(w.buddy, D, 2);
var t = g("<i />").addClass("nobg");
var o = g("<img />").attr("src", F);
var aG = g("<em />").addClass(status);
t.append(o).append(aG);
var ai = g("<span />").addClass("status");
var u = g("<strong />").addClass("pl20");
var J = g("<p />");
var aw = g("<h2 />").append(t).append(u).append(ai);
aE.append(aw).append(J);
aa.append(aE);
var ar = g("<div />").addClass("pop_ctr_bar");
var aH = g("<i />").addClass("close");
var W = g("<i />").addClass("max");
var z = g("<i />").addClass("min");
ar.append(z).append(W).append(aH);
aa.append(ar);
var B = g("<div />").addClass("message_main_new1 clearfix");
var G = g("<div />").addClass("message_content_new1");
var ad = G;
var y = g("<div />").addClass("chat_info chat_new1 chat_append_sec").css({
height: "158px"
});
var p = g("<div class='chat_append_tip chat_append_tip1'>请勿轻信汇款、中奖和话费充值等信息,谨防受骗。</div>");
y.append(p);
var m = g("<div />").addClass("face_main");
var j = g("<a />").attr("href", "#").attr("title", "选择表情").addClass("btn_face_new");
var ae = g("<a />").attr("href", "#").attr("title", "设置字体").addClass("btn_fonts none");
var H = jChatWindowPopExpression();
H.css("display", "none");
var al = g("<div />").addClass("chat_input chat_pc");
var an = "edit" + w.buddy.uid;
var R = g("<div contenteditable='true' id='" + an + "'/>").addClass("chat_textarea");
if (g.browser.mozilla) {
R.append("<br/>")
}
al.append(R);
var ax = g("<div />").addClass("send_btn");
var P = g("<a />").attr("href", "#").addClass("btn_send_new").append("发 送");
var aB = g("<span>");
var aj = X.attr("id") + "_checkbox";
var C = g("<input />").attr("name", "checkbox").attr("type", "checkbox").attr("id", aj).attr("checked", "checked");
var Z = g("<label />").attr("for", aj).append("以短信方式发送");
aB.append(C).append(Z);
var aA = g("<strong />").attr("id", X.attr("id") + "smsWordCounter").html("180");
var az = g("<em />").append("还可输入").append(aA).append("字");
ax.append(P).append(aB).append(az);
G.append(y).append(m.append(j).append(ae).append(H)).append(al).append(ax);
var ac = g("<div />").addClass("extend_btn");
var x = g("<a />").attr("href", "#").addClass("btn_display none").append("显示");
var I = g("<a />").attr("href", "#").addClass("btn_hide").append("隐藏");
X.isExpanded = true;
ac.append(x).append(I);
var aq = g("<div />").addClass("avatar");
var E = g("<img alt='' complete='complete' />").attr("src", portrait.defaultIcon);
var am = g("<div />").addClass("user_info_topnew1");
var q = "";
var ag = "";
if (w.buddy.mn && w.buddy.mn.trim().length > 0) {
ag = "fetion_mobile_new1";
q = w.buddy.mn
} else {
var r = new jCompactUri(w.buddy.uri);
ag = "fetion_num_new1";
if (r.isMobileNo) {
ag = "fetion_mobile_new1"
}
q = r.mobileNoOrSid
}
var k = g("<a href='#' target='_blank'>申请公开手机号</a>");
am.append(g("<div class='user_head_90new1' />").append(E)).append('<ul class="user_info_new1"><li><i id="buddy_icon" class=' + ag + "></i><label id='buddy_num' class=\"fetion_gray\">" + q + "</label></li></ul>");
var ah = g("<div />").addClass("user_info_botnew1");
var l = g("<img alt='' complete='complete' />").attr("src", portrait.defaultIcon);
ah.append(g("<i class='user_head_90new1' />").append(l));
aq.append(am).append(ah);
var L = null;
B.append(G).append(aq).append(ac);
aa.append(B);
var ab = g("<div class='chat_move_right' direction='right' />").css("cursor", "e-resize");
var Y = g("<div class='chat_move_left' direction='left' />").css("cursor", "w-resize");
var Q = g("<div class='chat_move_bottom' direction='bottom'><img alt='' src='images/onepixel.jpg' complete='complete' style='height:1px;width:1px' /></div>").css("cursor", "s-resize");
var aI = g("<div class='chat_move_rb' direction='right_bottom'><img alt='' src='images/onepixel.jpg' complete='complete' style='height:1px;width:1px' /></div>").css("cursor", "se-resize");
var aF = g("<div class='chat_move_lb' direction='left_bottom'><img alt='' src='images/onepixel.jpg' complete='complete' style='height:1px;width:1px' /></div>").css("cursor", "sw-resize");
var N = g("<div class='chat_move_top' direction='top'><img alt='' src='images/onepixel.jpg' complete='complete' style='height:1px;width:1px' /></div>").css("cursor", "n-resize");
var av = g("<div class='chat_move_rt' direction='right_top'><img alt='' src='images/onepixel.jpg' complete='complete' style='height:1px;width:1px' /></div>").css("cursor", "ne-resize");
var au = g("<div class='chat_move_lt' direction='left_top'><img alt='' src='images/onepixel.jpg' complete='complete' style='height:1px;width:1px' /></div>").css("cursor", "nw-resize");
X.append(N).append(Q).append(Y).append(ab).append(aI).append(av).append(aF).append(au);
X.lastPosition = {
top: X.css("top"),
left: X.css("left")
};
X.lastSize = {
height: X.height(),
width: X.width(),
isExpanded: X.isExpanded
};
X.isActived = false;
X.isShow = false;
X.isExpanded = true;
X.maxed = false;
X.enablechatInput = true;
X.inputPermission = 0;
X.hasShown = false;
function af(aK) {
stopPropagation(aK);
X.css("z-index", __zIndex++);
w.onFocus(X)
}
function T() {
H.css("display", "none")
}
X.close = function() {
X.css("z-index", -1);
if (X.maxed) {
X.maxed = false;
X.css({
top: X.lastPosition.top,
left: X.lastPosition.left
});
y.scrollTop(y.get(0).scrollHeight)
}
X.css({
top: "-1000px",
left: "-1000px"
});
X.isActived = false;
X.isShow = false;
X.hasShown = false;
X.expand();
T();
R.get(0).innerHTML = g.browser.mozilla ? "<br/>": "";
w.onClosed(X)
};
X.active = function() {
X.isActived = true;
X.css("z-index", -1);
X.resize(w.defaultHeight, w.defaultWidth);
w.onActive(X)
};
X.show = function(aL, aK) {
if (typeof aL == "number" && typeof aK == "number" && !X.maxed) {
X.css({
top: aL + "px",
left: aK + "px"
})
}
X.css({
"z-index": __zIndex++,
display: "block"
});
X.isShow = true;
X.hasShown = true;
R.blur();
R.focus();
X.resize();
w.onFocus(X)
};
X.focus = function() {
w.onFocus(X)
};
X.hide = function() {
X.css({
"z-index": -1,
display: "none"
});
T();
X.isShow = false
};
X.resize = function(aM, aL) {
if (typeof aM != "number") {
aM = X.height()
}
if (typeof aL != "number") {
aL = X.width()
}
y.height(0);
X.get(0).style.height = aM + "px";
X.get(0).style.width = aL + "px";
if (X.maxed) {
if (X.isExpanded) {
G.get(0).style.width = (aL - 123) + "px"
} else {
G.get(0).style.width = (aL - 11) + "px"
}
} else {
if (X.isExpanded) {
G.get(0).style.width = (aL - 123) + "px"
} else {
G.get(0).style.width = (aL - 11) + "px"
}
}
var aK = 0;
y.parent().children().each(function(aN) {
aK += g(this).outerHeight()
});
aK = aM - (aK + y.outerHeight()) - aE.outerHeight();
if (L && L.css("display") == "none") {
aK += L.outerHeight()
}
aK = ((aK < 0) ? 0 : aK);
y.get(0).style.height = aK + "px";
T();
w.onResized(X)
};
X.bind("click",
function() {
T()
});
var K;
var aC;
X.logSelfMsg = function(aO) {
R.get(0).innerHTML = g.browser.mozilla ? "<br/>": "";
var aL = g("<dl />").addClass("self");
var aN = new Date();
var aM = aN.getHours() + ":" + (aN.getMinutes() < 10 ? "0" + aN.getMinutes() : aN.getMinutes());
if (typeof K == "undefined" || typeof aC == "undefined" || !K || aM != aC) {
var aP = g("<dt />").append(htmlEncode(cnSubstr(w.user.displayName, 18)));
aP.append(g("<strong />").append("说"));
aP.append(g("<span />").append("(" + aM + "):"))
}
K = true;
aC = aM;
aO = aO.replace(/\u000a|\u000d\u000a/gi, "<br>");
aO = aO.replace(__hrefReg,
function(aQ) {
if (aQ.indexOf("://") >= 0) {
return "<a href='" + aQ + "' target='_blank'>" + aQ + "</a>"
} else {
return "<a href='http://" + aQ + "' target='_blank'>" + aQ + "</a>"
}
});
var aK = g("<dd />").append(EmoticonReplace(aO));
aL.append(aP).append(aK);
y.append(aL);
y.scrollTop(y.get(0).scrollHeight)
};
X.logFriendMsg = function(aO) {
var aL = g("<dl />").addClass("friend");
var aN = new Date();
var aM = aN.getHours() + ":" + (aN.getMinutes() < 10 ? "0" + aN.getMinutes() : aN.getMinutes());
if (typeof K == "undefined" || typeof aC == "undefined" || K || aM != aC) {
var aP = g("<dt />").append(htmlEncode(cnSubstr(w.buddy.displayName, 18)));
aP.append(g("<strong />").append("说"));
aP.append(g("<span />").append("(" + aM + "):"))
}
K = false;
aC = aM;
aO = htmlEncode(aO);
aO = aO.replace(/\u000a|\u000d\u000a/gi, "<br>");
aO = aO.replace(__hrefReg,
function(aQ) {
if (aQ.indexOf("://") >= 0) {
return "<a href='" + aQ + "' target='_blank'>" + aQ + "</a>"
} else {
return "<a href='http://" + aQ + "' target='_blank'>" + aQ + "</a>"
}
});
var aK = g("<dd />").append(EmoticonReplace(aO));
aL.append(aP).append(aK);
y.append(aL);
y.scrollTop(y.get(0).scrollHeight)
};
X.logErrorInfo = function(aK) {
var aL = g("<div />").addClass("code_error").append(aK);
y.append(aL).append("<br/>");
y.scrollTop(y.get(0).scrollHeight)
};
X.getSendMessagePlainText = function(aK) {
var aL = aK ? aK: R.get(0).innerHTML;
if (!aL) {
return ""
} else {
if (!g.browser.msie) {
aL = aL.replace(/<br[ ]*[\/]?>$/i, "");
aL = aL.replace(/<br[ ]*[\/]?>/gi, "http://www.cnblogs.com/xihulangzi/admin/file://u000a/")
}
aL = aL.replace(/<br[ ]*[\/]?>/gi, "http://www.cnblogs.com/xihulangzi/admin/file://u000d//u000a");
aL = aL.replace(a,
function(aN) {
var aO = g(aN).attr("src");
var aM = aO.substring(aO.lastIndexOf("/") + 1, aO.lastIndexOf("."));
return GetEmotionKey(aM)
});
return aL
}
return ""
};
X.enableInput = function(aK) {
X.enablechatInput = aK;
if (aK) {
X.inputPermission = 0;
al.removeClass().addClass("chat_input chat_pc").css("background-color", "");
R.removeAttr("disabled").attr("contenteditable", "true").css("background-color", "");
j.find("img").removeAttr("disabled").attr("src", "images/face_btn.png");
P.removeAttr("disabled").removeClass().addClass("btn_send_new")
} else {
al.removeClass().addClass("chat_fileinput chat_pc").css("background-color", "#f0f0f0");
R.attr("disabled", "disabled").attr("contenteditable", "false").css("background-color", "#f0f0f0");
j.find("img").attr("disabled", "disabled").attr("src", "images/face_btnfile.png");
P.attr("disabled", "disabled").removeClass().addClass("btn_sendfile_new")
}
};
X.collapse = function() {
var aK = 0;
if (X.maxed) {
var aL = ac.width() + aq.width();
G.width(G.width() + aL);
aK = X.width()
} else {
aK = X.width() - aq.width()
}
X.isExpanded = false;
X.resize(X.height(), aK);
x.removeClass("none");
I.addClass("none");
aq.addClass("none")
};
X.expand = function() {
var aK = 0;
if (X.maxed) {
var aL = ac.width() + aq.width();
G.width(G.width() - aL);
aK = X.width()
} else {
aK = X.width() + aq.width()
}
X.isExpanded = true;
X.resize(X.height(), aK);
x.addClass("none");
I.removeClass("none");
aq.removeClass("none")
};
x.bind("click", X.expand);
I.bind("click", X.collapse);
X.recalWordCount = function() {
if (C.attr("checked")) {
setTimeout(function() {
var aK = X.getSendMessagePlainText();
var aL = 180 - aK.length;
aA.html(aL);
if (aL < 0) {
az.addClass("font_warning")
} else {
az.removeClass("font_warning")
}
aK = null
},
200)
}
};
X.onCkbSmsCheckerChanged = function(aK) {
if (aK) {
if (C.attr("checked")) {
az.css("display", "");
U = true;
g.increaseCounters("500600001")
} else {
az.css("display", "none");
U = false
}
} else {
az.css("display", "none");
U = false
}
X.recalWordCount()
};
C.bind("click", X.onCkbSmsCheckerChanged);
var aJ = ContactStatus.Unknown;
var ap = ContactType.Unknown;
var v = true;
var U = false;
var n = false;
function A(aK, aL) {
if (aK.cas != "0" || aK.sms != "0.0:0:0") {
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)")
} else {
if (aL) {
C.removeAttr("disabled");
Z.css("color", "")
}
}
}
function O(aK, aN, aL) {
U = false;
n = false;
if (aN == ContactType.MobileBuddy) {
if (L) {
L.remove()
}
if (w.user.isCM) {
L = jChatWindowPopMessage({
target: ad,
canClose: true,
className: "pop_blacktxt",
onClose: X.resize
});
L.setInnerHtml("对方是您的手机好友,您的消息将以长短信方式发送到对方手机。");
v = true
} else {
L = jChatWindowPopMessage({
target: ad,
canClose: false,
className: "pop_blacklist",
onClose: X.resize
});
L.setInnerHtml("对方是您的手机好友,您尚未绑定手机号,无法与其发起会话。");
v = false
}
U = true;
C.attr("checked", "checked");
X.onCkbSmsCheckerChanged(true);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)");
X.resize()
} else {
if (aN == ContactType.ChatFriend) {
if (L) {
L.remove()
}
L = jChatWindowPopMessage({
target: ad,
canClose: true,
className: "pop_blacktxt",
onClose: X.resize
});
if ((aL & ContactStatus.CloseService) == ContactStatus.CloseService) {
L.setInnerHtml("对方没有开通服务,您不能和其会话。");
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)");
v = false
} else {
var aM = g("<span>该用户不在您的好友列表中。</span><a href=#>点击此处添加为好友</a><br/><span>请勿轻信汇款、中奖等消息。</span><a href=#>点击此处将其加入黑名单</a>");
L.setInnerHtml(aM);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)");
X.resize();
aM.eq(1).bind("click",
function() {
createAddBuddyTab(aK.sid);
return false
});
aM.eq(4).bind("click",
function() {
OpBuddy(aK.uid, "1");
return false
});
if (getUserPermission(__user.gp, "contact") != 1) {
v = false
} else {
v = true
}
}
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)")
} else {
if (aN == ContactType.FetionBuddy) {
ao(aK, aL)
}
}
}
X.onCkbSmsCheckerChanged(v);
A(aK, false)
}
function ao(aK, aL) {
if (L) {
L.remove()
}
if (aK.bss == "0" && aK.mn == "") {
L = jChatWindowPopMessage({
target: ad,
canClose: false,
className: "pop_blacktxt",
onClose: X.resize
});
L.setInnerHtml("对方没有开通服务,您不能和其会话。");
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)");
X.resize();
v = false
} else {
if ((aL & ContactStatus.Online) == ContactStatus.Online) {
X.resize();
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.removeAttr("disabled");
Z.css("color", "");
v = true
} else {
if ((aL & ContactStatus.Busy) == ContactStatus.Busy) {
L = jChatWindowPopMessage({
target: ad,
canClose: true,
className: "pop_blacktxt",
onClose: X.resize
});
L.setInnerHtml("对方“忙碌”,可能无法及时回复您的消息。");
X.resize();
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.removeAttr("disabled");
Z.css("color", "");
v = true
} else {
if ((aL & ContactStatus.Away) == ContactStatus.Away) {
L = jChatWindowPopMessage({
target: ad,
canClose: true,
className: "pop_blacktxt",
onClose: X.resize
});
L.setInnerHtml("对方“离开”,可能无法及时回复您的消息。");
X.resize();
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.removeAttr("disabled");
Z.css("color", "");
v = true
} else {
if ((aL & ContactStatus.SmsOnline) == ContactStatus.SmsOnline) {
L = jChatWindowPopMessage({
target: ad,
canClose: true,
className: "pop_blacktxt",
onClose: X.resize
});
if (w.user.isCM) {
L.setInnerHtml("对方短信在线,您的消息会以短信发送到对方手机。");
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.removeAttr("disabled");
Z.css("color", "");
n = true
} else {
L.setInnerHtml("对方离线,您的消息将在对方下次登录时发送。");
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)")
}
X.resize();
v = true
} else {
if ((aL & ContactStatus.Offline) == ContactStatus.Offline) {
L = jChatWindowPopMessage({
target: ad,
canClose: true,
className: "pop_blacktxt",
onClose: X.resize
});
L.setInnerHtml("对方离线,您的消息将在对方下次登录时发送。");
X.resize();
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)");
v = true
} else {
X.resize();
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.removeAttr("disabled");
Z.css("color", "");
v = true
}
}
}
}
}
}
A(aK, false)
}
X.setBuddyStatus = function(aR) {
w.buddy = aR;
A(aR, true);
var aS = aR.type,
aM = aR.status;
var aK = (ap != aS);
var aL = (aJ != aM);
if (aS != ContactType.ChatFriend) {
var aP = aR.pd ? cnSubstr(aR.pd.trim(), 6) : getStatusDesc(aR, aS, aM);
ai.text("(" + aP + ")")
} else {
ai.text("- 陌生人")
}
if (!aK && !aL) {
return
}
var aQ = aR.statusClass;
aG.removeClass().addClass(aQ);
var aO = w.buddy.statusClass;
var aN = buddyPor(w.buddy, aO, 2);
o.attr("src", aN);
if ((aM & ContactStatus.BlockList) > 0) {
if (L) {
L.remove()
}
L = jChatWindowPopMessage({
target: ad,
canClose: true,
className: "pop_blacktxt",
onClose: X.resize
});
L.setInnerHtml("对方在您的黑名单中,您不能和其会话。");
X.resize();
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)");
v = false
} else {
O(aR, aS, aM)
}
aJ = aM;
ap = aS;
X.enableInput(v)
};
X.setBuddyStatus(w.buddy);
X.getBuddyDisplayNo = function(aL) {
var aK = "";
var aN = "";
if (aL.mn && aL.mn.trim().length > 0) {
aN = "fetion_mobile_new1";
aK = aL.mn
} else {
var aM = new jCompactUri(aL.uri);
aN = "fetion_num_new1";
if (aM.isMobileNo) {
aN = "fetion_mobile_new1"
}
aK = aM.mobileNoOrSid
}
return {
num: aK,
className: aN
}
};
X.setBuddyInfo = function(aL) {
w.buddy = aL;
u.text(cnSubstr(aL.displayName, 18));
J.text(cnSubstr(aL.ct == 1 ? "": aL.i, 38));
var aM = aL.statusClass;
var aN = buddyPor(aL, aM, 2);
o.attr("src", aN);
E.attr("src", getUserPortraitUrl(w.buddy));
var aK = X.getBuddyDisplayNo(w.buddy);
am.find("#buddy_icon").removeClass().addClass(aK.className);
am.find("#buddy_num").text(aK.num)
};
X.setBuddyInfo(w.buddy);
X.setUserInfo = function(aK) {
w.user = aK;
l.attr("src", getUserPortraitUrl(aK));
if (w.user.cas != "0" && w.user.isCM) {
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)")
}
};
X.setUserInfo(w.user);
function S(aM) {
T();
if (!X.maxed) {
aM = window.event || aM;
if (X.get(0).setCapture) {
X.get(0).setCapture()
} else {
if (window.captureEvents) {
window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
var aN = X.offset();
var aK = getViewportHeight();
var aL = getViewportWidth();
var aO = {
win: X,
mOffsetX: aM.clientX - aN.left,
mOffsetY: aM.clientY - aN.top,
viewH: aK,
viewW: aL
};
g.appendMaskPage(99);
X.bind("mousemove", aO, b).bind("mouseup", aO, h)
}
}
aE.bind("mousedown", S);
function V(aM) {
T();
if (!X.maxed) {
aM = window.event || aM;
if (X.get(0).setCapture) {
X.get(0).setCapture()
} else {
if (window.captureEvents) {
window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
var aK = getViewportHeight();
var aL = getViewportWidth();
var aN = g(this).attr("direction");
var aO = {
win: X,
originSize: {
H: X.height(),
W: X.width()
},
moveDire: aN,
originX: aM.clientX,
originY: aM.clientY,
viewH: aK,
viewW: aL
};
g.appendMaskPage(99);
X.bind("mousemove", aO, f).bind("mouseup", aO, d)
}
}
X.find("div[direction]").bind("mousedown", V);
ar.bind("mousedown", af);
ar.find("i").bind("mouseover",
function() {
var aK = g(this).attr("class");
g(this).attr("class", aK + "_on")
}).bind("mouseout",
function() {
var aK = g(this).attr("class");
g(this).attr("class", aK.replace(/^(.*)_on$/, "$1"))
});
X.isOnFocus = function() {
return parseInt(X.css("z-index")) == __zIndex - 1 && X.isActived
};
aw.bind("mousedown", af);
J.bind("mousedown", af);
aH.bind("click", X.close);
z.bind("click",
function() {
X.hide();
w.onMined(X)
});
X.max = function() {
X.resize(w.maxRelative.height() - 3, w.maxRelative.width() - 2)
};
function aD() {
if (!X.maxed) {
X.maxed = true;
W.removeClass().addClass("resume");
X.lastPosition = {
top: X.css("top"),
left: X.css("left")
};
X.lastSize = {
height: X.height(),
width: X.width(),
isExpanded: X.isExpanded
};
var aK = w.maxRelative.offset();
X.css({
top: aK.top,
left: aK.left
});
X.max();
w.onMaxed(X, true)
} else {
X.maxed = false;
W.removeClass().addClass("max");
X.css({
top: X.lastPosition.top,
left: X.lastPosition.left
});
if (X.isExpanded != X.lastSize.isExpanded) {
if (X.lastSize.isExpanded) {
X.expand()
} else {
X.collapse()
}
}
X.resize(X.lastSize.height, X.lastSize.width);
w.onMaxed(X, false)
}
y.scrollTop(y.get(0).scrollHeight);
R.blur();
R.focus()
}
W.bind("click", aD);
aE.bind("dblclick", aD);
X.bind("mousedown",
function() {
X.css("z-index", __zIndex++);
w.onFocus(X)
});
var i, ak;
function M() {
if (document.selection) {
i = document.selection.createRange()
} else {
if (window.getSelection) {
ak = window.getSelection().getRangeAt(0)
}
}
}
var ay = Math.ceil(parseFloat(R.css("line-height")));
R.bind("keydown",
function(aM) {
aM = window.event || aM;
var aL = aM.keyCode || aM.charCode;
function aN() {
return (aL == 13 && aM.ctrlKey) || (aL == 13 && aM.shiftKey) || (aL == 13 && aM.altKey)
}
function aK() {
return aL == 13
}
M();
if (aN()) {
if (i) {
i.text = "\r\n";
i.select()
} else {
if (ak) {
replaceSelection(ak, "<br>");
replaceSelection(ak, " ");
R.scrollTop(R.scrollTop() + ay)
}
}
if (aM.preventDefault) {
aM.preventDefault()
} else {
aM.returnValue = false
}
} else {
if (aK()) {
if (aM.preventDefault) {
aM.preventDefault()
} else {
aM.returnValue = false
}
P.click()
}
}
}).bind("keypress", M).bind("keyup", M).bind("mousedown", M).bind("mouseup", M).bind("click", M);
R.bind("keydown", X.recalWordCount);
R.bind("keyup", X.recalWordCount);
R.bind("paste",
function(aO) {
aO = window.event || aO;
if (window.clipboardData) {
var aR = window.clipboardData.getData("Text");
window.clipboardData.setData("Text", aR)
} else {
if (!g.browser.mozilla) {
if (aO.preventDefault) {
aO.preventDefault()
} else {
aO.returnValue = false
}
var aQ = R.get(0);
aQ.focus();
var aM = window.getSelection();
var aL = aM.getRangeAt(0);
var aP = "";
aP = aO.clipboardData.getData("Text");
var aR = new String(aP);
aL.deleteContents();
var aK = aL.createContextualFragment(aR);
var aN = aK.lastChild;
aL.insertNode(aK);
aL.setEndAfter(aN);
aL.collapse(false);
aM.removeAllRanges();
aM.addRange(aL);
aL.detach();
aL = null
}
}
if (g.browser.mozilla) {
setTimeout(function() {
var aS = R.get(0).textContent;
R.get(0).innerHTML = "";
R.append(aS)
},
10)
}
X.recalWordCount()
});
P.bind("mousedown", af).bind("click",
function() {
var aO = X.getSendMessagePlainText();
if (aO == "") {
return
}
if (C.attr("checked")) {
var aS = "rgb(255,204,204)";
if (aO.length > 180) {
var aN = R.get(0);
var aR = 0;
var aL = 0;
var aM = 0;
var aQ = function() {
aN.style.backgroundColor = aS;
aR = setTimeout(aP, 100);
aK(); ++aM
};
var aP = function() {
aN.style.backgroundColor = "";
aL = setTimeout(aQ, 100);
aK(); ++aM
};
var aK = function() {
if (aM > 3) {
clearTimeout(aR);
clearTimeout(aL);
aN.style.backgroundColor = ""
}
};
aQ();
return
}
}
aO = htmlDecode(aO);
aO = htmlEncode(aO);
if (!g.browser.msie) {
aO = aO.replace(/\\u000a/gi, "\u000a")
}
aO = aO.replace(/\\u000d\\u000a/gi, "\u000d\u000a");
if (C.attr("checked")) {
U = true;
n = false
} else {
U = false
}
w.onSendMessage(X, w.buddy.uid, aO, U, n);
R.blur();
R.focus();
X.recalWordCount()
});
j.bind("mousedown", af).bind("mouseover",
function() {
j.addClass("btn_hover")
}).bind("mouseout",
function() {
j.removeClass("btn_hover")
}).bind("click",
function(aK) {
j.toggleClass("btn_fechove");
if (H.css("display") == "none") {
H.css("display", "")
} else {
H.css("display", "none")
}
stopPropagation(aK)
});
X.setInput = function(aK) {
R.get(0).innerHTML = EmoticonReplace(aK);
if (g.browser.mozilla) {
R.append("<br>")
}
};
setTimeout(function() {
H.fillImgs();
H.bindItemClick(function(aK, aL) {
stopPropagation(aL);
setTimeout(function() {
var aN = g(aK).children("img");
var aP = EntityReplace(aN.attr("pattern"));
var aO = EmoticonReplace(aP);
if (i && i.parentElement && i.parentElement().id == an) {
replaceSelection(i, aO)
} else {
if ((ak && ak.startContainer && ak.startContainer.id == an) || (ak && ak.startContainer && ak.startContainer.parentNode && ak.startContainer.parentNode.id == an)) {
replaceSelection(ak, aO);
if (ak) {
R.blur();
R.focus()
}
} else {
var aM = R.get(0).innerHTML;
if (g.browser.mozilla) {
aM = aM.replace(/<br[ ]*[\/]?>$/i, aO + "<br>")
} else {
aM += aO
}
R.get(0).innerHTML = aM
}
}
j.toggleClass("btn_fechove")
},
50)
})
},
1000);
X.fixPosition = function() {
var aK = {
top: X.css("top"),
left: X.css("left")
};
X.css({
top: "-1000px",
left: "-1000px"
});
window.setTimeout(function() {
X.css({
top: aK.top,
left: aK.left
})
},
300)
};
return X
}
});
function b(n) {
var o = n.data;
var m = o.win;
var l = o.mOffsetX;
var j = o.mOffsetY;
var k = o.viewH - m.outerHeight();
var i = o.viewW - m.outerWidth();
k = (k < 0 ? 0 : k);
i = (i < 0 ? 0 : i);
var q = window.event || n;
if (q.button < 2) {
var p = parseInt(q.clientY) - parseInt(j);
var r = parseInt(q.clientX) - parseInt(l);
p = (p < 0 ? 0 : p);
r = (r < 0 ? 0 : r);
p = (p > k ? k: p);
r = (r > i ? i: r);
m.css({
top: p + "px",
left: r + "px"
})
}
}
function h(i) {
var k = i.data;
var j = k.win;
if (j.get(0).releaseCapture) {
j.get(0).releaseCapture()
} else {
if (window.releaseEvents) {
window.releaseEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
g.removeMaskPage();
j.unbind("mousemove").unbind("mouseup")
}
function f(n) {
var o = n.data;
var m = o.win;
var j = o.originSize;
var t = o.moveDire;
var s = o.originX;
var q = o.originY;
var p = window.event || n;
if (p.clientX < 0 || p.clientY < 0 || p.clientX > o.viewW || p.clientY > o.viewH) {
return
}
var k = j.W;
var i = j.H;
var r = false;
var l = false;
switch (t) {
case "right":
k = j.W + (p.clientX - s);
break;
case "left":
k = j.W - (p.clientX - s);
l = true;
break;
case "top":
i = j.H - (p.clientY - q);
r = true;
break;
case "bottom":
i = j.H + (p.clientY - q);
break;
case "right_top":
k = j.W + (p.clientX - s);
i = j.H - (p.clientY - q);
r = true;
break;
case "right_bottom":
k = j.W + (p.clientX - s);
i = j.H + (p.clientY - q);
break;
case "left_top":
k = j.W - (p.clientX - s);
i = j.H - (p.clientY - q);
r = true;
l = true;
break;
case "left_bottom":
k = j.W - (p.clientX - s);
i = j.H + (p.clientY - q);
l = true;
break
}
if (k >= 448 && l) {
m.css("left", p.clientX)
}
if (i >= 365 && r) {
m.css("top", p.clientY)
}
k = (k < 448 ? 448 : k);
i = (i < 365 ? 365 : i);
m.resize(i, k)
}
function d(i) {
var k = i.data;
var j = k.win;
if (j.get(0).releaseCapture) {
j.get(0).releaseCapture()
} else {
if (window.releaseEvents) {
window.releaseEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
g.removeMaskPage();
j.unbind("mousemove").unbind("mouseup")
}
})(jQuery); (function(a) {
a.extend(a.fn, {
jContactTree: function(c) {
var g = a.extend({
target: a(document.body),
enable: true,
isSinglePattern: true,
user: {},
onBuddyListExpand: function() {},
onBuddyItemDbClick: function() {},
onBuddyItemClick: function() {},
onBuddyItemMouseOver: function() {},
onBuddyItemMouseOut: function() {},
onBuddyItemRightClick: function() {}
},
c);
g.target = ((typeof g.target == "string") ? a("#" + g.target) : g.target);
var f = a("<div id='friends_list'><dl /></div>").addClass("friends_list");
if (g.isSinglePattern) {
f.addClass("friends_list_1")
}
g.target.append(f);
f.adjustHeight = function(i) {
if (typeof i == "undefined") {
i = g.target.innerHeight() - a("#search_friends").outerHeight(true) - a("#add_friend").outerHeight(true) - 46
}
f.height(i)
};
f.adjustHeight();
f.setPattern = function(h) {
g.isSinglePattern = h
};
f.createBuddyList = function(n, j) {
var h = new Object();
var o = "";
var l = "";
var i = htmlEncode(n.n);
if (j) {
o = "<dt id='buddyList_" + n.id + "' title='" + i + "' class='open'><b>" + i + "</b><em>(0/0)</em></dt>";
l = "<dd>"
} else {
o = "<dt id='buddyList_" + n.id + "' title='" + i + "'><b>" + i + "</b><em>(0/0)</em></dt>";
l = "<dd style='display:none'>"
}
if (g.isSinglePattern) {
l += "<ul class='friends_list_small'>"
} else {
l += "<ul>"
}
var m = "</ul></dd>";
var k = new Array();
h.pushContent = function(p) {
k.push(p)
};
h.toHtmlString = function() {
k.sort(function(u, t) {
return buddyComparator(u.buddyObj, t.buddyObj)
});
var s = "";
s += l;
var p = 0;
var r = k.length;
for (var q = 0; q < r; q++) {
s += k[q].strContent;
if (k[q].buddyObj.currIsOc) {
p++
}
}
s += m;
o = o.replace("<em>(0/0)</em>", "<em>(" + p + "/" + r + ")</em>");
s = o + s;
return s
};
return h
};
f.createBuddyItem = function(n) {
var i = new Object();
var o = "buddyitem_" + n.uid;
var m = n.statusClass;
var h = EmotionNonhtmlReplace(n.displayName, -1, true);
var k = cnSubstr((!n.i || n.ct == 1) ? "": EmotionNonhtmlReplace(n.i, -1, true), 22 - h.length, true);
var j = "";
if (n.isVip) {
j = " style='color:red;'"
}
i.buddyObj = n;
var l = "";
var p = portrait.fetion_16;
if (g.isSinglePattern) {
l = getContactPresDesc(n);
i.strContent = "<li id='" + o + "' on='' user='" + n.uid + "'><div class=friends_info><h5><strong class=BuddyList_Container><img src='" + p + "'><em class='" + m + "'></em></strong><label " + j + ">" + h + "</label> <span>" + k + "</span><em> " + l + "</em></h5></div><div class=friend_control></div></li>"
} else {
var l = n.pd ? cnSubstr(n.pd.trim(), 6) : getStatusDesc(n);
l = htmlEncode(l);
i.strContent = "<li id='" + o + "' user='" + n.uid + "'><div class=friends_photo_box><img class=friends_photo alt='' src='" + p + "' complete='complete' /></div><div class=friends_info><h5><i class='" + m + "'></i><label " + j + ">" + h + "</label> <em> " + l + "</em></h5><p>" + k + "</p></div><div class=friend_control></div></li>"
}
return i
};
f.firstTop = 0;
f.h = 0;
f.portraitFlag = false;
f.bind("mousedown",
function() {
var h = parseInt(f.css("height"));
if (f.firstTop == 0) {
f.firstTop = f.find("dt:first").offset().top
}
f.h = h + f.firstTop
}).bind("scroll",
function() {
var k, j;
j = f.find("dt[class='open']");
if (j.size() <= 0) {
return
}
k = j.next();
var i = k.find("ul > li[on!='1']");
if (i.size() > 0 && i.first().offset().top <= f.h) {
var h;
i.each(function(l, m) {
a(m).attr("on", "1");
var o = a(m).attr("id").substring(10);
if (__contactMap.containsKey(o)) {
h = __contactMap.get(o);
var n = buddyPor(h, h.statusClass, 1);
a(m).find(".BuddyList_Container > img").attr("src", n)
}
if (l >= 29) {
if (!a(m).next().attr("id") || a(m).next().offset().top > f.h) {
return false
}
}
})
}
});
f.bindEventToList = function() {
f.find("dt").bind("click",
function() {
var k = {
expanded: false
};
var i = a(this);
var j = i.next();
if (j.css("display") == "none") {
k.expanded = true;
i.addClass("open");
j.css("display", "");
if (__contactMap.size() > 10 && j.find("ul > li[on='1']").size() <= 0) {
var h;
j.find("ul > li").each(function(l, m) {
a(m).attr("on", "1");
var o = a(m).attr("id").substring(10);
if (__contactMap.containsKey(o)) {
h = __contactMap.get(o);
var n = buddyPor(h, h.statusClass, 1);
a(m).find(".BuddyList_Container > img").attr("src", n)
}
if (l >= 29) {
if (!a(m).next().attr("id") || a(m).next().offset().top > f.h) {
return false
}
}
})
}
} else {
k.expanded = false;
i.removeAttr("class");
j.css("display", "none")
}
return false
})
};
f.bindEventToItem = function() {
var h = f.find("li");
h.bind("mouseover",
function(i) {
if (isMouseOver(this, i)) {
this.className = "hover";
g.onBuddyItemMouseOver(this, a(this).attr("user"))
}
}).bind("mouseout",
function(i) {
if (isMouseOut(this, i)) {
this.className = "";
g.onBuddyItemMouseOut(this, a(this).attr("user"))
}
}).bind("dblclick",
function() {
g.onBuddyItemDbClick(this, a(this).attr("user"))
}).bind("click",
function() {
g.onBuddyItemClick(this, a(this).attr("user"))
});
h.each(function(l) {
var m = a(this);
var k = a(this).attr("user");
var j;
if (g.isSinglePattern) {
j = m.children().eq(1)
} else {
j = m.children().eq(2)
}
j.bind("click",
function() {
g.onBuddyItemRightClick(this, k);
this.className = "friend_control friend_control_down"
})
})
};
f.fixSpecialList = function(k) {
for (var j = 0,
l = k.length; j < l; j++) {
var h = __contactTree.getBuddyList(k[j]);
var m = h.eq(1).find("ul > li:first");
if (m.length <= 0) {
h.eq(0).css("display", "none")
} else {
h.eq(0).css("display", "")
}
}
};
f.setInnerHtml = function(h) {
f.children().get(0).innerHTML = h;
f.bindEventToList();
f.bindEventToItem();
f.fixSpecialList(["0", "-1"])
};
f.insertBuddyList = function(m, l) {
var p = f;
var n = a("<dt><b /><em /></dt><dd><ul /></dd>");
var k = n.eq(0).attr("id", "buddyList_" + m.id).attr("title", m.n);
var h = k.find("b").text(m.n);
var j = k.find("em").text("(0/0)");
var i = n.eq(1).css("display", "none");
k.bind("click",
function() {
var q = {
expanded: false
};
if (i.css("display") == "none") {
q.expanded = true;
k.addClass("open");
i.css("display", "")
} else {
q.expanded = false;
k.removeClass("open");
i.css("display", "none")
}
return false
});
var o = p.find("dt");
if (o.length <= 0) {
p.children().eq(0).append(n)
} else {
if (typeof l == "number" && l >= 0 && l < o.length) {
o.eq(l).before(n)
} else {
p.children().eq(0).append(n)
}
}
return n
};
function e(i) {
var h = i.attr("user");
return __contactMap.get(h)
}
function d(n, m) {
var j = n.size();
if (j <= 0) {
return - 1
} else {
var r = e(n.eq(0));
if (buddyComparator(m, r) <= 0) {
return 0
}
var l = e(n.eq(j - 1));
if (buddyComparator(m, l) > 0) {
return j
}
var i = 0;
var k = j - 1;
var p = 0;
while (k - i > 1) {
var p = Math.floor((i + k) / 2);
var q = e(n.eq(p));
var h = buddyComparator(m, q);
if (h <= 0) {
k = p
} else {
if (h > 0) {
i = p
}
}
}
var o = e(n.eq(i));
if (buddyComparator(m, o) == 0) {
return i
} else {
return k
}
}
}
f.getBuddyList = function(j) {
var h = f;
var i = null;
if (typeof j != "undefined" && j != null) {
var k = h.find("#buddyList_" + j).next();
i = k.prev().andSelf()
}
return i
};
f.isBuddyListOpen = function(h) {
var i = f.getBuddyList(h);
if (i == null || i.size() == 0) {
return false
} else {
return "none" != i.eq(1).css("display")
}
};
f.insertBuddyItem = function(u, i) {
var x = f.getBuddyList(i);
if (x.size() == 0) {
return
}
var q = "buddyitem_" + u.uid;
var s, m;
if (g.isSinglePattern) {
s = a("<li><div /><div /></li>").attr("id", q);
var v = s.children();
var o = buddyPor(u, u.statusClass, 1);
var z = a('<strong class="BuddyList_Container"><img src="' + o + '"><em class="' + u.statusClass + '"></em></strong>');
var w = a("<label />");
var p = a("<span />");
var l = a("<em />");
w.text(u.displayName);
l.text(" " + getContactPresDesc(u));
var r = a("<h5 />").append(z).append(w).append(" ").append(p).append(l);
v.eq(0).addClass("friends_info").append(r);
m = v.eq(1)
} else {
s = a("<li><div /><div /><div /></li>").attr("id", q);
var j = a("<img complete='complete' alt=''/>").addClass("friends_photo");
j.attr("src", getUserPortraitUrl(u, "3"));
var v = s.children();
v.eq(0).addClass("friends_photo_box").append(j);
var z = a("<i />").addClass(u.statusClass);
var h = a("<em />");
var w = a("<label />");
var y = u.pd ? cnSubstr(u.pd.trim(), 6) : getStatusDesc(u);
h.text(" " + y);
w.text(u.displayName);
var r = a("<h5 />").append(z).append(w).append(h);
var p = a("<p />");
v.eq(1).addClass("friends_info").append(r).append(p);
m = v.eq(2)
}
m.addClass("friend_control");
m.bind("click",
function() {
g.onBuddyItemRightClick(s, u.uid.toString());
this.className = "friend_control friend_control_down"
});
s.bind("mouseover",
function() {
this.className = "hover";
g.onBuddyItemMouseOver(this, u.uid.toString())
}).bind("mouseout",
function() {
this.className = "";
g.onBuddyItemMouseOut(this, u.uid.toString())
}).bind("dblclick",
function() {
g.onBuddyItemDbClick(this, u.uid.toString())
}).bind("click",
function() {
g.onBuddyItemClick(this, u.uid.toString())
});
var t = x.eq(1).find("ul > li[id!='" + q + "']");
var k = t.size();
var n = d(t, u);
if (n < 0 || n >= k) {
x.eq(1).find("ul").append(s)
} else {
t.eq(n).before(s)
}
if (u.currIsOc) {
f.updateBuddyStat(i, 1, 1)
} else {
f.updateBuddyStat(i, 0, 1)
}
if (i == "0" || i == "-1") {
f.fixSpecialList([i])
}
};
var b = /^\(([\d]+)\/([\d]+)\)$/ig;
f.updateBuddyStat = function(j, i, h) {
var l = f.getBuddyList(j);
if (l.size() == 0) {
return
}
var m = l.eq(0).children("em:first");
var k = m.text().trim();
k = k.replace(b,
function(o, n, p) {
return "(" + (parseInt(n) + i) + "/" + (parseInt(p) + h) + ")"
});
m.text(k)
};
f.deleteBuddyItem = function(i, j) {
var l = f.getBuddyList(i);
if (l.size() == 0) {
return null
}
var k = l.eq(1).find("#buddyitem_" + j);
if (k.size() == 0) {
return null
}
k.remove();
var h = __contactMap.get(j);
if (h && h.currIsOc) {
f.updateBuddyStat(i, -1, -1)
} else {
f.updateBuddyStat(i, 0, -1)
}
if (i == "0" || i == "-1") {
f.fixSpecialList([i])
}
return k
};
f.getBuddyItem = function(h, i) {
var j = f.getBuddyList(h);
return j.eq(1).find("#buddyitem_" + i)
};
f.updateBuddyItem = function(h, v) {
var x = f.getBuddyList(h);
var y = f.getBuddyItem(h, v.uid);
var r = "buddyitem_" + v.uid;
if (y.size() == 0) {
return
}
var s, p, i;
if (g.isSinglePattern) {
s = y.find("div:nth-child(1) > h5 > span:first");
p = y.find("div:nth-child(1) > h5 > strong> em:first");
i = y.find("div:nth-child(1) > h5 > label:first");
var o = y.find("div:nth-child(1) > h5 > strong> img:first");
var j = v.statusClass;
var m = buddyPor(v, j, 1);
o.attr("src", m);
var l = y.find("div:nth-child(1) > h5 > em:first");
l.text(" " + getContactPresDesc(v))
} else {
s = y.find("div:nth-child(2) > p:first");
p = y.find("div:nth-child(2) > h5 > i:first");
i = y.find("div:nth-child(2) > h5 > label:first");
var o = y.find("div:first-child > img:first");
var l = y.find("div:nth-child(2) > h5 > em:first");
o.attr("src", getUserPortraitUrl(v, "3"));
var z = v.pd ? cnSubstr(v.pd.trim(), 6) : getStatusDesc(v);
l.text(" " + z)
}
p.removeClass().addClass(v.statusClass);
i.get(0).innerHTML = EmotionNonhtmlReplace(v.displayName, -1, true);
var w = i.text().length;
s.get(0).innerHTML = cnSubstr(!v.i || v.ct == 1 ? "": EmotionNonhtmlReplace(v.i, -1, true), 22 - w, true);
if (v.isVip) {
i.css("color", "red")
}
var t = x.eq(1).find("ul > li[id!='" + r + "']");
var k = t.size();
var n = d(t, v);
if (n < 0 || n >= k) {
x.eq(1).find("ul").append(y)
} else {
t.eq(n).before(y)
}
var u = v.lastIsOc;
var q = v.currIsOc;
if (u != q) {
if (u && !q) {
f.updateBuddyStat(h, -1, 0)
} else {
f.updateBuddyStat(h, 1, 0)
}
}
};
return f
}
})
})(jQuery); (function(b) {
var a = 0;
b.extend(b.fn, {
jTabWindow: function(d) {
var g = b.extend({
target: "",
id: ""
},
d);
g.target = ((typeof g.target == "string") ? b("#" + g.target) : g.target);
var c = b("<div />").attr("id", g.id).addClass("main_cont");
var f = b("<div />").addClass("top_tab");
var e = b("<div />").addClass("content");
c.append(f).append(e);
g.target.append(c);
c.adjustContentHeight = function(j) {
if (typeof j == "undefined") {
j = g.target.height() - f.height()
}
var l = e.find("iframe");
l.each(function(h) {
b(this).height(0)
});
e.height(j);
var m = j;
if ((!b.browser.msie) && getViewportWidth() < 1000) {
var k = getScrollBarWidth();
var i = k.horizontal;
m = j - i
}
l.each(function(h) {
b(this).height(m)
})
};
c.adjustContentHeight();
f.append("<p>网页版飞信无法保存您的聊天记录,更多功能请下载<a id='topTabDownload' href=\"" + __downloadUrl + '" title="" target="_blank">飞信客户端</a></p>');
f.append("<ul />");
c.createTab = function(m, l, h) {
var i = a++;
var j = b("<li />").attr("id", "tab_" + i);
j.append("<span></span>" + m);
f.children("ul").eq(0).append(j);
var k = b("<div />").attr("id", "content_" + i);
if (l.indexOf("?") < 0) {
l += "?tabIndex=" + i
} else {
l += "&tabIndex=" + i
}
k.append(b("<iframe frameborder=0 />").attr("src", l).css({
height: "100%",
width: "100%",
scrolling: "auto"
}));
e.append(k);
j.bind("click",
function() {
f.find("li").each(function() {
var o = b(this);
if (o.attr("id") == "tab_" + i) {
o.removeClass().addClass("on")
} else {
o.removeClass()
}
});
e.children("div").each(function() {
var o = b(this);
if (o.attr("id") == "content_" + i) {
o.css("display", "block")
} else {
o.css("display", "none")
}
});
return false
});
if (h) {
var n = b("<em />");
j.append(n);
n.bind("click",
function() {
j.remove();
j = null;
k.remove();
k = null;
var o = f.find("li");
if (o.length > 0) {
o.eq(0).click()
}
return false
})
}
c.adjustContentHeight();
j.click()
};
c.removeTab = function(j) {
c.find("#tab_" + j).remove();
c.find("#content_" + j).remove();
var h = f.find("li");
if (h.length > 0) {
h.eq(0).click()
}
};
c.getTabByUrl = function(i) {
var h = null;
e.find("iframe").each(function(j) {
if (this.src.startsWith(i)) {
h = new Object();
h.topTab = f.children("ul").eq(0).children().eq(j);
h.content = e.children().eq(j);
return false
}
});
return h
};
return c
}
})
})(jQuery); (function(c) {
var d = c("<div style='position:absolute;top:0;left:0;z-index:-1' /> ");
d.append('<iframe style="FILTER:Alpha(opacity=3);width:100%;height:100%" onclick="alert()" />');
c.extend(c.fn, {
fetionHintWindow: function(i) {
var e = c.extend({
modal: true
},
i);
var g = c("<div />").addClass("hint").css({
display: "none",
"z-index": "-1"
});
g.appendTo(document.body);
var m = c("<h3><span /><i /><b /></h3>");
var k = c("<div />").addClass("hint_cont");
var f = c("<div />").addClass("hint_cont_left");
var h = c("<p />");
var n = c("<div />").addClass("hint_btn");
var j = c("<button type=button />").text("确定");
var l = c("<button type=button />").addClass("btn_cancel").text("取消");
n.append(j).append(l);
k.append(f).append(h).append(n);
g.append(m).append(k);
g.show = function(v, w, t, o, u, x) {
m.children().eq(2).text(w);
h.get(0).innerHTML = v;
var r = m.children().eq(0);
if (typeof t == "string" && t == "OK") {
l.css("display", "none");
j.css("display", "");
if (x) {
f.append(c("<img class='user_head_52' alt='' complete='complete'/>").attr("src", x))
} else {
f.addClass("hcl_bg_confirm")
}
j.bind("click",
function() {
if (typeof o == "function") {
o()
}
g.close()
});
r.bind("click",
function(p) {
stopPropagation(p);
if (typeof o == "function") {
o()
}
g.close()
})
} else {
if (typeof t == "string" && t == "OKCancel") {
l.css("display", "");
j.css("display", "");
if (x) {
f.append(c("<img class='user_head_52' alt='' complete='complete'/>").attr("src", x))
} else {
f.addClass("hcl_bg_tips")
}
j.bind("click",
function() {
if (typeof o == "function") {
o()
}
g.close()
});
l.bind("click",
function() {
if (typeof u == "function") {
u()
}
g.close()
});
r.bind("click",
function(p) {
stopPropagation(p);
if (typeof o == "function") {
u()
}
g.close()
})
}
}
var s = getViewportCenter();
var q = {
top: s.y - g.height() / 2,
left: s.x - g.width() / 2
};
if (q.top < 50) {
q.top = 50
}
if (q.left < 50) {
q.left = 50
}
g.css({
top: q.top + "px",
left: q.left + "px"
});
g.css({
display: "",
"z-index": "1000000"
});
if (e.modal) {
c.appendMaskPage()
}
};
g.close = function() {
g.css("display", "none");
g.css("z-index", -1);
if (e.modal) {
c.removeMaskPage()
}
g.remove()
};
m.bind("mousedown",
function(o) {
o = window.event || o;
if (g.get(0).setCapture) {
g.get(0).setCapture()
} else {
if (window.captureEvents) {
window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
var q = g.offset();
var r = {
win: g,
mOffsetX: o.clientX - q.left,
mOffsetY: o.clientY - q.top,
maskPage: !e.modal
};
if (!e.modal) {
c.appendMaskPage(99)
}
g.bind("mousemove", r, b).bind("mouseup", r, a)
});
return g
}
});
c.extend({
initMaskPage: function() {
d.css({
width: (getViewportWidth() - 4) + "px",
height: getViewportHeight() + "px"
});
d.appendTo(document.body)
},
appendMaskPage: function(e) {
if (typeof e != "number") {
e = 99999
}
d.css("z-index", "" + e)
},
removeMaskPage: function() {
d.css("z-index", "-1")
}
});
function b(k) {
var l = k.data;
var g = l.win;
var f = l.mOffsetX;
var m = l.mOffsetY;
var j = window.event || k;
if (j.button == 1) {
var h = parseInt(j.clientY) - parseInt(m);
var i = parseInt(j.clientX) - parseInt(f);
h = (h < -10 ? 0 : h);
i = (i < -10 ? 0 : i);
g.css({
top: h + "px",
left: i + "px"
})
}
}
function a(g) {
var h = g.data;
var f = h.win;
if (f.get(0).releaseCapture) {
f.get(0).releaseCapture()
} else {
if (window.releaseEvents) {
window.releaseEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
if (h.maskPage) {
c.removeMaskPage()
}
f.unbind("mousemove").unbind("mouseup")
}
})(jQuery); (function(b) {
b.extend(b.fn, {
friendInviteWindow: function(t) {
var n = b.extend({
initPostion: {
top: 100,
left: 200
},
buddy: {},
inviteType: 0,
onConfirm: function() {},
onCancel: function() {}
},
t);
var f = b("<div id='invited_" + n.buddy.uid + "'></div>").addClass("hint friend_invite").css({
width: "408px",
top: n.initPostion.top + "px",
left: n.initPostion.left + "px"
});
f.appendTo(document.body);
var w = b("<h3><span /><i /><b>提示</b></h3>");
f.append(w);
var o = b("<div />").addClass("hint_cont");
f.append(o);
var p = b("<div class='invite_top'><div class='invite_top_inside'></div></div>");
var d = b("<img alt='' />").attr("src", portrait.defaultIcon);
var g = b("<p />");
p.children().eq(0).append(d).append(g);
o.append(p);
var j = ' style="display:none"';
if (1 == n.inviteType) {
j = ""
}
var m = "agreeradio" + n.buddy.uid,
h = "agree" + n.buddy.uid,
e = "disagree" + n.buddy.uid,
r = "refuse_select" + n.buddy.uid;
var i = b('<div class="invite_main"><h4>回应</h4><p' + j + '>提示:对方是通过您的手机号码添加您,同意后将会公开您的手机号和姓名。</p><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td width="142"><input id="' + h + '" value="1" checked type="radio" name="' + m + '"><label for="' + h + '"> 同意,设置显示名称</label></td><td><input id="LocalName" maxlength="64" class="text_150" name="">(可选)</td></tr><tr><td align="right">添加到该分组 </td><td><select id="test09" class="group" name=""></select><font size="+0">网页版飞信无法新增好友分组</font></td></tr><tr><td colspan="2"><input id="' + e + '" value="0" type="radio" name="' + m + '"><label for="' + e + '"> 不同意</label><div class="refuse"><input id="' + r + '" value="" type="checkbox" name="" disabled="disabled"><label for="' + r + '">拒绝此人再和我联系</label></div></td><td> </td></tr></tbody></table></div>');
o.append(i);
var v = o.find("#" + e);
var u = o.find("#" + r);
o.find("input[name='" + m + "']").bind("click",
function() {
if (v.attr("checked")) {
u.removeAttr("disabled")
} else {
u.attr("disabled", "disabled").removeAttr("checked")
}
});
var q = b("<button>确定</button>").bind("click",
function() {
var x = new Object();
x.data = {
Buddy: n.buddy,
Result: o.find("input[name='" + m + "']:checked").val(),
LocalName: o.find("#LocalName").val(),
BuddyList: o.find(".group").val(),
Blocked: o.find("#" + r).attr("checked") ? 1 : 0
};
f.remove();
n.onConfirm(x);
return false
});
var l = b("<button>取消</button>").addClass("btn_cancel").bind("click",
function() {
f.remove();
n.onCancel();
return false
});
var s = b("<div />").addClass("hint_btn").append(q).append(l);
o.append(s);
w.bind("mousedown",
function(z) {
z = window.event || z;
if (f.get(0).setCapture) {
f.get(0).setCapture()
} else {
if (window.captureEvents) {
window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
var A = f.offset();
var x = getViewportHeight();
var y = getViewportWidth();
var B = {
win: f,
mOffsetX: z.clientX - A.left,
mOffsetY: z.clientY - A.top,
viewH: x,
viewW: y
};
f.bind("mousemove", B, a).bind("mouseup", B, c)
});
w.children("span:first").bind("click",
function(x) {
f.css("display", "none");
f.css("z-index", -1);
stopPropagation(x)
});
var k = o.find(".group");
f.insertBuddyList = function(z, y) {
var x = b("<option value='" + z + "'></option>");
x.text(y);
k.append(x)
};
f.insertDesc = function(x) {
g.text(x)
};
return f
},
setSmsWindow: function(g) {
var d = b.extend({
onConfirm: function() {},
onCancel: function() {}
},
g);
var h = b("<div />").addClass("hint set_message").css({
top: "-1000px",
left: "-1000px"
});
h.appendTo(document.body);
var l = b("<h3><span /><i /><b>设置</b></h3>");
h.append(l);
var j = b("<div />").addClass("hint_cont");
h.append(j);
var e = b("<p />");
e.append("您在这里可以设置不接收短信/彩信,并且能够定制一个时间期限。在这期间,您不会收到来自飞信的短信,但不影响您登录飞信的客户端接收消息<br><span>您希望这段时间是:</span><br>");
e.append('<input value="1" type="radio" name="sms_time" checked="checked"> <label for="time_1">24小时</label><br>');
e.append('<input value="2" type="radio" name="sms_time"> <label for="time_2">3天</label><br>');
e.append('<input value="3" type="radio" name="sms_time"> <label for="time_3">1周</label><br>');
e.append('<input value="4" type="radio" name="sms_time"> <label for="time_4">永远</label>');
j.append(e);
var f = b("<button>确定</button>").bind("click",
function() {
h.css({
display: "none",
"z-index": "-1"
});
d.onConfirm(h, e.find("input[checked]").val());
return false
});
var i = b("<button>取消</button>").addClass("btn_cancel").bind("click",
function() {
h.css({
display: "none",
"z-index": "-1"
});
d.onCancel(h);
return false
});
var k = b("<div />").addClass("hint_btn").append(f).append(i);
j.append(k);
l.bind("mousedown",
function(o) {
o = window.event || o;
if (h.get(0).setCapture) {
h.get(0).setCapture()
} else {
if (window.captureEvents) {
window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
var q = h.offset();
var m = getViewportHeight();
var n = getViewportWidth();
var r = {
win: h,
mOffsetX: o.clientX - q.left,
mOffsetY: o.clientY - q.top,
viewH: m,
viewW: n
};
h.bind("mousemove", r, a).bind("mouseup", r, c)
});
l.children("span:first").bind("click",
function(m) {
stopPropagation(m);
h.css({
display: "none",
"z-index": "-1"
});
d.onCancel(h)
});
h.show = function() {
var n = getViewportCenter();
var m = {
top: n.y - 171,
left: n.x - 108
};
if (m.top < 50) {
m.top = 50
}
if (m.left < 50) {
m.left = 50
}
h.css({
top: m.top + "px",
left: m.left + "px"
});
h.css({
display: "",
"z-index": "8888"
})
};
return h
}
});
function a(k) {
var l = k.data;
var h = l.win;
var j = l.mOffsetX;
var g = l.mOffsetY;
var i = l.viewH - h.outerHeight();
var f = l.viewW - h.outerWidth();
i = (i < 0 ? 0 : i);
f = (f < 0 ? 0 : f);
var n = window.event || k;
if (n.button < 2) {
var m = parseInt(n.clientY) - parseInt(g);
var o = parseInt(n.clientX) - parseInt(j);
m = (m < 0 ? 0 : m);
o = (o < 0 ? 0 : o);
m = (m > i ? i: m);
o = (o > f ? f: o);
h.css({
top: m + "px",
left: o + "px"
})
}
}
function c(g) {
var h = g.data;
var f = h.win;
if (f.get(0).releaseCapture) {
f.get(0).releaseCapture()
} else {
if (window.releaseEvents) {
window.releaseEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
b.removeMaskPage();
f.unbind("mousemove").unbind("mouseup")
}
})(jQuery); (function(a) {
a.extend(a.fn, {
jRemindMsgList: function(e) {
var b = a.extend({
target: a(document.body),
relative: "msg_remind",
maxHold: 5,
onClearAll: function() {}
},
e);
b.target = ((typeof b.target == "string") ? a("#" + b.target) : b.target);
b.relative = ((typeof b.relative == "string") ? a("#" + b.relative) : b.relative);
var c = a("<div />").attr("id", "Main_BuddyMsgList").addClass("pop_box pop_msg_all").css({
"z-index": "999",
width: "129",
background: "#fff"
});
c.isShow = false;
c.appendTo(b.target);
var i = a("<div />").addClass("pop_box_inside");
c.append(i);
var g = a("<div />").addClass("clear_all");
var d = a("<a />").attr("href", "#").attr("title", "清空").text("全部清空").bind("click",
function() {
j.find("li").remove();
c.hide();
b.onClearAll(c)
});
i.append(a("<div />").addClass("clear_all").append(d));
i.append(a("<div />").addClass("line"));
var j = a("<ul />").addClass("friends_list_small");
i.append(j);
i.append(a("<div />").addClass("line"));
var f = a("<ul />").addClass("up_down_control");
var k = a("<li />").append(a("<em />")).bind("mouseover",
function() {
k.addClass("active")
}).bind("mouseout",
function() {
k.removeClass("active")
});
var l = a("<li>").addClass("septation");
var h = a("<li />").bind("mouseover",
function() {
h.addClass("active")
}).bind("mouseout",
function() {
h.removeClass("active")
}).append(a("<em />").addClass("down"));
f.append(k).append(l).append(h);
i.append(f);
c.hide = function() {
c.css("display", "none");
c.isShow = false
};
c.show = function() {
var m = j.find("li");
var o = m.size();
m.each(function(p) {
if (p < o - b.maxHold) {
a(this).css("display", "none")
} else {
a(this).css("display", "block")
}
});
c.css("display", "block");
c.isShow = true;
var n = b.relative.offset();
c.css({
top: n.top - c.height(),
left: 0
})
};
c.moveItems = function(o) {
var m = j.find("li");
var n = m.length;
if (n <= b.maxHold) {
m.each(function() {
a(this).css("display", "block")
});
return
}
var p = 0;
m.each(function(q) {
if (a(this).css("display") != "none") {
p = q;
return false
}
});
if (o == "up") {
p--
} else {
p++
}
if (p < 0) {
p = 0
} else {
if (p + b.maxHold >= n) {
p = n - b.maxHold
}
}
m.each(function(q) {
if (q >= p && q < p + b.maxHold) {
a(this).css("display", "block")
} else {
a(this).css("display", "none")
}
})
};
c.addItem = function(m) {
j.prepend(m);
if (j.find("li").size() <= b.maxHold) {
m.css("display", "block")
} else {
m.css("display", "none")
}
};
c.bind("mouseout",
function(m) {
if (isMouseOut(this, m)) {
c.hide()
}
}).bind("mouseover",
function() {
clearTimeout(__hideRemindMsgTimer)
});
return c
},
jRemindMsgItem: function(d, b, h) {
var g = a("<i class='Buddy_photo'/>").attr("id", "remindmsg_" + d.uid).append("<img src='" + h + "'>");
var f = a("<b />").text(cnSubstr(d.displayName, 8, true));
var c = a("<strong />").text("1");
var e = a("<li />");
e.append(g).append(f).append(" (").append(c).append(") ");
e.bind("click",
function() {
if (!b.isActived) {
b.active();
var i = getChatWinPosition();
b.show(i.top, i.left)
} else {
if (!b.hasShown) {
var i = getChatWinPosition();
b.show(i.top, i.left)
} else {
b.show()
}
}
__remindMsgDiv.hide()
}).bind("mouseover",
function() {
this.className = "hover"
}).bind("mouseout",
function() {
this.className = ""
});
e.msgCount = function(i) {
if (!i) {
return parseInt(c.text())
} else {
c.text(i)
}
};
e.updateItem = function(i, j) {
if (j) {
g.find("img").attr("src", j)
}
f.text(cnSubstr(i.displayName, 8, true))
};
return e
}
})
})(jQuery); (function(a) {
a.extend(a.fn, {
jMoreMsgLists: function(c) {
var b = a.extend({
target: a(document.body),
maxHold: 5,
relative: "msg_more"
},
c);
b.target = ((typeof b.target == "string") ? a("#" + b.target) : b.target);
b.relative = ((typeof b.relative == "string") ? a("#" + b.relative) : b.relative);
var k = a("<div />").attr("id", "Main_MoreBuddyMsgs").addClass("pop_box pop_chat_win").css({
"z-index": "999",
width: "102px",
background: "#fff"
});
var g = a("<div />").addClass("pop_box_inside");
var h = a("<ul />").attr("id", "more_buddy_list").addClass("msg_list");
var d = a("<div />").addClass("line");
var e = a("<ul />").addClass("up_down_control");
var i = a("<li />").append(a("<em />")).bind("mouseover",
function() {
a(this).addClass("active")
}).bind("mouseout",
function() {
a(this).removeClass()
}).bind("click",
function() {
k.moveItems("up")
}).bind("dblclick",
function() {
k.moveItems("up")
});
var j = a("<li>").addClass("septation");
var f = a("<li />").bind("mouseover",
function() {
a(this).addClass("active")
}).bind("mouseout",
function() {
a(this).removeClass()
}).append(a("<em />").addClass("down")).bind("click",
function() {
k.moveItems("down")
}).bind("dblclick",
function() {
k.moveItems("down")
});
e.append(i).append(j).append(f);
g.append(h).append(d).append(e);
k.append(g);
k.appendTo(b.target);
k.hide = function() {
k.css("display", "none");
k.isShow = false
};
k.show = function() {
var l = h.find("li");
var n = l.size();
l.each(function(o) {
if (o < n - b.maxHold) {
a(this).css("display", "none")
} else {
a(this).css("display", "block")
}
});
k.css("display", "block");
k.isShow = true;
var m = b.relative.offset();
k.css({
top: m.top - k.height(),
left: m.left - k.width() + b.relative.width()
})
};
k.moveItems = function(n) {
var l = h.find("li");
var m = l.length;
if (m <= b.maxHold) {
l.each(function() {
a(this).css("display", "block")
});
return
}
var o = 0;
l.each(function(p) {
if (a(this).css("display") != "none") {
o = p;
return false
}
});
if (n == "up") {
o--
} else {
o++
}
if (o < 0) {
o = 0
} else {
if (o + b.maxHold >= m) {
o = m - b.maxHold
}
}
l.each(function(p) {
if (p >= o && p < o + b.maxHold) {
a(this).css("display", "block")
} else {
a(this).css("display", "none")
}
})
};
k.addItem = function(l) {
h.prepend(l);
if (h.find("li").size() <= b.maxHold) {
l.css("display", "block")
} else {
l.css("display", "none")
}
};
k.getItems = function() {
return h.find("li")
};
k.bind("mouseout",
function(l) {
if (isMouseOut(this, l)) {
k.hide()
}
}).bind("mouseover",
function() {
clearTimeout(__hideMoreMsgListTimer)
});
return k
},
jFooterItem: function(d, c, h) {
var e = a("<li></li>").attr("id", "footer_" + d.uid).bind("click",
function(k) {
if (c.isShow && c.isOnFocus()) {
c.hide()
} else {
if (!c.hasShown) {
var j = getChatWinPosition();
c.show(j.top, j.left)
} else {
c.show()
}
c.css("display", "")
}
}).bind("mouseover",
function() {
if (this.className != "call") {
this.className = "hover"
}
}).bind("mouseout",
function() {
if (this.className != "call") {
this.className = ""
}
});
var i = a("<em />").bind("click",
function(j) {
stopPropagation(j);
c.close();
e.remove();
reInitialFooter()
});
e.append(i);
var g = a('<i class="Buddy_photo"><img src=' + h + "></i>");
e.append(g);
var b = cnSubstr(d.displayName, 8, true);
var f = a("<lable />").addClass("tit_name").text(b);
e.append(f);
e.updateItem = function(j, k) {
g.find("img").attr("src", k);
b = cnSubstr(j.displayName, 8, true);
f.text(b)
};
e.isInMoreMsgList = function() {
if (e.inMore) {
return true
} else {
return e.parent().attr("id") == "more_buddy_list"
}
};
return e
}
})
})(jQuery);
var e = /(http:\/\/|https:\/\/|ftp:\/\/|www\.){1}[\w-]+(\.[\w-]+)*(:[\d]+)?(\/[\w-\.\/?&=]*)?/ig;
var a = /<img\s[\s\S]*?(alt='[^']*'|alt="[^"]*"|alt=[\S]*)[\s\S]*?(>[^<]*<\/img>|>)/gi;
var c = /^<br\s*\/?>$/i;
g.extend(g.fn, {
jChatWindow: function(at) {
var w = g.extend({
maxRelative: g(document.body),
mode: "singleChat",
user: {},
buddy: {},
defaultHeight: 365,
defaultWidth: 448,
onActive: function() {},
onClosed: function() {},
onFocus: function() {},
onMined: function() {},
onMaxed: function() {},
onResized: function() {},
onSendMessage: function() {}
},
at);
var X = g("<div />").attr("id", "Main_chatWindow_" + w.user.uid + "_" + w.buddy.uid).addClass("pop_default_message pop_dm_bg w450").css({
top: "-1000px",
left: "-1000px"
});
var s = g("<div />").addClass("pop_outer_new1");
var aa = g("<div />").addClass("pop_inner_new1");
X.append(s.append(aa));
X.appendTo(document.body);
w.maxRelative = ((typeof w.maxRelative == "string") ? g("#" + w.maxRelative) : w.maxRelative);
X.maxRelative = w.maxRelative;
var aE = g("<div />").addClass("pop_message_title h42_new1");
var D = w.buddy.statusClass;
var F = buddyPor(w.buddy, D, 2);
var t = g("<i />").addClass("nobg");
var o = g("<img />").attr("src", F);
var aG = g("<em />").addClass(status);
t.append(o).append(aG);
var ai = g("<span />").addClass("status");
var u = g("<strong />").addClass("pl20");
var J = g("<p />");
var aw = g("<h2 />").append(t).append(u).append(ai);
aE.append(aw).append(J);
aa.append(aE);
var ar = g("<div />").addClass("pop_ctr_bar");
var aH = g("<i />").addClass("close");
var W = g("<i />").addClass("max");
var z = g("<i />").addClass("min");
ar.append(z).append(W).append(aH);
aa.append(ar);
var B = g("<div />").addClass("message_main_new1 clearfix");
var G = g("<div />").addClass("message_content_new1");
var ad = G;
var y = g("<div />").addClass("chat_info chat_new1 chat_append_sec").css({
height: "158px"
});
var p = g("<div class='chat_append_tip chat_append_tip1'>请勿轻信汇款、中奖和话费充值等信息,谨防受骗。</div>");
y.append(p);
var m = g("<div />").addClass("face_main");
var j = g("<a />").attr("href", "#").attr("title", "选择表情").addClass("btn_face_new");
var ae = g("<a />").attr("href", "#").attr("title", "设置字体").addClass("btn_fonts none");
var H = jChatWindowPopExpression();
H.css("display", "none");
var al = g("<div />").addClass("chat_input chat_pc");
var an = "edit" + w.buddy.uid;
var R = g("<div contenteditable='true' id='" + an + "'/>").addClass("chat_textarea");
if (g.browser.mozilla) {
R.append("<br/>")
}
al.append(R);
var ax = g("<div />").addClass("send_btn");
var P = g("<a />").attr("href", "#").addClass("btn_send_new").append("发 送");
var aB = g("<span>");
var aj = X.attr("id") + "_checkbox";
var C = g("<input />").attr("name", "checkbox").attr("type", "checkbox").attr("id", aj).attr("checked", "checked");
var Z = g("<label />").attr("for", aj).append("以短信方式发送");
aB.append(C).append(Z);
var aA = g("<strong />").attr("id", X.attr("id") + "smsWordCounter").html("180");
var az = g("<em />").append("还可输入").append(aA).append("字");
ax.append(P).append(aB).append(az);
G.append(y).append(m.append(j).append(ae).append(H)).append(al).append(ax);
var ac = g("<div />").addClass("extend_btn");
var x = g("<a />").attr("href", "#").addClass("btn_display none").append("显示");
var I = g("<a />").attr("href", "#").addClass("btn_hide").append("隐藏");
X.isExpanded = true;
ac.append(x).append(I);
var aq = g("<div />").addClass("avatar");
var E = g("<img alt='' complete='complete' />").attr("src", portrait.defaultIcon);
var am = g("<div />").addClass("user_info_topnew1");
var q = "";
var ag = "";
if (w.buddy.mn && w.buddy.mn.trim().length > 0) {
ag = "fetion_mobile_new1";
q = w.buddy.mn
} else {
var r = new jCompactUri(w.buddy.uri);
ag = "fetion_num_new1";
if (r.isMobileNo) {
ag = "fetion_mobile_new1"
}
q = r.mobileNoOrSid
}
var k = g("<a href='#' target='_blank'>申请公开手机号</a>");
am.append(g("<div class='user_head_90new1' />").append(E)).append('<ul class="user_info_new1"><li><i id="buddy_icon" class=' + ag + "></i><label id='buddy_num' class=\"fetion_gray\">" + q + "</label></li></ul>");
var ah = g("<div />").addClass("user_info_botnew1");
var l = g("<img alt='' complete='complete' />").attr("src", portrait.defaultIcon);
ah.append(g("<i class='user_head_90new1' />").append(l));
aq.append(am).append(ah);
var L = null;
B.append(G).append(aq).append(ac);
aa.append(B);
var ab = g("<div class='chat_move_right' direction='right' />").css("cursor", "e-resize");
var Y = g("<div class='chat_move_left' direction='left' />").css("cursor", "w-resize");
var Q = g("<div class='chat_move_bottom' direction='bottom'><img alt='' src='images/onepixel.jpg' complete='complete' style='height:1px;width:1px' /></div>").css("cursor", "s-resize");
var aI = g("<div class='chat_move_rb' direction='right_bottom'><img alt='' src='images/onepixel.jpg' complete='complete' style='height:1px;width:1px' /></div>").css("cursor", "se-resize");
var aF = g("<div class='chat_move_lb' direction='left_bottom'><img alt='' src='images/onepixel.jpg' complete='complete' style='height:1px;width:1px' /></div>").css("cursor", "sw-resize");
var N = g("<div class='chat_move_top' direction='top'><img alt='' src='images/onepixel.jpg' complete='complete' style='height:1px;width:1px' /></div>").css("cursor", "n-resize");
var av = g("<div class='chat_move_rt' direction='right_top'><img alt='' src='images/onepixel.jpg' complete='complete' style='height:1px;width:1px' /></div>").css("cursor", "ne-resize");
var au = g("<div class='chat_move_lt' direction='left_top'><img alt='' src='images/onepixel.jpg' complete='complete' style='height:1px;width:1px' /></div>").css("cursor", "nw-resize");
X.append(N).append(Q).append(Y).append(ab).append(aI).append(av).append(aF).append(au);
X.lastPosition = {
top: X.css("top"),
left: X.css("left")
};
X.lastSize = {
height: X.height(),
width: X.width(),
isExpanded: X.isExpanded
};
X.isActived = false;
X.isShow = false;
X.isExpanded = true;
X.maxed = false;
X.enablechatInput = true;
X.inputPermission = 0;
X.hasShown = false;
function af(aK) {
stopPropagation(aK);
X.css("z-index", __zIndex++);
w.onFocus(X)
}
function T() {
H.css("display", "none")
}
X.close = function() {
X.css("z-index", -1);
if (X.maxed) {
X.maxed = false;
X.css({
top: X.lastPosition.top,
left: X.lastPosition.left
});
y.scrollTop(y.get(0).scrollHeight)
}
X.css({
top: "-1000px",
left: "-1000px"
});
X.isActived = false;
X.isShow = false;
X.hasShown = false;
X.expand();
T();
R.get(0).innerHTML = g.browser.mozilla ? "<br/>": "";
w.onClosed(X)
};
X.active = function() {
X.isActived = true;
X.css("z-index", -1);
X.resize(w.defaultHeight, w.defaultWidth);
w.onActive(X)
};
X.show = function(aL, aK) {
if (typeof aL == "number" && typeof aK == "number" && !X.maxed) {
X.css({
top: aL + "px",
left: aK + "px"
})
}
X.css({
"z-index": __zIndex++,
display: "block"
});
X.isShow = true;
X.hasShown = true;
R.blur();
R.focus();
X.resize();
w.onFocus(X)
};
X.focus = function() {
w.onFocus(X)
};
X.hide = function() {
X.css({
"z-index": -1,
display: "none"
});
T();
X.isShow = false
};
X.resize = function(aM, aL) {
if (typeof aM != "number") {
aM = X.height()
}
if (typeof aL != "number") {
aL = X.width()
}
y.height(0);
X.get(0).style.height = aM + "px";
X.get(0).style.width = aL + "px";
if (X.maxed) {
if (X.isExpanded) {
G.get(0).style.width = (aL - 123) + "px"
} else {
G.get(0).style.width = (aL - 11) + "px"
}
} else {
if (X.isExpanded) {
G.get(0).style.width = (aL - 123) + "px"
} else {
G.get(0).style.width = (aL - 11) + "px"
}
}
var aK = 0;
y.parent().children().each(function(aN) {
aK += g(this).outerHeight()
});
aK = aM - (aK + y.outerHeight()) - aE.outerHeight();
if (L && L.css("display") == "none") {
aK += L.outerHeight()
}
aK = ((aK < 0) ? 0 : aK);
y.get(0).style.height = aK + "px";
T();
w.onResized(X)
};
X.bind("click",
function() {
T()
});
var K;
var aC;
X.logSelfMsg = function(aO) {
R.get(0).innerHTML = g.browser.mozilla ? "<br/>": "";
var aL = g("<dl />").addClass("self");
var aN = new Date();
var aM = aN.getHours() + ":" + (aN.getMinutes() < 10 ? "0" + aN.getMinutes() : aN.getMinutes());
if (typeof K == "undefined" || typeof aC == "undefined" || !K || aM != aC) {
var aP = g("<dt />").append(htmlEncode(cnSubstr(w.user.displayName, 18)));
aP.append(g("<strong />").append("说"));
aP.append(g("<span />").append("(" + aM + "):"))
}
K = true;
aC = aM;
aO = aO.replace(/\u000a|\u000d\u000a/gi, "<br>");
aO = aO.replace(__hrefReg,
function(aQ) {
if (aQ.indexOf("://") >= 0) {
return "<a href='" + aQ + "' target='_blank'>" + aQ + "</a>"
} else {
return "<a href='http://" + aQ + "' target='_blank'>" + aQ + "</a>"
}
});
var aK = g("<dd />").append(EmoticonReplace(aO));
aL.append(aP).append(aK);
y.append(aL);
y.scrollTop(y.get(0).scrollHeight)
};
X.logFriendMsg = function(aO) {
var aL = g("<dl />").addClass("friend");
var aN = new Date();
var aM = aN.getHours() + ":" + (aN.getMinutes() < 10 ? "0" + aN.getMinutes() : aN.getMinutes());
if (typeof K == "undefined" || typeof aC == "undefined" || K || aM != aC) {
var aP = g("<dt />").append(htmlEncode(cnSubstr(w.buddy.displayName, 18)));
aP.append(g("<strong />").append("说"));
aP.append(g("<span />").append("(" + aM + "):"))
}
K = false;
aC = aM;
aO = htmlEncode(aO);
aO = aO.replace(/\u000a|\u000d\u000a/gi, "<br>");
aO = aO.replace(__hrefReg,
function(aQ) {
if (aQ.indexOf("://") >= 0) {
return "<a href='" + aQ + "' target='_blank'>" + aQ + "</a>"
} else {
return "<a href='http://" + aQ + "' target='_blank'>" + aQ + "</a>"
}
});
var aK = g("<dd />").append(EmoticonReplace(aO));
aL.append(aP).append(aK);
y.append(aL);
y.scrollTop(y.get(0).scrollHeight)
};
X.logErrorInfo = function(aK) {
var aL = g("<div />").addClass("code_error").append(aK);
y.append(aL).append("<br/>");
y.scrollTop(y.get(0).scrollHeight)
};
X.getSendMessagePlainText = function(aK) {
var aL = aK ? aK: R.get(0).innerHTML;
if (!aL) {
return ""
} else {
if (!g.browser.msie) {
aL = aL.replace(/<br[ ]*[\/]?>$/i, "");
aL = aL.replace(/<br[ ]*[\/]?>/gi, "http://www.cnblogs.com/xihulangzi/admin/file://u000a/")
}
aL = aL.replace(/<br[ ]*[\/]?>/gi, "http://www.cnblogs.com/xihulangzi/admin/file://u000d//u000a");
aL = aL.replace(a,
function(aN) {
var aO = g(aN).attr("src");
var aM = aO.substring(aO.lastIndexOf("/") + 1, aO.lastIndexOf("."));
return GetEmotionKey(aM)
});
return aL
}
return ""
};
X.enableInput = function(aK) {
X.enablechatInput = aK;
if (aK) {
X.inputPermission = 0;
al.removeClass().addClass("chat_input chat_pc").css("background-color", "");
R.removeAttr("disabled").attr("contenteditable", "true").css("background-color", "");
j.find("img").removeAttr("disabled").attr("src", "images/face_btn.png");
P.removeAttr("disabled").removeClass().addClass("btn_send_new")
} else {
al.removeClass().addClass("chat_fileinput chat_pc").css("background-color", "#f0f0f0");
R.attr("disabled", "disabled").attr("contenteditable", "false").css("background-color", "#f0f0f0");
j.find("img").attr("disabled", "disabled").attr("src", "images/face_btnfile.png");
P.attr("disabled", "disabled").removeClass().addClass("btn_sendfile_new")
}
};
X.collapse = function() {
var aK = 0;
if (X.maxed) {
var aL = ac.width() + aq.width();
G.width(G.width() + aL);
aK = X.width()
} else {
aK = X.width() - aq.width()
}
X.isExpanded = false;
X.resize(X.height(), aK);
x.removeClass("none");
I.addClass("none");
aq.addClass("none")
};
X.expand = function() {
var aK = 0;
if (X.maxed) {
var aL = ac.width() + aq.width();
G.width(G.width() - aL);
aK = X.width()
} else {
aK = X.width() + aq.width()
}
X.isExpanded = true;
X.resize(X.height(), aK);
x.addClass("none");
I.removeClass("none");
aq.removeClass("none")
};
x.bind("click", X.expand);
I.bind("click", X.collapse);
X.recalWordCount = function() {
if (C.attr("checked")) {
setTimeout(function() {
var aK = X.getSendMessagePlainText();
var aL = 180 - aK.length;
aA.html(aL);
if (aL < 0) {
az.addClass("font_warning")
} else {
az.removeClass("font_warning")
}
aK = null
},
200)
}
};
X.onCkbSmsCheckerChanged = function(aK) {
if (aK) {
if (C.attr("checked")) {
az.css("display", "");
U = true;
g.increaseCounters("500600001")
} else {
az.css("display", "none");
U = false
}
} else {
az.css("display", "none");
U = false
}
X.recalWordCount()
};
C.bind("click", X.onCkbSmsCheckerChanged);
var aJ = ContactStatus.Unknown;
var ap = ContactType.Unknown;
var v = true;
var U = false;
var n = false;
function A(aK, aL) {
if (aK.cas != "0" || aK.sms != "0.0:0:0") {
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)")
} else {
if (aL) {
C.removeAttr("disabled");
Z.css("color", "")
}
}
}
function O(aK, aN, aL) {
U = false;
n = false;
if (aN == ContactType.MobileBuddy) {
if (L) {
L.remove()
}
if (w.user.isCM) {
L = jChatWindowPopMessage({
target: ad,
canClose: true,
className: "pop_blacktxt",
onClose: X.resize
});
L.setInnerHtml("对方是您的手机好友,您的消息将以长短信方式发送到对方手机。");
v = true
} else {
L = jChatWindowPopMessage({
target: ad,
canClose: false,
className: "pop_blacklist",
onClose: X.resize
});
L.setInnerHtml("对方是您的手机好友,您尚未绑定手机号,无法与其发起会话。");
v = false
}
U = true;
C.attr("checked", "checked");
X.onCkbSmsCheckerChanged(true);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)");
X.resize()
} else {
if (aN == ContactType.ChatFriend) {
if (L) {
L.remove()
}
L = jChatWindowPopMessage({
target: ad,
canClose: true,
className: "pop_blacktxt",
onClose: X.resize
});
if ((aL & ContactStatus.CloseService) == ContactStatus.CloseService) {
L.setInnerHtml("对方没有开通服务,您不能和其会话。");
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)");
v = false
} else {
var aM = g("<span>该用户不在您的好友列表中。</span><a href=#>点击此处添加为好友</a><br/><span>请勿轻信汇款、中奖等消息。</span><a href=#>点击此处将其加入黑名单</a>");
L.setInnerHtml(aM);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)");
X.resize();
aM.eq(1).bind("click",
function() {
createAddBuddyTab(aK.sid);
return false
});
aM.eq(4).bind("click",
function() {
OpBuddy(aK.uid, "1");
return false
});
if (getUserPermission(__user.gp, "contact") != 1) {
v = false
} else {
v = true
}
}
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)")
} else {
if (aN == ContactType.FetionBuddy) {
ao(aK, aL)
}
}
}
X.onCkbSmsCheckerChanged(v);
A(aK, false)
}
function ao(aK, aL) {
if (L) {
L.remove()
}
if (aK.bss == "0" && aK.mn == "") {
L = jChatWindowPopMessage({
target: ad,
canClose: false,
className: "pop_blacktxt",
onClose: X.resize
});
L.setInnerHtml("对方没有开通服务,您不能和其会话。");
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)");
X.resize();
v = false
} else {
if ((aL & ContactStatus.Online) == ContactStatus.Online) {
X.resize();
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.removeAttr("disabled");
Z.css("color", "");
v = true
} else {
if ((aL & ContactStatus.Busy) == ContactStatus.Busy) {
L = jChatWindowPopMessage({
target: ad,
canClose: true,
className: "pop_blacktxt",
onClose: X.resize
});
L.setInnerHtml("对方“忙碌”,可能无法及时回复您的消息。");
X.resize();
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.removeAttr("disabled");
Z.css("color", "");
v = true
} else {
if ((aL & ContactStatus.Away) == ContactStatus.Away) {
L = jChatWindowPopMessage({
target: ad,
canClose: true,
className: "pop_blacktxt",
onClose: X.resize
});
L.setInnerHtml("对方“离开”,可能无法及时回复您的消息。");
X.resize();
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.removeAttr("disabled");
Z.css("color", "");
v = true
} else {
if ((aL & ContactStatus.SmsOnline) == ContactStatus.SmsOnline) {
L = jChatWindowPopMessage({
target: ad,
canClose: true,
className: "pop_blacktxt",
onClose: X.resize
});
if (w.user.isCM) {
L.setInnerHtml("对方短信在线,您的消息会以短信发送到对方手机。");
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.removeAttr("disabled");
Z.css("color", "");
n = true
} else {
L.setInnerHtml("对方离线,您的消息将在对方下次登录时发送。");
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)")
}
X.resize();
v = true
} else {
if ((aL & ContactStatus.Offline) == ContactStatus.Offline) {
L = jChatWindowPopMessage({
target: ad,
canClose: true,
className: "pop_blacktxt",
onClose: X.resize
});
L.setInnerHtml("对方离线,您的消息将在对方下次登录时发送。");
X.resize();
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)");
v = true
} else {
X.resize();
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.removeAttr("disabled");
Z.css("color", "");
v = true
}
}
}
}
}
}
A(aK, false)
}
X.setBuddyStatus = function(aR) {
w.buddy = aR;
A(aR, true);
var aS = aR.type,
aM = aR.status;
var aK = (ap != aS);
var aL = (aJ != aM);
if (aS != ContactType.ChatFriend) {
var aP = aR.pd ? cnSubstr(aR.pd.trim(), 6) : getStatusDesc(aR, aS, aM);
ai.text("(" + aP + ")")
} else {
ai.text("- 陌生人")
}
if (!aK && !aL) {
return
}
var aQ = aR.statusClass;
aG.removeClass().addClass(aQ);
var aO = w.buddy.statusClass;
var aN = buddyPor(w.buddy, aO, 2);
o.attr("src", aN);
if ((aM & ContactStatus.BlockList) > 0) {
if (L) {
L.remove()
}
L = jChatWindowPopMessage({
target: ad,
canClose: true,
className: "pop_blacktxt",
onClose: X.resize
});
L.setInnerHtml("对方在您的黑名单中,您不能和其会话。");
X.resize();
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)");
v = false
} else {
O(aR, aS, aM)
}
aJ = aM;
ap = aS;
X.enableInput(v)
};
X.setBuddyStatus(w.buddy);
X.getBuddyDisplayNo = function(aL) {
var aK = "";
var aN = "";
if (aL.mn && aL.mn.trim().length > 0) {
aN = "fetion_mobile_new1";
aK = aL.mn
} else {
var aM = new jCompactUri(aL.uri);
aN = "fetion_num_new1";
if (aM.isMobileNo) {
aN = "fetion_mobile_new1"
}
aK = aM.mobileNoOrSid
}
return {
num: aK,
className: aN
}
};
X.setBuddyInfo = function(aL) {
w.buddy = aL;
u.text(cnSubstr(aL.displayName, 18));
J.text(cnSubstr(aL.ct == 1 ? "": aL.i, 38));
var aM = aL.statusClass;
var aN = buddyPor(aL, aM, 2);
o.attr("src", aN);
E.attr("src", getUserPortraitUrl(w.buddy));
var aK = X.getBuddyDisplayNo(w.buddy);
am.find("#buddy_icon").removeClass().addClass(aK.className);
am.find("#buddy_num").text(aK.num)
};
X.setBuddyInfo(w.buddy);
X.setUserInfo = function(aK) {
w.user = aK;
l.attr("src", getUserPortraitUrl(aK));
if (w.user.cas != "0" && w.user.isCM) {
C.removeAttr("checked");
X.onCkbSmsCheckerChanged(false);
C.attr("disabled", "disabled");
Z.css("color", "rgb(128, 128, 128)")
}
};
X.setUserInfo(w.user);
function S(aM) {
T();
if (!X.maxed) {
aM = window.event || aM;
if (X.get(0).setCapture) {
X.get(0).setCapture()
} else {
if (window.captureEvents) {
window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
var aN = X.offset();
var aK = getViewportHeight();
var aL = getViewportWidth();
var aO = {
win: X,
mOffsetX: aM.clientX - aN.left,
mOffsetY: aM.clientY - aN.top,
viewH: aK,
viewW: aL
};
g.appendMaskPage(99);
X.bind("mousemove", aO, b).bind("mouseup", aO, h)
}
}
aE.bind("mousedown", S);
function V(aM) {
T();
if (!X.maxed) {
aM = window.event || aM;
if (X.get(0).setCapture) {
X.get(0).setCapture()
} else {
if (window.captureEvents) {
window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
var aK = getViewportHeight();
var aL = getViewportWidth();
var aN = g(this).attr("direction");
var aO = {
win: X,
originSize: {
H: X.height(),
W: X.width()
},
moveDire: aN,
originX: aM.clientX,
originY: aM.clientY,
viewH: aK,
viewW: aL
};
g.appendMaskPage(99);
X.bind("mousemove", aO, f).bind("mouseup", aO, d)
}
}
X.find("div[direction]").bind("mousedown", V);
ar.bind("mousedown", af);
ar.find("i").bind("mouseover",
function() {
var aK = g(this).attr("class");
g(this).attr("class", aK + "_on")
}).bind("mouseout",
function() {
var aK = g(this).attr("class");
g(this).attr("class", aK.replace(/^(.*)_on$/, "$1"))
});
X.isOnFocus = function() {
return parseInt(X.css("z-index")) == __zIndex - 1 && X.isActived
};
aw.bind("mousedown", af);
J.bind("mousedown", af);
aH.bind("click", X.close);
z.bind("click",
function() {
X.hide();
w.onMined(X)
});
X.max = function() {
X.resize(w.maxRelative.height() - 3, w.maxRelative.width() - 2)
};
function aD() {
if (!X.maxed) {
X.maxed = true;
W.removeClass().addClass("resume");
X.lastPosition = {
top: X.css("top"),
left: X.css("left")
};
X.lastSize = {
height: X.height(),
width: X.width(),
isExpanded: X.isExpanded
};
var aK = w.maxRelative.offset();
X.css({
top: aK.top,
left: aK.left
});
X.max();
w.onMaxed(X, true)
} else {
X.maxed = false;
W.removeClass().addClass("max");
X.css({
top: X.lastPosition.top,
left: X.lastPosition.left
});
if (X.isExpanded != X.lastSize.isExpanded) {
if (X.lastSize.isExpanded) {
X.expand()
} else {
X.collapse()
}
}
X.resize(X.lastSize.height, X.lastSize.width);
w.onMaxed(X, false)
}
y.scrollTop(y.get(0).scrollHeight);
R.blur();
R.focus()
}
W.bind("click", aD);
aE.bind("dblclick", aD);
X.bind("mousedown",
function() {
X.css("z-index", __zIndex++);
w.onFocus(X)
});
var i, ak;
function M() {
if (document.selection) {
i = document.selection.createRange()
} else {
if (window.getSelection) {
ak = window.getSelection().getRangeAt(0)
}
}
}
var ay = Math.ceil(parseFloat(R.css("line-height")));
R.bind("keydown",
function(aM) {
aM = window.event || aM;
var aL = aM.keyCode || aM.charCode;
function aN() {
return (aL == 13 && aM.ctrlKey) || (aL == 13 && aM.shiftKey) || (aL == 13 && aM.altKey)
}
function aK() {
return aL == 13
}
M();
if (aN()) {
if (i) {
i.text = "\r\n";
i.select()
} else {
if (ak) {
replaceSelection(ak, "<br>");
replaceSelection(ak, " ");
R.scrollTop(R.scrollTop() + ay)
}
}
if (aM.preventDefault) {
aM.preventDefault()
} else {
aM.returnValue = false
}
} else {
if (aK()) {
if (aM.preventDefault) {
aM.preventDefault()
} else {
aM.returnValue = false
}
P.click()
}
}
}).bind("keypress", M).bind("keyup", M).bind("mousedown", M).bind("mouseup", M).bind("click", M);
R.bind("keydown", X.recalWordCount);
R.bind("keyup", X.recalWordCount);
R.bind("paste",
function(aO) {
aO = window.event || aO;
if (window.clipboardData) {
var aR = window.clipboardData.getData("Text");
window.clipboardData.setData("Text", aR)
} else {
if (!g.browser.mozilla) {
if (aO.preventDefault) {
aO.preventDefault()
} else {
aO.returnValue = false
}
var aQ = R.get(0);
aQ.focus();
var aM = window.getSelection();
var aL = aM.getRangeAt(0);
var aP = "";
aP = aO.clipboardData.getData("Text");
var aR = new String(aP);
aL.deleteContents();
var aK = aL.createContextualFragment(aR);
var aN = aK.lastChild;
aL.insertNode(aK);
aL.setEndAfter(aN);
aL.collapse(false);
aM.removeAllRanges();
aM.addRange(aL);
aL.detach();
aL = null
}
}
if (g.browser.mozilla) {
setTimeout(function() {
var aS = R.get(0).textContent;
R.get(0).innerHTML = "";
R.append(aS)
},
10)
}
X.recalWordCount()
});
P.bind("mousedown", af).bind("click",
function() {
var aO = X.getSendMessagePlainText();
if (aO == "") {
return
}
if (C.attr("checked")) {
var aS = "rgb(255,204,204)";
if (aO.length > 180) {
var aN = R.get(0);
var aR = 0;
var aL = 0;
var aM = 0;
var aQ = function() {
aN.style.backgroundColor = aS;
aR = setTimeout(aP, 100);
aK(); ++aM
};
var aP = function() {
aN.style.backgroundColor = "";
aL = setTimeout(aQ, 100);
aK(); ++aM
};
var aK = function() {
if (aM > 3) {
clearTimeout(aR);
clearTimeout(aL);
aN.style.backgroundColor = ""
}
};
aQ();
return
}
}
aO = htmlDecode(aO);
aO = htmlEncode(aO);
if (!g.browser.msie) {
aO = aO.replace(/\\u000a/gi, "\u000a")
}
aO = aO.replace(/\\u000d\\u000a/gi, "\u000d\u000a");
if (C.attr("checked")) {
U = true;
n = false
} else {
U = false
}
w.onSendMessage(X, w.buddy.uid, aO, U, n);
R.blur();
R.focus();
X.recalWordCount()
});
j.bind("mousedown", af).bind("mouseover",
function() {
j.addClass("btn_hover")
}).bind("mouseout",
function() {
j.removeClass("btn_hover")
}).bind("click",
function(aK) {
j.toggleClass("btn_fechove");
if (H.css("display") == "none") {
H.css("display", "")
} else {
H.css("display", "none")
}
stopPropagation(aK)
});
X.setInput = function(aK) {
R.get(0).innerHTML = EmoticonReplace(aK);
if (g.browser.mozilla) {
R.append("<br>")
}
};
setTimeout(function() {
H.fillImgs();
H.bindItemClick(function(aK, aL) {
stopPropagation(aL);
setTimeout(function() {
var aN = g(aK).children("img");
var aP = EntityReplace(aN.attr("pattern"));
var aO = EmoticonReplace(aP);
if (i && i.parentElement && i.parentElement().id == an) {
replaceSelection(i, aO)
} else {
if ((ak && ak.startContainer && ak.startContainer.id == an) || (ak && ak.startContainer && ak.startContainer.parentNode && ak.startContainer.parentNode.id == an)) {
replaceSelection(ak, aO);
if (ak) {
R.blur();
R.focus()
}
} else {
var aM = R.get(0).innerHTML;
if (g.browser.mozilla) {
aM = aM.replace(/<br[ ]*[\/]?>$/i, aO + "<br>")
} else {
aM += aO
}
R.get(0).innerHTML = aM
}
}
j.toggleClass("btn_fechove")
},
50)
})
},
1000);
X.fixPosition = function() {
var aK = {
top: X.css("top"),
left: X.css("left")
};
X.css({
top: "-1000px",
left: "-1000px"
});
window.setTimeout(function() {
X.css({
top: aK.top,
left: aK.left
})
},
300)
};
return X
}
});
function b(n) {
var o = n.data;
var m = o.win;
var l = o.mOffsetX;
var j = o.mOffsetY;
var k = o.viewH - m.outerHeight();
var i = o.viewW - m.outerWidth();
k = (k < 0 ? 0 : k);
i = (i < 0 ? 0 : i);
var q = window.event || n;
if (q.button < 2) {
var p = parseInt(q.clientY) - parseInt(j);
var r = parseInt(q.clientX) - parseInt(l);
p = (p < 0 ? 0 : p);
r = (r < 0 ? 0 : r);
p = (p > k ? k: p);
r = (r > i ? i: r);
m.css({
top: p + "px",
left: r + "px"
})
}
}
function h(i) {
var k = i.data;
var j = k.win;
if (j.get(0).releaseCapture) {
j.get(0).releaseCapture()
} else {
if (window.releaseEvents) {
window.releaseEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
g.removeMaskPage();
j.unbind("mousemove").unbind("mouseup")
}
function f(n) {
var o = n.data;
var m = o.win;
var j = o.originSize;
var t = o.moveDire;
var s = o.originX;
var q = o.originY;
var p = window.event || n;
if (p.clientX < 0 || p.clientY < 0 || p.clientX > o.viewW || p.clientY > o.viewH) {
return
}
var k = j.W;
var i = j.H;
var r = false;
var l = false;
switch (t) {
case "right":
k = j.W + (p.clientX - s);
break;
case "left":
k = j.W - (p.clientX - s);
l = true;
break;
case "top":
i = j.H - (p.clientY - q);
r = true;
break;
case "bottom":
i = j.H + (p.clientY - q);
break;
case "right_top":
k = j.W + (p.clientX - s);
i = j.H - (p.clientY - q);
r = true;
break;
case "right_bottom":
k = j.W + (p.clientX - s);
i = j.H + (p.clientY - q);
break;
case "left_top":
k = j.W - (p.clientX - s);
i = j.H - (p.clientY - q);
r = true;
l = true;
break;
case "left_bottom":
k = j.W - (p.clientX - s);
i = j.H + (p.clientY - q);
l = true;
break
}
if (k >= 448 && l) {
m.css("left", p.clientX)
}
if (i >= 365 && r) {
m.css("top", p.clientY)
}
k = (k < 448 ? 448 : k);
i = (i < 365 ? 365 : i);
m.resize(i, k)
}
function d(i) {
var k = i.data;
var j = k.win;
if (j.get(0).releaseCapture) {
j.get(0).releaseCapture()
} else {
if (window.releaseEvents) {
window.releaseEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
g.removeMaskPage();
j.unbind("mousemove").unbind("mouseup")
}
})(jQuery); (function(a) {
a.extend(a.fn, {
jContactTree: function(c) {
var g = a.extend({
target: a(document.body),
enable: true,
isSinglePattern: true,
user: {},
onBuddyListExpand: function() {},
onBuddyItemDbClick: function() {},
onBuddyItemClick: function() {},
onBuddyItemMouseOver: function() {},
onBuddyItemMouseOut: function() {},
onBuddyItemRightClick: function() {}
},
c);
g.target = ((typeof g.target == "string") ? a("#" + g.target) : g.target);
var f = a("<div id='friends_list'><dl /></div>").addClass("friends_list");
if (g.isSinglePattern) {
f.addClass("friends_list_1")
}
g.target.append(f);
f.adjustHeight = function(i) {
if (typeof i == "undefined") {
i = g.target.innerHeight() - a("#search_friends").outerHeight(true) - a("#add_friend").outerHeight(true) - 46
}
f.height(i)
};
f.adjustHeight();
f.setPattern = function(h) {
g.isSinglePattern = h
};
f.createBuddyList = function(n, j) {
var h = new Object();
var o = "";
var l = "";
var i = htmlEncode(n.n);
if (j) {
o = "<dt id='buddyList_" + n.id + "' title='" + i + "' class='open'><b>" + i + "</b><em>(0/0)</em></dt>";
l = "<dd>"
} else {
o = "<dt id='buddyList_" + n.id + "' title='" + i + "'><b>" + i + "</b><em>(0/0)</em></dt>";
l = "<dd style='display:none'>"
}
if (g.isSinglePattern) {
l += "<ul class='friends_list_small'>"
} else {
l += "<ul>"
}
var m = "</ul></dd>";
var k = new Array();
h.pushContent = function(p) {
k.push(p)
};
h.toHtmlString = function() {
k.sort(function(u, t) {
return buddyComparator(u.buddyObj, t.buddyObj)
});
var s = "";
s += l;
var p = 0;
var r = k.length;
for (var q = 0; q < r; q++) {
s += k[q].strContent;
if (k[q].buddyObj.currIsOc) {
p++
}
}
s += m;
o = o.replace("<em>(0/0)</em>", "<em>(" + p + "/" + r + ")</em>");
s = o + s;
return s
};
return h
};
f.createBuddyItem = function(n) {
var i = new Object();
var o = "buddyitem_" + n.uid;
var m = n.statusClass;
var h = EmotionNonhtmlReplace(n.displayName, -1, true);
var k = cnSubstr((!n.i || n.ct == 1) ? "": EmotionNonhtmlReplace(n.i, -1, true), 22 - h.length, true);
var j = "";
if (n.isVip) {
j = " style='color:red;'"
}
i.buddyObj = n;
var l = "";
var p = portrait.fetion_16;
if (g.isSinglePattern) {
l = getContactPresDesc(n);
i.strContent = "<li id='" + o + "' on='' user='" + n.uid + "'><div class=friends_info><h5><strong class=BuddyList_Container><img src='" + p + "'><em class='" + m + "'></em></strong><label " + j + ">" + h + "</label> <span>" + k + "</span><em> " + l + "</em></h5></div><div class=friend_control></div></li>"
} else {
var l = n.pd ? cnSubstr(n.pd.trim(), 6) : getStatusDesc(n);
l = htmlEncode(l);
i.strContent = "<li id='" + o + "' user='" + n.uid + "'><div class=friends_photo_box><img class=friends_photo alt='' src='" + p + "' complete='complete' /></div><div class=friends_info><h5><i class='" + m + "'></i><label " + j + ">" + h + "</label> <em> " + l + "</em></h5><p>" + k + "</p></div><div class=friend_control></div></li>"
}
return i
};
f.firstTop = 0;
f.h = 0;
f.portraitFlag = false;
f.bind("mousedown",
function() {
var h = parseInt(f.css("height"));
if (f.firstTop == 0) {
f.firstTop = f.find("dt:first").offset().top
}
f.h = h + f.firstTop
}).bind("scroll",
function() {
var k, j;
j = f.find("dt[class='open']");
if (j.size() <= 0) {
return
}
k = j.next();
var i = k.find("ul > li[on!='1']");
if (i.size() > 0 && i.first().offset().top <= f.h) {
var h;
i.each(function(l, m) {
a(m).attr("on", "1");
var o = a(m).attr("id").substring(10);
if (__contactMap.containsKey(o)) {
h = __contactMap.get(o);
var n = buddyPor(h, h.statusClass, 1);
a(m).find(".BuddyList_Container > img").attr("src", n)
}
if (l >= 29) {
if (!a(m).next().attr("id") || a(m).next().offset().top > f.h) {
return false
}
}
})
}
});
f.bindEventToList = function() {
f.find("dt").bind("click",
function() {
var k = {
expanded: false
};
var i = a(this);
var j = i.next();
if (j.css("display") == "none") {
k.expanded = true;
i.addClass("open");
j.css("display", "");
if (__contactMap.size() > 10 && j.find("ul > li[on='1']").size() <= 0) {
var h;
j.find("ul > li").each(function(l, m) {
a(m).attr("on", "1");
var o = a(m).attr("id").substring(10);
if (__contactMap.containsKey(o)) {
h = __contactMap.get(o);
var n = buddyPor(h, h.statusClass, 1);
a(m).find(".BuddyList_Container > img").attr("src", n)
}
if (l >= 29) {
if (!a(m).next().attr("id") || a(m).next().offset().top > f.h) {
return false
}
}
})
}
} else {
k.expanded = false;
i.removeAttr("class");
j.css("display", "none")
}
return false
})
};
f.bindEventToItem = function() {
var h = f.find("li");
h.bind("mouseover",
function(i) {
if (isMouseOver(this, i)) {
this.className = "hover";
g.onBuddyItemMouseOver(this, a(this).attr("user"))
}
}).bind("mouseout",
function(i) {
if (isMouseOut(this, i)) {
this.className = "";
g.onBuddyItemMouseOut(this, a(this).attr("user"))
}
}).bind("dblclick",
function() {
g.onBuddyItemDbClick(this, a(this).attr("user"))
}).bind("click",
function() {
g.onBuddyItemClick(this, a(this).attr("user"))
});
h.each(function(l) {
var m = a(this);
var k = a(this).attr("user");
var j;
if (g.isSinglePattern) {
j = m.children().eq(1)
} else {
j = m.children().eq(2)
}
j.bind("click",
function() {
g.onBuddyItemRightClick(this, k);
this.className = "friend_control friend_control_down"
})
})
};
f.fixSpecialList = function(k) {
for (var j = 0,
l = k.length; j < l; j++) {
var h = __contactTree.getBuddyList(k[j]);
var m = h.eq(1).find("ul > li:first");
if (m.length <= 0) {
h.eq(0).css("display", "none")
} else {
h.eq(0).css("display", "")
}
}
};
f.setInnerHtml = function(h) {
f.children().get(0).innerHTML = h;
f.bindEventToList();
f.bindEventToItem();
f.fixSpecialList(["0", "-1"])
};
f.insertBuddyList = function(m, l) {
var p = f;
var n = a("<dt><b /><em /></dt><dd><ul /></dd>");
var k = n.eq(0).attr("id", "buddyList_" + m.id).attr("title", m.n);
var h = k.find("b").text(m.n);
var j = k.find("em").text("(0/0)");
var i = n.eq(1).css("display", "none");
k.bind("click",
function() {
var q = {
expanded: false
};
if (i.css("display") == "none") {
q.expanded = true;
k.addClass("open");
i.css("display", "")
} else {
q.expanded = false;
k.removeClass("open");
i.css("display", "none")
}
return false
});
var o = p.find("dt");
if (o.length <= 0) {
p.children().eq(0).append(n)
} else {
if (typeof l == "number" && l >= 0 && l < o.length) {
o.eq(l).before(n)
} else {
p.children().eq(0).append(n)
}
}
return n
};
function e(i) {
var h = i.attr("user");
return __contactMap.get(h)
}
function d(n, m) {
var j = n.size();
if (j <= 0) {
return - 1
} else {
var r = e(n.eq(0));
if (buddyComparator(m, r) <= 0) {
return 0
}
var l = e(n.eq(j - 1));
if (buddyComparator(m, l) > 0) {
return j
}
var i = 0;
var k = j - 1;
var p = 0;
while (k - i > 1) {
var p = Math.floor((i + k) / 2);
var q = e(n.eq(p));
var h = buddyComparator(m, q);
if (h <= 0) {
k = p
} else {
if (h > 0) {
i = p
}
}
}
var o = e(n.eq(i));
if (buddyComparator(m, o) == 0) {
return i
} else {
return k
}
}
}
f.getBuddyList = function(j) {
var h = f;
var i = null;
if (typeof j != "undefined" && j != null) {
var k = h.find("#buddyList_" + j).next();
i = k.prev().andSelf()
}
return i
};
f.isBuddyListOpen = function(h) {
var i = f.getBuddyList(h);
if (i == null || i.size() == 0) {
return false
} else {
return "none" != i.eq(1).css("display")
}
};
f.insertBuddyItem = function(u, i) {
var x = f.getBuddyList(i);
if (x.size() == 0) {
return
}
var q = "buddyitem_" + u.uid;
var s, m;
if (g.isSinglePattern) {
s = a("<li><div /><div /></li>").attr("id", q);
var v = s.children();
var o = buddyPor(u, u.statusClass, 1);
var z = a('<strong class="BuddyList_Container"><img src="' + o + '"><em class="' + u.statusClass + '"></em></strong>');
var w = a("<label />");
var p = a("<span />");
var l = a("<em />");
w.text(u.displayName);
l.text(" " + getContactPresDesc(u));
var r = a("<h5 />").append(z).append(w).append(" ").append(p).append(l);
v.eq(0).addClass("friends_info").append(r);
m = v.eq(1)
} else {
s = a("<li><div /><div /><div /></li>").attr("id", q);
var j = a("<img complete='complete' alt=''/>").addClass("friends_photo");
j.attr("src", getUserPortraitUrl(u, "3"));
var v = s.children();
v.eq(0).addClass("friends_photo_box").append(j);
var z = a("<i />").addClass(u.statusClass);
var h = a("<em />");
var w = a("<label />");
var y = u.pd ? cnSubstr(u.pd.trim(), 6) : getStatusDesc(u);
h.text(" " + y);
w.text(u.displayName);
var r = a("<h5 />").append(z).append(w).append(h);
var p = a("<p />");
v.eq(1).addClass("friends_info").append(r).append(p);
m = v.eq(2)
}
m.addClass("friend_control");
m.bind("click",
function() {
g.onBuddyItemRightClick(s, u.uid.toString());
this.className = "friend_control friend_control_down"
});
s.bind("mouseover",
function() {
this.className = "hover";
g.onBuddyItemMouseOver(this, u.uid.toString())
}).bind("mouseout",
function() {
this.className = "";
g.onBuddyItemMouseOut(this, u.uid.toString())
}).bind("dblclick",
function() {
g.onBuddyItemDbClick(this, u.uid.toString())
}).bind("click",
function() {
g.onBuddyItemClick(this, u.uid.toString())
});
var t = x.eq(1).find("ul > li[id!='" + q + "']");
var k = t.size();
var n = d(t, u);
if (n < 0 || n >= k) {
x.eq(1).find("ul").append(s)
} else {
t.eq(n).before(s)
}
if (u.currIsOc) {
f.updateBuddyStat(i, 1, 1)
} else {
f.updateBuddyStat(i, 0, 1)
}
if (i == "0" || i == "-1") {
f.fixSpecialList([i])
}
};
var b = /^\(([\d]+)\/([\d]+)\)$/ig;
f.updateBuddyStat = function(j, i, h) {
var l = f.getBuddyList(j);
if (l.size() == 0) {
return
}
var m = l.eq(0).children("em:first");
var k = m.text().trim();
k = k.replace(b,
function(o, n, p) {
return "(" + (parseInt(n) + i) + "/" + (parseInt(p) + h) + ")"
});
m.text(k)
};
f.deleteBuddyItem = function(i, j) {
var l = f.getBuddyList(i);
if (l.size() == 0) {
return null
}
var k = l.eq(1).find("#buddyitem_" + j);
if (k.size() == 0) {
return null
}
k.remove();
var h = __contactMap.get(j);
if (h && h.currIsOc) {
f.updateBuddyStat(i, -1, -1)
} else {
f.updateBuddyStat(i, 0, -1)
}
if (i == "0" || i == "-1") {
f.fixSpecialList([i])
}
return k
};
f.getBuddyItem = function(h, i) {
var j = f.getBuddyList(h);
return j.eq(1).find("#buddyitem_" + i)
};
f.updateBuddyItem = function(h, v) {
var x = f.getBuddyList(h);
var y = f.getBuddyItem(h, v.uid);
var r = "buddyitem_" + v.uid;
if (y.size() == 0) {
return
}
var s, p, i;
if (g.isSinglePattern) {
s = y.find("div:nth-child(1) > h5 > span:first");
p = y.find("div:nth-child(1) > h5 > strong> em:first");
i = y.find("div:nth-child(1) > h5 > label:first");
var o = y.find("div:nth-child(1) > h5 > strong> img:first");
var j = v.statusClass;
var m = buddyPor(v, j, 1);
o.attr("src", m);
var l = y.find("div:nth-child(1) > h5 > em:first");
l.text(" " + getContactPresDesc(v))
} else {
s = y.find("div:nth-child(2) > p:first");
p = y.find("div:nth-child(2) > h5 > i:first");
i = y.find("div:nth-child(2) > h5 > label:first");
var o = y.find("div:first-child > img:first");
var l = y.find("div:nth-child(2) > h5 > em:first");
o.attr("src", getUserPortraitUrl(v, "3"));
var z = v.pd ? cnSubstr(v.pd.trim(), 6) : getStatusDesc(v);
l.text(" " + z)
}
p.removeClass().addClass(v.statusClass);
i.get(0).innerHTML = EmotionNonhtmlReplace(v.displayName, -1, true);
var w = i.text().length;
s.get(0).innerHTML = cnSubstr(!v.i || v.ct == 1 ? "": EmotionNonhtmlReplace(v.i, -1, true), 22 - w, true);
if (v.isVip) {
i.css("color", "red")
}
var t = x.eq(1).find("ul > li[id!='" + r + "']");
var k = t.size();
var n = d(t, v);
if (n < 0 || n >= k) {
x.eq(1).find("ul").append(y)
} else {
t.eq(n).before(y)
}
var u = v.lastIsOc;
var q = v.currIsOc;
if (u != q) {
if (u && !q) {
f.updateBuddyStat(h, -1, 0)
} else {
f.updateBuddyStat(h, 1, 0)
}
}
};
return f
}
})
})(jQuery); (function(b) {
var a = 0;
b.extend(b.fn, {
jTabWindow: function(d) {
var g = b.extend({
target: "",
id: ""
},
d);
g.target = ((typeof g.target == "string") ? b("#" + g.target) : g.target);
var c = b("<div />").attr("id", g.id).addClass("main_cont");
var f = b("<div />").addClass("top_tab");
var e = b("<div />").addClass("content");
c.append(f).append(e);
g.target.append(c);
c.adjustContentHeight = function(j) {
if (typeof j == "undefined") {
j = g.target.height() - f.height()
}
var l = e.find("iframe");
l.each(function(h) {
b(this).height(0)
});
e.height(j);
var m = j;
if ((!b.browser.msie) && getViewportWidth() < 1000) {
var k = getScrollBarWidth();
var i = k.horizontal;
m = j - i
}
l.each(function(h) {
b(this).height(m)
})
};
c.adjustContentHeight();
f.append("<p>网页版飞信无法保存您的聊天记录,更多功能请下载<a id='topTabDownload' href=\"" + __downloadUrl + '" title="" target="_blank">飞信客户端</a></p>');
f.append("<ul />");
c.createTab = function(m, l, h) {
var i = a++;
var j = b("<li />").attr("id", "tab_" + i);
j.append("<span></span>" + m);
f.children("ul").eq(0).append(j);
var k = b("<div />").attr("id", "content_" + i);
if (l.indexOf("?") < 0) {
l += "?tabIndex=" + i
} else {
l += "&tabIndex=" + i
}
k.append(b("<iframe frameborder=0 />").attr("src", l).css({
height: "100%",
width: "100%",
scrolling: "auto"
}));
e.append(k);
j.bind("click",
function() {
f.find("li").each(function() {
var o = b(this);
if (o.attr("id") == "tab_" + i) {
o.removeClass().addClass("on")
} else {
o.removeClass()
}
});
e.children("div").each(function() {
var o = b(this);
if (o.attr("id") == "content_" + i) {
o.css("display", "block")
} else {
o.css("display", "none")
}
});
return false
});
if (h) {
var n = b("<em />");
j.append(n);
n.bind("click",
function() {
j.remove();
j = null;
k.remove();
k = null;
var o = f.find("li");
if (o.length > 0) {
o.eq(0).click()
}
return false
})
}
c.adjustContentHeight();
j.click()
};
c.removeTab = function(j) {
c.find("#tab_" + j).remove();
c.find("#content_" + j).remove();
var h = f.find("li");
if (h.length > 0) {
h.eq(0).click()
}
};
c.getTabByUrl = function(i) {
var h = null;
e.find("iframe").each(function(j) {
if (this.src.startsWith(i)) {
h = new Object();
h.topTab = f.children("ul").eq(0).children().eq(j);
h.content = e.children().eq(j);
return false
}
});
return h
};
return c
}
})
})(jQuery); (function(c) {
var d = c("<div style='position:absolute;top:0;left:0;z-index:-1' /> ");
d.append('<iframe style="FILTER:Alpha(opacity=3);width:100%;height:100%" onclick="alert()" />');
c.extend(c.fn, {
fetionHintWindow: function(i) {
var e = c.extend({
modal: true
},
i);
var g = c("<div />").addClass("hint").css({
display: "none",
"z-index": "-1"
});
g.appendTo(document.body);
var m = c("<h3><span /><i /><b /></h3>");
var k = c("<div />").addClass("hint_cont");
var f = c("<div />").addClass("hint_cont_left");
var h = c("<p />");
var n = c("<div />").addClass("hint_btn");
var j = c("<button type=button />").text("确定");
var l = c("<button type=button />").addClass("btn_cancel").text("取消");
n.append(j).append(l);
k.append(f).append(h).append(n);
g.append(m).append(k);
g.show = function(v, w, t, o, u, x) {
m.children().eq(2).text(w);
h.get(0).innerHTML = v;
var r = m.children().eq(0);
if (typeof t == "string" && t == "OK") {
l.css("display", "none");
j.css("display", "");
if (x) {
f.append(c("<img class='user_head_52' alt='' complete='complete'/>").attr("src", x))
} else {
f.addClass("hcl_bg_confirm")
}
j.bind("click",
function() {
if (typeof o == "function") {
o()
}
g.close()
});
r.bind("click",
function(p) {
stopPropagation(p);
if (typeof o == "function") {
o()
}
g.close()
})
} else {
if (typeof t == "string" && t == "OKCancel") {
l.css("display", "");
j.css("display", "");
if (x) {
f.append(c("<img class='user_head_52' alt='' complete='complete'/>").attr("src", x))
} else {
f.addClass("hcl_bg_tips")
}
j.bind("click",
function() {
if (typeof o == "function") {
o()
}
g.close()
});
l.bind("click",
function() {
if (typeof u == "function") {
u()
}
g.close()
});
r.bind("click",
function(p) {
stopPropagation(p);
if (typeof o == "function") {
u()
}
g.close()
})
}
}
var s = getViewportCenter();
var q = {
top: s.y - g.height() / 2,
left: s.x - g.width() / 2
};
if (q.top < 50) {
q.top = 50
}
if (q.left < 50) {
q.left = 50
}
g.css({
top: q.top + "px",
left: q.left + "px"
});
g.css({
display: "",
"z-index": "1000000"
});
if (e.modal) {
c.appendMaskPage()
}
};
g.close = function() {
g.css("display", "none");
g.css("z-index", -1);
if (e.modal) {
c.removeMaskPage()
}
g.remove()
};
m.bind("mousedown",
function(o) {
o = window.event || o;
if (g.get(0).setCapture) {
g.get(0).setCapture()
} else {
if (window.captureEvents) {
window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
var q = g.offset();
var r = {
win: g,
mOffsetX: o.clientX - q.left,
mOffsetY: o.clientY - q.top,
maskPage: !e.modal
};
if (!e.modal) {
c.appendMaskPage(99)
}
g.bind("mousemove", r, b).bind("mouseup", r, a)
});
return g
}
});
c.extend({
initMaskPage: function() {
d.css({
width: (getViewportWidth() - 4) + "px",
height: getViewportHeight() + "px"
});
d.appendTo(document.body)
},
appendMaskPage: function(e) {
if (typeof e != "number") {
e = 99999
}
d.css("z-index", "" + e)
},
removeMaskPage: function() {
d.css("z-index", "-1")
}
});
function b(k) {
var l = k.data;
var g = l.win;
var f = l.mOffsetX;
var m = l.mOffsetY;
var j = window.event || k;
if (j.button == 1) {
var h = parseInt(j.clientY) - parseInt(m);
var i = parseInt(j.clientX) - parseInt(f);
h = (h < -10 ? 0 : h);
i = (i < -10 ? 0 : i);
g.css({
top: h + "px",
left: i + "px"
})
}
}
function a(g) {
var h = g.data;
var f = h.win;
if (f.get(0).releaseCapture) {
f.get(0).releaseCapture()
} else {
if (window.releaseEvents) {
window.releaseEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
if (h.maskPage) {
c.removeMaskPage()
}
f.unbind("mousemove").unbind("mouseup")
}
})(jQuery); (function(b) {
b.extend(b.fn, {
friendInviteWindow: function(t) {
var n = b.extend({
initPostion: {
top: 100,
left: 200
},
buddy: {},
inviteType: 0,
onConfirm: function() {},
onCancel: function() {}
},
t);
var f = b("<div id='invited_" + n.buddy.uid + "'></div>").addClass("hint friend_invite").css({
width: "408px",
top: n.initPostion.top + "px",
left: n.initPostion.left + "px"
});
f.appendTo(document.body);
var w = b("<h3><span /><i /><b>提示</b></h3>");
f.append(w);
var o = b("<div />").addClass("hint_cont");
f.append(o);
var p = b("<div class='invite_top'><div class='invite_top_inside'></div></div>");
var d = b("<img alt='' />").attr("src", portrait.defaultIcon);
var g = b("<p />");
p.children().eq(0).append(d).append(g);
o.append(p);
var j = ' style="display:none"';
if (1 == n.inviteType) {
j = ""
}
var m = "agreeradio" + n.buddy.uid,
h = "agree" + n.buddy.uid,
e = "disagree" + n.buddy.uid,
r = "refuse_select" + n.buddy.uid;
var i = b('<div class="invite_main"><h4>回应</h4><p' + j + '>提示:对方是通过您的手机号码添加您,同意后将会公开您的手机号和姓名。</p><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td width="142"><input id="' + h + '" value="1" checked type="radio" name="' + m + '"><label for="' + h + '"> 同意,设置显示名称</label></td><td><input id="LocalName" maxlength="64" class="text_150" name="">(可选)</td></tr><tr><td align="right">添加到该分组 </td><td><select id="test09" class="group" name=""></select><font size="+0">网页版飞信无法新增好友分组</font></td></tr><tr><td colspan="2"><input id="' + e + '" value="0" type="radio" name="' + m + '"><label for="' + e + '"> 不同意</label><div class="refuse"><input id="' + r + '" value="" type="checkbox" name="" disabled="disabled"><label for="' + r + '">拒绝此人再和我联系</label></div></td><td> </td></tr></tbody></table></div>');
o.append(i);
var v = o.find("#" + e);
var u = o.find("#" + r);
o.find("input[name='" + m + "']").bind("click",
function() {
if (v.attr("checked")) {
u.removeAttr("disabled")
} else {
u.attr("disabled", "disabled").removeAttr("checked")
}
});
var q = b("<button>确定</button>").bind("click",
function() {
var x = new Object();
x.data = {
Buddy: n.buddy,
Result: o.find("input[name='" + m + "']:checked").val(),
LocalName: o.find("#LocalName").val(),
BuddyList: o.find(".group").val(),
Blocked: o.find("#" + r).attr("checked") ? 1 : 0
};
f.remove();
n.onConfirm(x);
return false
});
var l = b("<button>取消</button>").addClass("btn_cancel").bind("click",
function() {
f.remove();
n.onCancel();
return false
});
var s = b("<div />").addClass("hint_btn").append(q).append(l);
o.append(s);
w.bind("mousedown",
function(z) {
z = window.event || z;
if (f.get(0).setCapture) {
f.get(0).setCapture()
} else {
if (window.captureEvents) {
window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
var A = f.offset();
var x = getViewportHeight();
var y = getViewportWidth();
var B = {
win: f,
mOffsetX: z.clientX - A.left,
mOffsetY: z.clientY - A.top,
viewH: x,
viewW: y
};
f.bind("mousemove", B, a).bind("mouseup", B, c)
});
w.children("span:first").bind("click",
function(x) {
f.css("display", "none");
f.css("z-index", -1);
stopPropagation(x)
});
var k = o.find(".group");
f.insertBuddyList = function(z, y) {
var x = b("<option value='" + z + "'></option>");
x.text(y);
k.append(x)
};
f.insertDesc = function(x) {
g.text(x)
};
return f
},
setSmsWindow: function(g) {
var d = b.extend({
onConfirm: function() {},
onCancel: function() {}
},
g);
var h = b("<div />").addClass("hint set_message").css({
top: "-1000px",
left: "-1000px"
});
h.appendTo(document.body);
var l = b("<h3><span /><i /><b>设置</b></h3>");
h.append(l);
var j = b("<div />").addClass("hint_cont");
h.append(j);
var e = b("<p />");
e.append("您在这里可以设置不接收短信/彩信,并且能够定制一个时间期限。在这期间,您不会收到来自飞信的短信,但不影响您登录飞信的客户端接收消息<br><span>您希望这段时间是:</span><br>");
e.append('<input value="1" type="radio" name="sms_time" checked="checked"> <label for="time_1">24小时</label><br>');
e.append('<input value="2" type="radio" name="sms_time"> <label for="time_2">3天</label><br>');
e.append('<input value="3" type="radio" name="sms_time"> <label for="time_3">1周</label><br>');
e.append('<input value="4" type="radio" name="sms_time"> <label for="time_4">永远</label>');
j.append(e);
var f = b("<button>确定</button>").bind("click",
function() {
h.css({
display: "none",
"z-index": "-1"
});
d.onConfirm(h, e.find("input[checked]").val());
return false
});
var i = b("<button>取消</button>").addClass("btn_cancel").bind("click",
function() {
h.css({
display: "none",
"z-index": "-1"
});
d.onCancel(h);
return false
});
var k = b("<div />").addClass("hint_btn").append(f).append(i);
j.append(k);
l.bind("mousedown",
function(o) {
o = window.event || o;
if (h.get(0).setCapture) {
h.get(0).setCapture()
} else {
if (window.captureEvents) {
window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
var q = h.offset();
var m = getViewportHeight();
var n = getViewportWidth();
var r = {
win: h,
mOffsetX: o.clientX - q.left,
mOffsetY: o.clientY - q.top,
viewH: m,
viewW: n
};
h.bind("mousemove", r, a).bind("mouseup", r, c)
});
l.children("span:first").bind("click",
function(m) {
stopPropagation(m);
h.css({
display: "none",
"z-index": "-1"
});
d.onCancel(h)
});
h.show = function() {
var n = getViewportCenter();
var m = {
top: n.y - 171,
left: n.x - 108
};
if (m.top < 50) {
m.top = 50
}
if (m.left < 50) {
m.left = 50
}
h.css({
top: m.top + "px",
left: m.left + "px"
});
h.css({
display: "",
"z-index": "8888"
})
};
return h
}
});
function a(k) {
var l = k.data;
var h = l.win;
var j = l.mOffsetX;
var g = l.mOffsetY;
var i = l.viewH - h.outerHeight();
var f = l.viewW - h.outerWidth();
i = (i < 0 ? 0 : i);
f = (f < 0 ? 0 : f);
var n = window.event || k;
if (n.button < 2) {
var m = parseInt(n.clientY) - parseInt(g);
var o = parseInt(n.clientX) - parseInt(j);
m = (m < 0 ? 0 : m);
o = (o < 0 ? 0 : o);
m = (m > i ? i: m);
o = (o > f ? f: o);
h.css({
top: m + "px",
left: o + "px"
})
}
}
function c(g) {
var h = g.data;
var f = h.win;
if (f.get(0).releaseCapture) {
f.get(0).releaseCapture()
} else {
if (window.releaseEvents) {
window.releaseEvents(Event.MOUSEMOVE | Event.MOUSEUP)
}
}
b.removeMaskPage();
f.unbind("mousemove").unbind("mouseup")
}
})(jQuery); (function(a) {
a.extend(a.fn, {
jRemindMsgList: function(e) {
var b = a.extend({
target: a(document.body),
relative: "msg_remind",
maxHold: 5,
onClearAll: function() {}
},
e);
b.target = ((typeof b.target == "string") ? a("#" + b.target) : b.target);
b.relative = ((typeof b.relative == "string") ? a("#" + b.relative) : b.relative);
var c = a("<div />").attr("id", "Main_BuddyMsgList").addClass("pop_box pop_msg_all").css({
"z-index": "999",
width: "129",
background: "#fff"
});
c.isShow = false;
c.appendTo(b.target);
var i = a("<div />").addClass("pop_box_inside");
c.append(i);
var g = a("<div />").addClass("clear_all");
var d = a("<a />").attr("href", "#").attr("title", "清空").text("全部清空").bind("click",
function() {
j.find("li").remove();
c.hide();
b.onClearAll(c)
});
i.append(a("<div />").addClass("clear_all").append(d));
i.append(a("<div />").addClass("line"));
var j = a("<ul />").addClass("friends_list_small");
i.append(j);
i.append(a("<div />").addClass("line"));
var f = a("<ul />").addClass("up_down_control");
var k = a("<li />").append(a("<em />")).bind("mouseover",
function() {
k.addClass("active")
}).bind("mouseout",
function() {
k.removeClass("active")
});
var l = a("<li>").addClass("septation");
var h = a("<li />").bind("mouseover",
function() {
h.addClass("active")
}).bind("mouseout",
function() {
h.removeClass("active")
}).append(a("<em />").addClass("down"));
f.append(k).append(l).append(h);
i.append(f);
c.hide = function() {
c.css("display", "none");
c.isShow = false
};
c.show = function() {
var m = j.find("li");
var o = m.size();
m.each(function(p) {
if (p < o - b.maxHold) {
a(this).css("display", "none")
} else {
a(this).css("display", "block")
}
});
c.css("display", "block");
c.isShow = true;
var n = b.relative.offset();
c.css({
top: n.top - c.height(),
left: 0
})
};
c.moveItems = function(o) {
var m = j.find("li");
var n = m.length;
if (n <= b.maxHold) {
m.each(function() {
a(this).css("display", "block")
});
return
}
var p = 0;
m.each(function(q) {
if (a(this).css("display") != "none") {
p = q;
return false
}
});
if (o == "up") {
p--
} else {
p++
}
if (p < 0) {
p = 0
} else {
if (p + b.maxHold >= n) {
p = n - b.maxHold
}
}
m.each(function(q) {
if (q >= p && q < p + b.maxHold) {
a(this).css("display", "block")
} else {
a(this).css("display", "none")
}
})
};
c.addItem = function(m) {
j.prepend(m);
if (j.find("li").size() <= b.maxHold) {
m.css("display", "block")
} else {
m.css("display", "none")
}
};
c.bind("mouseout",
function(m) {
if (isMouseOut(this, m)) {
c.hide()
}
}).bind("mouseover",
function() {
clearTimeout(__hideRemindMsgTimer)
});
return c
},
jRemindMsgItem: function(d, b, h) {
var g = a("<i class='Buddy_photo'/>").attr("id", "remindmsg_" + d.uid).append("<img src='" + h + "'>");
var f = a("<b />").text(cnSubstr(d.displayName, 8, true));
var c = a("<strong />").text("1");
var e = a("<li />");
e.append(g).append(f).append(" (").append(c).append(") ");
e.bind("click",
function() {
if (!b.isActived) {
b.active();
var i = getChatWinPosition();
b.show(i.top, i.left)
} else {
if (!b.hasShown) {
var i = getChatWinPosition();
b.show(i.top, i.left)
} else {
b.show()
}
}
__remindMsgDiv.hide()
}).bind("mouseover",
function() {
this.className = "hover"
}).bind("mouseout",
function() {
this.className = ""
});
e.msgCount = function(i) {
if (!i) {
return parseInt(c.text())
} else {
c.text(i)
}
};
e.updateItem = function(i, j) {
if (j) {
g.find("img").attr("src", j)
}
f.text(cnSubstr(i.displayName, 8, true))
};
return e
}
})
})(jQuery); (function(a) {
a.extend(a.fn, {
jMoreMsgLists: function(c) {
var b = a.extend({
target: a(document.body),
maxHold: 5,
relative: "msg_more"
},
c);
b.target = ((typeof b.target == "string") ? a("#" + b.target) : b.target);
b.relative = ((typeof b.relative == "string") ? a("#" + b.relative) : b.relative);
var k = a("<div />").attr("id", "Main_MoreBuddyMsgs").addClass("pop_box pop_chat_win").css({
"z-index": "999",
width: "102px",
background: "#fff"
});
var g = a("<div />").addClass("pop_box_inside");
var h = a("<ul />").attr("id", "more_buddy_list").addClass("msg_list");
var d = a("<div />").addClass("line");
var e = a("<ul />").addClass("up_down_control");
var i = a("<li />").append(a("<em />")).bind("mouseover",
function() {
a(this).addClass("active")
}).bind("mouseout",
function() {
a(this).removeClass()
}).bind("click",
function() {
k.moveItems("up")
}).bind("dblclick",
function() {
k.moveItems("up")
});
var j = a("<li>").addClass("septation");
var f = a("<li />").bind("mouseover",
function() {
a(this).addClass("active")
}).bind("mouseout",
function() {
a(this).removeClass()
}).append(a("<em />").addClass("down")).bind("click",
function() {
k.moveItems("down")
}).bind("dblclick",
function() {
k.moveItems("down")
});
e.append(i).append(j).append(f);
g.append(h).append(d).append(e);
k.append(g);
k.appendTo(b.target);
k.hide = function() {
k.css("display", "none");
k.isShow = false
};
k.show = function() {
var l = h.find("li");
var n = l.size();
l.each(function(o) {
if (o < n - b.maxHold) {
a(this).css("display", "none")
} else {
a(this).css("display", "block")
}
});
k.css("display", "block");
k.isShow = true;
var m = b.relative.offset();
k.css({
top: m.top - k.height(),
left: m.left - k.width() + b.relative.width()
})
};
k.moveItems = function(n) {
var l = h.find("li");
var m = l.length;
if (m <= b.maxHold) {
l.each(function() {
a(this).css("display", "block")
});
return
}
var o = 0;
l.each(function(p) {
if (a(this).css("display") != "none") {
o = p;
return false
}
});
if (n == "up") {
o--
} else {
o++
}
if (o < 0) {
o = 0
} else {
if (o + b.maxHold >= m) {
o = m - b.maxHold
}
}
l.each(function(p) {
if (p >= o && p < o + b.maxHold) {
a(this).css("display", "block")
} else {
a(this).css("display", "none")
}
})
};
k.addItem = function(l) {
h.prepend(l);
if (h.find("li").size() <= b.maxHold) {
l.css("display", "block")
} else {
l.css("display", "none")
}
};
k.getItems = function() {
return h.find("li")
};
k.bind("mouseout",
function(l) {
if (isMouseOut(this, l)) {
k.hide()
}
}).bind("mouseover",
function() {
clearTimeout(__hideMoreMsgListTimer)
});
return k
},
jFooterItem: function(d, c, h) {
var e = a("<li></li>").attr("id", "footer_" + d.uid).bind("click",
function(k) {
if (c.isShow && c.isOnFocus()) {
c.hide()
} else {
if (!c.hasShown) {
var j = getChatWinPosition();
c.show(j.top, j.left)
} else {
c.show()
}
c.css("display", "")
}
}).bind("mouseover",
function() {
if (this.className != "call") {
this.className = "hover"
}
}).bind("mouseout",
function() {
if (this.className != "call") {
this.className = ""
}
});
var i = a("<em />").bind("click",
function(j) {
stopPropagation(j);
c.close();
e.remove();
reInitialFooter()
});
e.append(i);
var g = a('<i class="Buddy_photo"><img src=' + h + "></i>");
e.append(g);
var b = cnSubstr(d.displayName, 8, true);
var f = a("<lable />").addClass("tit_name").text(b);
e.append(f);
e.updateItem = function(j, k) {
g.find("img").attr("src", k);
b = cnSubstr(j.displayName, 8, true);
f.text(b)
};
e.isInMoreMsgList = function() {
if (e.inMore) {
return true
} else {
return e.parent().attr("id") == "more_buddy_list"
}
};
return e
}
})
})(jQuery);
浙公网安备 33010602011771号