Last active
December 15, 2015 12:19
-
-
Save zyxar/5259704 to your computer and use it in GitHub Desktop.
WebIM.js?20130110
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function(d) { | |
d.extend(d.fn, { | |
jGroupTree: function(g) { | |
var k = d.extend({ | |
target: d(document.body), | |
enable: true, | |
isSinglePattern: true, | |
onGroupListExpand: function() {}, | |
onBuddyItemDbClick: function() {}, | |
onBuddyItemClick: function() {}, | |
onBuddyItemMouseOver: function() {} | |
}, g); | |
k.target = ((typeof k.target == "string") ? d("#" + k.target) : k.target); | |
var j = d("<div id='group_box' class='none'><dl /></div>") | |
.addClass("group_box"); | |
k.target.append(j); | |
j.adjustHeight = function(l) { | |
if (typeof l == "undefined") { | |
l = k.target.innerHeight() - d("#search_friends") | |
.outerHeight(true) - d("#add_friend") | |
.outerHeight(true) - 46; | |
} | |
j.height(l); | |
}; | |
j.adjustHeight(); | |
j.setPattern = function(l) { | |
k.isSinglePattern = l; | |
}; | |
j.createBuddyList = function(n) { | |
var l = new Object(); | |
var r = ""; | |
var p = ""; | |
var m = "群组"; | |
if (n) { | |
r = "<dt id='" + "groupList' title='" + m + "' class='open'><b>" + m + "</b><em>(0)</em></dt>"; | |
p = "<dd>"; | |
} else { | |
r = "<dt id='" + "groupList' title='" + m + "'><b>" + m + "</b><em>(0)</em></dt>"; | |
p = "<dd style='display:none'>"; | |
} | |
p += "<ul class='group_list'>"; | |
var q = "</ul></dd>"; | |
var o = new Array(); | |
l.pushContent = function(s) { | |
o.push(s); | |
}; | |
l.toHtmlString = function() { | |
o.sort(function(w, v) { | |
return groupComparator(w.groupObj, v.groupObj); | |
}); | |
var u = ""; | |
u += p; | |
var t = o.length; | |
for (var s = 0; s < t; s++) { | |
u += o[s].strContent; | |
} | |
u += q; | |
r = r.replace("<em>(0)</em>", "<em>(" + t + ")</em>"); | |
u = r + u; | |
return u; | |
}; | |
return l; | |
}; | |
j.createGroupItem = function(o) { | |
var l = new Object(); | |
var p = "groupitem_" + o.id; | |
var n = getGroupItemPortraitUrl(o, "2"); | |
var m = o.id; | |
l.groupObj = o; | |
if (o.i == 4) { | |
l.strContent = "<li id='" + p + "' group='" + o.id + "'>" + "<a hidefocus='true'><img src='" + n + "'><p style='width:140px;'>" + m + "</p>"; | |
l.strContent += "<span class='proving' title='等待管理员批准加入群'></span>"; | |
} else { | |
if (o.i == 5) { | |
l.strContent = "<li id='" + p + "' group='" + o.id + "'>" + "<a hidefocus='true'><img src='" + n + "'><p style='width:140px;'>" + m + "</p>"; | |
l.strContent += "<span class='refuse' title='管理员已经拒绝了您的加入申请'></span>"; | |
} else { | |
l.strContent = "<li id='" + p + "' group='" + o.id + "'>" + "<a hidefocus='true'><img src='" + n + "'><p>" + m + "</p>"; | |
} | |
} | |
l.strContent += "</a></li>"; | |
return l; | |
}; | |
j.bindEventToList = function() { | |
j.find("dt") | |
.bind("click", function() { | |
var n = { | |
expanded: false | |
}; | |
var l = d(this); | |
var m = l.next(); | |
if (m.css("display") == "none") { | |
n.expanded = true; | |
l.addClass("open"); | |
m.css("display", ""); | |
} else { | |
n.expanded = false; | |
l.removeClass("open"); | |
m.css("display", "none"); | |
} | |
k.onGroupListExpand(l, n); | |
return false; | |
}); | |
}; | |
j.bindEventToItem = function() { | |
var l = j.find("li"); | |
l.bind("dblclick", function() { | |
k.onBuddyItemDbClick(this, d(this) | |
.attr("group")); | |
}) | |
.bind("click", function() { | |
d(this) | |
.siblings() | |
.removeClass("on"); | |
d(this) | |
.addClass("on"); | |
}); | |
}; | |
function i(m) { | |
var l = m.attr("group"); | |
return __groupMap.get(l); | |
} | |
function h(r, q) { | |
var n = r.size(); | |
if (n <= 0) { | |
return -1; | |
} else { | |
var v = i(r.eq(0)); | |
if (groupComparator(q, v) <= 0) { | |
return 0; | |
} | |
var p = i(r.eq(n - 1)); | |
if (groupComparator(q, p) > 0) { | |
return n; | |
} | |
var m = 0; | |
var o = n - 1; | |
var t = 0; | |
while (o - m > 1) { | |
var t = Math.floor((m + o) / 2); | |
var u = i(r.eq(t)); | |
var l = groupComparator(q, u); | |
if (l <= 0) { | |
o = t; | |
} else { | |
if (l > 0) { | |
m = t; | |
} | |
} | |
} | |
var s = i(r.eq(m)); | |
if (groupComparator(q, s) == 0) { | |
return m; | |
} else { | |
return o; | |
} | |
} | |
} | |
j.getGroupList = function() { | |
var l = j.find(".group_list"); | |
return l; | |
}; | |
j.isBuddyListOpen = function(l) { | |
var m = j.getBuddyList(l); | |
if (m == null || m.size() == 0) { | |
return false; | |
} else { | |
return "none" != m.eq(1) | |
.css("display"); | |
} | |
}; | |
j.setInnerHtml = function(l) { | |
j.children() | |
.get(0) | |
.innerHTML = l; | |
j.bindEventToList(); | |
j.bindEventToItem(); | |
}; | |
j.insertGroupItem = function(r) { | |
var p = j.getGroupList(); | |
if (p.size() == 0) { | |
return; | |
} | |
var s = "groupitem_" + r.id; | |
var q = getGroupItemPortraitUrl(r, "2"); | |
var m = d("<li id='" + s + "' group='" + r.id + "'><a hidefocus='true'><img src='" + q + "'><p>" + r.n + "</p></a></li> "); | |
d(m) | |
.bind("click", function() { | |
d(this) | |
.siblings() | |
.removeClass("on"); | |
d(this) | |
.addClass("on"); | |
}) | |
.bind("dblclick", function() { | |
k.onBuddyItemDbClick(this, r.id); | |
}); | |
var l = p.parent() | |
.find("ul > li[id!='" + s + "']"); | |
var o = l.size(); | |
var n = h(l, r); | |
if (n < 0 || n >= o) { | |
p.append(m); | |
} else { | |
l.eq(n) | |
.before(m); | |
} | |
j.updateBuddyStat(r.id, 1); | |
}; | |
var f = /^\(([\d]+)\)$/ig; | |
j.updateBuddyStat = function(m, l) { | |
var o = d("#group_box") | |
.find("#groupList em"); | |
var n = o.text() | |
.trim(); | |
n = n.replace(f, function(q, p) { | |
return "(" + (parseInt(p) + l) + ")"; | |
}); | |
o.text(n); | |
}; | |
j.deleteGroupItem = function(l) { | |
var n = j.getGroupList(); | |
if (n.size() == 0) { | |
return null; | |
} | |
var m = n.find("#groupitem_" + l); | |
if (m.size() == 0) { | |
return null; | |
} | |
m.remove(); | |
__groupMap.remove(l); | |
j.updateBuddyStat(l, - 1); | |
return m; | |
}; | |
j.updateGroupMsgCount = function(r, p) { | |
var q = j.getGroupList(); | |
var o = j.getGroupItem(r.id); | |
if (o.size() == 0) { | |
return; | |
} | |
var s = "groupitem_" + r.id; | |
var m = o.find("p >em"); | |
if (m.length == 0) { | |
var l = o.find("p"); | |
l.html(l.text() + "<em>(0)</em>"); | |
m = o.find("p >em"); | |
} | |
var n = m.text() | |
.trim(); | |
if (!p) { | |
p = 1; | |
} | |
n = n.replace(f, function(u, t) { | |
return "(" + (parseInt(t) + p) + ")"; | |
}); | |
m.text(n); | |
}; | |
j.clearGroupMsgCount = function(o) { | |
var n = j.getGroupList(); | |
var m = j.getGroupItem(o.id); | |
if (m.size() == 0) { | |
return; | |
} | |
var p = "groupitem_" + o.id; | |
var l = m.find("p >em"); | |
if (l.length != 0) { | |
l.remove(); | |
} | |
}; | |
j.getGroupItem = function(l) { | |
var m = j.getGroupList(); | |
return m.find("#groupitem_" + l); | |
}; | |
j.updateGroupItem = function(r) { | |
var n = j.getGroupList(); | |
var s = j.getGroupItem(r.id); | |
if (s.size() == 0) { | |
return; | |
} | |
var p = "groupitem_" + r.id; | |
var t = getGroupItemPortraitUrl(r, "2"); | |
var q = s.find("p"); | |
var u = q.find("em"); | |
if (r.msgRecv == 3) { | |
if (s.find("em") | |
.size() == 0) { | |
q.after('<em class="max_reject"></em>'); | |
} | |
} | |
if (r.apvRs == 1) { | |
s.find("span") | |
.remove(); | |
} else { | |
if (r.apvRs == 2) { | |
s.find("span") | |
.attr("class", "refuse") | |
.attr("title", "管理员已经拒绝了您的加入申请"); | |
} | |
} | |
if (r.n != "") { | |
q.html(htmlEncode(r.n)); | |
} | |
q.append(u); | |
s.find("img") | |
.attr("src", t); | |
var o = n.parent() | |
.find("ul > li[id!='" + p + "']"); | |
var l = o.size(); | |
var m = h(o, r); | |
if (m < 0 || m >= l) { | |
n.find("ul") | |
.append(s); | |
} else { | |
o.eq(m) | |
.before(s); | |
} | |
}; | |
return j; | |
} | |
}); | |
d.extend(d.fn, { | |
jGroupChatWindow: function(aq) { | |
var y = d.extend({ | |
maxRelative: d(document.body), | |
mode: "singleChat", | |
user: {}, | |
group: {}, | |
groupMap: {}, | |
defaultHeight: 365, | |
defaultWidth: 480, | |
onActive: function() {}, | |
onClosed: function() {}, | |
onFocus: function() {}, | |
onMined: function() {}, | |
onMaxed: function() {}, | |
onResized: function() {}, | |
onSendMessage: function() {} | |
}, aq); | |
var j = d("<div />") | |
.attr("id", "Main_chatWindow_" + y.user.uid + "_" + y.group.id) | |
.addClass("pop_default_message pop_dm_bg pop_group_message") | |
.css({ | |
"top": "-1000px", | |
"left": "-1000px" | |
}); | |
var G = d("<div />") | |
.addClass("pop_outer_new1"); | |
var ac = d("<div />") | |
.addClass("pop_inner_new1"); | |
j.append(G.append(ac)); | |
j.appendTo(document.body); | |
y.maxRelative = ((typeof y.maxRelative == "string") ? d("#" + y.maxRelative) : y.maxRelative); | |
j.maxRelative = y.maxRelative; | |
var af = d("<div />") | |
.addClass("pop_message_title h42_new1"); | |
var N = d("<div class='pop_message_head'>"); | |
var W = d("<img style='width:32px;height:32px' />"); | |
N.append(W); | |
var U = d("<h2 class='group_box_tit'></h2>"); | |
var C = d("<p class='sign' title=''></p>"); | |
af.append(N) | |
.append(U) | |
.append(C); | |
ac.append(af); | |
var A = d("<div />") | |
.addClass("pop_ctr_bar"); | |
var aa = d("<i />") | |
.addClass("close"); | |
var x = d("<i />") | |
.addClass("max"); | |
var ab = d("<i />") | |
.addClass("min"); | |
A.append(ab) | |
.append(x) | |
.append(aa); | |
ac.append(A); | |
var B = d("<div />") | |
.addClass("message_main_new1"); | |
var Y = d("<div />") | |
.addClass("message_content_new1"); | |
var K = Y; | |
var o = d("<div />") | |
.addClass("chat_info chat_new1 chat_append_sec") | |
.css({ | |
"height": "158px" | |
}); | |
var ag = d("<div class='chat_append_tip chat_append_tip1'>请勿轻信汇款、中奖和话费充值等信息,谨防受骗。</div>"); | |
o.append(ag); | |
var X = d("<div />") | |
.addClass("face_main"); | |
var r = d("<a />") | |
.attr("href", "#") | |
.attr("title", "选择表情") | |
.addClass("btn_face_new"); | |
var ae = d("<a />") | |
.attr("href", "#") | |
.attr("title", "设置字体") | |
.addClass("btn_fonts none"); | |
var al = jChatWindowPopExpression(); | |
al.css("display", "none"); | |
var w = d("<div />") | |
.addClass("chat_input chat_pc"); | |
var n = "edit" + y.group.id; | |
var ar = d("<div contenteditable='true' id='" + n + "'/>") | |
.addClass("chat_textarea"); | |
if (d.browser.mozilla) { | |
ar.append("<br/>"); | |
} | |
w.append(ar); | |
var O = d("<div />") | |
.addClass("send_btn"); | |
var M = d("<a />") | |
.attr("href", "#") | |
.attr("hidefocus", "true") | |
.addClass("btn_send_new") | |
.append("发 送"); | |
O.append(M); | |
Y.append(o) | |
.append(X.append(r) | |
.append(ae) | |
.append(al)) | |
.append(w) | |
.append(O); | |
var g = d("<div />") | |
.addClass("extend_btn"); | |
var ah = d("<a />") | |
.attr("href", "#") | |
.addClass("btn_display none") | |
.append("显示"); | |
var ap = d("<a />") | |
.attr("href", "#") | |
.addClass("btn_hide") | |
.append("隐藏"); | |
j.isExpanded = true; | |
g.append(ah) | |
.append(ap); | |
var am = d("<div id='pop_group_box_" + y.group.id + "'/>") | |
.addClass("pop_group_box"); | |
var V = 0; | |
if (y.group.members) { | |
V = y.group.members.length; | |
} | |
var ak = '<div class="pop_group_tit"><h3>群成员</h3><span>(0/' + V + ')</span></div><ul class="pop_group_list">'; | |
for (var ao = 0; ao < V; ao++) { | |
var q = jMemUriToId(y.group.members[ao].MemberUri); | |
ak += '<li><a href="#"><span class="every"></span><strong class="BuddyList_Container">'; | |
ak += ' <img src="' + portrait.offline_16 + '"></strong>' + q + "</a></li>"; | |
} | |
am.append(ak); | |
var k = null; | |
B.append(Y) | |
.append(am) | |
.append(g); | |
ac.append(B); | |
var m = new jHashMap(); | |
j.memMap = m; | |
var D; | |
j.groupMemTree = D; | |
j.isUsable = true; | |
var I = d("<div class='chat_move_right' direction='right' />") | |
.css("cursor", "e-resize"); | |
var an = d("<div class='chat_move_left' direction='left' />") | |
.css("cursor", "w-resize"); | |
var F = d("<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 L = d("<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 H = d("<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 ad = d("<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 v = d("<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 t = d("<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"); | |
j.append(ad) | |
.append(F) | |
.append(an) | |
.append(I) | |
.append(L) | |
.append(v) | |
.append(H) | |
.append(t); | |
j.lastPosition = { | |
"top": j.css("top"), | |
"left": j.css("left") | |
}; | |
j.lastSize = { | |
"height": j.height(), | |
"width": j.width(), | |
"isExpanded": j.isExpanded | |
}; | |
j.isActived = false; | |
j.isShow = false; | |
j.isExpanded = true; | |
j.maxed = false; | |
j.enablechatInput = true; | |
j.inputPermission = 0; | |
j.hasShown = false; | |
function E(i) { | |
stopPropagation(i); | |
j.css("z-index", __zIndex++); | |
y.onFocus(j); | |
} | |
function Z() { | |
al.css("display", "none"); | |
} | |
j.close = function() { | |
j.css("z-index", - 1); | |
if (j.maxed) { | |
j.maxed = false; | |
j.css({ | |
"top": j.lastPosition.top, | |
"left": j.lastPosition.left | |
}); | |
o.scrollTop(o.get(0) | |
.scrollHeight); | |
} | |
j.css({ | |
"top": "-1000px", | |
"left": "-1000px" | |
}); | |
j.isActived = false; | |
j.isShow = false; | |
j.hasShown = false; | |
j.expand(); | |
Z(); | |
ar.get(0) | |
.innerHTML = d.browser.mozilla ? "<br/>" : ""; | |
y.onClosed(j); | |
}; | |
var f; | |
j.getTreelist = function() { | |
return f; | |
}; | |
j.active = function() { | |
j.isActived = true; | |
j.css("z-index", - 1); | |
j.resize(y.defaultHeight, y.defaultWidth); | |
y.onActive(j); | |
}; | |
j.show = function(au, i) { | |
if (typeof au == "number" && typeof i == "number" && !j.maxed) { | |
j.css({ | |
"top": au + "px", | |
"left": i + "px" | |
}); | |
} | |
j.css("z-index", __zIndex++); | |
j.isShow = true; | |
j.hasShown = true; | |
ar.blur(); | |
ar.focus(); | |
y.onFocus(j); | |
}; | |
j.focus = function() { | |
y.onFocus(j); | |
}; | |
j.hide = function() { | |
j.css("z-index", - 1); | |
Z(); | |
j.isShow = false; | |
}; | |
j.resize = function(ay, av) { | |
if (typeof ay != "number") { | |
ay = j.height(); | |
} | |
if (typeof av != "number") { | |
av = j.width(); | |
} | |
o.height(0); | |
j.get(0) | |
.style.height = ay + "px"; | |
j.get(0) | |
.style.width = av + "px"; | |
if (j.maxed) { | |
if (j.isExpanded) { | |
Y.get(0) | |
.style.width = (av - 155) + "px"; | |
} else { | |
Y.get(0) | |
.style.width = (av - 16) + "px"; | |
} | |
} else { | |
if (j.isExpanded) { | |
Y.get(0) | |
.style.width = (av - 155) + "px"; | |
} else { | |
Y.get(0) | |
.style.width = (av - 16) + "px"; | |
} | |
} | |
var au = 0; | |
o.parent() | |
.children() | |
.each(function(aA) { | |
au += d(this) | |
.outerHeight(); | |
}); | |
au = ay - (au + o.outerHeight()) - af.outerHeight(); | |
if (k && k.css("display") == "none") { | |
au += k.outerHeight(); | |
} | |
au = ((au < 0) ? 0 : au); | |
o.get(0) | |
.style.height = au + "px"; | |
Z(); | |
y.onResized(j); | |
var i = j.find(".pop_group_tit") | |
.height(); | |
if (i != 0) { | |
var ax = j.find(".message_content_new1") | |
.height(); | |
var aw = ax - i - 12; | |
var az = j.find(".pop_group_list"); | |
az.height(aw); | |
} | |
}; | |
j.bind("click", function() { | |
Z(); | |
}); | |
var aj; | |
var J; | |
var ai; | |
j.isLogShowNumber = false; | |
j.logSelfMsg = function(ax) { | |
ar.get(0) | |
.innerHTML = d.browser.mozilla ? "<br/>" : ""; | |
var au = d("<dl />") | |
.addClass("self"); | |
var aw = new Date(); | |
var av = aw.getHours() + ":" + (aw.getMinutes() < 10 ? "0" + aw.getMinutes() : aw.getMinutes()); | |
if (typeof aj == "undefined" || typeof J == "undefined" || !aj || av != J) { | |
var ay = d("<dt />") | |
.append(htmlEncode(cnSubstr(y.user.displayName, 18))); | |
ay.append(d("<strong />") | |
.append("说")); | |
ay.append(d("<span />") | |
.append("(" + av + "):")); | |
} | |
aj = true; | |
J = av; | |
ai = undefined; | |
ax = ax.replace("\u000d\u000a", "<br/>"); | |
ax = ax.replace(__hrefReg, function(az) { | |
if (az.indexOf("://") >= 0) { | |
return "<a href='" + az + "' target='_blank'>" + az + "</a>"; | |
} else { | |
return "<a href='http://" + az + "' target='_blank'>" + az + "</a>"; | |
} | |
}); | |
var i = d("<dd />") | |
.append(EmoticonReplace(ax)); | |
au.append(ay) | |
.append(i); | |
o.append(au); | |
o.scrollTop(o.get(0) | |
.scrollHeight); | |
}; | |
j.logFriendMsg = function(ay) { | |
var aw = jMemUriToId(ay.FromMemberUri); | |
var aA = ""; | |
var aB = j.memMap.get(aw); | |
if (aB == null) { | |
aA = aw; | |
j.isLogShowNumber = true; | |
} else { | |
aA = aB.displayName; | |
} | |
var au = d("<dl />") | |
.addClass("friend"); | |
var az = new Date(); | |
var av = az.getHours() + ":" + (az.getMinutes() < 10 ? "0" + az.getMinutes() : az.getMinutes()); | |
if (typeof aj == "undefined" || typeof J == "undefined" || ai != aA || av != J || (ai == aA && av != J)) { | |
var ax = d("<dt />"); | |
ax.append(d("<span />") | |
.append(htmlEncode(cnSubstr(aA, 18)))); | |
ax.append(d("<strong />") | |
.append("说")); | |
ax.append(d("<span />") | |
.append("(" + av + "):")); | |
} | |
aj = false; | |
J = av; | |
ai = aA; | |
msg = htmlEncode(ay.Message); | |
msg = msg.replace("\u000d\u000a", "<br/>"); | |
msg = msg.replace(__hrefReg, function(aC) { | |
if (aC.indexOf("://") >= 0) { | |
return "<a href='" + aC + "' target='_blank'>" + aC + "</a>"; | |
} else { | |
return "<a href='http://" + aC + "' target='_blank'>" + aC + "</a>"; | |
} | |
}); | |
var i = d("<dd />") | |
.append(EmoticonReplace(msg)); | |
au.append(ax) | |
.append(i); | |
o.append(au); | |
o.scrollTop(o.get(0) | |
.scrollHeight); | |
}; | |
j.logErrorInfo = function(i) { | |
var au = d("<div />") | |
.addClass("code_error") | |
.append(i); | |
o.append(au) | |
.append("<br/>"); | |
o.scrollTop(o.get(0) | |
.scrollHeight); | |
}; | |
j.logSuggetInfo = function(i) { | |
var av = U.text(); | |
var au; | |
if (i == 1) { | |
au = d('<span class="suggest">您被群 ' + av + " 的管理员移出了该群!</span>"); | |
} else { | |
au = d('<span class="suggest">' + av + " 已经被超级管理员删除!</span>"); | |
} | |
o.append(au) | |
.append("<br/>"); | |
o.scrollTop(o.get(0) | |
.scrollHeight); | |
}; | |
j.enableInput = function(i) { | |
j.enablechatInput = i; | |
if (i) { | |
j.inputPermission = 0; | |
w.removeClass() | |
.addClass("chat_input chat_pc") | |
.css("background-color", ""); | |
ar.removeAttr("disabled") | |
.attr("contenteditable", "true") | |
.css("background-color", ""); | |
r.find("img") | |
.removeAttr("disabled") | |
.attr("src", "images/face_btn.png"); | |
M.removeAttr("disabled") | |
.removeClass() | |
.addClass("btn_send_new"); | |
} else { | |
w.removeClass() | |
.addClass("chat_fileinput chat_pc") | |
.css("background-color", "#f0f0f0"); | |
ar.attr("disabled", "disabled") | |
.attr("contenteditable", "false") | |
.css("background-color", "#f0f0f0"); | |
r.find("img") | |
.attr("disabled", "disabled") | |
.attr("src", "images/face_btnfile.png"); | |
M.attr("disabled", "disabled") | |
.removeClass() | |
.addClass("btn_sendfile_new"); | |
} | |
}; | |
j.collapse = function() { | |
var i = 0; | |
if (j.maxed) { | |
var au = g.width() + am.width(); | |
Y.width(Y.width() + au); | |
i = j.width(); | |
} else { | |
i = j.width() - am.width(); | |
} | |
j.isExpanded = false; | |
j.resize(j.height(), i); | |
ah.removeClass("none"); | |
ap.addClass("none"); | |
am.hide(); | |
}; | |
j.expand = function() { | |
var i = 0; | |
if (j.maxed) { | |
var au = g.width() + am.width(); | |
Y.width(Y.width() - au); | |
i = j.width(); | |
} else { | |
i = j.width() + am.width(); | |
} | |
j.isExpanded = true; | |
j.resize(j.height(), i); | |
ah.addClass("none"); | |
ap.removeClass("none"); | |
am.show(); | |
}; | |
ah.bind("click", j.expand); | |
ap.bind("click", j.collapse); | |
j.setBulltinWidth = function(i) { | |
j.find(".sign") | |
.css("width", i); | |
}; | |
j.setUnavai = function() { | |
j.find(".message_content_new1") | |
.addClass("masklayer"); | |
j.find(".btn_send_new") | |
.removeClass() | |
.addClass("btn_sendfile_new") | |
.unbind(); | |
}; | |
j.getSendMessagePlainText = function(i) { | |
var au = i ? i : ar.get(0) | |
.innerHTML; | |
if (au == "") { | |
return au; | |
} else { | |
if (d.browser.mozilla) { | |
au = au.replace(/<br[ ]*[\/]?>$/i, ""); | |
} | |
var av = /<img [^>]*(?:>[^<]*<\/img>|>)|<br[ ]*[\/]?>/gi; | |
au = au.replace(av, function(ax) { | |
if (ax.toLowerCase() | |
.startsWith("<br")) { | |
return "\u000d\u000a"; | |
} else { | |
var ay = d(ax) | |
.attr("src"); | |
var aw = ay.substring(ay.lastIndexOf("/") + 1, ay.lastIndexOf(".")); | |
return GetEmotionKey(aw); | |
} | |
}); | |
return au; | |
} | |
return ""; | |
}; | |
var p = ContactStatus.Unknown; | |
var s = ContactType.Unknown; | |
var T = true; | |
var R = false; | |
var u = false; | |
j.setGroupInfo = function(au) { | |
y.group = au; | |
U.text(au.n + "(" + au.id + ")"); | |
C.text(au.b); | |
C.attr("title", au.b); | |
var i = getGroupItemPortraitUrl(au, "2"); | |
W.attr("src", i); | |
}; | |
j.setGroupInfo(y.group); | |
function at(av) { | |
Z(); | |
if (!j.maxed) { | |
av = window.event || av; | |
if (j.get(0) | |
.setCapture) { | |
j.get(0) | |
.setCapture(); | |
} else { | |
if (window.captureEvents) { | |
window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP); | |
} | |
} | |
var aw = j.offset(); | |
var i = getViewportHeight(); | |
var au = getViewportWidth(); | |
var ax = { | |
win: j, | |
mOffsetX: av.clientX - aw.left, | |
mOffsetY: av.clientY - aw.top, | |
viewH: i, | |
viewW: au | |
}; | |
d.appendMaskPage(99); | |
j.bind("mousemove", ax, a) | |
.bind("mouseup", ax, e); | |
} | |
} | |
af.bind("mousedown", at); | |
function z(av) { | |
Z(); | |
if (!j.maxed) { | |
av = window.event || av; | |
if (j.get(0) | |
.setCapture) { | |
j.get(0) | |
.setCapture(); | |
} else { | |
if (window.captureEvents) { | |
window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP); | |
} | |
} | |
var i = getViewportHeight(); | |
var au = getViewportWidth(); | |
var aw = d(this) | |
.attr("direction"); | |
var ax = { | |
win: j, | |
originSize: { | |
H: j.height(), | |
W: j.width() | |
}, | |
moveDire: aw, | |
originX: av.clientX, | |
originY: av.clientY, | |
viewH: i, | |
viewW: au | |
}; | |
d.appendMaskPage(99); | |
j.bind("mousemove", ax, c) | |
.bind("mouseup", ax, b); | |
} | |
} | |
j.find("div[direction]") | |
.bind("mousedown", z); | |
A.bind("mousedown", E); | |
A.find("i") | |
.bind("mouseover", function() { | |
var i = d(this) | |
.attr("class"); | |
d(this) | |
.attr("class", i + "_on"); | |
}) | |
.bind("mouseout", function() { | |
var i = d(this) | |
.attr("class"); | |
d(this) | |
.attr("class", i.replace(/^(.*)_on$/, "$1")); | |
}); | |
j.isOnFocus = function() { | |
return parseInt(j.css("z-index")) == __zIndex - 1 && j.isActived; | |
}; | |
aa.bind("click", j.close); | |
ab.bind("click", function() { | |
j.hide(); | |
y.onMined(j); | |
}); | |
j.max = function() { | |
j.resize(y.maxRelative.height() - 3, y.maxRelative.width() - 2); | |
}; | |
function l() { | |
if (!j.maxed) { | |
j.maxed = true; | |
x.removeClass() | |
.addClass("resume"); | |
j.lastPosition = { | |
"top": j.css("top"), | |
"left": j.css("left") | |
}; | |
j.lastSize = { | |
"height": j.height(), | |
"width": j.width(), | |
"isExpanded": j.isExpanded | |
}; | |
var i = y.maxRelative.offset(); | |
j.css({ | |
"top": i.top, | |
"left": i.left | |
}); | |
j.max(); | |
y.onMaxed(j, true); | |
} else { | |
j.maxed = false; | |
x.removeClass() | |
.addClass("max"); | |
j.css({ | |
"top": j.lastPosition.top, | |
"left": j.lastPosition.left | |
}); | |
if (j.isExpanded != j.lastSize.isExpanded) { | |
if (j.lastSize.isExpanded) { | |
j.expand(); | |
} else { | |
j.collapse(); | |
} | |
} | |
j.resize(j.lastSize.height, j.lastSize.width); | |
y.onMaxed(j, false); | |
} | |
o.scrollTop(o.get(0) | |
.scrollHeight); | |
ar.blur(); | |
ar.focus(); | |
} | |
x.bind("click", l); | |
af.bind("dblclick", l); | |
j.bind("mousedown", function() { | |
j.css("z-index", __zIndex++); | |
y.onFocus(j); | |
}); | |
var h, Q; | |
function P() { | |
if (document.selection) { | |
h = document.selection.createRange(); | |
} else { | |
if (window.getSelection) { | |
Q = window.getSelection() | |
.getRangeAt(0); | |
} | |
} | |
} | |
var S = Math.ceil(parseFloat(ar.css("line-height"))); | |
ar.bind("keydown", function(av) { | |
av = window.event || av; | |
var au = av.keyCode || av.charCode; | |
function aw() { | |
return (au == 13 && av.ctrlKey) || (au == 13 && av.shiftKey) || (au == 13 && av.altKey); | |
} | |
function i() { | |
return au == 13; | |
} | |
P(); | |
if (aw()) { | |
if (h) { | |
h.text = "\r\n"; | |
h.select(); | |
} else { | |
if (Q) { | |
replaceSelection(Q, "<br>"); | |
replaceSelection(Q, " "); | |
ar.scrollTop(ar.scrollTop() + S); | |
} | |
} | |
if (av.preventDefault) { | |
av.preventDefault(); | |
} else { | |
av.returnValue = false; | |
} | |
} else { | |
if (i()) { | |
if (av.preventDefault) { | |
av.preventDefault(); | |
} else { | |
av.returnValue = false; | |
} | |
M.click(); | |
} | |
} | |
}) | |
.bind("keypress", P) | |
.bind("keyup", P) | |
.bind("mousedown", P) | |
.bind("mouseup", P) | |
.bind("click", P); | |
ar.bind("paste", function(ax) { | |
ax = window.event || ax; | |
if (window.clipboardData) { | |
var aA = window.clipboardData.getData("Text"); | |
window.clipboardData.setData("Text", aA); | |
} else { | |
if (!d.browser.mozilla) { | |
if (ax.preventDefault) { | |
ax.preventDefault(); | |
} else { | |
ax.returnValue = false; | |
} | |
var az = ar.get(0); | |
az.focus(); | |
var av = window.getSelection(); | |
var au = av.getRangeAt(0); | |
var ay = ""; | |
ay = ax.clipboardData.getData("Text"); | |
var aA = new String(ay); | |
au.deleteContents(); | |
var i = au.createContextualFragment(aA); | |
var aw = i.lastChild; | |
au.insertNode(i); | |
au.setEndAfter(aw); | |
au.collapse(false); | |
av.removeAllRanges(); | |
av.addRange(au); | |
au.detach(); | |
au = null; | |
} | |
} | |
if (d.browser.mozilla) { | |
setTimeout(function() { | |
var aB = ar.get(0) | |
.textContent; | |
ar.get(0) | |
.innerHTML = ""; | |
ar.append(aB); | |
}, 10); | |
} | |
}); | |
M.bind("mousedown", E) | |
.bind("click", function() { | |
var i = j.getSendMessagePlainText(); | |
if (i == "") { | |
return; | |
} | |
i = htmlDecode(i); | |
i = htmlEncode(i); | |
y.onSendMessage(j, y.group.gUri, i); | |
ar.blur(); | |
ar.focus(); | |
}); | |
r.bind("mousedown", E) | |
.bind("mouseover", function() { | |
r.addClass("btn_hover"); | |
}) | |
.bind("mouseout", function() { | |
r.removeClass("btn_hover"); | |
}) | |
.bind("click", function(i) { | |
r.toggleClass("btn_fechove"); | |
if (al.css("display") == "none") { | |
al.css("display", ""); | |
} else { | |
al.css("display", "none"); | |
} | |
stopPropagation(i); | |
}); | |
j.setInput = function(i) { | |
ar.get(0) | |
.innerHTML = EmoticonReplace(i); | |
if (d.browser.mozilla) { | |
ar.append("<br>"); | |
} | |
}; | |
setTimeout(function() { | |
al.fillImgs(); | |
al.bindItemClick(function(i, au) { | |
stopPropagation(au); | |
setTimeout(function() { | |
var aw = d(i) | |
.children("img"); | |
var ay = EntityReplace(aw.attr("pattern")); | |
var ax = EmoticonReplace(ay); | |
if (h && h.parentElement && h.parentElement() | |
.id == n) { | |
replaceSelection(h, ax); | |
} else { | |
if ((Q && Q.startContainer && Q.startContainer.id == n) || (Q && Q.startContainer && Q.startContainer.parentNode && Q.startContainer.parentNode.id == n)) { | |
replaceSelection(Q, ax); | |
if (Q) { | |
ar.blur(); | |
ar.focus(); | |
} | |
} else { | |
var av = ar.get(0) | |
.innerHTML; | |
if (d.browser.mozilla) { | |
av = av.replace(/<br[ ]*[\/]?>$/i, ax + "<br>"); | |
} else { | |
av += ax; | |
} | |
ar.get(0) | |
.innerHTML = av; | |
} | |
} | |
r.toggleClass("btn_fechove"); | |
}, 50); | |
}); | |
}, 1000); | |
j.fixPosition = function() { | |
var i = { | |
"top": j.css("top"), | |
"left": j.css("left") | |
}; | |
j.css({ | |
"top": "-1000px", | |
"left": "-1000px" | |
}); | |
window.setTimeout(function() { | |
j.css({ | |
"top": i.top, | |
"left": i.left | |
}); | |
}, 300); | |
}; | |
return j; | |
} | |
}); | |
function a(k) { | |
var l = k.data; | |
var j = l.win; | |
var i = l.mOffsetX; | |
var g = l.mOffsetY; | |
var h = l.viewH - j.outerHeight(); | |
var f = l.viewW - j.outerWidth(); | |
h = (h < 0 ? 0 : h); | |
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(i); | |
m = (m < 0 ? 0 : m); | |
o = (o < 0 ? 0 : o); | |
m = (m > h ? h : m); | |
o = (o > f ? f : o); | |
j.css({ | |
top: m + "px", | |
left: o + "px" | |
}); | |
} | |
} | |
function e(f) { | |
var h = f.data; | |
var g = h.win; | |
if (g.get(0) | |
.releaseCapture) { | |
g.get(0) | |
.releaseCapture(); | |
} else { | |
if (window.releaseEvents) { | |
window.releaseEvents(Event.MOUSEMOVE | Event.MOUSEUP); | |
} | |
} | |
d.removeMaskPage(); | |
g.unbind("mousemove") | |
.unbind("mouseup"); | |
} | |
function c(k) { | |
var l = k.data; | |
var j = l.win; | |
var g = l.originSize; | |
var q = l.moveDire; | |
var p = l.originX; | |
var n = l.originY; | |
var m = window.event || k; | |
if (m.clientX < 0 || m.clientY < 0 || m.clientX > l.viewW || m.clientY > l.viewH) { | |
return; | |
} | |
var h = g.W; | |
var f = g.H; | |
var o = false; | |
var i = false; | |
switch (q) { | |
case "right": | |
h = g.W + (m.clientX - p); | |
break; | |
case "left": | |
h = g.W - (m.clientX - p); | |
i = true; | |
break; | |
case "top": | |
f = g.H - (m.clientY - n); | |
o = true; | |
break; | |
case "bottom": | |
f = g.H + (m.clientY - n); | |
break; | |
case "right_top": | |
h = g.W + (m.clientX - p); | |
f = g.H - (m.clientY - n); | |
o = true; | |
break; | |
case "right_bottom": | |
h = g.W + (m.clientX - p); | |
f = g.H + (m.clientY - n); | |
break; | |
case "left_top": | |
h = g.W - (m.clientX - p); | |
f = g.H - (m.clientY - n); | |
o = true; | |
i = true; | |
break; | |
case "left_bottom": | |
h = g.W - (m.clientX - p); | |
f = g.H + (m.clientY - n); | |
i = true; | |
break; | |
} | |
if (h >= 480 && i) { | |
j.css("left", m.clientX); | |
} | |
if (f >= 365 && o) { | |
j.css("top", m.clientY); | |
} | |
h = (h < 480 ? 480 : h); | |
f = (f < 365 ? 365 : f); | |
j.resize(f, h); | |
} | |
function b(f) { | |
var h = f.data; | |
var g = h.win; | |
if (g.get(0) | |
.releaseCapture) { | |
g.get(0) | |
.releaseCapture(); | |
} else { | |
if (window.releaseEvents) { | |
window.releaseEvents(Event.MOUSEMOVE | Event.MOUSEUP); | |
} | |
} | |
d.removeMaskPage(); | |
g.unbind("mousemove") | |
.unbind("mouseup"); | |
} | |
})(jQuery); | |
(function(a) { | |
a.extend(a.fn, { | |
jGroupMemTree: function(c) { | |
var g = a.extend({ | |
target: a("#pop_group_box"), | |
enable: true, | |
isSinglePattern: true, | |
user: {}, | |
group: {}, | |
onBuddyItemClick: function() {} | |
}, c); | |
var f = a("#pop_group_box_" + g.group.id); | |
f.createBuddyList = function(i) { | |
var h = new Object(); | |
var m = ""; | |
var k = ""; | |
m = "<div class='pop_group_tit'><h3>群成员</h3><span>(0/0)</span></div>"; | |
k = "<ul class='pop_group_list' id='groupMem_list_" + i.id + "'>"; | |
var l = "</ul>"; | |
var j = new Array(); | |
h.pushContent = function(n) { | |
j.push(n); | |
}; | |
h.toHtmlString = function() { | |
j.sort(function(s, r) { | |
return groupBuddyComparator(s.buddyObj, r.buddyObj); | |
}); | |
var q = ""; | |
q += k; | |
var n = 0; | |
var p = j.length; | |
for (var o = 0; o < p; o++) { | |
q += j[o].strContent; | |
if (j[o].buddyObj.currIsOc) { | |
n++; | |
} | |
} | |
q += l; | |
m = m.replace("(0/0)", "(" + n + "/" + p + ")"); | |
q = m + q; | |
return q; | |
}; | |
return h; | |
}; | |
f.createBuddyItem = function(l, n) { | |
var h = new Object(); | |
var o = "buddyitem_" + l.id; | |
var k = EmotionNonhtmlReplace1(l.displayName, 14, false); | |
var j = l.isVip ? "vip_link" : ""; | |
h.buddyObj = l; | |
l.statusClass; | |
var m = l.statusClass; | |
var p = portrait.fetion_16; | |
h.strContent = "<li id='" + o + "' on='' user='" + l.id + "'>" + "<a href='#' hidefocus='true' class=" + j + "><span class='" + l.priName + "'></span>" + "<strong class='BuddyList_Container'><img class='" + m + "' src='" + p + "'></strong><p>" + k + "</p></a></li>"; | |
return h; | |
}; | |
f.bindEventToItem = function() { | |
var h = f.find("li"); | |
h.each(function(j) { | |
a(this) | |
.bind("click", function() { | |
a(this) | |
.siblings() | |
.removeClass("on"); | |
a(this) | |
.addClass("on"); | |
}); | |
}); | |
}; | |
f.setInnerHtml = function(h) { | |
f.html(h); | |
f.bindEventToItem(); | |
}; | |
function e(j) { | |
var i = j.attr("user"); | |
var h = g.group.id; | |
var k = h + "_" + i; | |
return __group_mem.get(k); | |
} | |
function d(n, m) { | |
var j = n.size(); | |
if (j <= 0) { | |
return -1; | |
} else { | |
var r = e(n.eq(0)); | |
if (groupBuddyComparator(m, r) <= 0) { | |
return 0; | |
} | |
var l = e(n.eq(j - 1)); | |
if (groupBuddyComparator(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 = groupBuddyComparator(m, q); | |
if (h <= 0) { | |
k = p; | |
} else { | |
if (h > 0) { | |
i = p; | |
} | |
} | |
} | |
var o = e(n.eq(i)); | |
if (groupBuddyComparator(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.insertBuddyItem = function(r, k) { | |
var o = a("#groupMem_list_" + k); | |
if (o.size() == 0) { | |
return; | |
} | |
var j = new Object(); | |
var s = "buddyitem_" + r.id; | |
var m = r.mnn || r.minn || r.id; | |
var h = EmotionNonhtmlReplace1(r.displayName, 14, false); | |
var t = r.isVip == true ? 'class="vip_link"' : ""; | |
j.buddyObj = r; | |
var l = buddyPor(r, r.statusClass, 1); | |
var q = ""; | |
j = a("<li id='" + s + "' user='" + r.id + "'>" + "<a " + t + " hidefocus='true'><span class=" + r.priName + "></span>" + "<strong class='BuddyList_Container'><img class='" + r.statusClass + "' src='" + l + "'></strong>" + "<p>" + h + "</p></a></li>"); | |
j.bind("click", function() { | |
a(this) | |
.siblings() | |
.removeClass("on"); | |
a(this) | |
.addClass("on"); | |
}); | |
var p = o.parent() | |
.find("ul > li[id!='" + s + "']"); | |
var i = p.size(); | |
var n = d(p, r); | |
if (n < 0 || n >= i) { | |
o.parent() | |
.find("ul") | |
.append(j); | |
} else { | |
p.eq(n) | |
.before(j); | |
} | |
if (r.currIsOc) { | |
f.updateBuddyStat(k, 1, 1); | |
} else { | |
f.updateBuddyStat(k, 0, 1); | |
} | |
}; | |
var b = /^\(([\d]+)\/([\d]+)\)$/ig; | |
f.updateBuddyStat = function(j, i, h) { | |
var l = a("#pop_group_box_" + j) | |
.children() | |
.eq(0) | |
.find("span"); | |
var k = l.text() | |
.trim(); | |
k = k.replace(b, function(o, n, p) { | |
return "(" + (parseInt(n) + i) + "/" + (parseInt(p) + h) + ")"; | |
}); | |
l.text(k); | |
}; | |
f.deleteBuddyItem = function(j, m) { | |
var i = m.id; | |
var l = a("#groupMem_list_" + j); | |
if (l.size() == 0) { | |
return null; | |
} | |
var k = l.find("#buddyitem_" + i); | |
if (k.size() == 0) { | |
return null; | |
} | |
k.remove(); | |
var n = m.lastIsOc; | |
var h = m.currIsOc; | |
if (h) { | |
f.updateBuddyStat(j, - 1, - 1); | |
} else { | |
f.updateBuddyStat(j, 0, - 1); | |
} | |
return k; | |
}; | |
f.getBuddyItem = function(i, h) { | |
var j = a("#groupMem_list_" + i); | |
return j.parent() | |
.find("#buddyitem_" + h); | |
}; | |
f.updateBuddyItem = function(j, q) { | |
var m = a("#groupMem_list_" + j); | |
var u = m.parent() | |
.find("#buddyitem_" + q.id); | |
var r = "buddyitem_" + q.id; | |
if (u.size() == 0) { | |
return; | |
} | |
var w, h, x, t; | |
w = u.find("img"); | |
x = u.find("a"); | |
t = u.find("span"); | |
h = u.find("p"); | |
if (q.statusClass != w.attr("class") && q.lastIsOc == q.currIsOc) { | |
if (q.currIsOc == false) { | |
f.updateBuddyStat(j, - 1, 0); | |
} else { | |
f.updateBuddyStat(j, 1, 0); | |
} | |
} | |
var k = buddyPor(q, q.statusClass, 1); | |
w.removeClass() | |
.addClass(q.statusClass); | |
w.attr("src", k); | |
var p = q.isVip ? "vip_link" : ""; | |
x.removeClass() | |
.addClass(p); | |
t.removeClass() | |
.addClass(q.priName); | |
var s = EmotionNonhtmlReplace1(q.displayName, 14, false); | |
if (s) { | |
h.text(s); | |
} | |
var o = m.parent() | |
.find("ul > li[id!='" + r + "']"); | |
var i = o.size(); | |
var l = d(o, q); | |
if (l < 0 || l >= i) { | |
m.parent() | |
.find("ul") | |
.append(u); | |
} else { | |
o.eq(l) | |
.before(u); | |
} | |
var n = q.lastIsOc; | |
var v = q.currIsOc; | |
if (n != v) { | |
if (n && !v) { | |
f.updateBuddyStat(j, - 1, 0); | |
} else { | |
f.updateBuddyStat(j, 1, 0); | |
} | |
} | |
}; | |
return f; | |
} | |
}); | |
})(jQuery); | |
(function(b) { | |
b.extend(b.fn, { | |
jGroupSysMsg: function(g) { | |
var j = b.extend({ | |
maxRelative: b(document.body), | |
user: {}, | |
group: {}, | |
popWin: {}, | |
defaultHeight: 365, | |
defaultWidth: 480, | |
onActive: function() {}, | |
onClosed: function() {}, | |
onFocus: function() {} | |
}, g); | |
var i = j.popWin; | |
i.isActived = false; | |
i.isShow = false; | |
i.hasShown = false; | |
function h(k) { | |
stopPropagation(k); | |
i.css("z-index", __zIndex++); | |
j.onFocus(i); | |
} | |
i.close = function() { | |
i.css("z-index", - 1); | |
i.css({ | |
"top": "-1000px", | |
"left": "-1000px" | |
}); | |
i.isActived = false; | |
i.isShow = false; | |
i.hasShown = false; | |
j.onClosed(i); | |
}; | |
i.active = function() { | |
i.isActived = true; | |
i.css("z-index", - 1); | |
j.onActive(i); | |
}; | |
i.show = function(l, k) { | |
if (typeof l == "number" && typeof k == "number" && !i.maxed) { | |
i.css({ | |
"top": l + "px", | |
"left": k + "px" | |
}); | |
} | |
i.css("z-index", __zIndex++); | |
i.isShow = true; | |
i.hasShown = true; | |
j.onFocus(i); | |
}; | |
i.focus = function() { | |
j.onFocus(i); | |
}; | |
i.hide = function() { | |
i.css("z-index", - 1); | |
i.isShow = false; | |
}; | |
i.bind("click", function() {}); | |
function f(m) { | |
if (!i.maxed) { | |
m = window.event || m; | |
if (i.get(0) | |
.setCapture) { | |
i.get(0) | |
.setCapture(); | |
} else { | |
if (window.captureEvents) { | |
window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP); | |
} | |
} | |
var n = i.offset(); | |
var k = getViewportHeight(); | |
var l = getViewportWidth(); | |
var o = { | |
win: i, | |
mOffsetX: m.clientX - n.left, | |
mOffsetY: m.clientY - n.top, | |
viewH: k, | |
viewW: l | |
}; | |
b.appendMaskPage(99); | |
i.bind("mousemove", o, a) | |
.bind("mouseup", o, c); | |
} | |
} | |
var e = i.find(".pop_group_cont_tit"); | |
e.bind("mousedown", f); | |
i.isOnFocus = function() { | |
return parseInt(i.css("z-index")) == __zIndex - 1 && i.isActived; | |
}; | |
var d = i.find("pop_group_close"); | |
d.bind("click", i.close); | |
i.bind("mousedown", function() { | |
i.css("z-index", __zIndex++); | |
j.onFocus(i); | |
}); | |
return i; | |
} | |
}); | |
function a(k) { | |
var l = k.data; | |
var j = l.win; | |
var i = l.mOffsetX; | |
var g = l.mOffsetY; | |
var h = l.viewH - j.outerHeight(); | |
var f = l.viewW - j.outerWidth(); | |
h = (h < 0 ? 0 : h); | |
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(i); | |
m = (m < 0 ? 0 : m); | |
o = (o < 0 ? 0 : o); | |
m = (m > h ? h : m); | |
o = (o > f ? f : o); | |
j.css({ | |
top: m + "px", | |
left: o + "px" | |
}); | |
} | |
} | |
function c(f) { | |
var h = f.data; | |
var g = h.win; | |
if (g.get(0) | |
.releaseCapture) { | |
g.get(0) | |
.releaseCapture(); | |
} else { | |
if (window.releaseEvents) { | |
window.releaseEvents(Event.MOUSEMOVE | Event.MOUSEUP); | |
} | |
} | |
b.removeMaskPage(); | |
g.unbind("mousemove") | |
.unbind("mouseup"); | |
} | |
})(jQuery); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(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(au) { | |
var w = g.extend({ | |
maxRelative: g(document.body), | |
mode: "singleChat", | |
user: {}, | |
buddy: {}, | |
defaultHeight: 365, | |
defaultWidth: 468, | |
onActive: function() {}, | |
onClosed: function() {}, | |
onFocus: function() {}, | |
onMined: function() {}, | |
onMaxed: function() {}, | |
onResized: function() {}, | |
onSendMessage: function() {} | |
}, au); | |
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 aF = 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 aH = g("<em />") | |
.addClass(status); | |
t.append(o) | |
.append(aH); | |
var aj = g("<span />") | |
.addClass("status"); | |
var u = g("<strong />") | |
.addClass("pl20"); | |
var J = g("<p />"); | |
var ax = g("<h2 />") | |
.append(t) | |
.append(u) | |
.append(aj); | |
aF.append(ax) | |
.append(J); | |
aa.append(aF); | |
var at = g("<div />") | |
.addClass("pop_ctr_bar"); | |
var aI = g("<i />") | |
.addClass("close"); | |
var W = g("<i />") | |
.addClass("max"); | |
var z = g("<i />") | |
.addClass("min"); | |
at.append(z) | |
.append(W) | |
.append(aI); | |
aa.append(at); | |
var B = g("<div />") | |
.addClass("message_main_new1 clearfix"); | |
var G = g("<div />") | |
.addClass("message_content_new1"); | |
var ae = 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 af = g("<a />") | |
.attr("href", "#") | |
.attr("title", "设置字体") | |
.addClass("btn_fonts none"); | |
var H = jChatWindowPopExpression(); | |
H.css("display", "none"); | |
var am = g("<div />") | |
.addClass("chat_input chat_pc"); | |
var ao = "edit" + w.buddy.uid; | |
var R = g("<div contenteditable='true' id='" + ao + "'/>") | |
.addClass("chat_textarea"); | |
if (g.browser.mozilla) { | |
R.append("<br/>"); | |
} | |
am.append(R); | |
var ay = g("<div />") | |
.addClass("send_btn"); | |
var P = g("<a />") | |
.attr("href", "#") | |
.addClass("btn_send_new") | |
.append("发 送"); | |
var aC = g("<span>"); | |
var ak = X.attr("id") + "_checkbox"; | |
var C = g("<input />") | |
.attr("name", "checkbox") | |
.attr("type", "checkbox") | |
.attr("id", ak) | |
.attr("checked", "checked"); | |
var Z = g("<label />") | |
.attr("for", ak) | |
.append("以短信方式发送"); | |
aC.append(C) | |
.append(Z); | |
var aB = g("<strong />") | |
.attr("id", X.attr("id") + "smsWordCounter") | |
.html("180"); | |
var aA = g("<em />") | |
.append("还可输入") | |
.append(aB) | |
.append("字"); | |
ay.append(P) | |
.append(aC) | |
.append(aA); | |
G.append(y) | |
.append(m.append(j) | |
.append(af) | |
.append(H)) | |
.append(am) | |
.append(ay); | |
var ad = 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; | |
ad.append(x) | |
.append(I); | |
var ar = g("<div />") | |
.addClass("avatar"); | |
var E = g("<img alt='' complete='complete' />") | |
.attr("src", portrait.defaultIcon); | |
var an = g("<div />") | |
.addClass("user_info_topnew1"); | |
var q = ""; | |
var ah = ""; | |
if (w.buddy.mn && w.buddy.mn.trim() | |
.length > 0) { | |
ah = "fetion_mobile_new1"; | |
q = w.buddy.mn; | |
} else { | |
var r = new jCompactUri(w.buddy.uri); | |
ah = "fetion_num_new1"; | |
if (r.isMobileNo) { | |
ah = "fetion_mobile_new1"; | |
} | |
q = r.mobileNoOrSid; | |
} | |
var k = g("<a href='#' target='_blank'>申请公开手机号</a>"); | |
var ac = ""; | |
if (w.buddy.isCT) { | |
ac = "(电信)"; | |
} | |
if (w.buddy.isCU) { | |
ac = "(联通)"; | |
} | |
an.append(g("<div class='user_head_90new1' />") | |
.append(E)) | |
.append('<ul class="user_info_new1">' + "<li><label id='buddy_num' class=\"fetion_gray\">" + q + "</label><span>" + ac + "</span></li></ul>"); | |
var ai = g("<div />") | |
.addClass("user_info_botnew1"); | |
var l = g("<img alt='' complete='complete' />") | |
.attr("src", portrait.defaultIcon); | |
ai.append(g("<i class='user_head_90new1' />") | |
.append(l)); | |
ar.append(an) | |
.append(ai); | |
var L = null; | |
B.append(G) | |
.append(ar) | |
.append(ad); | |
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 aJ = 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 aG = 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 aw = 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 av = 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(aJ) | |
.append(aw) | |
.append(aG) | |
.append(av); | |
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 ag(aL) { | |
stopPropagation(aL); | |
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(aM, aL) { | |
if (typeof aM == "number" && typeof aL == "number" && !X.maxed) { | |
X.css({ | |
"top": aM + "px", | |
"left": aL + "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(aN, aM) { | |
if (typeof aN != "number") { | |
aN = X.height(); | |
} | |
if (typeof aM != "number") { | |
aM = X.width(); | |
} | |
y.height(0); | |
X.get(0) | |
.style.height = aN + "px"; | |
X.get(0) | |
.style.width = aM + "px"; | |
if (X.maxed) { | |
if (X.isExpanded) { | |
G.get(0) | |
.style.width = (aM - 143) + "px"; | |
} else { | |
G.get(0) | |
.style.width = (aM - 11) + "px"; | |
} | |
} else { | |
if (X.isExpanded) { | |
G.get(0) | |
.style.width = (aM - 143) + "px"; | |
} else { | |
G.get(0) | |
.style.width = (aM - 11) + "px"; | |
} | |
} | |
var aL = 0; | |
y.parent() | |
.children() | |
.each(function(aO) { | |
aL += g(this) | |
.outerHeight(); | |
}); | |
aL = aN - (aL + y.outerHeight()) - aF.outerHeight(); | |
if (L && L.css("display") == "none") { | |
aL += L.outerHeight(); | |
} | |
aL = ((aL < 0) ? 0 : aL); | |
y.get(0) | |
.style.height = aL + "px"; | |
T(); | |
w.onResized(X); | |
}; | |
X.bind("click", function() { | |
T(); | |
}); | |
var K; | |
var aD; | |
X.logSelfMsg = function(aP) { | |
R.get(0) | |
.innerHTML = g.browser.mozilla ? "<br/>" : ""; | |
var aM = g("<dl />") | |
.addClass("self"); | |
var aO = new Date(); | |
var aN = aO.getHours() + ":" + (aO.getMinutes() < 10 ? "0" + aO.getMinutes() : aO.getMinutes()); | |
if (typeof K == "undefined" || typeof aD == "undefined" || !K || aN != aD) { | |
var aQ = g("<dt />") | |
.append(htmlEncode(cnSubstr(w.user.displayName, 18))); | |
aQ.append(g("<strong />") | |
.append("说")); | |
aQ.append(g("<span />") | |
.append("(" + aN + "):")); | |
} | |
K = true; | |
aD = aN; | |
aP = aP.replace(/\u000a|\u000d\u000a/gi, "<br>"); | |
aP = aP.replace(__hrefReg, function(aR) { | |
if (aR.indexOf("://") >= 0) { | |
return "<a href='" + aR + "' target='_blank'>" + aR + "</a>"; | |
} else { | |
return "<a href='http://" + aR + "' target='_blank'>" + aR + "</a>"; | |
} | |
}); | |
var aL = g("<dd />") | |
.append(EmoticonReplace(aP)); | |
aM.append(aQ) | |
.append(aL); | |
y.append(aM); | |
y.scrollTop(y.get(0) | |
.scrollHeight); | |
}; | |
X.logFriendMsg = function(aP) { | |
var aM = g("<dl />") | |
.addClass("friend"); | |
var aO = new Date(); | |
var aN = aO.getHours() + ":" + (aO.getMinutes() < 10 ? "0" + aO.getMinutes() : aO.getMinutes()); | |
if (typeof K == "undefined" || typeof aD == "undefined" || K || aN != aD) { | |
var aQ = g("<dt />") | |
.append(htmlEncode(cnSubstr(w.buddy.displayName, 18))); | |
aQ.append(g("<strong />") | |
.append("说")); | |
aQ.append(g("<span />") | |
.append("(" + aN + "):")); | |
} | |
K = false; | |
aD = aN; | |
aP = htmlEncode(aP); | |
aP = aP.replace(/\u000a|\u000d\u000a/gi, "<br>"); | |
aP = aP.replace(__hrefReg, function(aR) { | |
if (aR.indexOf("://") >= 0) { | |
return "<a href='" + aR + "' target='_blank'>" + aR + "</a>"; | |
} else { | |
return "<a href='http://" + aR + "' target='_blank'>" + aR + "</a>"; | |
} | |
}); | |
var aL = g("<dd />") | |
.append(EmoticonReplace(aP)); | |
aM.append(aQ) | |
.append(aL); | |
y.append(aM); | |
y.scrollTop(y.get(0) | |
.scrollHeight); | |
}; | |
X.logErrorInfo = function(aL) { | |
var aM = g("<div />") | |
.addClass("code_error") | |
.append(aL); | |
y.append(aM) | |
.append("<br/>"); | |
y.scrollTop(y.get(0) | |
.scrollHeight); | |
}; | |
X.getSendMessagePlainText = function(aL) { | |
var aM = aL ? aL : R.get(0) | |
.innerHTML; | |
if (!aM) { | |
return ""; | |
} else { | |
if (!g.browser.msie) { | |
aM = aM.replace(/<br[ ]*[\/]?>$/i, ""); | |
aM = aM.replace(/<br[ ]*[\/]?>/gi, "\\u000a"); | |
} | |
aM = aM.replace(/<br[ ]*[\/]?>/gi, "\\u000d\\u000a"); | |
aM = aM.replace(a, function(aO) { | |
var aP = g(aO) | |
.attr("src"); | |
var aN = aP.substring(aP.lastIndexOf("/") + 1, aP.lastIndexOf(".")); | |
return GetEmotionKey(aN); | |
}); | |
return aM; | |
} | |
return ""; | |
}; | |
X.enableInput = function(aL) { | |
X.enablechatInput = aL; | |
if (aL) { | |
X.inputPermission = 0; | |
am.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 { | |
am.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 aL = 0; | |
if (X.maxed) { | |
var aM = ad.width() + ar.width(); | |
G.width(G.width() + aM); | |
aL = X.width(); | |
} else { | |
aL = X.width() - ar.width(); | |
} | |
X.isExpanded = false; | |
X.resize(X.height(), aL); | |
x.removeClass("none"); | |
I.addClass("none"); | |
ar.addClass("none"); | |
}; | |
X.expand = function() { | |
var aL = 0; | |
if (X.maxed) { | |
var aM = ad.width() + ar.width(); | |
G.width(G.width() - aM); | |
aL = X.width(); | |
} else { | |
aL = X.width() + ar.width(); | |
} | |
X.isExpanded = true; | |
X.resize(X.height(), aL); | |
x.addClass("none"); | |
I.removeClass("none"); | |
ar.removeClass("none"); | |
}; | |
x.bind("click", X.expand); | |
I.bind("click", X.collapse); | |
X.recalWordCount = function() { | |
if (C.attr("checked")) { | |
setTimeout(function() { | |
var aL = X.getSendMessagePlainText(); | |
var aM = 180 - aL.length; | |
aB.html(aM); | |
if (aM < 0) { | |
aA.addClass("font_warning"); | |
} else { | |
aA.removeClass("font_warning"); | |
} | |
aL = null; | |
}, 200); | |
} | |
}; | |
X.popWarnBySmsCheker = false; | |
X.onCkbSmsCheckerChanged = function(aL) { | |
if (aL) { | |
if (C.attr("checked")) { | |
if ((w.buddy.isCT || w.buddy.isCU)) { | |
if ( !! L) { | |
L.remove(); | |
} | |
L = jChatWindowPopMessage({ | |
target: ae, | |
canClose: true, | |
className: "pop_blacktxt", | |
onClose: X.resize | |
}); | |
var aM = w.buddy.isCT ? "电信" : "联通"; | |
L.css({ | |
"padding-right": "13px" | |
}) | |
.setInnerHtml("对方是" + aM + "用户,发送短信收费,每条同本地短信资费。"); | |
X.resize(); | |
X.popWarnBySmsCheker = true; | |
} | |
aA.css("display", ""); | |
U = true; | |
g.increaseCounters("500600001"); | |
} else { | |
aA.css("display", "none"); | |
U = false; | |
if (X.popWarnBySmsCheker) { | |
if ( !! L) { | |
L.remove(); | |
if ((w.buddy.status & ContactStatus.SmsOnline) == ContactStatus.SmsOnline) { | |
L = jChatWindowPopMessage({ | |
target: ae, | |
canClose: true, | |
className: "pop_blacktxt", | |
onClose: X.resize | |
}); | |
L.setInnerHtml("对方将在下次登录时收到您发送的信息。"); | |
} | |
X.resize(); | |
X.popWarnBySmsCheker = false; | |
} | |
} | |
} | |
} else { | |
aA.css("display", "none"); | |
U = false; | |
} | |
X.recalWordCount(); | |
}; | |
C.bind("click", X.onCkbSmsCheckerChanged); | |
var aK = ContactStatus.Unknown; | |
var aq = ContactType.Unknown; | |
var v = true; | |
var U = false; | |
var n = false; | |
function A(aL, aM) { | |
if (aL.isCM && (aL.cas != "0" || aL.sms != "0.0:0:0")) { | |
C.removeAttr("checked"); | |
X.onCkbSmsCheckerChanged(false); | |
C.attr("disabled", "disabled"); | |
Z.css("color", "rgb(128, 128, 128)"); | |
} else { | |
if (aM) { | |
if (w.user.isCM || aL.isCM) { | |
C.removeAttr("disabled"); | |
Z.css("color", ""); | |
} else { | |
C.removeAttr("checked"); | |
X.onCkbSmsCheckerChanged(false); | |
C.attr("disabled", "disabled"); | |
Z.css("color", "rgb(128, 128, 128)"); | |
} | |
} | |
} | |
} | |
function O(aL, aO, aM) { | |
U = false; | |
n = false; | |
if (aO == ContactType.MobileBuddy) { | |
if (L) { | |
L.remove(); | |
} | |
if (w.user.isMobile) { | |
L = jChatWindowPopMessage({ | |
target: ae, | |
canClose: true, | |
className: "pop_blacktxt", | |
onClose: X.resize | |
}); | |
L.setInnerHtml("对方是您的手机好友,您的消息将以长短信方式发送到对方手机。"); | |
v = true; | |
} else { | |
L = jChatWindowPopMessage({ | |
target: ae, | |
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 (aO == ContactType.ChatFriend) { | |
if (L) { | |
L.remove(); | |
} | |
L = jChatWindowPopMessage({ | |
target: ae, | |
canClose: true, | |
className: "pop_blacktxt", | |
onClose: X.resize | |
}); | |
if ((aM & ContactStatus.CloseService) == ContactStatus.CloseService) { | |
L.setInnerHtml("对方没有开通服务,您不能和其会话。"); | |
C.attr("disabled", "disabled"); | |
Z.css("color", "rgb(128, 128, 128)"); | |
v = false; | |
} else { | |
var aN = g("<span>该用户不在您的好友列表中。</span><a href=#>点击此处添加为好友</a><br/><span>请勿轻信汇款、中奖等消息。</span><a href=#>点击此处将其加入黑名单</a>"); | |
L.setInnerHtml(aN); | |
C.attr("disabled", "disabled"); | |
Z.css("color", "rgb(128, 128, 128)"); | |
X.resize(); | |
aN.eq(1) | |
.bind("click", function() { | |
createAddBuddyTab(aL.sid); | |
return false; | |
}); | |
aN.eq(4) | |
.bind("click", function() { | |
OpBuddy(aL.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 (aO == ContactType.FetionBuddy) { | |
ap(aL, aM); | |
} | |
} | |
} | |
X.onCkbSmsCheckerChanged(v); | |
A(aL, false); | |
} | |
function ap(aL, aM) { | |
if (L) { | |
L.remove(); | |
} | |
if (aL.bss == "0" && aL.mn == "") { | |
L = jChatWindowPopMessage({ | |
target: ae, | |
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 ((aM & ContactStatus.Online) == ContactStatus.Online) { | |
X.resize(); | |
C.removeAttr("checked"); | |
X.onCkbSmsCheckerChanged(false); | |
if (w.user.isCM || w.buddy.isCM) { | |
C.removeAttr("disabled"); | |
Z.css("color", ""); | |
} else { | |
C.attr("disabled", "disabled"); | |
Z.css("color", "rgb(128, 128, 128)"); | |
} | |
v = true; | |
} else { | |
if ((aM & ContactStatus.Busy) == ContactStatus.Busy) { | |
L = jChatWindowPopMessage({ | |
target: ae, | |
canClose: true, | |
className: "pop_blacktxt", | |
onClose: X.resize | |
}); | |
L.setInnerHtml("对方“忙碌”,可能无法及时回复您的消息。"); | |
X.resize(); | |
C.removeAttr("checked"); | |
X.onCkbSmsCheckerChanged(false); | |
if (w.user.isCM || aL.isCM) { | |
C.removeAttr("disabled"); | |
Z.css("color", ""); | |
} else { | |
C.attr("disabled", "disabled"); | |
Z.css("color", "rgb(128, 128, 128)"); | |
} | |
v = true; | |
} else { | |
if ((aM & ContactStatus.Away) == ContactStatus.Away) { | |
L = jChatWindowPopMessage({ | |
target: ae, | |
canClose: true, | |
className: "pop_blacktxt", | |
onClose: X.resize | |
}); | |
L.setInnerHtml("对方“离开”,可能无法及时回复您的消息。"); | |
X.resize(); | |
C.removeAttr("checked"); | |
X.onCkbSmsCheckerChanged(false); | |
if (w.user.isCM || aL.isCM) { | |
C.removeAttr("disabled"); | |
Z.css("color", ""); | |
} else { | |
C.attr("disabled", "disabled"); | |
Z.css("color", "rgb(128, 128, 128)"); | |
} | |
v = true; | |
} else { | |
if ((aM & ContactStatus.SmsOnline) == ContactStatus.SmsOnline) { | |
L = jChatWindowPopMessage({ | |
target: ae, | |
canClose: true, | |
className: "pop_blacktxt", | |
onClose: X.resize | |
}); | |
C.removeAttr("checked"); | |
X.onCkbSmsCheckerChanged(false); | |
if (w.user.isMobile) { | |
if (w.buddy.isCM) { | |
L.setInnerHtml("对方短信在线,您的消息会以短信发送到对方手机。"); | |
C.removeAttr("disabled"); | |
Z.css("color", ""); | |
n = true; | |
v = true; | |
} else { | |
if (w.user.isCM && !w.buddy.isCM) { | |
L.setInnerHtml("对方将在下次登录时收到您发送的信息。"); | |
C.removeAttr("disabled"); | |
Z.css("color", ""); | |
} else { | |
L.setInnerHtml("对方将在下次登录时收到您发送的信息。"); | |
C.attr("disabled", "disabled"); | |
Z.css("color", "rgb(128, 128, 128)"); | |
n = false; | |
v = true; | |
} | |
} | |
} else { | |
L.setInnrHetml("对方离线,您的消息将在对方下次登录时发送。"); | |
C.attr("disabled", "disabled"); | |
Z.css("color", "rgb(128, 128, 128)"); | |
v = true; | |
} | |
X.resize(); | |
} else { | |
if ((aM & ContactStatus.Offline) == ContactStatus.Offline) { | |
L = jChatWindowPopMessage({ | |
target: ae, | |
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); | |
if (w.user.isCM || aL.isCM) { | |
C.removeAttr("disabled"); | |
Z.css("color", ""); | |
} else { | |
C.attr("disabled", "disabled"); | |
Z.css("color", "rgb(128, 128, 128)"); | |
} | |
v = true; | |
} | |
} | |
} | |
} | |
} | |
} | |
A(aL, false); | |
} | |
X.setBuddyStatus = function(aS) { | |
w.buddy = aS; | |
A(aS, true); | |
var aT = aS.type, | |
aN = aS.status; | |
var aL = (aq != aT); | |
var aM = (aK != aN); | |
if (aT != ContactType.ChatFriend) { | |
var aQ = aS.pd ? cnSubstr(aS.pd.trim(), 6) : getStatusDesc(aS, aT, aN); | |
aj.text("(" + aQ + ")"); | |
} else { | |
aj.text("- 陌生人"); | |
} | |
if (!aL && !aM) { | |
return; | |
} | |
var aR = aS.statusClass; | |
aH.removeClass() | |
.addClass(aR); | |
var aP = w.buddy.statusClass; | |
var aO = buddyPor(w.buddy, aP, 2); | |
o.attr("src", aO); | |
if ((aN & ContactStatus.BlockList) > 0) { | |
if (L) { | |
L.remove(); | |
} | |
L = jChatWindowPopMessage({ | |
target: ae, | |
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(aS, aT, aN); | |
} | |
aK = aN; | |
aq = aT; | |
X.enableInput(v); | |
}; | |
X.setBuddyStatus(w.buddy); | |
X.getBuddyDisplayNo = function(aM) { | |
var aL = ""; | |
var aO = ""; | |
if (aM.mn && aM.mn.trim() | |
.length > 0) { | |
aO = "fetion_mobile_new1"; | |
aL = aM.mn; | |
} else { | |
var aN = new jCompactUri(aM.uri); | |
aO = "fetion_num_new1"; | |
if (aN.isMobileNo) { | |
aO = "fetion_mobile_new1"; | |
} | |
aL = aN.mobileNoOrSid; | |
} | |
return { | |
"num": aL, | |
"className": aO | |
}; | |
}; | |
X.setBuddyInfo = function(aN) { | |
w.buddy = aN; | |
u.text(cnSubstr(aN.displayName, 18)); | |
J.text(cnSubstr(aN.ct == 1 ? "" : aN.i, 38)); | |
var aO = aN.statusClass; | |
var aP = buddyPor(aN, aO, 2); | |
o.attr("src", aP); | |
E.attr("src", getUserPortraitUrl(w.buddy)); | |
var aL = X.getBuddyDisplayNo(w.buddy); | |
an.find("#buddy_num") | |
.text(aL.num); | |
if (w.buddy.isCT || w.buddy.isCU) { | |
var aM = ""; | |
aM = w.buddy.isCT ? "(电信)" : (w.buddy.isCU ? "(联通)" : ""); | |
an.find("#buddy_num") | |
.next() | |
.text(aM); | |
} | |
}; | |
X.setBuddyInfo(w.buddy); | |
X.setUserInfo = function(aL) { | |
w.user = aL; | |
l.attr("src", getUserPortraitUrl(aL)); | |
if (w.user.cas != "0" && w.user.isMobile) { | |
C.removeAttr("checked"); | |
X.onCkbSmsCheckerChanged(false); | |
C.attr("disabled", "disabled"); | |
Z.css("color", "rgb(128, 128, 128)"); | |
} | |
}; | |
X.setUserInfo(w.user); | |
function S(aN) { | |
T(); | |
if (!X.maxed) { | |
aN = window.event || aN; | |
if (X.get(0) | |
.setCapture) { | |
X.get(0) | |
.setCapture(); | |
} else { | |
if (window.captureEvents) { | |
window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP); | |
} | |
} | |
var aO = X.offset(); | |
var aL = getViewportHeight(); | |
var aM = getViewportWidth(); | |
var aP = { | |
win: X, | |
mOffsetX: aN.clientX - aO.left, | |
mOffsetY: aN.clientY - aO.top, | |
viewH: aL, | |
viewW: aM | |
}; | |
g.appendMaskPage(99); | |
X.bind("mousemove", aP, b) | |
.bind("mouseup", aP, h); | |
} | |
} | |
aF.bind("mousedown", S); | |
function V(aN) { | |
T(); | |
if (!X.maxed) { | |
aN = window.event || aN; | |
if (X.get(0) | |
.setCapture) { | |
X.get(0) | |
.setCapture(); | |
} else { | |
if (window.captureEvents) { | |
window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP); | |
} | |
} | |
var aL = getViewportHeight(); | |
var aM = getViewportWidth(); | |
var aO = g(this) | |
.attr("direction"); | |
var aP = { | |
win: X, | |
originSize: { | |
H: X.height(), | |
W: X.width() | |
}, | |
moveDire: aO, | |
originX: aN.clientX, | |
originY: aN.clientY, | |
viewH: aL, | |
viewW: aM | |
}; | |
g.appendMaskPage(99); | |
X.bind("mousemove", aP, f) | |
.bind("mouseup", aP, d); | |
} | |
} | |
X.find("div[direction]") | |
.bind("mousedown", V); | |
at.bind("mousedown", ag); | |
at.find("i") | |
.bind("mouseover", function() { | |
var aL = g(this) | |
.attr("class"); | |
g(this) | |
.attr("class", aL + "_on"); | |
}) | |
.bind("mouseout", function() { | |
var aL = g(this) | |
.attr("class"); | |
g(this) | |
.attr("class", aL.replace(/^(.*)_on$/, "$1")); | |
}); | |
X.isOnFocus = function() { | |
return parseInt(X.css("z-index")) == __zIndex - 1 && X.isActived; | |
}; | |
ax.bind("mousedown", ag); | |
J.bind("mousedown", ag); | |
aI.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 aE() { | |
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 aL = w.maxRelative.offset(); | |
X.css({ | |
"top": aL.top, | |
"left": aL.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", aE); | |
aF.bind("dblclick", aE); | |
X.bind("mousedown", function() { | |
X.css("z-index", __zIndex++); | |
w.onFocus(X); | |
}); | |
var i, al; | |
function M() { | |
if (document.selection) { | |
i = document.selection.createRange(); | |
} else { | |
if (window.getSelection) { | |
al = window.getSelection() | |
.getRangeAt(0); | |
} | |
} | |
} | |
var az = Math.ceil(parseFloat(R.css("line-height"))); | |
R.bind("keydown", function(aN) { | |
aN = window.event || aN; | |
var aM = aN.keyCode || aN.charCode; | |
function aO() { | |
return (aM == 13 && aN.ctrlKey) || (aM == 13 && aN.shiftKey) || (aM == 13 && aN.altKey); | |
} | |
function aL() { | |
return aM == 13; | |
} | |
M(); | |
if (aO()) { | |
if (i) { | |
i.text = "\r\n"; | |
i.select(); | |
} else { | |
if (al) { | |
replaceSelection(al, "<br>"); | |
replaceSelection(al, " "); | |
R.scrollTop(R.scrollTop() + az); | |
} | |
} | |
if (aN.preventDefault) { | |
aN.preventDefault(); | |
} else { | |
aN.returnValue = false; | |
} | |
} else { | |
if (aL()) { | |
if (aN.preventDefault) { | |
aN.preventDefault(); | |
} else { | |
aN.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(aP) { | |
aP = window.event || aP; | |
if (window.clipboardData) { | |
var aS = window.clipboardData.getData("Text"); | |
window.clipboardData.setData("Text", aS); | |
} else { | |
if (!g.browser.mozilla) { | |
if (aP.preventDefault) { | |
aP.preventDefault(); | |
} else { | |
aP.returnValue = false; | |
} | |
var aR = R.get(0); | |
aR.focus(); | |
var aN = window.getSelection(); | |
var aM = aN.getRangeAt(0); | |
var aQ = ""; | |
aQ = aP.clipboardData.getData("Text"); | |
var aS = new String(aQ); | |
aM.deleteContents(); | |
var aL = aM.createContextualFragment(aS); | |
var aO = aL.lastChild; | |
aM.insertNode(aL); | |
aM.setEndAfter(aO); | |
aM.collapse(false); | |
aN.removeAllRanges(); | |
aN.addRange(aM); | |
aM.detach(); | |
aM = null; | |
} | |
} | |
if (g.browser.mozilla) { | |
setTimeout(function() { | |
var aT = R.get(0) | |
.textContent; | |
R.get(0) | |
.innerHTML = ""; | |
R.append(aT); | |
}, 10); | |
} | |
X.recalWordCount(); | |
}); | |
P.bind("mousedown", ag) | |
.bind("click", function() { | |
var aP = X.getSendMessagePlainText(); | |
if (aP == "") { | |
return; | |
} | |
if (C.attr("checked")) { | |
var aT = "rgb(255,204,204)"; | |
if (aP.length > 180) { | |
var aO = R.get(0); | |
var aS = 0; | |
var aM = 0; | |
var aN = 0; | |
var aR = function() { | |
aO.style.backgroundColor = aT; | |
aS = setTimeout(aQ, 100); | |
aL(); | |
++aN; | |
}; | |
var aQ = function() { | |
aO.style.backgroundColor = ""; | |
aM = setTimeout(aR, 100); | |
aL(); | |
++aN; | |
}; | |
var aL = function() { | |
if (aN > 3) { | |
clearTimeout(aS); | |
clearTimeout(aM); | |
aO.style.backgroundColor = ""; | |
} | |
}; | |
aR(); | |
return; | |
} | |
} | |
aP = htmlDecode(aP); | |
aP = htmlEncode(aP); | |
if (!g.browser.msie) { | |
aP = aP.replace(/\\u000a/gi, "\u000a"); | |
} | |
aP = aP.replace(/\\u000d\\u000a/gi, "\u000d\u000a"); | |
if (C.attr("checked")) { | |
U = true; | |
n = false; | |
} else { | |
U = false; | |
} | |
w.onSendMessage(X, w.buddy.uid, aP, U, n); | |
R.blur(); | |
R.focus(); | |
X.recalWordCount(); | |
}); | |
j.bind("mousedown", ag) | |
.bind("mouseover", function() { | |
j.addClass("btn_hover"); | |
}) | |
.bind("mouseout", function() { | |
j.removeClass("btn_hover"); | |
}) | |
.bind("click", function(aL) { | |
j.toggleClass("btn_fechove"); | |
if (H.css("display") == "none") { | |
H.css("display", ""); | |
} else { | |
H.css("display", "none"); | |
} | |
stopPropagation(aL); | |
}); | |
X.setInput = function(aL) { | |
R.get(0) | |
.innerHTML = EmoticonReplace(aL); | |
if (g.browser.mozilla) { | |
R.append("<br>"); | |
} | |
}; | |
setTimeout(function() { | |
H.fillImgs(); | |
H.bindItemClick(function(aL, aM) { | |
stopPropagation(aM); | |
setTimeout(function() { | |
var aO = g(aL) | |
.children("img"); | |
var aQ = EntityReplace(aO.attr("pattern")); | |
var aP = EmoticonReplace(aQ); | |
if (i && i.parentElement && i.parentElement() | |
.id == ao) { | |
replaceSelection(i, aP); | |
} else { | |
if ((al && al.startContainer && al.startContainer.id == ao) || (al && al.startContainer && al.startContainer.parentNode && al.startContainer.parentNode.id == ao)) { | |
replaceSelection(al, aP); | |
if (al) { | |
R.blur(); | |
R.focus(); | |
} | |
} else { | |
var aN = R.get(0) | |
.innerHTML; | |
if (g.browser.mozilla) { | |
aN = aN.replace(/<br[ ]*[\/]?>$/i, aP + "<br>"); | |
} else { | |
aN += aP; | |
} | |
R.get(0) | |
.innerHTML = aN; | |
} | |
} | |
j.toggleClass("btn_fechove"); | |
}, 50); | |
}); | |
}, 1000); | |
X.fixPosition = function() { | |
var aL = { | |
"top": X.css("top"), | |
"left": X.css("left") | |
}; | |
X.css({ | |
"top": "-1000px", | |
"left": "-1000px" | |
}); | |
window.setTimeout(function() { | |
X.css({ | |
"top": aL.top, | |
"left": aL.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 >= 468 && l) { | |
m.css("left", p.clientX); | |
} | |
if (i >= 365 && r) { | |
m.css("top", p.clientY); | |
} | |
k = (k < 468 ? 468 : 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(q, h, j) { | |
var n = a++, | |
r; | |
switch (q.length) { | |
case 3: | |
r = 60; | |
break; | |
case 4: | |
r = 72; | |
break; | |
case 5: | |
r = 84; | |
break; | |
default: | |
break; | |
} | |
var i = b("<li style='width:" + r + "px;' w='" + r + "px' title='" + q + "' />") | |
.attr("id", "tab_" + n), | |
o = f.find("ul"), | |
l = o.width(); | |
i.append("<span></span>" + q); | |
o.append(i); | |
var m = o.find("li") | |
.length; | |
if ((l + r + 28) >= 490) { | |
o.find("li") | |
.css({ | |
"width": (490 / m - 28) + "px" | |
}); | |
} | |
var k = b("<div />") | |
.attr("id", "content_" + n); | |
if (h.indexOf("?") < 0) { | |
h += "?tabIndex=" + n; | |
} else { | |
h += "&tabIndex=" + n; | |
} | |
k.append(b("<iframe frameborder=0 />") | |
.attr("src", h) | |
.css({ | |
"height": "100%", | |
"width": "100%", | |
"scrolling": "auto" | |
})); | |
e.append(k); | |
i.bind("click", function() { | |
f.find("li") | |
.each(function() { | |
var s = b(this); | |
if (s.attr("id") == "tab_" + n) { | |
s.removeClass() | |
.addClass("on"); | |
} else { | |
s.removeClass(); | |
} | |
}); | |
e.children("div") | |
.each(function() { | |
var s = b(this); | |
if (s.attr("id") == "content_" + n) { | |
s.css("display", "block"); | |
} else { | |
s.css("display", "none"); | |
} | |
}); | |
return false; | |
}); | |
if (j) { | |
var p = b("<em />"); | |
i.append(p); | |
p.bind("click", function() { | |
i.remove(); | |
i = null; | |
o.find("li") | |
.css({ | |
"width": "" | |
}); | |
var t = o.find("li") | |
.length; | |
if (t < 5) { | |
o.find("li") | |
.each(function(w, u) { | |
b(u) | |
.css({ | |
"width": b(u) | |
.attr("w") | |
}); | |
}); | |
} else { | |
o.find("li") | |
.css({ | |
"width": (490 / t - 28) + "px" | |
}); | |
} | |
k.remove(); | |
k = null; | |
var s = f.find("li"); | |
if (s.length > 0) { | |
s.eq(0) | |
.click(); | |
} | |
return false; | |
}); | |
} | |
c.adjustContentHeight(); | |
i.click(); | |
}; | |
c.removeTab = function(k) { | |
c.find("#tab_" + k) | |
.remove(); | |
c.find("#content_" + k) | |
.remove(); | |
var j = f.find("ul"); | |
j.find("li") | |
.css({ | |
"width": "" | |
}); | |
var l = j.find("li") | |
.length; | |
if (l < 5) { | |
j.find("li") | |
.each(function(m, i) { | |
b(i) | |
.css({ | |
"width": b(i) | |
.attr("w") | |
}); | |
}); | |
} else { | |
j.find("li") | |
.css({ | |
"width": (490 / l - 28) + "px" | |
}); | |
} | |
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(k) { | |
var j = this.src.substr(0, this.src.lastIndexOf("&")); | |
if (this.src.indexOf("&") < 0) { | |
j = this.src.substr(0, this.src.lastIndexOf("?")); | |
} | |
if (j.endsWith(i)) { | |
h = new Object(); | |
h.topTab = f.children("ul") | |
.eq(0) | |
.children() | |
.eq(k); | |
h.content = e.children() | |
.eq(k); | |
return h; | |
} | |
}); | |
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); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var loginUrl = "WebIM/Login.aspx"; | |
var getPicCodeUrl = "WebIM/GetPicCode.aspx?Type={0}&{1}"; | |
var getBannerPicUrl = "httpHandler/GetBannerPicHttpHandler.ashx?s={0}"; | |
var mainPageUrl = "main.aspx"; | |
var loginPageUrl = "login.aspx"; | |
var loadingPanel; | |
var objPar = objects(window.location.search); | |
(function($) { | |
$(function() { | |
if ( !! ($.API) && $.API.app_360.is360DeskTop()) { | |
Bridge.setup("6cb571fc8b72ccc8e7705e5bde0ee4b5"); | |
if (!$.openPlatLogin.hasLogin()) { | |
$.API.app_360.fetionLogin(); | |
} | |
} | |
if ($.openPlatLogin.isOpenPlatLogin()) { | |
$.openPlatLogin.login(function() { | |
window.location.href = mainPageUrl; | |
}); | |
return; | |
} | |
initUrls(); | |
initNavigation(); | |
getBanner(); | |
loginIncreaseCounter(); | |
var usernameInput = $("#login_username"); | |
usernameInput.bind("focus", function() { | |
if (!numberReg.test(usernameInput.val())) { | |
usernameInput.val("") | |
.removeClass("co_b6"); | |
} | |
}) | |
.bind("blur", function() { | |
if (usernameInput.val() == "") { | |
usernameInput.val("请输入手机号、飞信号或邮箱") | |
.addClass("co_b6"); | |
} | |
}) | |
.bind("mouseover", function(e) { | |
usernameInput.addClass("on"); | |
}) | |
.bind("mouseout", function(e) { | |
usernameInput.removeClass("on"); | |
}); | |
$("#login_pass1") | |
.bind("focus", function(e) { | |
$(this) | |
.addClass("none"); | |
$("#login_pass") | |
.removeClass("none"); | |
$("#login_pass") | |
.focus(); | |
}); | |
$("#login_pass") | |
.bind("blur", function(e) { | |
if ($(this) | |
.val() == "") { | |
$(this) | |
.addClass("none"); | |
$("#login_pass1") | |
.removeClass("none"); | |
} | |
}) | |
.bind("keydown", function(e) { | |
e = window.event || e; | |
if (e.keyCode == 13) { | |
$("#btnlogin") | |
.click(); | |
} | |
}); | |
if (__isProxyIp == 1) { | |
createCcpUI(); | |
} | |
var historyLoginStatus = getCookie("webim_login_status"); | |
if (historyLoginStatus == 1) { | |
$("#login_chk_1") | |
.attr("checked", true); | |
} else { | |
$("#login_chk_1") | |
.attr("checked", false); | |
} | |
var historyLoginUserName = getCookie("webim_login_username"); | |
if (historyLoginUserName) { | |
usernameInput.val(historyLoginUserName) | |
.removeClass("co_b6"); | |
$("#login_chk_2") | |
.attr("checked", true); | |
} else { | |
usernameInput.val("请输入手机号、飞信号或邮箱") | |
.addClass("co_b6"); | |
} | |
$("#btnlogin") | |
.bind("click", function() { | |
if (!checkCondition()) { | |
return false; | |
} | |
$("#error_info") | |
.css("display", "none"); | |
login(); | |
return false; | |
}); | |
loadingPanel = $.fn.loadingPanel({ | |
target: "login_area" | |
}); | |
}); | |
function createCcpUI() { | |
if ($("#tr_code") | |
.find("td") | |
.length > 0) { | |
resetCcp(); | |
return; | |
} | |
var td = $('<td class="h54"><input id="login_code" type="text" class="input2 co_b6" name="" value="验证码不区分大小写" style="ime-mode: disabled" tabindex="3" ' + 'maxlength="4" /><img id="ccpimg" class="ln_code" alt="" src="images/login20120903/ccploading.png" />' + '<a id="change_link" class="ln_change_code" title="" href="javascript:;">换一张</a></td>'); | |
$("#tr_code") | |
.append(td); | |
$("#login_code") | |
.bind("focus", function() { | |
if ($(this) | |
.val() == "验证码不区分大小写") { | |
$(this) | |
.val("") | |
.removeClass("co_b6"); | |
} | |
}) | |
.bind("blur", function() { | |
if ($(this) | |
.val() == "") { | |
$(this) | |
.val("验证码不区分大小写") | |
.addClass("co_b6"); | |
} | |
}) | |
.bind("mouseover", function(e) { | |
$(this) | |
.addClass("on2"); | |
}) | |
.bind("mouseout", function(e) { | |
$(this) | |
.removeClass("on2"); | |
}); | |
$("#login_code") | |
.bind("keydown", function(e) { | |
e = window.event || e; | |
if (e.keyCode == 13) { | |
$("#btnlogin") | |
.click(); | |
} | |
}); | |
$("#change_link") | |
.bind("click", function() { | |
resetCcp(); | |
return false; | |
}); | |
setTimeout(function() { | |
resetCcp(); | |
}, 500); | |
} | |
function initUrls() { | |
mainPageUrl = __baseUrl + mainPageUrl; | |
loginPageUrl = __baseUrl + loginPageUrl; | |
} | |
function initNavigation() { | |
$("#feedback_link") | |
.attr("href", __feedbackUrl); | |
$("#help_link") | |
.attr("href", __helpUrl); | |
$("#findpwd_link") | |
.attr("href", __findPwdUrl); | |
$("#download_link") | |
.attr("href", __downloadUrl); | |
$("#pc_download_link") | |
.attr("href", __downloadUrl); | |
$("#mac_download_link") | |
.attr("href", __macDownloadUrl); | |
$("#download_link") | |
.bind("click", function() { | |
$.increaseCounter(500500002); | |
}); | |
$("#pc_download_link") | |
.bind("click", function() { | |
$.increaseCounter(500500001); | |
}); | |
$("#mac_download_link") | |
.bind("click", function() { | |
$.increaseCounter(500500003); | |
}); | |
var url = location.href; | |
if (url.indexOf("?") != -1) { | |
var paraString = url.substring(url.indexOf("?"), url.length); | |
__registerUrl += paraString; | |
} | |
$("#register_link") | |
.attr("href", __registerUrl); | |
$("#favorite_link") | |
.bind("click", function() { | |
addFavourite(location.href, "官方网页版飞信——在网页上与飞信好友聊天、免费发短信"); | |
return false; | |
}); | |
} | |
function getBanner() { | |
if ( !! __bannerInfo) { | |
var jsonObject = eval("(" + __bannerInfo + ")"); | |
if (jsonObject.length > 0) { | |
for (var i = 0; i < jsonObject.length; i++) { | |
var item = jsonObject[i]; | |
if (item.Key == "BannerImg_login" && item.OffShelfTime == 1) { | |
if ($.browser.msie) { | |
var imgSrc = formatString(getBannerPicUrl, item.Img); | |
$("#banner") | |
.attr("src", imgSrc) | |
.attr("alt", item.Title); | |
} else { | |
$("#banner") | |
.attr("src", item.Img) | |
.attr("alt", item.Title); | |
} | |
if ( !! item.Link) { | |
$("#bannerLink") | |
.css({ | |
"cursor": "pointer" | |
}) | |
.attr("target", item.Target) | |
.attr("title", item.Title); | |
$("#bannerLink") | |
.bind("mousedown", function(e) { | |
$.increaseCounter(500900002); | |
}) | |
.bind("click", function(e) { | |
$("#bannerLink") | |
.attr("href", item.Link); | |
}); | |
} | |
break; | |
} | |
} | |
} | |
} | |
} | |
function loginIncreaseCounter() { | |
var cookieValue = getCookie("webim_loginCounter"); | |
if (cookieValue == null || cookieValue == "") { | |
var expireDate = new Date(); | |
expireDate.setHours(expireDate.getHours() + 1); | |
setCookie("webim_loginCounter", expireDate.getTime(), expireDate.toGMTString(), "/"); | |
$.increaseCounter(500800001); | |
} | |
} | |
function checkCondition() { | |
var username = $("#login_username") | |
.val() | |
.trim(); | |
if (username == "") { | |
showErrMsg("请输入手机号、飞信号或邮箱"); | |
return false; | |
} | |
if (!isMobileNoReg.test(username) && !isValidSid.test(username) && !emailReg.test(username)) { | |
showErrMsg("请输入正确的手机号、飞信号或邮箱。"); | |
return false; | |
} | |
if ($("#login_pass") | |
.val() | |
.trim() == "") { | |
showErrMsg("请输入密码!"); | |
return false; | |
} | |
if ($("#tr_code") | |
.find("td") | |
.length > 0) { | |
if ($("#login_code") | |
.val() | |
.trim() == "" || $("#login_code") | |
.val() | |
.trim() == "验证码不区分大小写") { | |
showErrMsg("请输入验证码。"); | |
return false; | |
} | |
} | |
return true; | |
} | |
function saveLoginStatus() { | |
var status = 0; | |
if ($("#login_chk_1") | |
.attr("checked")) { | |
status = 1; | |
} else { | |
status = 0; | |
} | |
var expireDate = new Date(2033, 1, 1); | |
setCookie("webim_login_status", status, expireDate.toGMTString(), "/"); | |
} | |
function saveLoginInfo(userName) { | |
if (userName) { | |
var expireDate = new Date(2033, 1, 1); | |
setCookie("webim_login_username", escape(userName), expireDate.toGMTString(), "/"); | |
} else { | |
deleteCookie("webim_login_username", "/"); | |
} | |
} | |
var __loginTimes = 1; | |
function login() { | |
var loginParams = new Object(); | |
loginParams.success = loginSuccess; | |
loginParams.error = loginError; | |
if (__calluser) { | |
loginParams.url = loginUrl + "?calluser=" + __calluser; | |
} else { | |
loginParams.url = loginUrl; | |
var url = location.href; | |
if (url.indexOf("?") != -1) { | |
var paraString = url.substring(url.indexOf("?"), url.length); | |
loginParams.url += paraString; | |
} | |
} | |
loginParams.type = "POST"; | |
var loginStatus = 0; | |
if (!$("#login_chk_1") | |
.attr("checked")) { | |
loginStatus = 400; | |
} | |
var userName = $("#login_username") | |
.val() | |
.trim(); | |
var accountType = 0; | |
if (isValidSid.test(userName)) { | |
accountType = 0; | |
} else { | |
if (isMobileNoReg.test(userName)) { | |
accountType = 1; | |
} else { | |
if (emailReg.test(userName)) { | |
accountType = 2; | |
} | |
} | |
} | |
loginParams.data = { | |
"UserName": userName, | |
"Pwd": $("#login_pass") | |
.val(), | |
"OnlineStatus": loginStatus, | |
"AccountType": accountType | |
}; | |
if (emailReg.test(userName)) { | |
$.increaseCounter(500500004); | |
} | |
if ($("#tr_code") | |
.find("td") | |
.length > 0) { | |
loginParams.data["Ccp"] = $("#login_code") | |
.val(); | |
} | |
loginParams.dataType = "json"; | |
loadingPanel.show(); | |
$.ajax(loginParams); | |
} | |
function loginSuccess(data, textStatus) { | |
loadingPanel.hide(); | |
if (data.rc == 200) { | |
saveLoginStatus(); | |
if ($("#login_chk_2") | |
.attr("checked")) { | |
saveLoginInfo($("#login_username") | |
.val()); | |
} else { | |
saveLoginInfo(null); | |
} | |
var source = (!objPar["source"]) ? "" : objPar["source"]; | |
$.increaseCounter(osType() + "," + getScreen() + "," + "500800002", source); | |
window.location.href = mainPageUrl; | |
} else { | |
if (data.rc == 999) { | |
createCcpUI(); | |
} else { | |
if (data.rc == 9311) { | |
window.location.reload(); | |
} else { | |
if (__loginTimes >= 3) { | |
createCcpUI(); | |
} else { | |
resetCcp(); | |
} | |
__loginTimes++; | |
showErrMsg(data.rc); | |
} | |
} | |
} | |
} | |
function loginError(XMLHttpRequest, textStatus, errorThrown) { | |
loadingPanel.hide(); | |
if (__loginTimes >= 3) { | |
createCcpUI(); | |
} else { | |
resetCcp(); | |
} | |
__loginTimes++; | |
showErrMsg("连接服务器失败,请您检查网络连接是否正常。"); | |
} | |
function resetCcp() { | |
$("#ccpimg") | |
.attr("src", formatString(getPicCodeUrl, "ccpsession", Math.random())); | |
return false; | |
} | |
function showErrMsg(errInfo) { | |
var errorDiv = $("#error_info"); | |
if (typeof errInfo == "string") { | |
errorDiv.css("display", "block") | |
.html(errInfo); | |
} else { | |
if (typeof errInfo == "number") { | |
var errMsg = ""; | |
switch (errInfo) { | |
case 311: | |
errMsg = "请输入正确的手机号、飞信号和邮箱。"; | |
break; | |
case 312: | |
$("#login_code") | |
.select(); | |
errMsg = "您输入的验证码有误,请重新输入。"; | |
break; | |
case 404: | |
case 403: | |
case 430: | |
case 435: | |
errMsg = "您尚未开通飞信服务,请注册开通飞信。"; | |
break; | |
case 405: | |
case 504: | |
errMsg = "您已主动申请停用飞信业务或您的账号有异常行为,您的飞信账号已被禁用。"; | |
break; | |
case 321: | |
errMsg = "您输入密码错误,请重新输入。"; | |
break; | |
case 507: | |
errMsg = "目前仅限中国大陆用户使用。"; | |
break; | |
case 406: | |
errMsg = "您的帐号因在近期多次出现异常而被锁定,暂时无法登录,<a href='" + __unlockUrl + "' target='_blank'>点击此处解决。</a>"; | |
break; | |
case 500: | |
default: | |
errMsg = "服务器内部发生错误,请重试。"; | |
break; | |
} | |
errorDiv.css("display", "block") | |
.html(errMsg); | |
} | |
} | |
} | |
})(jQuery); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function(c) { | |
var e = "WebIM/Login.aspx"; | |
var f = __baseUrl + "login.aspx"; | |
var b = __baseUrl + "main.aspx"; | |
var a = "m161.com.cn"; | |
var d = objects(window.location.search); | |
c.extend({ | |
openPlatLogin: { | |
flag: 0, | |
hasLogin: function() { | |
var g = getCookie("webim_sessionid"); | |
if ( !! g) { | |
return true; | |
} | |
return false; | |
}, | |
isOpenPlatLogin: function() { | |
if ( !! d["c"]) { | |
c.openPlatLogin.flag = 0; | |
return true; | |
} else { | |
if ( !! d["token"] || !! d["code"]) { | |
c.openPlatLogin.flag = 1; | |
return true; | |
} | |
} | |
return false; | |
}, | |
login: function(g) { | |
switch (c.openPlatLogin.flag) { | |
case 0: | |
c.openPlatLogin.loginBySsic(g); | |
break; | |
case 1: | |
c.openPlatLogin.loginFor360(g); | |
break; | |
default: | |
break; | |
} | |
}, | |
loginFor360: function(k, i) { | |
var j = new Object(); | |
j.url = e; | |
var g = location.href; | |
if (g.indexOf("?") != -1) { | |
var h = g.substring(g.indexOf("?"), g.length); | |
j.url += h; | |
} | |
j.type = "POST"; | |
if ( !! i) { | |
j.data = { | |
"token": i | |
}; | |
} else { | |
if ( !! d["token"]) { | |
j.data = { | |
"token": d["token"] | |
}; | |
} else { | |
if ( !! d["code"]) { | |
j.data = { | |
"code": d["code"] | |
}; | |
} | |
} | |
} | |
j.dataType = "json"; | |
j.success = function(l, m) { | |
if (l.rc == 200) { | |
c.increaseCounter(osType() + "," + getScreen() + "," + "500800002", d["source"]); | |
if ( !! k) { | |
k(); | |
} | |
if ( !! i) { | |
window.location.href = b; | |
} | |
} else { | |
window.location.href = f + "?source=" + d["source"]; | |
} | |
}; | |
j.error = function(l, n, m) { | |
window.location.href = f + "?source=" + d["source"]; | |
}; | |
c.ajax(j); | |
}, | |
loginBySsic: function(j) { | |
var i = new Object(); | |
i.url = e; | |
var g = location.href; | |
if (g.indexOf("?") != -1) { | |
var h = g.substring(g.indexOf("?"), g.length); | |
i.url += h; | |
} | |
i.type = "POST"; | |
i.data = { | |
"ssic": d["c"], | |
"domain": a | |
}; | |
if ( !! d["domain"]) { | |
i.data.domain = d["domain"]; | |
} | |
i.dataType = "json"; | |
i.success = function(l, m) { | |
if (l.rc == 200) { | |
c.increaseCounter(osType() + "," + getScreen() + "," + "500800002", d["source"]); | |
if ( !! j) { | |
j(); | |
} | |
} else { | |
if (l.rc == 404) { | |
var k = __registerUrl; | |
if (__registerUrl.indexOf("?") > -1) { | |
k = __registerUrl.substring(0, __registerUrl.indexOf("?")); | |
} | |
window.location.href = k; | |
} else { | |
window.location.href = f; | |
} | |
} | |
}; | |
i.error = function(k, m, l) { | |
window.location.href = f; | |
}; | |
c.ajax(i); | |
} | |
}, | |
API: { | |
app_360: { | |
is360DeskTop: function() { | |
return (typeof Bridge != "undefined" && !! Bridge.connect && !! Bridge.connect.tryLogin); | |
}, | |
is360Logon: function() { | |
return Bridge.support.hasLogin(); | |
}, | |
fetionLogin: function() { | |
Bridge.connect.fetionLogin(function(g) { | |
if (g) { | |
var h = g.oauth.access_token; | |
c.openPlatLogin.loginFor360(function() {}, h); | |
} else { | |
Bridge.oauth2.getAuthCode({ | |
"redirect_uri": __redirectUri | |
}); | |
} | |
}); | |
} | |
} | |
} | |
}); | |
})(jQuery); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var mainPageUrl = "main.aspx"; | |
var loginPageUrl = "login.aspx"; | |
var addBuddyUrl = "WebIM/AddBuddy.aspx?Version={0}"; | |
var getConnectUrl = "WebIM/GetConnect.aspx?Version={0}"; | |
var getContactInfoUrl = "WebIM/GetContactInfo.aspx?UserType={0}&UserValue={1}&Version={2}"; | |
var getContactListUrl = "WebIM/GetContactList.aspx?Version={0}"; | |
var getGroupListUrl = "WebIM/GetGroupList.aspx?Version={0}"; | |
var getGroupPortraitUrl = "WebIM/GetGroupPortrait.aspx?Uri={0}&Size={1}&Crc={2}&mid={3}"; | |
var opInviteJoinUrl = "WebIM/PGHandleInviteJoinGroup.aspx?Version={0}"; | |
var PGHandleApplicationUrl = "WebIM/PGHandleApplication.aspx?Version={0}"; | |
var getGroupMemUrl = "WebIM/GetGroupMembers.aspx?Version={0}"; | |
var SendGroupMsgUrl = "WebIM/SendGroupMsg.aspx?Version={0}"; | |
var getGroupPerInfoUrl = "WebIM/PGGetPersonalInfo.aspx?Version={0}"; | |
var approveInviteUrl = "WebIM/ApproveInviteJoin.aspx?Version={0}"; | |
var GroupSubscribeUrl = "WebIM/GroupSubscribe.aspx?Version={0}"; | |
var getPersonalInfoUrl = "WebIM/GetPersonalInfo.aspx?Version={0}"; | |
var handleAddBuddyUrl = "WebIM/HandleAddBuddy.aspx?Version={0}"; | |
var logoutUrl = "WebIM/Logout.aspx?Version={0}"; | |
var opBuddyUrl = "WebIM/OpBuddy.aspx?Version={0}"; | |
var sendMessageUrl = "WebIM/SendMsg.aspx?Version={0}"; | |
var setPersonalInfoUrl = "WebIM/SetPersonalInfo.aspx?Version={0}"; | |
var setContactInfoUrl = "WebIM/SetContactInfo.aspx?Version={0}"; | |
var setPresenceUrl = "WebIM/SetPresence.aspx?Version={0}"; | |
var setSmsOnlineUrl = "WebIM/SetSmsOnline.aspx?Version={0}"; | |
var setScheduleSmsUrl = "WebIM/SetScheduleSms.aspx?Version={0}&Type={1}"; | |
var sendSMSUrl = "WebIM/SendSMS.aspx?Version={0}"; | |
var addChatFriendUrl = "WebIM/AddChatFriend.aspx?Version={0}"; | |
var getCredUrl = "WebIM/GetCred.aspx?Version={0}"; | |
var registerUrl = "WebIM/Register.aspx?Version={0}"; | |
var registerValidateUrl = "WebIM/RegisterValidate.aspx?Version={0}"; | |
var SetMessageReadUrl = "WebIM/SetMessageReadHttpHandler.aspx?Version={0}"; | |
var SendDirectSMSUrl = "WebIM/SendDirectSMSHttpHandler.aspx?Version={0}"; | |
var getBannerPicUrl = "httpHandler/GetBannerPicHttpHandler.ashx?s={0}"; | |
var getPcRecommendBuddyListV2Url = "WebIM/GetPcRecommendBuddyListV2Handler.aspx?Version={0}"; | |
var AddRecommendBuddyNotifyUrl = "WebIM/AddRecommendBuddyNotifyHttpHandler.aspx?Version={0}"; | |
var getPortraitUrl = "WebIM/GetPortrait.aspx?did={0}&Size={1}&Crc={2}&mid={3}"; | |
var getPicCodeUrl = "WebIM/GetPicCode.aspx?Type={0}&{1}"; | |
var ValidatePicCodeUrl = "WebIM/ValidatePicCodeHttpHandler.aspx?Version={0}"; | |
var GetSmsCodeCodeUrl = "WebIM/GetSmsCodeHttpHandler.aspx?Version={0}"; | |
var getALInfoUrl = "WebIM/GetALInfoHandler.aspx?Version={0}"; | |
var addALInfoOneUrl = "WebIM/AddALInfoOneHandler.aspx?Version={0}"; | |
var updateALInfoOneUrl = "WebIM/UpdateALInfoOneHandler.aspx?Version={0}"; | |
var deleteALInfoOneUrl = "WebIM/DeleteALInfoOneHandler.aspx?Version={0}"; | |
var portrait = { | |
defaultIcon: "images/portraits/fetion.jpg", | |
group: "images/fetion.jpg", | |
groupMsg: "images/groupSysMsg.png", | |
groupList: "images/fetion(29).jpg", | |
mobile: "images/portraits/mobile_user_head.jpg", | |
offline_16: "images/status16/offline_16.jpg", | |
offline_32: "images/status32/offline_32.jpg", | |
robot_online_16: "images/status16/robot.jpg", | |
robot_online_32: "images/status32/robot.jpg", | |
robot_offline_16: "images/status16/robot_offline.jpg", | |
robot_offline_32: "images/status32/robot_offline.jpg", | |
verify: "images/status16/waiting.jpg", | |
close: "images/status16/Closed.jpg", | |
refuse: "images/status16/block.jpg", | |
fetion_16: "images/status16/fetion_16.jpg", | |
fetion_32: "images/status32/fetion_32.jpg" | |
}; | |
var __version = 0; | |
var __user = new UserDefault(); | |
var __contactMap = new jHashMap(); | |
var __groupMap = new jHashMap(); | |
var __groupMsgMap = new jHashMap(); | |
var __buddyList; | |
var __mainTabWindow; | |
var __contactTree; | |
var __moreMsgListDiv; | |
var __remindMsgDiv; | |
var __chatWindowMap = new jHashMap(); | |
var __chatFooterItemMap = new jHashMap(); | |
var __remindMsgItemMap = new jHashMap(); | |
var __chatWinInitPosition = { | |
top: 102, | |
left: 474 | |
}; | |
var __chatWinTopOffset = 26; | |
var __chatWinLeftOffset = 26; | |
var __lastPos = { | |
top: 102, | |
left: 0 | |
}; | |
var __isLeft = true; | |
var __chatWinDefaultHeight = 365; | |
var __chatWinDefaultWidth = 468; | |
var __groupTree; | |
var __groupChatWinDefaultHeight = 365; | |
var __groupChatWinDefaultWidth = 480; | |
var __group_mem = new jHashMap(); | |
var __phoneMap = new jHashMap(); | |
var __maxMsgListOnTaskbar = 0; | |
var __isNormalLogout = false; | |
var __hideUserStatusSetterTimer = 0; | |
var __hideContactInfoTimer = 0; | |
var __showContactInfoTimer = 0; | |
var __initContactInfoTimer = 0; | |
var __hideOperateInfoTimer = 0; | |
var __tmpTimer = 0; | |
var __hideMoreMsgListTimer = 0; | |
var __hideRemindMsgTimer = 0; | |
var __setSmsWindow = null; | |
var __sessionId = ""; | |
var __loginProcess = 0; | |
var __msgBeforeUnload = "此操作将退出网页版飞信,您确认要继续吗?"; | |
var __searchPrompt = "查找好友..."; | |
var __isFirstSearch = true; | |
var __isOnfocus = true; | |
var __staticTitle = "官方网页版飞信——在网页上与飞信好友聊天、免费发短信"; | |
var __msgcomingTitle = "新消息"; | |
var __callmeTitle = "新会话"; | |
var __readmsgTitle = "未读消息"; | |
var __flashTitleArray = new Array(); | |
var __titleflashInterval = 0; | |
var __isOpenSound = true; | |
var __isOkGroupList = false; | |
var __isOkBuddyList = false; | |
var __leftSmsCount = 10000; | |
var isRefreshRecommendBuddyList = false; | |
var currentPageNum = 0; | |
var loadingPanel; | |
var divMask = $("#divMask"); | |
function swfinfo(a) { | |
sendToSwfJD(0); | |
} | |
function thisMovie(a) { | |
if (navigator.appName.indexOf("Microsoft") != -1) { | |
return window[a]; | |
} else { | |
return document[a]; | |
} | |
} | |
function sendToSwfJD(b) { | |
if (__loginProcess <= b) { | |
__loginProcess = b; | |
} | |
if ($("#logging") | |
.css("display") != "none") { | |
var a = thisMovie("onlogin"); | |
if (a && a.setpercent) { | |
a.setpercent(__loginProcess); | |
} | |
} | |
} | |
function sendToSwfTxt(b) { | |
var a = thisMovie("onlogin"); | |
if ($("#logging") | |
.css("display") != "none") { | |
if (a && a.setmessage) { | |
a.setmessage(b); | |
} | |
} | |
}(function(c) { | |
c(window) | |
.bind("load", function() { | |
if (c.openPlatLogin.isOpenPlatLogin()) { | |
c.openPlatLogin.login(b); | |
} else { | |
b(); | |
} | |
}) | |
.bind("focus", function() { | |
if (!c.browser.msie) { | |
a(); | |
} | |
}) | |
.bind("blur", function() { | |
if (!c.browser.msie) { | |
__isOnfocus = false; | |
} | |
}); | |
if (c.browser.msie) { | |
c("input:checkbox") | |
.click(function() { | |
this.blur(); | |
this.focus(); | |
}); | |
} | |
c(document) | |
.bind("focusout", function() { | |
__isOnfocus = false; | |
}) | |
.bind("focusin", function() { | |
a(); | |
}); | |
function b() { | |
__sessionId = getCookie("webim_sessionid"); | |
deleteCookie("webim_sessionid", "/"); | |
if (!__sessionId) { | |
c("#logging") | |
.css("display", "none"); | |
c("#maincontent") | |
.css("display", "none"); | |
window.location.href = loginPageUrl; | |
} else { | |
c("#logging") | |
.css("display", ""); | |
c(initialize); | |
c.cacheImages(); | |
} | |
} | |
function a() { | |
if (typeof __titleflashInterval != "undefined") { | |
window.clearInterval(__titleflashInterval); | |
} | |
__flashTitleArray = new Array(); | |
__isOnfocus = true; | |
if (document.title != __staticTitle) { | |
document.title = __staticTitle; | |
} | |
var d = __chatWindowMap.values(); | |
var f = d.length; | |
for (var e = 0; e < f; e++) { | |
if (d[e].isOnFocus()) { | |
d[e].focus(); | |
break; | |
} | |
} | |
} | |
})(jQuery); | |
function initialize() { | |
initUrls(); | |
$.initMaskPage(); | |
initNavigation(); | |
initMainTabWindow(); | |
initContentHeight(); | |
initUserStatusDiv(); | |
initContactCard(); | |
initOperateCard(); | |
initi__searchInput(); | |
initChatFooter(); | |
bindWindowEvent(); | |
sendToSwfJD(10); | |
getPersonalInfo(); | |
IMSound.ajaxInit(); | |
getCred(); | |
setInterval("getCred()", 300000); | |
getBanner(); | |
} | |
function bindWindowEvent() { | |
window.onbeforeunload = function(a) { | |
a = window.event || a; | |
if (!__isNormalLogout) { | |
if (window.event) { | |
a.returnValue = __msgBeforeUnload; | |
} | |
return (__msgBeforeUnload); | |
} | |
}; | |
$(window) | |
.bind("unload", function(a) { | |
if (!__isNormalLogout) { | |
logout(false); | |
} | |
deleteRemindMsgCookie(__user.sid); | |
}); | |
$(window) | |
.bind("resize", onWindowResize); | |
} | |
function onWindowResize(f) { | |
$.initMaskPage(); | |
initContentHeight(); | |
initGroupListHeight(); | |
var a = __chatWindowMap.values(); | |
var c = a.length; | |
for (var b = 0; b < c; b++) { | |
if (a[b].maxed) { | |
a[b].max(); | |
} | |
} | |
var d = getMaxMsglistCount(); | |
if (__maxMsgListOnTaskbar != d) { | |
__maxMsgListOnTaskbar = d; | |
reInitialFooter(); | |
__moreMsgListDiv.hide(); | |
} | |
$("#search_result") | |
.css("display", "none"); | |
} | |
function initUrls() { | |
loginPageUrl = __baseSSLUrl + loginPageUrl; | |
} | |
function initContentHeight() { | |
var a = getViewportHeight() - $("#frame_top") | |
.outerHeight() - $("#personal_info") | |
.outerHeight() - $("#taskbar") | |
.outerHeight(); | |
$("#main_window") | |
.height(a); | |
if (__mainTabWindow) { | |
__mainTabWindow.adjustContentHeight(); | |
} | |
if (__contactTree) { | |
__contactTree.adjustHeight(0); | |
} | |
$("#main_contact_list") | |
.height(a); | |
if (__contactTree) { | |
__contactTree.adjustHeight(); | |
} | |
} | |
function initMainTabWindow() { | |
__mainTabWindow = $.fn.jTabWindow({ | |
target: "main_window", | |
id: "main_content" | |
}); | |
$("#addbuddy_link") | |
.bind("click", function() { | |
createAddBuddyTab(); | |
return false; | |
}); | |
loadingPanel = $("#loadDiv"); | |
$("#btnRefreshRecommend") | |
.bind("click", function(b) { | |
var a = $("#side") | |
.find(".text_box"); | |
if (a.hasClass("none")) { | |
loadingPanel.removeClass("none"); | |
currentPageNum++; | |
isRefreshRecommendBuddyList = true; | |
GetPcRecommendBuddyListV2(8); | |
} | |
stopPropagation(b); | |
preventDefault(b); | |
}); | |
$("#topTabDownload") | |
.bind("click", function() { | |
$.increaseCounters("500400003"); | |
}); | |
$(".phone_list") | |
.find(".phone_new > a") | |
.bind("click", function(a) { | |
$.increaseCounter(500400014); | |
createAddTXLTab(); | |
stopPropagation(a); | |
preventDefault(a); | |
}); | |
initTXLlist(); | |
} | |
function createAddBuddyTab(c, d) { | |
var b = "content/addBuddy.htm"; | |
if (c) { | |
b += "?username=" + c; | |
if (d) { | |
b += "&addtype=" + d; | |
} | |
} | |
var a = __mainTabWindow.getTabByUrl(b); | |
if (!a) { | |
__mainTabWindow.createTab("添加好友", b, true); | |
} else { | |
a.topTab.click(); | |
} | |
hideAllChatWindow(); | |
} | |
function createAddBuddyBatchTab(c) { | |
var b = "content/addBuddyBatch.htm"; | |
if (c) { | |
b += "?username=" + c; | |
} | |
var a = __mainTabWindow.getTabByUrl(b); | |
if (!a) { | |
__mainTabWindow.createTab("添加好友", b, true); | |
} else { | |
a.topTab.click(); | |
} | |
hideAllChatWindow(); | |
} | |
function createAddTXLTab(c) { | |
var b = "content/addAndEditTXL.htm", | |
d = "新建联系人"; | |
if ( !! c) { | |
b += "?guid=" + c; | |
d = "编辑联系人"; | |
} | |
var a = __mainTabWindow.getTabByUrl(b); | |
if (!a) { | |
__mainTabWindow.createTab(d, b, true); | |
} else { | |
a.topTab.click(); | |
} | |
hideAllChatWindow(); | |
} | |
function createFreeSMSTab(c, d, e) { | |
var b = "content/freeSms.htm?guid=" + c + "&uid=" + d + "&mn=" + e; | |
var a = __mainTabWindow.getTabByUrl(b); | |
if (!a) { | |
__mainTabWindow.createTab("发短信", b, true); | |
} else { | |
a.topTab.click(); | |
} | |
hideAllChatWindow(); | |
} | |
function createCustomPresTab() { | |
var a = __mainTabWindow.getTabByUrl("content/customPresence.htm"); | |
if (!a) { | |
__mainTabWindow.createTab("设置自定义状态", "content/customPresence.htm", true); | |
} else { | |
a.topTab.click(); | |
} | |
hideAllChatWindow(); | |
} | |
function hideAllChatWindow() { | |
var a = __chatWindowMap.values(); | |
var c = a.length; | |
for (var b = 0; b < c; b++) { | |
if (a[b].isShow) { | |
a[b].hide(); | |
} | |
} | |
} | |
function openChatWindow(c, b) { | |
var f = __contactMap.get(b); | |
var d = f.status; | |
if (d == ContactStatus.Verify || d == ContactStatus.Verify_Bklist) { | |
$.fn.fetionHintWindow({ | |
modal: false | |
}) | |
.show("待验证好友,无法与之会话", "提示", "OK"); | |
return; | |
} | |
if (d == ContactStatus.Refuse || d == ContactStatus.Refuse_Bklist) { | |
$.fn.fetionHintWindow({ | |
modal: false | |
}) | |
.show("对方尚未成为您的好友,不能与之会话", "提示", "OK"); | |
return; | |
} | |
if ((d & ContactStatus.CloseService) == ContactStatus.CloseService || (d & ContactStatus.CloseService_Bklist) == ContactStatus.CloseService_Bklist) { | |
$.fn.fetionHintWindow({ | |
modal: false | |
}) | |
.show("对方已关闭飞信服务,您将无法与他/她进行任何会话。", "提示", "OK"); | |
return; | |
} | |
if (getContactType(f) == ContactType.Robot) { | |
inviteRobot(b); | |
} | |
var a = getChatWindow(b); | |
if (!a.isActived) { | |
a.active(); | |
var e = getChatWinPosition(); | |
a.show(e.top, e.left); | |
} else { | |
if (!a.hasShown) { | |
var e = getChatWinPosition(); | |
a.show(e.top, e.left); | |
} else { | |
a.show(); | |
} | |
} | |
if (typeof __isIE6 != "undefined" && __isIE6) { | |
a.fixPosition(); | |
} | |
} | |
function getChatWindow(b) { | |
var a; | |
if (!__chatWindowMap.containsKey(b)) { | |
a = $.fn.jChatWindow({ | |
maxRelative: "main_content", | |
user: __user, | |
buddy: __contactMap.get(b), | |
defaultHeight: __chatWinDefaultHeight, | |
defaultWidth: __chatWinDefaultWidth, | |
onActive: onActiveChatWindow, | |
onClosed: onCloseChatWindow, | |
onFocus: onFocusChatWindow, | |
onSendMessage: onSendMsg | |
}); | |
__chatWindowMap.put(b, a); | |
} else { | |
a = __chatWindowMap.get(b); | |
} | |
return a; | |
} | |
function getChatWinPosition() { | |
var b = new Object(); | |
b.top = __chatWinInitPosition.top; | |
b.left = __chatWinInitPosition.left; | |
var e = true; | |
var a = __chatWindowMap.values(); | |
var d = a.length; | |
while (e) { | |
e = false; | |
for (var c = 0; c < d; c++) { | |
if (a[c].isShow && !a[c].maxed) { | |
if (isLapOver(b, { | |
"top": parseInt(a[c].css("top")), | |
"left": parseInt(a[c].css("left")) | |
})) { | |
b = adjustPosition(b); | |
if (__lastPos.left < b.left) { | |
__lastPos.left = b.left; | |
} else { | |
if (__lastPos.top > b.top) { | |
__lastPos.top = b.top; | |
} | |
} | |
e = true; | |
break; | |
} | |
} | |
} | |
} | |
b.left -= parseInt($(".side") | |
.css("width")); | |
return b; | |
} | |
function adjustPosition(a) { | |
if ((a.top + __chatWinTopOffset < __chatWinInitPosition.top - Math.abs(__chatWinTopOffset)) || (a.top + __chatWinTopOffset + 50 > getViewportHeight() - __chatWinDefaultHeight)) { | |
a.top = __lastPos.top - 6; | |
a.left = __lastPos.left + __chatWinLeftOffset; | |
__chatWinInitPosition = a; | |
if (getViewportWidth() - a.left - 450 < 230 && __isLeft) { | |
__chatWinInitPosition.left = __chatWinInitPosition.left == 48 ? __chatWinInitPosition.left + 6 : 48; | |
__isLeft = false; | |
} | |
} else { | |
a.top += __chatWinTopOffset; | |
a.left += __chatWinLeftOffset; | |
} | |
return a; | |
} | |
function isLapOver(b, a) { | |
return (Math.abs(b.top - a.top) < 5) && (Math.abs(b.left - a.left) < 5); | |
} | |
function onActiveChatWindow(a) { | |
if (!__chatFooterItemMap.containsKey(this.buddy.uid)) { | |
var c = getUserPortraitUrl(this.buddy, "5"); | |
var b = $.fn.jFooterItem(this.buddy, a, c); | |
__chatFooterItemMap.put(this.buddy.uid, b); | |
reInitialFooter(b); | |
} | |
} | |
function onCloseChatWindow(a) { | |
if (__chatFooterItemMap.containsKey(this.buddy.uid)) { | |
__chatFooterItemMap.get(this.buddy.uid) | |
.remove(); | |
__chatFooterItemMap.remove(this.buddy.uid); | |
reInitialFooter(); | |
} | |
} | |
function onFocusChatWindow(a) { | |
if (__chatFooterItemMap.containsKey(this.buddy.uid)) { | |
__chatFooterItemMap.get(this.buddy.uid) | |
.removeClass("call"); | |
} | |
if (__remindMsgItemMap.containsKey(this.buddy.uid)) { | |
__remindMsgItemMap.get(this.buddy.uid) | |
.remove(); | |
__remindMsgItemMap.remove(this.buddy.uid); | |
setRemindCountTotal(); | |
} | |
} | |
function onActiveGroupChatWindow(a) { | |
if (!__chatFooterItemMap.containsKey("group_" + this.group.id)) { | |
this.group.uid = this.group.id; | |
this.group.statusClass = "af-group"; | |
this.group.displayName = this.group.n; | |
var c = getGroupItemPortraitUrl(this.group, "1"); | |
var b = $.fn.jFooterItem(this.group, a, c); | |
__chatFooterItemMap.put("group_" + this.group.id, b); | |
reInitialFooter(b); | |
} | |
} | |
function onFocusGroupChatWindow(a) { | |
if (__chatFooterItemMap.containsKey("group_" + this.group.id)) { | |
__chatFooterItemMap.get("group_" + this.group.id) | |
.removeClass("call"); | |
} | |
if (__remindMsgItemMap.containsKey("group_" + this.group.id)) { | |
__remindMsgItemMap.get("group_" + this.group.id) | |
.remove(); | |
__remindMsgItemMap.remove("group_" + this.group.id); | |
setRemindCountTotal(); | |
} | |
} | |
function onCloseGroupChatWindow(a) { | |
if (__chatFooterItemMap.containsKey("group_" + this.group.id)) { | |
__chatFooterItemMap.get("group_" + this.group.id) | |
.remove(); | |
__chatFooterItemMap.remove("group_" + this.group.id); | |
reInitialFooter(); | |
} | |
} | |
function onActiveGroupSysChatWindow(a) { | |
if (!__chatFooterItemMap.containsKey("group_sys_" + a.attr("id"))) { | |
this.group.uid = "group_sys_" + a.attr("id"); | |
this.group.statusClass = "af-groupSysMsg"; | |
this.group.displayName = a.find("h3") | |
.text(); | |
var b = $.fn.jFooterItem(this.group, a, portrait.groupMsg); | |
b.removeClass() | |
.addClass("call"); | |
__chatFooterItemMap.put("group_sys_" + a.attr("id"), b); | |
reInitialFooter(b); | |
} | |
} | |
function onFocusGroupSysChatWindow(a) { | |
if (__chatFooterItemMap.containsKey("group_sys_" + a.attr("id"))) { | |
__chatFooterItemMap.get("group_sys_" + a.attr("id")) | |
.removeClass("call"); | |
} | |
} | |
function onCloseGroupSysChatWindow(b) { | |
if (__chatFooterItemMap.containsKey("group_sys_" + b.attr("id"))) { | |
__chatFooterItemMap.get("group_sys_" + b.attr("id")) | |
.remove(); | |
__chatFooterItemMap.remove("group_sys_" + b.attr("id")); | |
reInitialFooter(); | |
var a = b.html(); | |
if (__groupMsgMap.containsKey(a)) { | |
__groupMsgMap.remove(a); | |
} | |
if ($("#" + b.attr("id")) | |
.attr("id")) { | |
$("#" + b.attr("id")) | |
.remove(); | |
} | |
} | |
} | |
function getPersonalInfo() { | |
var a = new Object(); | |
a.success = getPersonalInfoSuccess; | |
a.error = getPersonalInfoError; | |
a.url = formatString(getPersonalInfoUrl, __version++); | |
a.type = "POST"; | |
a.data = { | |
"ssid": __sessionId | |
}; | |
a.dataType = "json"; | |
a.cache = false; | |
$.ajax(a); | |
} | |
var __gpiRetry = 0; | |
function getPersonalInfoSuccess(b, c) { | |
var a = b; | |
if (typeof a.rc == "number" && a.rc == 200) { | |
__gpiRetry = 0; | |
$.extend(__user, a.rv); | |
extendUser(); | |
getGroupList(); | |
initUserInfo(); | |
sendToSwfJD(30); | |
setRemindMsgCookie(__user.sid, __user.displayName, 0, __sessionId); | |
getContactList(); | |
GetPcRecommendBuddyListV2(8); | |
} else { | |
if (typeof a.rc == "number" && a.rc == 310) { | |
redirectLogin(); | |
} else { | |
if (__gpiRetry < 3) { | |
__gpiRetry++; | |
window.setTimeout("getPersonalInfo()", 500); | |
} else { | |
__gpiRetry = 0; | |
alert(formatString("获取用户个人信息失败,请重新登录。错误代码:{0}", typeof a.rc == "number" ? a.rc : 500)); | |
redirectLogin(); | |
} | |
} | |
} | |
} | |
function getPersonalInfoError(a, c, b) { | |
if (__gpiRetry < 3) { | |
__gpiRetry++; | |
window.setTimeout("getPersonalInfo()", 500); | |
} else { | |
__gpiRetry = 0; | |
alert(formatString("获取用户个人信息失败,请重新登录。错误原因:{0}", c)); | |
redirectLogin(); | |
} | |
} | |
function getBanner() { | |
if (__bannerInfo == "") { | |
$("#banner_list") | |
.css("display", "none"); | |
} else { | |
var jsonObject = eval("(" + __bannerInfo + ")"); | |
if (jsonObject.length > 0) { | |
$("#banner_list") | |
.css("display", "block"); | |
var fragment = ""; | |
var interval = 3000; | |
var imgNum = 0; | |
if (__isMsie) { | |
for (var i = 0; i < jsonObject.length; i++) { | |
if (jsonObject[i].Key == "BannerImg_login") { | |
continue; | |
} | |
interval = jsonObject[0].Interval; | |
if (jsonObject[i].OffShelfTime == 1) { | |
var imgSrc = formatString(getBannerPicUrl, jsonObject[i].Img); | |
fragment += '<a href="' + jsonObject[i].Link + '" target="' + jsonObject[i].Target + '"><img src="' + imgSrc + '" width="360" height="60" alt="' + jsonObject[i].Title + '" title="' + jsonObject[i].Title + '" /></a>'; | |
imgNum++; | |
} | |
} | |
} else { | |
for (var i = 0; i < jsonObject.length; i++) { | |
if (jsonObject[i].Key == "BannerImg_login") { | |
continue; | |
} | |
interval = jsonObject[0].Interval; | |
if (jsonObject[i].OffShelfTime == 1) { | |
fragment += '<a href="' + jsonObject[i].Link + '" target="' + jsonObject[i].Target + '"><img src="' + jsonObject[i].Img + '" width="360" height="60" alt="' + jsonObject[i].Title + '" title="' + jsonObject[i].Title + '" /></a>'; | |
imgNum++; | |
} | |
} | |
} | |
fragment += '<div id="banner_info"></div>'; | |
$("#banner_list") | |
.html(fragment); | |
imageCarousel.scroll(imgNum, "banner_list", interval, "banner_info"); | |
} else { | |
$("#banner_list") | |
.css("display", "none"); | |
} | |
} | |
} | |
function getContactList() { | |
var a = new Object(); | |
a.success = getContactListSuccess; | |
a.error = getContactListError; | |
a.url = formatString(getContactListUrl, __version++); | |
a.type = "POST"; | |
a.data = { | |
"ssid": __sessionId | |
}; | |
a.dataType = "json"; | |
a.cache = false; | |
$.ajax(a); | |
} | |
var __gclRetry = 0; | |
function getContactListSuccess(e, g) { | |
__contactTree = $.fn.jContactTree({ | |
target: "main_contact_list", | |
isSinglePattern: true, | |
user: __user, | |
onBuddyItemDbClick: openChatWindow, | |
onBuddyItemMouseOver: showContactCard, | |
onBuddyItemMouseOut: hideContactCard, | |
onBuddyItemRightClick: showOperateCard | |
}); | |
sendToSwfJD(60); | |
var b = e; | |
if (typeof b.rc == "number" && b.rc == 200) { | |
__gclRetry = 0; | |
var c = b.rv.bds; | |
c = c || (new Array()); | |
var f = c.length; | |
for (var d = 0; d < f; d++) { | |
var a = new ContactDefault(); | |
$.extend(a, c[d]); | |
extendContact(a); | |
__contactMap.put(c[d].uid.toString(), a); | |
} | |
__buddyList = b.rv.bl; | |
__buddyList = __buddyList || (new Array()); | |
__buddyList.push({ | |
"id": 0, | |
"n": "未分组好友" | |
}); | |
__buddyList.push({ | |
"id": -1, | |
"n": "陌生人" | |
}); | |
initContactList(); | |
} else { | |
if (typeof b.rc == "number" && b.rc == 310) { | |
redirectLogin(); | |
} else { | |
if (__gclRetry < 3) { | |
__gclRetry++; | |
window.setTimeout("getContactList();", 500); | |
} else { | |
__gclRetry = 0; | |
alert("由于网络原因,获取好友列表失败,请重新登录。"); | |
redirectLogin(); | |
} | |
} | |
} | |
} | |
function getContactListError(a, c, b) { | |
if (__gclRetry < 3) { | |
__gclRetry++; | |
window.setTimeout("getContactList();", 500); | |
} else { | |
__gclRetry = 0; | |
alert("由于网络原因,获取好友列表失败,请重新登录。"); | |
redirectLogin(); | |
} | |
} | |
function getRecommendReason(a) { | |
var d = "你可能认识的人"; | |
if ( !! a) { | |
var e = a.split(";"); | |
var g = 0; | |
for (var c = 0, b = e.length; c < b; c++) { | |
var f = e[c].split(":"); | |
switch (f[0]) { | |
case "want-to-meet": | |
g = 5; | |
d = "你的通讯录好友"; | |
break; | |
case "recent-contact": | |
if (g < 5) { | |
g = 4; | |
d = "你最近联系过的人"; | |
} | |
break; | |
case "have-same-friend": | |
if (g < 4) { | |
g = 3; | |
d = f[1] + "位共同好友"; | |
} | |
break; | |
case "near": | |
if (g < 3) { | |
g = 2; | |
d = "你附近的好友"; | |
} | |
break; | |
case "robot": | |
if (g < 2) { | |
g = 1; | |
d = "有缘人"; | |
} | |
break; | |
default: | |
d = "你可能认识的人"; | |
break; | |
} | |
} | |
} | |
return d; | |
} | |
function GetPcRecommendBuddyListV2(a) { | |
var b = {}; | |
b.url = formatString(getPcRecommendBuddyListV2Url, __version++); | |
b.type = "POST"; | |
b.dataType = "json"; | |
b.data = { | |
"ssid": __sessionId, | |
"c": a, | |
"isIP": 1, | |
page: currentPageNum | |
}; | |
b.cache = false; | |
b.success = GetPcRecommendBuddyListV2Success; | |
b.error = GetPcRecommendBuddyListV2Error; | |
$.ajax(b); | |
} | |
function GetPcRecommendBuddyListV2Success(e, b) { | |
if (e.rc == 200 && ( !! e.rv)) { | |
var k = $(".side"), | |
h, m; | |
if (isRefreshRecommendBuddyList) { | |
k.find("ul") | |
.remove(); | |
isRefreshRecommendBuddyList = false; | |
} | |
h = k.find("ul"); | |
var g = h.length; | |
if (g <= 0) { | |
h = $('<ul class="List"></ul>'); | |
} | |
for (var f = 0, d = e.rv.length; f < d; f++) { | |
var n = e.rv[f]; | |
var c = formatString(getPortraitUrl, n.UserId, 3, 0, __user.uid); | |
var a = ""; | |
if (f >= 4 || g > 0) { | |
a = "none"; | |
} | |
m = $('<li class="' + a + '" uid="' + n.UserId + '" sid="' + n.FetionId + '"><div class="image"><img src="' + c + '" alt="' + n.NickName + '" title="' + n.NickName + '" /></div>' + "<dl><dt>" + cnSubstr(n.NickName, 20, false) + "</dt><dd>" + getRecommendReason(n.Reason) + '</dd><dd><a href="javascript:;">加好友</a><a href="javascript:;">打招呼</a></dd></dl></li>'); | |
h.append(m); | |
var l = m.find("dl > dd:last"); | |
l.find("a:first") | |
.bind("click", function(j) { | |
$.increaseCounter(501900002); | |
var i = $(this) | |
.parent() | |
.parent(); | |
AddBuddy({ | |
t: "1", | |
a: 0, | |
u: i.parent() | |
.attr("sid"), | |
p: 0, | |
d: __user.displayName.substr(0, 5), | |
l: i.find("dt") | |
.text(), | |
b: 1, | |
s: 0, | |
c: "", | |
cid: "", | |
successCallback: function() { | |
i.find("dd:last") | |
.html("") | |
.html('<span style="color:#000;">请求已发送</span>'); | |
var o = i.parent() | |
.attr("uid"); | |
AddRecommendBuddyNotify(o); | |
setTimeout(function() { | |
var q = $(".side > ul"); | |
$(i.parent()) | |
.remove(); | |
q.find("li[class='none']:first") | |
.removeClass("none"); | |
var p = q.find("li[class='none']") | |
.length; | |
if (p <= 1) { | |
GetPcRecommendBuddyListV2(3); | |
} | |
}, 3000); | |
} | |
}); | |
stopPropagation(j); | |
preventDefault(j); | |
}); | |
l.find("a:last") | |
.bind("click", function(i) { | |
$.increaseCounter(501900001); | |
var o = $(this) | |
.parent() | |
.parent() | |
.parent(); | |
var j = __contactMap.get(o.attr("uid")); | |
if ( !! j) { | |
openChatWindow(this, j.uid); | |
} else { | |
addChatFriendV2(2, o.attr("sid"), function(q, s) { | |
if (typeof q.rc == "number" && q.rc == 200) { | |
var r = q.rv; | |
var p = new ContactDefault(); | |
if (!buddyListContains("-1")) { | |
__buddyList.push({ | |
"id": -1, | |
"n": "陌生人" | |
}); | |
__contactTree.insertBuddyList({ | |
"id": -1, | |
"n": "陌生人" | |
}); | |
} | |
p.uid = r.uid; | |
p.uri = r.uri; | |
p.bl = "-1"; | |
p.ct = 2; | |
extendContact(p); | |
__contactMap.put(p.uid, p); | |
__contactTree.insertBuddyItem(p, p.bl); | |
openChatWindow(this, p.uid); | |
} | |
}); | |
} | |
stopPropagation(i); | |
preventDefault(i); | |
}); | |
} | |
if (g <= 0) { | |
if (e.rv.length <= 0) { | |
k.find(".text_box") | |
.removeClass("none"); | |
} else { | |
k.find(".text_box") | |
.addClass("none"); | |
k.append(h); | |
} | |
} else { | |
if (h.find("li") | |
.length <= 0) { | |
k.find(".text_box") | |
.removeClass("none"); | |
} | |
} | |
} else { | |
var k = $(".side"); | |
if (k.find("ul") | |
.length <= 0 || k.find("ul>li") | |
.length <= 0) { | |
k.find(".text_box") | |
.removeClass("none"); | |
} | |
} | |
loadingPanel.addClass("none"); | |
} | |
function GetPcRecommendBuddyListV2Error(b, d, c) { | |
var a = $(".side"); | |
if (a.find("ul") | |
.length <= 0 || a.find("ul>li") | |
.length <= 0) { | |
a.find(".text_box") | |
.removeClass("none"); | |
} | |
loadingPanel.addClass("none"); | |
isRefreshRecommendBuddyList = false; | |
} | |
function AddRecommendBuddyNotify(a) { | |
var b = {}; | |
b.url = formatString(AddRecommendBuddyNotifyUrl, __version++); | |
b.type = "post"; | |
b.dataType = "json"; | |
b.data = { | |
"uid": __user.uid, | |
"duid": a, | |
"ssid": __sessionId | |
}; | |
b.cache = false; | |
b.success = function(c, d) {}; | |
b.error = function(c, e, d) {}; | |
$.ajax(b); | |
} | |
function getConnect() { | |
var a = new Object(); | |
a.success = getConnectSuccess; | |
a.error = getConnectError; | |
a.url = formatString(getConnectUrl, __version++); | |
a.type = "POST"; | |
a.data = { | |
"ssid": __sessionId, | |
"reported": getReportedData() | |
}; | |
a.dataType = "json"; | |
a.cache = false; | |
$.ajax(a); | |
} | |
var __getConnErrorTimes = 0; | |
var __getCoonTimes = 0; | |
function getConnectSuccess(e, d) { | |
var j = e; | |
__getCoonTimes++; | |
if (__getCoonTimes % 3 == 0) { | |
activeRemindMsgCookie(); | |
} | |
if (typeof j.rc == "number" && j.rc == 200) { | |
__getConnErrorTimes = 0; | |
var h = j.rv; | |
var c = h.length; | |
var a = false; | |
if (c < 10) { | |
a = false; | |
} else { | |
var b = 0; | |
for (var f = 0; f < c; f++) { | |
if (h[f].DataType == 2 || h[f].DataType == 6) { | |
b++; | |
} | |
if (b >= 10) { | |
a = true; | |
break; | |
} | |
} | |
} | |
function g(B) { | |
if (B >= c) { | |
if (a) { | |
insertBuddyToList(__contactMap.values(), function() { | |
window.setTimeout(getConnect, 100); | |
}); | |
} else { | |
window.setTimeout(getConnect, 100); | |
} | |
return; | |
} | |
switch (h[B].DataType) { | |
case 1: | |
updatePersonalInfo(h[B].Data); | |
break; | |
case 2: | |
if (h[B].Data.uid == __user.uid) { | |
updatePersonalInfo(h[B].Data); | |
} else { | |
updateContactInfo(h[B].Data, !a); | |
} | |
break; | |
case 3: | |
if (h[B].Data.msgType == 2) { | |
receiveMsgs(h[B].Data); | |
startSound("newmessage"); | |
} else { | |
if (h[B].Data.msgType == 3 || h[B].Data.msgType == 4) { | |
sendMsgFailed(h[B].Data); | |
} | |
} | |
break; | |
case 4: | |
if (h[B].Data.ec == 900) { | |
logout(false); | |
startSound("sys"); | |
$.fn.fetionHintWindow() | |
.show("您已经从其他终端登录!", "提示", "OK", function() { | |
__isNormalLogout = true; | |
window.location.href = __officialSiteUrl + "/account/loginout?ul=" + loginPageUrl; | |
}); | |
} else { | |
if (h[B].Data.ec >= 902 && h[B].Data.ec <= 905) { | |
logout(false); | |
$.fn.fetionHintWindow() | |
.show("您已退出网页版飞信。<br/>单击确定后返回登录页面。", "提示", "OK", function() { | |
redirectLogin(); | |
}); | |
} | |
} | |
return; | |
break; | |
case 5: | |
receiveInvite(h[B].Data); | |
startSound("sys"); | |
break; | |
case 6: | |
if (h[B].Data.ba == 1) { | |
addBuddyWithReply(h[B].Data, !a); | |
} else { | |
if (h[B].Data.ba == 2) { | |
removeBuddyWithReply(h[B].Data, !a); | |
} else { | |
if (h[B].Data.ba == 3) { | |
updateBuddyWithReply(h[B].Data, !a); | |
} | |
} | |
} | |
break; | |
case 7: | |
if (h[B].Data.InfoType == 1) { | |
dealWithCallme(h[B].Data.Info); | |
} | |
break; | |
case 8: | |
if (h[B].Data.length > 0) { | |
var m = h[B].Data; | |
m.sort(sort_by("n", false)); | |
for (var y = 0; y < m.length; y++) { | |
var z = m[y].GData; | |
switch (m[y].GDataType) { | |
case 1: | |
var n = z; | |
n.crc = "1234"; | |
$.popWinMsg({ | |
gName: n.gN, | |
fName: n.iNn, | |
group: n, | |
msgN: "msg4", | |
isLink: true, | |
handleEntity: n, | |
consent: handleInviteGroup, | |
isClose: false | |
}); | |
break; | |
case 2: | |
var x = z; | |
exitGroup(x.gUri, x); | |
break; | |
case 3: | |
var s = z; | |
apvResult(s); | |
break; | |
case 4: | |
var C = z; | |
var t = jGroupUriToId(C.GroupUri); | |
$.popWinMsg({ | |
gName: C.GroupName, | |
group: __groupMap.get(t), | |
msgN: "msg6" | |
}); | |
removeGroupUi(t, 2); | |
break; | |
case 5: | |
var D = z.DeleteMemberEntity; | |
for (var A = 0; A < D.length; A++) { | |
deleteGroupMember(D[A]); | |
} | |
break; | |
case 6: | |
var v = z.ApplyGroupEntity[0]; | |
$.popWinMsg({ | |
gName: v.n, | |
fName: v.ApplyGroupUserEntity[0].Nickname, | |
group: v, | |
iR: v.ApplyGroupUserEntity[0].Note == null ? "" : v.ApplyGroupUserEntity[0].Note, | |
msgN: "msg13", | |
handleEntity: v, | |
consent: handleApplication, | |
isClose: false | |
}); | |
break; | |
case 7: | |
var u = z; | |
var l = new GroupMemDefault(); | |
l.MemberUri = u.MemberUri; | |
l.minn = u.minn; | |
l.i = 3; | |
initGroupMemList(u.gUri, l); | |
var t = jGroupUriToId(u.gUri); | |
var r = __groupMap.get(t); | |
var p = jMemUriToId(u.MemberUri); | |
if (p != __user.sid) { | |
$.popWinMsg({ | |
gName: u.n, | |
fName: l.minn, | |
group: r, | |
msgN: "msg5" | |
}); | |
} | |
break; | |
case 9: | |
updateGroupInfo(z, true); | |
if (z.members) { | |
for (var E = 0; E < z.members.length; E++) { | |
initGroupMemList(z.gUri, z.members[E]); | |
} | |
} | |
break; | |
case 10: | |
var q = z.PermissionChangedGroupEntity; | |
groupMemPriChange(q); | |
break; | |
case 14: | |
var w = z; | |
w.crc = "1234"; | |
$.popWinMsg({ | |
gName: w.n, | |
fName: w.iNn, | |
group: w, | |
msgN: "msg10", | |
iR: w.iR, | |
joinItems: w.JoinItem, | |
handleEntity: w, | |
consent: approveInviteGroup, | |
isClose: false | |
}); | |
break; | |
case 16: | |
var o = z; | |
var t = jGroupUriToId(o.gUri); | |
var r = __groupMap.get(t); | |
$.popWinMsg({ | |
gName: r.n, | |
fName: o.iNn, | |
group: r, | |
msgN: "msg5" | |
}); | |
break; | |
case 17: | |
updateGroupInfo(z, false, true); | |
break; | |
case 21: | |
receiveGroupMsgs(z); | |
break; | |
default: | |
break; | |
} | |
} | |
} | |
break; | |
case 9: | |
break; | |
default: | |
break; | |
} | |
B++; | |
window.setTimeout(function() { | |
g(B); | |
}, 20); | |
} | |
g(0); | |
} else { | |
if (typeof j.rc == "number" && j.rc == 310) { | |
redirectLogin(); | |
} else { | |
if (typeof j.rc == "number" && j.rc == 304) { | |
window.setTimeout(getConnect, 1000); | |
} else { | |
window.setTimeout(getConnect, 1000); | |
} | |
} | |
} | |
} | |
function getConnectError(a, c, b) { | |
if (__getConnErrorTimes <= 60) { | |
__getConnErrorTimes++; | |
window.setTimeout(getConnect, 1000); | |
} else { | |
alert("网络连接已断开,单击确定后返回登录页面。"); | |
redirectLogin(); | |
} | |
} | |
function getReportedData() { | |
var c = __dataReportMap; | |
if (__user && !! c && c.size() > 0) { | |
var a = __user.uid + "|" + "default"; | |
var b = c.keys(); | |
$.each(b, function(e, d) { | |
a += "|" + d + "_" + c.get(d); | |
}); | |
c.clear(); | |
return a; | |
} else { | |
return ""; | |
} | |
} | |
function getGroupList() { | |
var a = new Object(); | |
a.success = getGroupListSuccess; | |
a.error = getGroupListError; | |
a.url = formatString(getGroupListUrl, __version++); | |
a.type = "POST"; | |
a.data = { | |
"ssid": __sessionId | |
}; | |
a.dataType = "json"; | |
a.cache = false; | |
$.ajax(a); | |
__groupTree = $.fn.jGroupTree({ | |
target: "main_contact_list", | |
isSinglePattern: true, | |
onBuddyItemDbClick: openGroupChatWindow, | |
onBuddyItemClick: function() {}, | |
onBuddyItemMouseOver: function() {} | |
}); | |
} | |
var __gglRetry = 0; | |
function getGroupListSuccess(c, a) { | |
var j = c; | |
if (typeof j.rc == "number" && j.rc == 200) { | |
__gglRetry = 0; | |
if (c.rv.GroupListInfo != null) { | |
var g = ""; | |
for (var d = 0; d < c.rv.GroupListInfo.length; d++) { | |
var b = c.rv.GroupListInfo[d].GroupUri; | |
g += b + ","; | |
} | |
getGroupPerInfo(g); | |
startGroupSubscribe(g); | |
var e = j.rv.GroupListInfo; | |
e = e || (new Array()); | |
var f = e.length; | |
for (var d = 0; d < f; d++) { | |
var h = new GroupDefault(); | |
h.gUri = e[d].GroupUri; | |
h.i = e[d].Identity; | |
extendGroupItem(h); | |
__groupMap.put(h.id, h); | |
} | |
} | |
initGroupList(); | |
} else { | |
if (typeof j.rc == "number" && j.rc == 310) { | |
redirectLogin(); | |
} else { | |
if (__gglRetry < 3) { | |
__gglRetry++; | |
window.setTimeout("getGroupList();", 500); | |
} else { | |
__gglRetry = 0; | |
alert(formatString("由于网络原因,获取群组列表失败,请重新登录。错误代码:{0}", j.rc)); | |
redirectLogin(); | |
} | |
} | |
} | |
} | |
function getGroupListError(a, c, b) { | |
if (__gglRetry < 3) { | |
__gglRetry++; | |
window.setTimeout("getGroupList();", 500); | |
} else { | |
__gglRetry = 0; | |
alert(formatString("由于网络原因,获取群组列表失败,请重新登录。错误原因:{0}", c)); | |
redirectLogin(); | |
} | |
} | |
function initGroupListHeight() { | |
if (__groupTree) { | |
__groupTree.adjustHeight(); | |
} | |
} | |
function initGroupList() { | |
var a = __groupMap.values(); | |
insertGroupToList(a, initMainUi); | |
} | |
function insertGroupToList(c, h) { | |
var g = new Object(); | |
if (c.length == 0) { | |
g[0] = __groupTree.createBuddyList(false); | |
} else { | |
g[0] = __groupTree.createBuddyList(true); | |
} | |
var d = c.length; | |
var e = g[0]; | |
for (var b = 0; b < d; b++) { | |
var j = __groupTree.createGroupItem(c[b]); | |
e.pushContent(j); | |
} | |
var f = ""; | |
var a = g[0]; | |
f += a.toHtmlString(); | |
__groupTree.setInnerHtml(f); | |
__isOkGroupList = true; | |
if (typeof h == "function") { | |
if (__isOkBuddyList && __isOkGroupList) { | |
h(); | |
} | |
} | |
f = null; | |
} | |
var __spRetry = 0; | |
function setPersonalInfo(b) { | |
var a = new Object(); | |
a.url = formatString(setPersonalInfoUrl, __version++); | |
a.type = "POST"; | |
a.data = { | |
"Impresa": b, | |
"ssid": __sessionId | |
}; | |
a.dataType = "json"; | |
a.cache = false; | |
a.success = function(d, e) { | |
var c = d; | |
if (c.rc && c.rc == 200) { | |
__spRetry = 0; | |
$("#user_impresa") | |
.text(!b ? "请输入心情短语..." : cnSubstr(b, 40, false)); | |
__user.i = b; | |
} else { | |
retrySetPersonInfo(b, c.rc); | |
} | |
}; | |
a.error = function(c, e, d) { | |
retrySetPersonInfo(b, e); | |
}; | |
$.ajax(a); | |
} | |
function updateLocalName(a) { | |
$.ajax({ | |
type: "POST", | |
url: formatString(setContactInfoUrl, __version++), | |
data: { | |
"ssid": __sessionId, | |
"UserId": a, | |
"localName": "testss" + __version | |
}, | |
success: function(b) { | |
var c = __contactMap.get(a); | |
updateContactInfo(c); | |
} | |
}); | |
} | |
function retrySetPersonInfo(a, b) { | |
if (__spRetry < 3) { | |
__spRetry++; | |
var c = this.data; | |
window.setTimeout(function() { | |
setPersonalInfo(a); | |
}, 500); | |
} else { | |
__spRetry = 0; | |
alert("设置个人资料失败,错误原因:" + b); | |
} | |
} | |
function setSmsOnline(b) { | |
var a = new Object(); | |
a.success = setSmsOnlineSuccess; | |
a.error = setSmsOnlineError; | |
a.url = formatString(setSmsOnlineUrl, __version++); | |
a.type = "POST"; | |
a.data = b; | |
a.dataType = "json"; | |
a.cache = false; | |
$.ajax(a); | |
} | |
function setSmsOnlineSuccess(b, c) { | |
var a = b; | |
if (typeof a.rc == "number" && a.rc == 200) {} else {} | |
} | |
function setSmsOnlineError(a, c, b) {} | |
var __setPresRetry = 0; | |
function setPresence(c, b) { | |
var a = new Object(); | |
a.url = formatString(setPresenceUrl, __version++); | |
a.type = "POST"; | |
a.data = c; | |
a.dataType = "json"; | |
a.cache = false; | |
a.success = function(e, g) { | |
var d = e; | |
if (typeof d.rc == "number" && d.rc == 200) { | |
__setPresRetry = 0; | |
updateStatusDesc(b); | |
} else { | |
if (__setPresRetry < 3) { | |
__setPresRetry++; | |
var f = objects(this.data); | |
window.setTimeout(function() { | |
setPresence(f, b); | |
}, 500); | |
} else { | |
__setPresRetry = 0; | |
alert("设置状态失败, 错误原因:" + d.rc); | |
} | |
} | |
}; | |
a.error = function(d, g, f) { | |
if (__setPresRetry < 3) { | |
__setPresRetry++; | |
var e = objects(this.data); | |
window.setTimeout(function() { | |
setPresence(e, b); | |
}, 500); | |
} else { | |
__setPresRetry = 0; | |
alert("设置状态失败, 错误原因:" + g); | |
} | |
}; | |
$.ajax(a); | |
} | |
function sendDirectSMS(d, c, a) { | |
var b = new Object(); | |
b.type = "POST"; | |
b.dataType = "json"; | |
b.cache = false; | |
b.data = { | |
"UserName": __user.uid, | |
"msg": c, | |
"receivers": a, | |
"ssid": __sessionId | |
}; | |
b.url = formatString(SendDirectSMSUrl, __version++); | |
b.success = function(e, f) { | |
if ( !! e && typeof e.rc == "number") { | |
switch (e.rc) { | |
case 280: | |
break; | |
case 401: | |
d.logErrorInfo("没有给对方发送短信的授权"); | |
break; | |
case 403: | |
d.logErrorInfo("服务器关闭直接短信功能"); | |
break; | |
case 405: | |
d.logErrorInfo("目的用户不接受"); | |
break; | |
case 406: | |
d.logErrorInfo("消息内容包含敏感词"); | |
break; | |
case 422: | |
d.logErrorInfo("未开通直接短信服务"); | |
break; | |
case 486: | |
d.logErrorInfo("您暂时无法发送短信,请稍后再试。"); | |
break; | |
case 488: | |
d.logErrorInfo("用户停机"); | |
break; | |
case 494: | |
d.logErrorInfo("您的飞信账号处于系统保护状态,限制了该功能的使用。请手机发送短信U到12520解除限制后重新登录。"); | |
break; | |
default: | |
d.logErrorInfo("消息发送失败: " + cnSubstr(c, 18)); | |
break; | |
} | |
} | |
}; | |
b.error = function() { | |
d.logErrorInfo("消息发送失败: " + cnSubstr(c, 18)); | |
}; | |
$.ajax(b); | |
} | |
function sendSMS(d, c, a) { | |
var b = new Object(); | |
b.type = "POST"; | |
b.dataType = "json"; | |
b.cache = false; | |
b.data = { | |
"UserName": __user.uid, | |
"Message": c, | |
"Receivers": a, | |
"ssid": __sessionId | |
}; | |
b.url = formatString(sendSMSUrl, __version++); | |
b.success = function(e, f) { | |
if (typeof e.rc == "number") { | |
switch (e.rc) { | |
case 200: | |
break; | |
case 310: | |
d.logErrorInfo("Session会话过期!"); | |
break; | |
case 311: | |
d.logErrorInfo("客户端请求参数错误!"); | |
break; | |
case 400: | |
d.logErrorInfo("信令参数错误!"); | |
break; | |
case 406: | |
d.logErrorInfo("消息有敏感词!"); | |
break; | |
case 422: | |
d.logErrorInfo("没有开通直接短信!"); | |
break; | |
case 486: | |
__leftSmsCount = e.rv.day; | |
if (!__user.isCM) { | |
d.logErrorInfo("您的短信配额已用完,暂时无法发送短信。"); | |
} else { | |
d.logErrorInfo("对不起,今日您发送短信数量已达上限,请明天再发"); | |
} | |
break; | |
case 4861: | |
__leftSmsCount = e.rv.day; | |
if (!__user.isCM) { | |
d.logErrorInfo("您的短信配额已用完,暂时无法发送短信。"); | |
} else { | |
d.logErrorInfo("对不起,今日您发送短信数量已达上限,请明天再发"); | |
} | |
break; | |
case 4862: | |
__leftSmsCount = e.rv.month; | |
if (!__user.isCM) { | |
d.logErrorInfo("您的短信配额已用完,暂时无法发送短信。"); | |
} else { | |
d.logErrorInfo("对不起,本月您发送短信数量已达上限,请下月再发"); | |
} | |
break; | |
case 4863: | |
d.logErrorInfo("超过未发送限制!"); | |
break; | |
case 4864: | |
d.logErrorInfo("接收人数限制!"); | |
break; | |
case 4865: | |
d.logErrorInfo("发送时间限制!"); | |
break; | |
case 494: | |
d.logErrorInfo("您的飞信账号处于系统保护状态,限制了该功能的使用。请手机发送短信U到12520解除限制后重新登录。"); | |
break; | |
default: | |
d.logErrorInfo("消息发送失败: " + cnSubstr(c, 18)); | |
break; | |
} | |
} | |
}; | |
b.error = function(e, g, f) { | |
d.logErrorInfo("消息发送失败: " + cnSubstr(c, 18)); | |
}; | |
$.ajax(b); | |
} | |
function sendMessage(g, b, f, a, e) { | |
var d = __contactMap.get(b); | |
if (__user.isCM && (d.isCT || d.isCU) && a) { | |
sendDirectSMS(g, f, b); | |
return; | |
} | |
if ((__user.isCT || __user.isCU) && d.isCM && a) { | |
sendSMS(g, f, b); | |
return; | |
} | |
var c = new Object(); | |
c.success = function(i, j) { | |
var h = i; | |
if (typeof h.rc == "number" && h.rc >= 200 && h.rc < 300) {} else { | |
if (typeof h.rc == "number" && h.rc == 420) { | |
g.logErrorInfo("对方版本过旧,您无法向其发起陌生人消息。"); | |
g.inputPermission = 420; | |
g.enableInput(false); | |
} else { | |
if (typeof h.rc == "number" && h.rc == 486) { | |
if (!__user.isCM) { | |
g.logErrorInfo("您的短信配额已用完,暂时无法发送短信。"); | |
} else { | |
g.logErrorInfo("您暂时无法发送短信,请稍后再试。"); | |
} | |
} else { | |
if (typeof h.rc == "number" && h.rc == 494) { | |
g.logErrorInfo("您的飞信账号处于系统保护状态,限制了该功能的使用。请手机发送短信U到12520解除限制后重新登录。"); | |
} else { | |
if (typeof h.rc == "number" && h.rc == 405) {} else { | |
g.logErrorInfo("消息发送失败: " + cnSubstr(f, 18)); | |
} | |
} | |
} | |
} | |
} | |
}; | |
c.error = function(h, j, i) { | |
g.logErrorInfo("消息发送失败: " + cnSubstr(f, 18)); | |
}; | |
c.url = formatString(sendMessageUrl, __version++); | |
c.type = "POST"; | |
c.data = { | |
"To": b, | |
"IsSendSms": a ? "1" : "0", | |
"msg": f, | |
"ssid": __sessionId | |
}; | |
c.dataType = "json"; | |
c.cache = false; | |
$.ajax(c); | |
} | |
function inviteRobot(b) { | |
var a = new Object(); | |
a.url = formatString(sendMessageUrl, __version++); | |
a.type = "POST"; | |
a.data = { | |
"To": b, | |
"IsSendSms": "0", | |
"msg": "WEB", | |
"ssid": __sessionId | |
}; | |
a.dataType = "json"; | |
a.cache = false; | |
$.ajax(a); | |
} | |
function OpBuddy(c, b, e, d) { | |
var a = new Object(); | |
a.success = function(g, k) { | |
var f = g; | |
if (typeof f.rc == "number" && f.rc == 200) { | |
var i = __contactMap.get(c); | |
if (b == "0") { | |
__contactMap.remove(c); | |
extendContact(i); | |
eachBuddyList(i, function(l) { | |
__contactTree.deleteBuddyItem(parseInt(l), i.uid); | |
}); | |
} else { | |
if (i) { | |
i.isBk = (b == "2" ? 0 : 1); | |
extendContact(i); | |
eachBuddyList(i, function(l) { | |
__contactTree.updateBuddyItem(parseInt(l), i); | |
}); | |
var h = getUserPortraitUrl(i, "5"); | |
if (__chatFooterItemMap.containsKey(i.uid)) { | |
__chatFooterItemMap.get(i.uid) | |
.updateItem(i, h); | |
} | |
if (__remindMsgItemMap.containsKey(i.uid)) { | |
__remindMsgItemMap.get(i.uid) | |
.updateItem(i, h); | |
} | |
if (__chatWindowMap.containsKey(i.uid)) { | |
__chatWindowMap.get(i.uid) | |
.setBuddyStatus(i); | |
} | |
} else { | |
if (b == "1") { | |
var j = new ContactDefault(); | |
j.uid = parseInt(c); | |
j.isBk = 1; | |
j.ct = -1; | |
__contactMap.put(c, j); | |
} | |
} | |
} | |
if (typeof e == "function") { | |
e(g, k); | |
} | |
} | |
}; | |
a.error = function(f, h, g) { | |
if (typeof d == "function") { | |
d(f, h, g); | |
} | |
}; | |
a.url = formatString(opBuddyUrl, __version++); | |
a.type = "POST"; | |
a.data = { | |
"To": c, | |
"Op": b, | |
"ssid": __sessionId | |
}; | |
a.dataType = "json"; | |
a.cache = false; | |
$.ajax(a); | |
} | |
function handleAddBuddy(c, a) { | |
if (typeof a == "undefined" || a == null) { | |
a = 0; | |
} | |
var b = new Object(); | |
b.success = function(e, f) { | |
var d = e; | |
if (typeof d.rc == "number" && d.rc == 200 && c.data.Result == 1) { | |
$.extend(d.rv, c.data.Buddy); | |
addBuddySuccess(d.rv); | |
} | |
if (c.data.Blocked == 1 && c.data.Result == 0) { | |
OpBuddy(c.data.Buddy.uid, "1"); | |
} | |
}; | |
b.error = function(d, f, e) { | |
if (a < 3) { | |
a++; | |
handleAddBuddy(c, a); | |
} | |
}; | |
b.url = formatString(handleAddBuddyUrl, __version++); | |
b.type = "POST"; | |
b.data = { | |
"BuddyId": c.data.Buddy.uid, | |
"Result": c.data.Result, | |
"LocalName": c.data.LocalName, | |
"BuddyList": c.data.BuddyList, | |
"ssid": __sessionId | |
}; | |
b.dataType = "json"; | |
b.cache = false; | |
$.ajax(b); | |
} | |
function addChatFriend(c, d, b) { | |
var a = new Object(); | |
if (typeof d == "function") { | |
a.success = d; | |
} | |
if (typeof b == "function") { | |
a.error = b; | |
} | |
a.url = formatString(addChatFriendUrl, __version++); | |
a.type = "POST"; | |
a.data = { | |
"Uri": c, | |
"ssid": __sessionId | |
}; | |
a.dataType = "json"; | |
a.cache = false; | |
$.ajax(a); | |
} | |
function addChatFriendV2(a, e, d, b) { | |
var c = {}; | |
c.url = formatString(addChatFriendUrl, __version++); | |
c.type = "post"; | |
c.dataType = "json"; | |
c.data = { | |
"addType": a, | |
"userValue": e, | |
"ssid": __sessionId | |
}; | |
c.cache = false; | |
if (typeof d == "function") { | |
c.success = d; | |
} | |
if (typeof b == "function") { | |
c.error = b; | |
} | |
$.ajax(c); | |
} | |
function AddBuddy(b) { | |
var c = $.extend({ | |
t: 0, | |
a: 0, | |
u: "", | |
p: 0, | |
d: __user.displayName.substr(0, 5), | |
l: "", | |
b: 1, | |
s: 0, | |
c: "", | |
cid: "", | |
successCallback: function() {}, | |
failCallback: function() {}, | |
successCallback2: function(d) {} | |
}, b); | |
var a = new Object(); | |
a.url = formatString(addBuddyUrl, __version++); | |
a.type = "POST"; | |
a.dataType = "json"; | |
a.cache = false; | |
a.data = { | |
"type": c.t, | |
"UserName": c.u, | |
"AddType": c.a, | |
"PhraseId": c.p, | |
"Desc": c.d, | |
"LocalName": c.l, | |
"BuddyLists": c.b, | |
"SubscribeFlag": c.s, | |
"Ccp": c.c, | |
"CcpId": c.cid, | |
"ssid": __sessionId | |
}; | |
a.success = function(d, e) { | |
c.successCallback2(d); | |
if (typeof d.rc == "number" && d.rc == 200) { | |
addBuddySuccess(d.rv); | |
c.successCallback(); | |
} else { | |
if (typeof d.rc == "number" && d.rc == 520) { | |
alert("您的好友数已达上限。"); | |
} else { | |
if (typeof d.rc == "number" && d.rc == 521) { | |
alert(c.u + "已在您的好友列表中。"); | |
} else { | |
if (typeof d.rc == "number" && d.rc == 522) { | |
alert("对不起,您是飞信互联网用户(未绑定手机号),不能添加未开通移动业务的移动手机号为好友。"); | |
} else { | |
if (typeof d.rc == "number" && d.rc == 523) { | |
alert("不能将自己添加为好友。"); | |
} else { | |
if (typeof d.rc == "number" && d.rc == 312) { | |
alert("您输入的验证码有误,请重新输入。"); | |
$("#addBuddy_ccps") | |
.select(); | |
} else { | |
if (typeof d.rc == "number" && d.rc == 404) { | |
alert("您所输入的号码不存在。"); | |
} else { | |
if (typeof d.rc == "number" && d.rc == 486) { | |
alert("您添加好友的请求过于频繁,请稍后再试。"); | |
} else { | |
if (typeof d.rc == "number" && d.rc == 495) { | |
alert("对不起,您权限不足,不能添加此好友。"); | |
} else { | |
if (typeof d.rc == "number" && d.rc == 494) { | |
alert("您的飞信账号处于系统保护状态,限制了该功能的使用。请手机发送短信U到12520解除限制后重新登录。"); | |
} else { | |
if (typeof d.rc == "number" && d.rc == 400) { | |
alert("添加好友失败,请您检查对方的手机号或者飞信号是否填写正确。"); | |
} else { | |
alert("添加好友失败,请重试。错误代码:800000" + d.rc); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}; | |
a.error = function(d, f, e) { | |
c.failCallback(); | |
alert("添加好友失败,请重试。错误原因:" + f); | |
}; | |
$.ajax(a); | |
} | |
function logout(b) { | |
__isNormalLogout = true; | |
var a = new Object(); | |
a.url = formatString(logoutUrl, __version++); | |
a.type = "POST"; | |
a.data = { | |
"ssid": __sessionId | |
}; | |
a.dataType = "json"; | |
a.cache = false; | |
if (b) { | |
window.setTimeout("window.location.href = '" + loginPageUrl + "'", 500); | |
} | |
$.ajax(a); | |
} | |
function initUserInfo() { | |
var a = cnSubstr(__user.displayName, 18); | |
$("#welcome_name") | |
.text(a); | |
$("#user_name") | |
.text(a); | |
$("#user_sid") | |
.text(__user.sid); | |
$("#user_impresa") | |
.text(cnSubstr(__user.i, 40, false) || "请输入心情短语..."); | |
$("#user_portrait") | |
.attr("src", getUserPortraitUrl(__user, "3")); | |
if (__user.isCM && __user.cas == "0") { | |
if (__isSmsOnline.test(__user.sms)) { | |
$("#input_rec_msg") | |
.removeAttr("disabled") | |
.attr("checked", "true"); | |
} else { | |
$("#input_rec_msg") | |
.removeAttr("disabled") | |
.removeAttr("checked"); | |
} | |
} else { | |
if (__user.isCT || __user.isCU) { | |
$("#input_rec_msg") | |
.css({ | |
"display": "none" | |
}); | |
$("#input_rec_msg") | |
.next() | |
.css({ | |
"display": "none" | |
}); | |
$("#input_rec_msg") | |
.parent() | |
.prev() | |
.addClass("none"); | |
} else { | |
$("#input_rec_msg") | |
.removeAttr("checked") | |
.attr("disabled", "disabled"); | |
} | |
} | |
if (__user.ca.toLowerCase() == "cmcc") { | |
if (!$("#vip_icon") | |
.attr("id")) { | |
$(".service_icon") | |
.append('<li><a id="vip_icon" href="' + __vipUrl + '" title="会员" class="sicon-vip" target="_blank"></a></li>'); | |
} | |
} | |
} | |
function initUserStatusDiv() { | |
var b = $("#user_impresa"); | |
var i = $("#user_impresa_input"); | |
var e = i.find("input:first"); | |
var f = $("#user_status"); | |
var d = $("#set_user_status"); | |
var c = getCookie("webim_usersid"); | |
$("#welcome_name") | |
.text(c); | |
$("#user_name") | |
.text(c); | |
$("#user_sid") | |
.text(c); | |
var a = getCookie("webim_userstatus"); | |
switch (a) { | |
case "0": | |
f.find("em") | |
.text("( 隐身 )"); | |
break; | |
case "100": | |
f.find("em") | |
.text("( 离开 )"); | |
break; | |
case "400": | |
f.find("em") | |
.text("( 在线 )"); | |
break; | |
case "600": | |
f.find("em") | |
.text("( 忙碌 )"); | |
break; | |
default: | |
f.find("em") | |
.text("( 在线 )"); | |
break; | |
} | |
b.text("请输入心情短语..."); | |
b.bind("click", function() { | |
b.css("display", "none"); | |
i.css("display", ""); | |
e.focus(); | |
}) | |
.bind("mouseover", function() { | |
b.removeClass() | |
.addClass("sword_chg"); | |
}) | |
.bind("mouseout", function() { | |
b.removeClass(); | |
}); | |
e.bind("focus", function() { | |
e.val(__user.i) | |
.select(); | |
}) | |
.bind("blur", function() { | |
var j = e.val() | |
.trim(); | |
if (j != __user.i) { | |
setPersonalInfo(j); | |
} | |
b.css("display", ""); | |
i.css("display", "none"); | |
}) | |
.bind("keydown", function(k) { | |
k = window.event || k; | |
if (k.keyCode == 13) { | |
var j = e.val() | |
.trim(); | |
if (j != __user.i) { | |
setPersonalInfo(j); | |
} | |
b.css("display", ""); | |
i.css("display", "none"); | |
} | |
}); | |
f.bind("mouseover", function() { | |
if (this.className != "focus") { | |
this.className = "hover"; | |
} | |
}) | |
.bind("mouseout", function() { | |
if (this.className != "focus") { | |
this.className = ""; | |
} else { | |
__hideUserStatusSetterTimer = setTimeout(function() { | |
f.removeClass(); | |
d.css("display", "none"); | |
}, 500); | |
} | |
}) | |
.bind("click", function() { | |
if (this.className != "focus") { | |
this.className = "focus"; | |
var j = $(this) | |
.offset(); | |
d.css({ | |
"display": "block", | |
"top": "61px", | |
"left": (j.left + 3) + "px" | |
}); | |
} else { | |
this.className = "hover"; | |
d.css("display", "none"); | |
} | |
}); | |
d.bind("mouseover", function(j) { | |
clearTimeout(__hideUserStatusSetterTimer); | |
}) | |
.bind("mouseout", function(j) { | |
if (isMouseOut(this, j)) { | |
f.removeClass(); | |
d.css("display", "none"); | |
} | |
}); | |
(d.find("li")) | |
.bind("mouseover", function() { | |
this.className = "hover"; | |
}) | |
.bind("mouseout", function() { | |
this.className = ""; | |
}) | |
.bind("click", function() { | |
f.removeClass(); | |
d.css("display", "none"); | |
if (this.id == "userdefined_status") { | |
createCustomPresTab(); | |
} else { | |
setPresence({ | |
"Presence": $(this) | |
.attr("status"), | |
"Custom": $(this) | |
.text(), | |
"ssid": __sessionId | |
}, $(this) | |
.text()); | |
} | |
}); | |
var g = $("#input_rec_msg"); | |
g.removeAttr("checked") | |
.attr("disabled", "disabled"); | |
g.bind("click", function() { | |
d.css({ | |
"display": "none" | |
}); | |
if (!this.checked) { | |
this.checked = ""; | |
if (!__setSmsWindow) { | |
__setSmsWindow = $.fn.setSmsWindow({ | |
onConfirm: function(j, l) { | |
var k = "1.00:00:00"; | |
switch (l) { | |
case "1": | |
k = "1.00:00:00"; | |
break; | |
case "2": | |
k = "3.00:00:00"; | |
break; | |
case "3": | |
k = "7.00:00:00"; | |
break; | |
case "4": | |
k = "36500.00:00:00"; | |
break; | |
default: | |
break; | |
} | |
setSmsOnline({ | |
"ReceiveSms": "0", | |
"Time": k, | |
"ssid": __sessionId | |
}); | |
}, | |
onCancel: function() { | |
g.attr("checked", "true"); | |
} | |
}); | |
__setSmsWindow.show(); | |
} else { | |
__setSmsWindow.show(); | |
} | |
} else { | |
this.checked = "checked"; | |
setSmsOnline({ | |
"ReceiveSms": "0", | |
"ssid": __sessionId | |
}); | |
} | |
}); | |
var h = $("#input_rec_sound"); | |
h.click(function() { | |
if (h.attr("checked") == true) { | |
__isOpenSound = true; | |
} else { | |
__isOpenSound = false; | |
} | |
}); | |
} | |
function initContactList() { | |
var a = __contactMap.values(); | |
insertBuddyToList(a, initMainUi); | |
} | |
function initMainUi() { | |
$("#logging") | |
.css("display", "none"); | |
getConnect(); | |
var a; | |
if (__user.creds && __user.creds.length > 0) { | |
a = formatString(__activityUrl, encodeURIComponent(__user.creds[0].c)); | |
} else { | |
a = formatString(__activityUrl, ""); | |
} | |
__mainTabWindow.createTab("发短信", "content/freeSms.htm", false); | |
$("#tab_1") | |
.click(); | |
$("#tab_1") | |
.click(function() { | |
$.increaseCounters("500400001"); | |
}); | |
initContentHeight(); | |
initGroupListHeight(); | |
setTimeout(function() { | |
getALInfo(); | |
}, 1000); | |
} | |
function insertBuddyToList(e, m) { | |
__buddyList.sort(buddyListComparator); | |
var k = new Object(); | |
var j = __buddyList.length; | |
for (var d = 0; d < j; d++) { | |
var c = __contactTree.isBuddyListOpen(__buddyList[d].id); | |
k[__buddyList[d].id] = __contactTree.createBuddyList(__buddyList[d], c); | |
} | |
var f = e.length; | |
var h = new Array(); | |
var g = 50; | |
var b = Math.floor((f - 1) / g) + 1; | |
for (var d = 0; d < b; d++) { | |
h.push(false); | |
} | |
function a() { | |
var n = 0; | |
var i = window.setInterval(function() { | |
if (n >= f) { | |
window.clearInterval(i); | |
return; | |
} | |
var o = Math.min(f, n + g); | |
for (var p = n; p < o; p++) { | |
if (e[p].isBk == 1 && e[p].ct == -1) { | |
continue; | |
} else { | |
eachBuddyList(e[p], function(s) { | |
var r = k[s]; | |
if (r) { | |
var q = __contactTree.createBuddyItem(e[p]); | |
r.pushContent(q); | |
} | |
}); | |
} | |
} | |
sendToSwfJD(__loginProcess + Math.round(30 * (o - n) / f)); | |
h[n / g] = true; | |
n += g; | |
}, 50); | |
} | |
a(); | |
var l = window.setInterval(function() { | |
var p = 0; | |
var o = b - 1; | |
while (p <= o) { | |
if (!h[p] || !h[o]) { | |
break; | |
} | |
p++; | |
o--; | |
} | |
if (p > o) { | |
window.clearInterval(l); | |
var r = ""; | |
for (var q = 0; q < j; q++) { | |
var n = k[__buddyList[q].id]; | |
r += n.toHtmlString(); | |
} | |
__contactTree.setInnerHtml(r); | |
__isOkBuddyList = true; | |
if (typeof m == "function") { | |
if (__isOkBuddyList && __isOkGroupList) { | |
m(); | |
} | |
} | |
r = null; | |
} | |
}, 1000); | |
} | |
function updatePersonalInfo(d) { | |
$.extend(__user, d); | |
extendUser(); | |
setRemindMsgCookie(__user.sid, __user.displayName, null, __sessionId); | |
initUserInfo(); | |
var a = __chatWindowMap.values(); | |
var c = a.length; | |
for (var b = 0; b < c; b++) { | |
if (a[b].setUserInfo) { | |
a[b].setUserInfo(__user); | |
} | |
} | |
} | |
function addBuddyWithReply(e, b) { | |
var a = null; | |
if (__contactMap.containsKey(e.uid)) { | |
a = __contactMap.get(e.uid); | |
var d = (a.isBk == 1 && a.ct == -1); | |
$.extend(a, e); | |
switch (e.ut) { | |
case 1: | |
a.ct = 0; | |
break; | |
case 2: | |
a.ct = 2; | |
break; | |
case 3: | |
a.isBk = 1; | |
break; | |
default: | |
break; | |
} | |
extendContact(a); | |
if (b) { | |
eachBuddyList(a, function(c) { | |
if (!(a.isBk == 1 && a.ct == -1)) { | |
if (d) { | |
__contactTree.insertBuddyItem(a, parseInt(c)); | |
} else { | |
__contactTree.updateBuddyItem(parseInt(c), a); | |
} | |
} | |
}); | |
} | |
} else { | |
a = new ContactDefault(); | |
$.extend(a, e); | |
switch (e.ut) { | |
case 1: | |
a.ct = 0; | |
break; | |
case 2: | |
a.ct = 2; | |
break; | |
case 3: | |
a.isBk = 1; | |
a.ct == -1; | |
break; | |
default: | |
break; | |
} | |
extendContact(a); | |
__contactMap.put(a.uid, a); | |
if (b) { | |
eachBuddyList(a, function(c) { | |
__contactTree.insertBuddyItem(a, parseInt(c)); | |
}); | |
} | |
} | |
} | |
function removeBuddyWithReply(g, d) { | |
var b = __contactMap.get(g.uid) || g; | |
if (!b) { | |
return; | |
} | |
if (1 == g.ut) { | |
if (1 == b.isBk) { | |
var a = new ContactDefault(); | |
a.uid = g.uid; | |
a.isBk = 1; | |
a.ct = -1; | |
__contactMap.remove(g.uid); | |
__contactMap.put(a.uid, a); | |
} else { | |
for (var e = 0, f = __buddyList.length; e < f; e++) { | |
__contactTree.deleteBuddyItem(parseInt(__buddyList[e].id), g.uid); | |
} | |
__contactMap.remove(g.uid); | |
} | |
if (d) { | |
for (var e = 0, f = __buddyList.length; e < f; e++) { | |
__contactTree.deleteBuddyItem(parseInt(__buddyList[e].id), g.uid); | |
} | |
} | |
} else { | |
if (2 == g.ut) { | |
if (2 == b.ct) { | |
if (1 == b.isBk) { | |
var a = new ContactDefault(); | |
a.uid = g.uid; | |
a.isBk = 1; | |
a.ct = -1; | |
__contactMap.remove(g.uid); | |
__contactMap.put(a.uid, a); | |
} else { | |
__contactMap.remove(g.uid); | |
} | |
} | |
if (d) { | |
__contactTree.deleteBuddyItem(-1, g.uid); | |
} | |
} else { | |
if (3 == g.ut) { | |
if (-1 == b.ct && 1 == b.isBk) { | |
__contactMap.remove(g.uid); | |
} else { | |
b.isBk = 0; | |
extendContact(b); | |
if (d) { | |
eachBuddyList(b, function(c) { | |
__contactTree.updateBuddyItem(parseInt(c), b); | |
}); | |
} | |
} | |
} | |
} | |
} | |
} | |
function updateBuddyWithReply(e, b) { | |
var a = __contactMap.get(e.uid); | |
if (!a) { | |
return; | |
} | |
var d = ""; | |
if (a.ln) { | |
d = a.ln; | |
} else { | |
if (a.mn && a.sid) { | |
d = a.mn + "(" + a.sid + ")"; | |
} else { | |
if (a.mn) { | |
d = a.mn; | |
} else { | |
if (a.sid) { | |
d = a.sid; | |
} else { | |
if (a.uri) { | |
d = (new jCompactUri(a.uri)) | |
.mobileNoOrSid; | |
} | |
} | |
} | |
} | |
} | |
if (typeof e.rs == "number" && e.rs == 1) { | |
a.ct = a.bss == 0 ? 1 : 0; | |
updateContactInfo(e, b); | |
$.fn.fetionHintWindow({ | |
modal: false | |
}) | |
.show("(" + d + ")同意添加为好友。 ", "提示", "OK"); | |
} else { | |
if (typeof e.rs == "number" && e.rs == 2) { | |
updateContactInfo(e, b); | |
$.fn.fetionHintWindow({ | |
modal: false | |
}) | |
.show("(" + d + ")拒绝添加为好友。 ", "提示", "OK"); | |
} else { | |
updateContactInfo(e, b); | |
} | |
} | |
} | |
function updateContactInfo(f, b) { | |
var a = __contactMap.get(f.uid); | |
if (!a) { | |
return; | |
} | |
$.extend(a, f); | |
extendContact(a); | |
if (b) { | |
eachBuddyList(a, function(c) { | |
__contactTree.updateBuddyItem(parseInt(c), a); | |
}); | |
} | |
var e = getUserPortraitUrl(f, "5"); | |
if (__chatFooterItemMap.containsKey(f.uid)) { | |
__chatFooterItemMap.get(f.uid) | |
.updateItem(a, e); | |
} | |
if (__remindMsgItemMap.containsKey(f.uid)) { | |
__remindMsgItemMap.get(f.uid) | |
.updateItem(a, e); | |
} | |
var d = __chatWindowMap.get(f.uid); | |
if (d) { | |
d.setBuddyInfo(a); | |
d.setBuddyStatus(a); | |
} | |
} | |
var __searchKeyword = ""; | |
function initi__searchInput() { | |
$("#inputSearchFriends") | |
.bind("focus", searchFocus) | |
.bind("blur", searchBlur) | |
.bind("keydown", searchKeydown) | |
.bind("keyup", searchKeyup); | |
$("#btnSearchClear") | |
.bind("click", function(a) { | |
clearSearch(); | |
this.style.display = ""; | |
stopPropagation(a); | |
return false; | |
}); | |
} | |
function searchFocus() { | |
this.value = ""; | |
$("#search_result") | |
.css("display", "none"); | |
$("#btnSearchClear") | |
.css("display", "block"); | |
} | |
function searchBlur() { | |
this.className = ""; | |
if (this.value == "") { | |
this.value = __searchPrompt; | |
$("#search_result") | |
.css("display", "none"); | |
$("#btnSearchClear") | |
.css({ | |
"display": "none" | |
}); | |
} | |
} | |
function searchKeydown(a) { | |
a = window.event || a; | |
switch (a.keyCode) { | |
case 38: | |
moveSelectedContact("up"); | |
break; | |
case 40: | |
moveSelectedContact("down"); | |
break; | |
case 13: | |
if (__searchKeyword == this.value) { | |
openSelectedContact(this, a); | |
} else { | |
searchContact(this, a); | |
} | |
break; | |
default: | |
searchContact(this, a); | |
break; | |
} | |
} | |
function searchKeyup(a) { | |
a = window.event || a; | |
switch (a.keyCode) { | |
case 38: | |
case 40: | |
break; | |
case 13: | |
if (__searchKeyword == this.value) { | |
openSelectedContact(this, a); | |
} else { | |
searchContact(this, a); | |
} | |
break; | |
default: | |
searchContact(this, a); | |
break; | |
} | |
} | |
function moveSelectedContact(e) { | |
var c = $("#search_result") | |
.find("div > ul"); | |
var b = c.find("li"); | |
var d = b.length; | |
var g = 0; | |
if (e == "up") { | |
g = -1; | |
} else { | |
if (e == "down") { | |
g = 1; | |
} | |
} | |
for (var a = 0; a < d; a++) { | |
if (b.eq(a) | |
.attr("class") == "hover") { | |
b.eq(a) | |
.removeClass("hover"); | |
a += g; | |
break; | |
} | |
} | |
var f = (a + d) % d; | |
b.eq(f) | |
.addClass("hover"); | |
c.scrollTop(Math.floor(f / 4) * 4 * b.eq(0) | |
.height()); | |
} | |
function openSelectedContact(a, b) { | |
a.blur(); | |
setTimeout(function() { | |
var c = $("#search_result") | |
.find("div > ul > .hover:first"); | |
if (c) { | |
c.click(); | |
} | |
}, 300); | |
} | |
function searchContact(a, p) { | |
if (__searchKeyword == a.value) { | |
return; | |
} | |
var k = $("#search_result"); | |
k.find("div > ul > li") | |
.remove(); | |
__searchKeyword = a.value; | |
if (a.value == "") { | |
k.css("display", "none"); | |
$("#btnSearchClear") | |
.css({ | |
"display": "none" | |
}); | |
return; | |
} | |
__searchKeyword = a.value; | |
var o = __contactMap.values(); | |
var b = o.length; | |
var n = new Array(); | |
if (__isFirstSearch) { | |
for (var m = 0; m < b; m++) { | |
var j = searchHelper.MakeSpellCodeAsWordsAll(o[m].is); | |
o[m].is = j.bodyContent; | |
} | |
__isFirstSearch = false; | |
} | |
for (var m = 0; m < b; m++) { | |
var r = __searchKeyword.toLowerCase(); | |
var d = new RegExp("[*]+", "gi"); | |
var g = __searchKeyword.toLowerCase() | |
.replace(d, ""); | |
var f = ""; | |
var c = ""; | |
try { | |
f = searchHelper.MakeSpellCodeAsWordsAll(o[m].is) | |
.bodyContent; | |
c = searchHelper.MakeSpellCodeAsWordsAll(o[m].pis) | |
.bodyContent; | |
} catch (p) {} | |
if ((o[m].nn && o[m].nn.toLowerCase() | |
.indexOf(r) >= 0) || (o[m].ln && o[m].ln.toLowerCase() | |
.indexOf(r) >= 0) || (o[m].mn && o[m].mn.toLowerCase() | |
.indexOf(r) >= 0) || (f && f.toLowerCase() | |
.indexOf(g) >= 0) || (c && c.toLowerCase() | |
.indexOf(g) >= 0)) { | |
n.push(o[m]); | |
} | |
} | |
var h = n.length; | |
if (h <= 0) { | |
k.find("div > ul:first") | |
.append("<li>没找到匹配的联系人</li>"); | |
} | |
n.sort(buddyComparator); | |
for (var m = 0; m < h; m++) { | |
var q; | |
var t = htmlEncode(n[m].displayName); | |
if (m == 0) { | |
q = $("<li class='hover'><i class='" + n[m].statusClass + "' /><b>" + t + "</b> <em>" + getStatusDesc(n[m]) + "</em> </li>"); | |
k.find("div > ul:first") | |
.append(q); | |
} else { | |
q = $("<li><i class='" + n[m].statusClass + "' /><b>" + t + "</b> <em>" + getStatusDesc(n[m]) + "</em> </li>"); | |
k.find("div > ul:first") | |
.append(q); | |
} | |
q.bind("mouseover", function() { | |
$("#search_result") | |
.find("div > ul > .hover") | |
.removeClass("hover"); | |
$(this) | |
.removeClass() | |
.addClass("hover"); | |
}) | |
.bind("click", { | |
buddyId: n[m].uid | |
}, function(i) { | |
openChatWindow(this, i.data.buddyId); | |
clearSearch(); | |
$("#btnSearchClear") | |
.css({ | |
"display": "none" | |
}); | |
}); | |
} | |
var l = $(a); | |
var s = l.offset(); | |
k.css("display", "block") | |
.css({ | |
"top": s.top + l.innerHeight(), | |
"left": s.left - 26 | |
}); | |
$("#btnSearchClear") | |
.css({ | |
"display": "block" | |
}); | |
} | |
function clearSearch() { | |
var b = $("#search_result"); | |
b.css("display", "none"); | |
b.find("div > ul > li") | |
.remove(); | |
var a = $("#inputSearchFriends"); | |
if (a.val() != __searchPrompt) { | |
a.val(__searchPrompt); | |
} | |
__searchKeyword = ""; | |
} | |
function initContactCard() { | |
$("#contact_info") | |
.bind("mouseover", function(a) { | |
clearTimeout(__hideContactInfoTimer); | |
if (isMouseOver(this, a)) { | |
this.style.display = "block"; | |
} | |
}) | |
.bind("mouseout", function(a) { | |
if (isMouseOut(this, a)) { | |
this.style.display = "none"; | |
} | |
}); | |
} | |
function showContactCard(b, a) { | |
clearTimeout(__hideContactInfoTimer); | |
var c = __contactMap.get(a); | |
if (!c) { | |
return; | |
} | |
__initContactInfoTimer = window.setTimeout(function() { | |
var h = $("#contact_info"); | |
h.css("display", "none"); | |
var q = h.find("#contact_portrait"); | |
var e = h.find("#contact_status"); | |
var j = h.find("#contact_name"); | |
q.attr("src", getDefaultPortraitUrl(c)); | |
var o = getUserPortraitUrl(c, "3"); | |
cacheUerPortrait(c, o, function(p, r) { | |
if (c == r) { | |
q.attr("src", o); | |
} | |
}); | |
j.get(0) | |
.innerHTML = EmotionNonhtmlReplace(c.displayName, 18, true); | |
if (c.isVip) { | |
j.css("color", "red"); | |
} else { | |
j.css("color", ""); | |
} | |
var l = ""; | |
if (c.ct == 1) { | |
l = "尚未开通飞信"; | |
} else { | |
var k = new jCompactUri(c.uri); | |
l = c.sid || (!k.isMobileNo ? k.mobileNoOrSid : ""); | |
} | |
h.find("#contact_id") | |
.text(l); | |
e.attr("class", c.statusClass); | |
if (c.uid) { | |
h.find("#contact_space") | |
.attr("href", formatString(__contactSpaceUrl, c.uid)) | |
.css("display", "") | |
.click(function() { | |
if (__user.c) { | |
var p = formatString(__contactSpaceUrl, c.uid, __user.c); | |
$(this) | |
.attr("href", p); | |
} | |
}); | |
} else { | |
h.find("#contact_space") | |
.attr("href", "#") | |
.css("display", "none"); | |
} | |
if (!c.i || c.ct == 1) { | |
h.find("#contact_impresa") | |
.text("") | |
.css("display", "none"); | |
h.find("#contact_impresa_line") | |
.css("display", "none"); | |
} else { | |
var m = EmotionNonhtmlReplace(c.i, 106, true); | |
var d = h.find("#contact_impresa"); | |
d.get(0) | |
.innerHTML = m; | |
d.css("display", ""); | |
h.find("#contact_impresa_line") | |
.css("display", ""); | |
} | |
if (c.bl == "0") { | |
h.find("#contact_list") | |
.text("未分组"); | |
} else { | |
if (c.bl == "-1") { | |
h.find("#contact_list") | |
.text("陌生人"); | |
} else { | |
var g = ""; | |
var n = __buddyList.length; | |
eachBuddyList(c, function(r) { | |
for (var p = 0; p < n; p++) { | |
if (__buddyList[p].id.toString() == r) { | |
g += __buddyList[p].n + ";"; | |
} | |
} | |
}); | |
g = g.trim(";"); | |
h.find("#contact_list") | |
.text(g); | |
} | |
} | |
try { | |
var f = $(b) | |
.offset(); | |
if (f.top + h.height() > getViewportHeight() - 20) { | |
f.top = f.top - h.height() + $(b) | |
.innerHeight(); | |
} | |
} catch (i) {} | |
__showContactInfoTimer = window.setTimeout(function() { | |
h.css({ | |
"display": "block", | |
"top": f.top, | |
"left": f.left - h.outerWidth() | |
}); | |
}, 300); | |
}, 500); | |
} | |
function hideContactCard(b, a) { | |
clearTimeout(__initContactInfoTimer); | |
clearTimeout(__showContactInfoTimer); | |
__hideContactInfoTimer = setTimeout(function() { | |
var c = $("#contact_info"); | |
c.css({ | |
"display": "none" | |
}); | |
}, 200); | |
} | |
function initOperateCard() { | |
var a = $("#operate_info"); | |
a.bind("mouseover", function(b) { | |
clearTimeout(__hideOperateInfoTimer); | |
this.style.display = "block"; | |
}) | |
.bind("mouseout", function(b) { | |
if (isMouseOut(this, b)) { | |
this.style.display = "none"; | |
} | |
}); | |
a.find("div>ul>li") | |
.bind("mouseover", function() { | |
this.className = "hover"; | |
}) | |
.bind("mouseout", function() { | |
this.className = ""; | |
}); | |
} | |
function showOperateCard(e, k) { | |
var a = __contactMap.get(k); | |
var c = $("#operate_info"); | |
var f = $("#operate_items"); | |
f.find("#operate_msg") | |
.unbind() | |
.bind("click", function() { | |
openChatWindow(e, k); | |
c.css({ | |
"display": "none" | |
}); | |
return false; | |
}); | |
f.find("#operate_block") | |
.unbind() | |
.text(a.isBk == 1 ? "移出黑名单" : "加入黑名单") | |
.bind("click", function() { | |
c.css({ | |
"display": "none" | |
}); | |
OpBuddy(a.uid, a.isBk == 1 ? "2" : "1"); | |
__group_mem.containsKey(""); | |
return false; | |
}); | |
f.find("#operate_updateLocalName") | |
.unbind() | |
.bind("click", function() { | |
c.css({ | |
"display": "none" | |
}); | |
updateLocalName(a.uid); | |
return false; | |
}); | |
var j = f.find("#operate_add"); | |
j.unbind(); | |
var d = a.status; | |
if (a.ct == 2 || d == ContactStatus.Verify || d == ContactStatus.Verify_Bklist || d == ContactStatus.Refuse_Bklist || d == ContactStatus.Refuse) { | |
var b = (a.ct == 2 ? "添加好友" : "重新添加好友"); | |
j.parent() | |
.css("display", ""); | |
j.text(b) | |
.bind("click", function() { | |
if (a.sid) { | |
createAddBuddyTab(a.sid); | |
} else { | |
if (a.mn) { | |
createAddBuddyTab(a.mn, "1"); | |
} else { | |
if (a.uri) { | |
var l = new jCompactUri(a.uri); | |
createAddBuddyTab(l.mobileNoOrSid, l.isMobileNo ? "1" : "0"); | |
} else { | |
createAddBuddyTab(); | |
} | |
} | |
} | |
return false; | |
}); | |
} else { | |
j.parent() | |
.css("display", "none"); | |
} | |
var h = f.find("#operate_space"); | |
h.unbind(); | |
if (a.sid) { | |
h.attr("href", formatString(__contactSpaceUrl, a.uid)); | |
h.parent() | |
.css("display", ""); | |
h.bind("click", function() { | |
c.css({ | |
"display": "none" | |
}); | |
if (__user.c) { | |
var l = formatString(__contactSpaceUrl, a.uid, __user.c); | |
$(this) | |
.attr("href", l); | |
} | |
}); | |
} else { | |
h.parent() | |
.css("display", "none"); | |
} | |
var g = $(e); | |
var i = g.offset(); | |
if (i.top + c.height() > getViewportHeight() - 20) { | |
i.top = i.top - c.height(); | |
} | |
c.css({ | |
"display": "block", | |
"top": i.top + g.height(), | |
"left": i.left - (c.outerWidth() - g.width()) | |
}); | |
__hideOperateInfoTimer = setTimeout(function() { | |
c.css({ | |
"display": "none" | |
}); | |
}, 2000); | |
} | |
function updateStatusDesc(b) { | |
b = b || ""; | |
b = cnSubstr2(b.trim(), 6); | |
var a = ""; | |
if (cnLength2(b) < 8) { | |
a = "( " + b + " )"; | |
} else { | |
a = "(" + b + ")"; | |
} | |
$("#user_status > em") | |
.text(a); | |
} | |
function initChatFooter() { | |
__maxMsgListOnTaskbar = getMaxMsglistCount(); | |
__moreMsgListDiv = $.fn.jMoreMsgLists({ | |
target: $(document.body), | |
maxHold: 5 | |
}); | |
__moreMsgListDiv.hide(); | |
$("#msg_more") | |
.bind("click", function() { | |
this.className = "msg_more hover_msg"; | |
if (__chatFooterItemMap.size() > __maxMsgListOnTaskbar) { | |
if (__moreMsgListDiv.isShow) { | |
__moreMsgListDiv.hide(); | |
} else { | |
__moreMsgListDiv.show(); | |
} | |
} | |
}) | |
.bind("mouseout", function(a) { | |
this.className = "msg_more"; | |
if (__moreMsgListDiv.isShow && isMouseOut(this, a)) { | |
__hideMoreMsgListTimer = setTimeout(function() { | |
__moreMsgListDiv.hide(); | |
}, 500); | |
} | |
}) | |
.bind("mouseover", function() { | |
this.className = "msg_more hover"; | |
}); | |
__remindMsgDiv = $.fn.jRemindMsgList({ | |
target: $(document.body), | |
onClearAll: clearAllRemindMsg | |
}); | |
__remindMsgDiv.hide(); | |
$("#msg_remind") | |
.bind("click", function(a) { | |
$.increaseCounters("500400002"); | |
if (!__remindMsgDiv.isShow && __remindMsgItemMap.size() > 0) { | |
__remindMsgDiv.show(); | |
} else { | |
__remindMsgDiv.hide(); | |
} | |
stopPropagation(a); | |
return false; | |
}) | |
.bind("mouseout", function(a) { | |
if (__remindMsgDiv.isShow && isMouseOut(this, a)) { | |
__hideRemindMsgTimer = setTimeout(function() { | |
__remindMsgDiv.hide(); | |
}, 500); | |
} | |
}) | |
.bind("mousedown", function() { | |
this.className = "msg_remind active"; | |
}) | |
.bind("mouseup", function() { | |
this.className = "msg_remind"; | |
}); | |
} | |
function getMaxMsglistCount() { | |
var a = $("#taskbar") | |
.width() - $("#cm_logo") | |
.width() - $("#msg_remind") | |
.width() - $("#msg_more") | |
.width(); | |
return Math.floor(a / 96); | |
} | |
function reInitialFooter(a) { | |
var d = $("#msg_list"); | |
$("#msg_more") | |
.css("display", "none"); | |
if (a) { | |
if (__moreMsgListDiv.getItems() | |
.size() == 0 && d.find("li") | |
.size() < __maxMsgListOnTaskbar) { | |
d.append(a); | |
} else { | |
$("#msg_more") | |
.css("display", ""); | |
__moreMsgListDiv.addItem(a); | |
} | |
return; | |
} | |
var f = new Array(); | |
d.find("li") | |
.each(function() { | |
f.push($(this)); | |
}); | |
var b = __moreMsgListDiv.getItems(); | |
for (var e = b.size() - 1; e >= 0; e--) { | |
f.push(b.eq(e)); | |
} | |
var g = f.length; | |
for (var c = 0; c < g; c++) { | |
f[c].css("display", "block"); | |
if (c < __maxMsgListOnTaskbar) { | |
f[c].inMore = false; | |
d.append(f[c]); | |
} else { | |
f[c].inMore = true; | |
$("#msg_more") | |
.css("display", ""); | |
__moreMsgListDiv.addItem(f[c]); | |
__moreMsgListDiv.hide(); | |
} | |
} | |
} | |
function clearAllRemindMsg() { | |
__remindMsgItemMap.clear(); | |
var b = __chatFooterItemMap.values(); | |
for (var a = b.length - 1; a >= 0; a--) { | |
b[a].removeClass("call"); | |
} | |
setRemindCountTotal(); | |
} | |
function receiveMsgs(i) { | |
var a = __contactMap.get(i.fromUid); | |
if (!a || a.ct == 2) { | |
if (getUserPermission(__user.gp, "contact") != 1) { | |
return; | |
} | |
} | |
if (!a) { | |
addChatFriend(i.fromUri, function(d, n) { | |
var c = d; | |
if (typeof c.rc == "number" && c.rc == 200) { | |
var b = new ContactDefault(); | |
if (!buddyListContains("-1")) { | |
__buddyList.push({ | |
"id": -1, | |
"n": "陌生人" | |
}); | |
__contactTree.insertBuddyList({ | |
"id": -1, | |
"n": "陌生人" | |
}); | |
} | |
b.uid = i.fromUid; | |
b.uri = i.fromUri; | |
b.bl = "-1"; | |
b.ct = 2; | |
extendContact(b); | |
__contactMap.put(b.uid, b); | |
__contactTree.insertBuddyItem(b, b.bl); | |
receiveMsgs(i); | |
} | |
}); | |
return; | |
} | |
var g = getChatWindow(i.fromUid); | |
if (!g.isOnFocus() || !__isOnfocus) { | |
if (__remindMsgItemMap.containsKey(i.fromUid)) { | |
var e = __remindMsgItemMap.get(i.fromUid); | |
e.msgCount(e.msgCount() + 1); | |
e.updateItem(__contactMap.get(i.fromUid)); | |
} else { | |
var l = __contactMap.get(i.fromUid); | |
var k = __chatWindowMap.get(l.uid); | |
var m = getUserPortraitUrl(l, "5"); | |
var e = $.fn.jRemindMsgItem(l, k, m); | |
__remindMsgItemMap.put(i.fromUid, e); | |
__remindMsgDiv.addItem(e); | |
} | |
setRemindCountTotal(); | |
} | |
if (!g.isActived) { | |
g.active(); | |
var f = __chatFooterItemMap.get(i.fromUid); | |
f.removeClass() | |
.addClass("call"); | |
if (f.isInMoreMsgList()) { | |
$("#msg_more") | |
.removeClass() | |
.addClass("msg_more hover_msg"); | |
} | |
} else { | |
if (!g.isOnFocus()) { | |
var f = __chatFooterItemMap.get(i.fromUid); | |
f.removeClass() | |
.addClass("call"); | |
if (f.isInMoreMsgList()) { | |
$("#msg_more") | |
.removeClass() | |
.addClass("msg_more hover_msg"); | |
} | |
} | |
} | |
g.logFriendMsg(i.msg); | |
if (g.inputPermission == 420 && !g.enablechatInput) { | |
g.enableInput(true); | |
} | |
if (!__isOnfocus) { | |
if (typeof __titleflashInterval != "undefined") { | |
window.clearInterval(__titleflashInterval); | |
} | |
__flashTitleArray.push(__msgcomingTitle); | |
__flashTitleArray.push("【" + __msgcomingTitle + "】"); | |
var j = __flashTitleArray.length; | |
var h = j - 1; | |
__titleflashInterval = window.setInterval(function() { | |
var b = __flashTitleArray[h]; | |
document.title = b; | |
h = (h + 1) % j; | |
}, 1000); | |
} | |
} | |
function sendMsgFailed(b) { | |
var a = getChatWindow(b.fromUid); | |
if (a) { | |
a.logErrorInfo("消息发送失败: " + b.msg); | |
} | |
} | |
function receiveInvite(f) { | |
var e = "你好,我是" + f.desc + ","; | |
switch (f.phrid) { | |
case 0: | |
e += "正在用中国移动飞信业务,想加你为好友。"; | |
break; | |
case 1: | |
e += "想加你为飞信好友,方便咱们联系。"; | |
break; | |
case 2: | |
e += "飞信挺好用的,想加你为好友。"; | |
break; | |
case 3: | |
e += "希望你成为我的飞信好友,常联系。"; | |
break; | |
case 4: | |
e += "成为我的飞信好友,能免费给你发短信。"; | |
break; | |
default: | |
break; | |
} | |
var a = $("#invited_" + f.uid); | |
if (a.size() > 0) { | |
a.remove(); | |
a = null; | |
} | |
a = $.fn.friendInviteWindow({ | |
buddy: f, | |
inviteType: f.t, | |
onConfirm: processorFriendInvite | |
}); | |
var c = __buddyList.length; | |
if (c > 0) { | |
__buddyList.sort(buddyListComparator); | |
for (var b = 0; b < c; b++) { | |
if (parseInt(__buddyList[b].id) > 0) { | |
a.insertBuddyList(__buddyList[b].id, __buddyList[b].n); | |
} | |
} | |
} | |
a.insertDesc(e); | |
} | |
function setRemindCountTotal() { | |
var c = 0; | |
var b = __remindMsgItemMap.values(); | |
for (var a = b.length - 1; a >= 0; a--) { | |
if (b[a].find("i") | |
.attr("class") == "ff-pc-group") { | |
c += 1; | |
} else { | |
c += b[a].msgCount(); | |
} | |
} | |
setRemindMsgCookie(__user.sid, null, c, __sessionId); | |
if (c > 0) { | |
$("#msg_remind") | |
.removeClass("none"); | |
} else { | |
$("#msg_remind") | |
.addClass("none"); | |
} | |
$("#msg_remind") | |
.find("b:first") | |
.text(c.toString()); | |
} | |
function onSendMsg(g, d, f, b, e) { | |
var c = f.length; | |
var a = (b || e); | |
if (a && c > 180) { | |
alert("温馨提示:长短信不能超过180个字符。"); | |
} else { | |
if (c > 400) { | |
alert("温馨提示:消息不能超过400个字符。"); | |
} else { | |
g.logSelfMsg(f); | |
sendMessage(g, d, f, b, e); | |
} | |
} | |
} | |
function processorFriendInvite(a) { | |
handleAddBuddy(a, 0); | |
} | |
function redirectLogin() { | |
__isNormalLogout = true; | |
window.location.href = loginPageUrl; | |
} | |
function startSound(a) { | |
if (__isOpenSound) { | |
if (a == "newmessage") { | |
IMSound.playSound(a); | |
} else { | |
if (a == "sys") { | |
IMSound.playSound(a); | |
} | |
} | |
} | |
} | |
function showPanel(a) { | |
$("#group_func") | |
.find("li") | |
.removeClass("on"); | |
$("#friends_list") | |
.addClass("none"); | |
$("#group_box") | |
.addClass("none"); | |
$("#phone_list") | |
.addClass("none"); | |
if (a == "group") { | |
$("#li_group") | |
.addClass("on"); | |
$("#group_box") | |
.removeClass("none"); | |
} else { | |
if (a == "buddy") { | |
$("#li_buddy") | |
.addClass("on"); | |
$("#friends_list") | |
.removeClass("none"); | |
} else { | |
if (a == "gountxun") { | |
$("#li_gountxun") | |
.addClass("on"); | |
$("#phone_list") | |
.removeClass("none"); | |
} | |
} | |
} | |
} | |
function addBuddySuccess(b) { | |
var a; | |
if (__contactMap.containsKey(b.uid)) { | |
a = __contactMap.get(b.uid); | |
if (a.isBk == 1 && a.ct == -1) {} else { | |
if (1 != a.rs || 2 == a.ct) { | |
__contactMap.remove(a.uid.toString()); | |
eachBuddyList(a, function(c) { | |
__contactTree.deleteBuddyItem(parseInt(c), a.uid); | |
}, true); | |
if (2 == a.ct) { | |
a.ct = 0; | |
} | |
} else { | |
alert("对方已经是你好友。"); | |
return; | |
} | |
} | |
} else { | |
a = new ContactDefault(); | |
a.ln = b.ln; | |
a.ct = 0; | |
} | |
$.extend(a, b); | |
extendContact(a); | |
__contactMap.put(a.uid, a); | |
eachBuddyList(a, function(c) { | |
__contactTree.insertBuddyItem(a, parseInt(c)); | |
}); | |
} | |
function initNavigation() { | |
$("#quitIm") | |
.attr("href", __officialSiteUrl + "/account/loginout?ul=" + loginPageUrl); | |
$("#officalsite") | |
.attr("href", __officialSiteUrl); | |
$("#myspace") | |
.attr("href", __mySpaceUrl); | |
$("#downloadpc") | |
.attr("href", __downloadUrl); | |
$("#myspace_icon") | |
.attr("href", __mySpaceUrl); | |
$("#feedback") | |
.attr("href", __feedbackUrl); | |
$("#downloadpc") | |
.bind("click", function() { | |
$.increaseCounters(500400004); | |
}); | |
$("#rt_img_link") | |
.click(function() { | |
addFavourite(location.href, "官方网页版飞信——在网页上与飞信好友聊天、免费发短信"); | |
}); | |
$("#quitIm") | |
.bind("click", function() { | |
__isNormalLogout = true; | |
logout(__isNormalLogout); | |
}); | |
} | |
function buddyListContains(b) { | |
for (var a = 0; a < __buddyList.length; a++) { | |
if (__buddyList[a].id.toString() == b) { | |
return true; | |
} | |
} | |
return false; | |
} | |
function dealWithCallme(f) { | |
var b = ""; | |
if (f.toUid && f.toUri) { | |
if (f.toUid == __user.uid) { | |
return; | |
} | |
b = __callmeTitle; | |
if (!__contactMap.containsKey(f.toUid)) { | |
addChatFriend(f.toUri, function(i, j) { | |
var h = i; | |
if (typeof h.rc == "number" && h.rc == 200) { | |
var g = new ContactDefault(); | |
if (!buddyListContains("-1")) { | |
__buddyList.push({ | |
"id": -1, | |
"n": "陌生人" | |
}); | |
__contactTree.insertBuddyList({ | |
"id": -1, | |
"n": "陌生人" | |
}); | |
} | |
g.uid = f.toUid; | |
g.uri = f.toUri; | |
g.bl = "-1"; | |
g.ct = 2; | |
extendContact(g); | |
__contactMap.put(g.uid.toString(), g); | |
__contactTree.insertBuddyItem(g, g.bl); | |
dealWithCallme(f); | |
} | |
}); | |
return; | |
} | |
var a = getChatWindow(f.toUid); | |
if (!a.isActived) { | |
a.active(); | |
var e = getChatWinPosition(); | |
a.show(e.top, e.left); | |
} else { | |
if (!a.hasShown) { | |
var e = getChatWinPosition(); | |
a.show(e.top, e.left); | |
} else { | |
a.show(); | |
} | |
} | |
} else { | |
b = __readmsgTitle; | |
} | |
if (!__isOnfocus) { | |
if (typeof __titleflashInterval != "undefined") { | |
window.clearInterval(__titleflashInterval); | |
} | |
__flashTitleArray.push(b); | |
__flashTitleArray.push("【" + b + "】"); | |
var d = __flashTitleArray.length; | |
var c = d - 1; | |
__titleflashInterval = window.setInterval(function() { | |
var g = __flashTitleArray[c]; | |
document.title = g; | |
c = (c + 1) % d; | |
}, 1000); | |
} | |
} | |
function updateGroupInfo(i, b, f) { | |
if (i == null) { | |
return; | |
} | |
var h = jGroupUriToId(i.gUri); | |
var d = __groupMap.get(h); | |
if (!d) { | |
return; | |
} | |
if (d.members && i.members && i.members.length < d.members.length) { | |
if (i.members.length == 1) { | |
var e = jMemUriToId(i.members[0].MemberUri); | |
if (e == __user.sid) { | |
return; | |
} | |
} | |
} | |
$.extend(d, i); | |
extendGroupItem(d); | |
if (f && (d.i > 3 || d.msgRecv > 1)) { | |
__groupTree.updateGroupItem(d); | |
return; | |
} | |
if (b) { | |
__groupTree.updateGroupItem(d); | |
var a = __chatWindowMap.get("group_" + d.id); | |
if (a) { | |
a.setGroupInfo(d); | |
} | |
if (d.n) { | |
d.displayName = d.n; | |
var g = getGroupItemPortraitUrl(d, "1"); | |
if (__chatFooterItemMap.containsKey("group_" + h)) { | |
__chatFooterItemMap.get("group_" + h) | |
.updateItem(d, g); | |
} | |
if (__remindMsgItemMap.containsKey("group_" + h)) { | |
__remindMsgItemMap.get("group_" + h) | |
.updateItem(d, g); | |
} | |
} | |
} | |
} | |
function deleteGroupMember(d) { | |
var c = jGroupUriToId(d.GroupUri); | |
var b = jMemUriToId(d.MemberUri); | |
if (b == jMemUriToId(__user.uri)) { | |
var a = __groupMap.get(c); | |
$.popWinMsg({ | |
gName: d.GroupName, | |
group: a, | |
msgN: "msg1" | |
}); | |
removeGroupUi(c, 1); | |
} else { | |
chatWinDelMem(c, b); | |
} | |
} | |
function removeGroupUi(c, b) { | |
__groupTree.deleteGroupItem(c); | |
var a = __chatWindowMap.get("group_" + c); | |
if (a) { | |
a.enableInput(false); | |
a.logSuggetInfo(b); | |
a.isUsable = false; | |
} | |
if (__chatFooterItemMap.containsKey("group_" + c)) { | |
__chatFooterItemMap.get("group_" + c) | |
.remove(); | |
__chatFooterItemMap.remove("group_" + c); | |
reInitialFooter(); | |
} | |
} | |
function openGroupChatWindow(d, c) { | |
var b = __groupMap.get(c); | |
if (b.i > 3) { | |
return; | |
} | |
var a = getGroupChatWindow(c); | |
if (!a.isActived) { | |
a.active(); | |
var e = getChatWinPosition(); | |
a.show(e.top, e.left); | |
} else { | |
if (!a.hasShown) { | |
var e = getChatWinPosition(); | |
a.show(e.top, e.left); | |
} else { | |
a.show(); | |
} | |
} | |
if (typeof __isIE6 != "undefined" && __isIE6) { | |
a.fixPosition(); | |
} | |
if (b.msgRecv == 2) { | |
__groupTree.clearGroupMsgCount(b); | |
} | |
} | |
function getGroupChatWindow(c) { | |
var a; | |
var b = __groupMap.get(c); | |
if (!__chatWindowMap.containsKey("group_" + c)) { | |
a = createGroupWin(b, c); | |
} else { | |
a = __chatWindowMap.get("group_" + c); | |
if (!a.isUsable) { | |
__chatWindowMap.remove("group_" + c); | |
a.remove(); | |
a = null; | |
a = createGroupWin(b, c); | |
} | |
} | |
return a; | |
} | |
function createGroupWin(b, c) { | |
var a; | |
a = $.fn.jGroupChatWindow({ | |
maxRelative: "main_content", | |
user: __user, | |
group: b, | |
groupMap: __groupMap, | |
defaultHeight: __groupChatWinDefaultHeight, | |
defaultWidth: __groupChatWinDefaultWidth, | |
onActive: onActiveGroupChatWindow, | |
onClosed: onCloseGroupChatWindow, | |
onFocus: onFocusGroupChatWindow, | |
onSendMessage: onSendGroupMsg | |
}); | |
getGroupMemList(b, a.memMap, a); | |
__chatWindowMap.put("group_" + c, a); | |
return a; | |
} | |
function getGroupMemList(c, a, b) { | |
var d = new Object(); | |
d.success = function(f, e) { | |
getGroupMemListSuccess(f, e, c, a, b); | |
}; | |
d.error = function(e, g, f) { | |
getGroupMemListError(e, g, f, c, a, b); | |
}; | |
d.url = formatString(getGroupMemUrl, __version++); | |
d.type = "POST"; | |
d.data = { | |
"ssid": __sessionId, | |
"Uri": c.gUri | |
}; | |
d.dataType = "json"; | |
d.cache = false; | |
$.ajax(d); | |
} | |
var __gmlRetry = 0; | |
function getGroupMemListSuccess(j, c, p, e, g) { | |
var m; | |
m = $.fn.jGroupMemTree({ | |
isSinglePattern: true, | |
user: __user, | |
group: p, | |
onBuddyItemDbClick: openChatWindow, | |
onBuddyItemMouseOver: showContactCard, | |
onBuddyItemMouseOut: hideContactCard, | |
onBuddyItemRightClick: showOperateCard | |
}); | |
g.groupMemTree = m; | |
var r = j; | |
if (typeof r.rc == "number" && r.rc == 200) { | |
__gmlRetry = 0; | |
var k = r.rv.GroupMembersInfo; | |
k = k || (new Array()); | |
var l = k.length; | |
var f = jGroupUriToId(r.rv.gUri); | |
for (var h = 0; h < l; h++) { | |
var a = jMemUriToId(k[h].MemberUri); | |
var q = __group_mem.get(f + "_" + a); | |
if (q == null) { | |
q = new GroupMemDefault(); | |
} | |
$.extend(q, k[h]); | |
extendMemItem(q); | |
e.put(q.id, q); | |
} | |
g.memMap = e; | |
var n = insertGroupMemToList(e, m, p); | |
if (g.isLogShowNumber) { | |
var b = g.find("dt:first> span") | |
.eq(0); | |
var d = b.text(); | |
var o = e.get(d) | |
.displayName; | |
b.text(o); | |
} | |
} else { | |
if (typeof r.rc == "number" && r.rc == 310) { | |
redirectLogin(); | |
} else { | |
if (typeof r.rc == "number" && r.rc == 403) {} else { | |
if (__gmlRetry < 3) { | |
__gmlRetry++; | |
window.setTimeout(function() { | |
getGroupMemList(p, e, g); | |
}, 500); | |
} else { | |
__gmlRetry = 0; | |
alert(formatString("由于网络原因,获取群成员列表失败,请重新登录。错误代码:{0}", typeof r.rc == "number" ? r.rc : 500)); | |
} | |
} | |
} | |
} | |
} | |
function getGroupMemListError(d, f, e, c, a, b) { | |
if (__gmlRetry < 3) { | |
__gclRetry++; | |
window.setTimeout(function() { | |
getGroupMemList(c, a, b); | |
}, 500); | |
} else { | |
__gmlRetry = 0; | |
alert(formatString("由于网络原因,获取群成员列表失败,请重新登录。错误原因:{0}", f)); | |
} | |
} | |
function getGroupMemPortrait(e, b) { | |
var i = e.find(".pop_group_list"); | |
var g = parseInt(i.css("height")), | |
d = i.find("li:first") | |
.offset() | |
.top, | |
c = d + g, | |
a = false; | |
if (i.find("li[on=1]") | |
.size() <= 0) { | |
var h = i.find("li"); | |
var f; | |
h.each(function(j, k) { | |
$(k) | |
.attr("on", "1"); | |
var m = $(k) | |
.attr("id") | |
.substring(10); | |
if (b.containsKey(m)) { | |
f = b.get(m); | |
var l = buddyPor(f, f.statusClass, 1); | |
$(k) | |
.find("img") | |
.attr("src", l); | |
} | |
if (j >= 19) { | |
return false; | |
} | |
}); | |
} | |
i.bind("scroll", function() { | |
var k = $(this) | |
.find("li[on!=1]"); | |
if (k.size() > 0 && k.first() | |
.offset() | |
.top <= c) { | |
var j; | |
k.each(function(l, m) { | |
$(m) | |
.attr("on", "1"); | |
var o = $(m) | |
.attr("id") | |
.substring(10); | |
if (b.containsKey(o)) { | |
j = b.get(o); | |
var n = buddyPor(j, j.statusClass, 1); | |
$(m) | |
.find("img") | |
.attr("src", n); | |
} | |
if (l >= 19) { | |
if (!$(m) | |
.next() | |
.attr("id") || $(m) | |
.next() | |
.offset() | |
.top > c) { | |
return false; | |
} | |
} | |
}); | |
} | |
}); | |
} | |
function insertGroupMemToList(b, d, j) { | |
var h = b.values(); | |
var k = new Object(); | |
k[0] = d.createBuddyList(j); | |
var e = h.length; | |
var f = k[0]; | |
for (var c = 0; c < e; c++) { | |
var m = d.createBuddyItem(h[c], c); | |
f.pushContent(m); | |
} | |
var g = ""; | |
var a = k[0]; | |
g += a.toHtmlString(); | |
d.setInnerHtml(g); | |
getGroupMemPortrait(d, b); | |
if (typeof callback == "function") { | |
callback(); | |
} | |
g = null; | |
} | |
function onSendGroupMsg(d, b, c) { | |
var a = c.length; | |
if (a > 400) { | |
alert("温馨提示:消息不能超过400个字符。"); | |
} else { | |
d.logSelfMsg(c); | |
sendGroupMessage(d, b, c); | |
} | |
} | |
function sendGroupMessage(d, b, c) { | |
var a = new Object(); | |
a.url = formatString(SendGroupMsgUrl, __version++); | |
a.type = "POST"; | |
a.dataType = "json"; | |
a.cache = false; | |
a.data = { | |
"Uri": b, | |
"msg": c, | |
"ssid": __sessionId | |
}; | |
a.success = function(f, g) { | |
var e = f; | |
if (typeof e.rc == "number" && e.rc >= 200 && e.rc < 300) {} else { | |
if (typeof e.rc == "number" && e.rc == 420) { | |
d.logErrorInfo("对方版本过旧,您无法向其发起陌生人消息。"); | |
d.inputPermission = 420; | |
d.enableInput(false); | |
} else { | |
if (typeof e.rc == "number" && e.rc == 486) { | |
d.logErrorInfo("您暂时无法发送短信,请稍后再试。"); | |
} else { | |
if (typeof e.rc == "number" && e.rc == 494) { | |
d.logErrorInfo("您的飞信账号处于系统保护状态,限制了该功能的使用。请手机发送短信U到12520解除限制后重新登录。"); | |
} else { | |
if (typeof e.rc == "number" && e.rc == 405) {} else { | |
d.logErrorInfo("消息发送失败: " + cnSubstr(c, 18)); | |
} | |
} | |
} | |
} | |
} | |
}; | |
a.error = function(e, g, f) { | |
d.logErrorInfo("消息发送失败: " + cnSubstr(c, 18)); | |
}; | |
$.ajax(a); | |
} | |
function receiveGroupMsgs(l) { | |
l.id = jGroupUriToId(l.FromGroupUri); | |
var h = __groupMap.get(l.id); | |
if (h == null) { | |
return; | |
} | |
var i = getGroupChatWindow(l.id); | |
if (h.msgRecv == "2") { | |
var p = __chatFooterItemMap.containsKey("group_" + l.id); | |
if (p && !i.isOnFocus()) { | |
var f = __chatFooterItemMap.get("group_" + l.id); | |
f.removeClass() | |
.addClass("call"); | |
if (f.isInMoreMsgList()) { | |
$("#msg_more") | |
.removeClass() | |
.addClass("msg_more hover_msg"); | |
} | |
} else { | |
if (!p) { | |
__groupTree.updateGroupMsgCount(h); | |
} | |
} | |
} else { | |
if (!i.isOnFocus() || !__isOnfocus) { | |
if (__remindMsgItemMap.containsKey("group_" + l.id)) { | |
var e = __remindMsgItemMap.get("group_" + l.id); | |
var g; | |
var a = e.msgCount(); | |
if (a + 1 > 99) { | |
g = ">99"; | |
} else { | |
g = a + 1; | |
} | |
e.msgCount(g); | |
var o = __groupMap.get(l.id); | |
o.uid = o.id; | |
o.statusClass = "ff-pc-group"; | |
o.displayName = o.n; | |
var q = getGroupItemPortraitUrl(o, "1"); | |
e.updateItem(o, q); | |
} else { | |
var o = __groupMap.get(l.id); | |
o.uid = o.id; | |
o.statusClass = "ff-pc-group"; | |
o.displayName = o.n; | |
var n = __chatWindowMap.get("group_" + l.id); | |
var q = getGroupItemPortraitUrl(o, "1"); | |
var e = $.fn.jRemindMsgItem(o, n, q); | |
var k = jGroupUriToId(l.FromGroupUri); | |
__remindMsgItemMap.put("group_" + k, e); | |
__remindMsgDiv.addItem(e); | |
setRemindCountTotal(); | |
} | |
} | |
if (!__chatFooterItemMap.containsKey("group_" + l.id)) { | |
startSound("newmessage"); | |
} | |
if (!i.isActived) { | |
i.active(); | |
var f = __chatFooterItemMap.get("group_" + l.id); | |
f.removeClass() | |
.addClass("call"); | |
if (f.isInMoreMsgList()) { | |
$("#msg_more") | |
.removeClass() | |
.addClass("msg_more hover_msg"); | |
} | |
} else { | |
if (!i.isOnFocus()) { | |
var f = __chatFooterItemMap.get("group_" + l.id); | |
f.removeClass() | |
.addClass("call"); | |
if (f.isInMoreMsgList()) { | |
$("#msg_more") | |
.removeClass() | |
.addClass("msg_more hover_msg"); | |
} | |
} | |
} | |
} | |
if (l.StatusCode == 433) { | |
i.logErrorInfo("消息”" + cnSubstr(l.Message, 18) + "“发送失败:您说话太快了,请休息一下吧。"); | |
} else { | |
i.logFriendMsg(l); | |
} | |
if (i.inputPermission == 420 && !i.enablechatInput) { | |
i.enableInput(true); | |
} | |
if (!__isOnfocus && h.msgRecv != "2") { | |
if (typeof __titleflashInterval != "undefined") { | |
window.clearInterval(__titleflashInterval); | |
} | |
__flashTitleArray.push(__msgcomingTitle); | |
__flashTitleArray.push("【" + __msgcomingTitle + "】"); | |
var m = __flashTitleArray.length; | |
var j = m - 1; | |
__titleflashInterval = window.setInterval(function() { | |
var b = __flashTitleArray[j]; | |
document.title = b; | |
j = (j + 1) % m; | |
}, 1000); | |
} | |
} | |
function groupMemPriChange(h) { | |
for (var b = 0; b < h.length; b++) { | |
var e = jGroupUriToId(h[b].GroupUri); | |
var d = h[b].GroupUri; | |
var i = __groupMap.get(e); | |
var k; | |
var g = h[b].PermissionChangedMemberEntity; | |
for (var j = 0; j < g.length; j++) { | |
var f = g[j].Identity; | |
var a = jMemUriToId(g[j].MemberUri); | |
var k = new Object(); | |
k.i = g[j].Identity; | |
k.MemberUri = g[j].MemberUri; | |
if (jMemUriToId(g[j].MemberUri) == __user.sid) { | |
if (f == 1) { | |
$.popWinMsg({ | |
gName: i.n, | |
group: i, | |
msgN: "msg3" | |
}); | |
} else { | |
if (f == 2) { | |
$.popWinMsg({ | |
gName: i.n, | |
group: i, | |
msgN: "msg2" | |
}); | |
} else { | |
if (f == 3) { | |
$.popWinMsg({ | |
gName: i.n, | |
group: i, | |
msgN: "msg7" | |
}); | |
} | |
} | |
} | |
var c = __groupMap.get(e); | |
c.i = k.i; | |
extendGroupItem(c); | |
__groupTree.updateGroupItem(c); | |
} | |
initGroupMemList(d, k); | |
} | |
} | |
} | |
function exitGroup(c, e) { | |
var b = jGroupUriToId(c); | |
var a = jMemUriToId(e.MemberUri); | |
var d = b + "_" + a; | |
__group_mem.remove(d); | |
var a = jMemUriToId(e.MemberUri); | |
chatWinDelMem(b, a); | |
} | |
function apvResult(d) { | |
var c = jGroupUriToId(d.gUri); | |
var a = __groupMap.get(c); | |
if (a) { | |
a.apvRs = d.r; | |
extendGroupItem(a); | |
__groupTree.updateGroupItem(a); | |
} | |
if (d.r == 1) { | |
__groupTree.updateGroupItem(a); | |
} else { | |
if (d.r == 2) {} | |
} | |
var e = c + "_" + b; | |
__group_mem.remove(e); | |
var b = jMemUriToId(memItem.MemberUri); | |
chatWinDelMem(c, b); | |
} | |
function chatWinDelMem(d, c) { | |
var b = __chatWindowMap.get("group_" + d); | |
if (b) { | |
var a = b.groupMemTree; | |
memItem = b.memMap.get(c); | |
a.deleteBuddyItem(d, memItem); | |
} | |
} | |
function initGroupMemList(e, j) { | |
var f = jGroupUriToId(e); | |
var c = jMemUriToId(j.MemberUri); | |
var b = f + "_" + c; | |
var i = __group_mem.get(b); | |
if (i == null) { | |
i = new GroupMemDefault(); | |
$.extend(i, j); | |
extendMemItem(i); | |
__group_mem.put(b, i); | |
} else { | |
$.extend(i, j); | |
extendMemItem(i); | |
} | |
var g = __chatWindowMap.get("group_" + f); | |
if (g) { | |
var h = g.groupMemTree; | |
var a = g.memMap.get(j.id); | |
if (a) { | |
$.extend(i, a); | |
a = i; | |
} else { | |
g.memMap.put(i.id, i); | |
} | |
var d = h.getBuddyItem(f, i.id); | |
if (d.size() > 0) { | |
h.updateBuddyItem(f, i); | |
} else { | |
h.insertBuddyItem(i, f); | |
} | |
} | |
} | |
function handleInviteGroup(b) { | |
var a = new Object(); | |
a.success = function(c, d) { | |
handleInviteGroupSuccess(c, d, b); | |
}; | |
a.error = function(c, d) { | |
handleInviteGroupError(c, d, b); | |
}; | |
a.url = formatString(opInviteJoinUrl, __version++); | |
a.type = "POST"; | |
a.data = { | |
"ssid": __sessionId, | |
"inteeNn": __user.nn, | |
"gUri": b.gUri, | |
"iUri": b.iUri, | |
"interNn": b.iNn | |
}; | |
a.dataType = "json"; | |
a.cache = false; | |
$.ajax(a); | |
} | |
function handleInviteGroupSuccess(b, d, c) { | |
var a = b; | |
if (typeof a.rc == "number" && a.rc == 200) { | |
startGroupSubscribe(c.gUri, function() { | |
var f = new GroupDefault(); | |
f.id = jGroupUriToId(c.gUri); | |
f.n = c.gN; | |
f.gUri = c.gUri; | |
f.crc = "1234"; | |
f.i = 3; | |
extendGroupItem(f); | |
if (__groupMap.containsKey(f.id)) { | |
__groupMap.remove(f.id); | |
__groupTree.deleteGroupItem(f.id); | |
} | |
__groupMap.put(f.id, f); | |
__groupTree.insertGroupItem(f); | |
$.popWinMsg({ | |
gName: f.n, | |
group: f, | |
msgN: "msg8", | |
openWin: openGroupChatWindow | |
}); | |
var e = __chatWindowMap.get("group_" + f.id); | |
if (e && e.isShow) { | |
openGroupChatWindow(this, f.id); | |
} | |
}); | |
} else { | |
if (typeof a.rc == "number" && a.rc == 437) { | |
if (__user.isVip) { | |
$.popWinMsg({ | |
msgN: "msg11" | |
}); | |
} else { | |
$.popWinMsg({ | |
msgN: "msg12", | |
isClose: false | |
}); | |
} | |
} | |
} | |
} | |
var __higRetry = 0; | |
function handleInviteGroupError(a, c, b) { | |
if (__higRetry < 3) { | |
__higRetry++; | |
window.setTimeout(function() { | |
handleInviteGroup(b); | |
}, 500); | |
} else { | |
__higRetry = 0; | |
alert("处理加入群失败,请重新登录"); | |
} | |
} | |
function approveInviteGroup(e, c) { | |
var b = new Object(); | |
var a = ""; | |
for (var d = 0; d < e.JoinItem.length; d++) { | |
a += e.JoinItem[d].Uri + "-" + e.JoinItem[d].nn + "|"; | |
} | |
b.success = function(f, g) { | |
approveInviteGroupSuccess(f, g, e); | |
}; | |
b.error = handleInviteGroupError; | |
b.url = formatString(approveInviteUrl, __version++); | |
b.type = "POST"; | |
b.data = { | |
"ssid": __sessionId, | |
"appAd": c, | |
"gUri": e.gUri, | |
"iNn": e.iNn, | |
"iR": e.iR, | |
"iUri": e.iUri, | |
"joinItem": a | |
}; | |
b.dataType = "json"; | |
b.cache = false; | |
$.ajax(b); | |
} | |
function approveInviteGroupSuccess(a, c, b) {} | |
function approveInviteGroupError(a, c, b) {} | |
function handleApplication(c, a) { | |
var b = {}; | |
b.success = function(d, e) { | |
handleApplicationSuccess(d, e, c); | |
}; | |
b.error = handleApplicationError; | |
b.url = formatString(PGHandleApplicationUrl, __version++); | |
b.type = "POST"; | |
b.data = { | |
"ssid": __sessionId, | |
"appAd": a, | |
"gUri": c.GroupUri, | |
"note": "", | |
"userUri": c.ApplyGroupUserEntity[0].Uri | |
}; | |
b.dataType = "json"; | |
b.cache = false; | |
$.ajax(b); | |
} | |
function handleApplicationSuccess(a, c, b) { | |
if (typeof a.rc == "number" && a.rc == 432) { | |
$.popWinMsg({ | |
msgN: "msg14", | |
isClose: false | |
}); | |
} | |
} | |
function handleApplicationError(a, c, b) {} | |
function getGroupPerInfo(a) { | |
var b = new Object(); | |
b.success = getGroupPerInfoSuccess; | |
b.error = getGroupPerInfoError; | |
b.url = formatString(getGroupPerInfoUrl, __version++); | |
b.type = "POST"; | |
b.data = { | |
"ssid": __sessionId, | |
"gUri": a | |
}; | |
b.dataType = "json"; | |
b.cache = false; | |
$.ajax(b); | |
} | |
var __gpiRetry = 0; | |
function getGroupPerInfoSuccess(d, f) { | |
var a = d; | |
if (typeof a.rc == "number" && a.rc == 200) { | |
var e = a.rv; | |
for (var c = 0; c < e.length; c++) { | |
var b = e[c]; | |
updateGroupInfo(b.rv, false, true); | |
} | |
} else { | |
if (typeof a.rc == "number" && a.rc == 310) { | |
redirectLogin(); | |
} else { | |
if (__gpiRetry < 3) { | |
__gpiRetry++; | |
} else { | |
__gpiRetry = 0; | |
alert(formatString("获取群组个人信息失败,请重新登录。错误代码:{0}", typeof a.rc == "number" ? a.rc : 500)); | |
redirectLogin(); | |
} | |
} | |
} | |
} | |
function getGroupPerInfoError(a, c, b) { | |
if (__gpiRetry < 3) { | |
__gpiRetry++; | |
} else { | |
__gpiRetry = 0; | |
alert(formatString("获取用户群组个人信息失败,请重新登录。错误原因:{0}", c)); | |
redirectLogin(); | |
} | |
} | |
function startGroupSubscribe(b, c) { | |
var a = new Object(); | |
a.success = function(d, e) { | |
startGroupSubscribeSuccess(c, b, d, e); | |
}; | |
a.error = function(d, f, e) { | |
startGroupSubscribeError(d, f, e, b); | |
}; | |
a.url = formatString(GroupSubscribeUrl, __version++); | |
a.type = "POST"; | |
a.data = { | |
"ssid": __sessionId, | |
"GroupUris": b, | |
"Type": 1 | |
}; | |
a.dataType = "json"; | |
a.cache = false; | |
$.ajax(a); | |
} | |
var __sgssRetry = 0; | |
function startGroupSubscribeSuccess(e, c, b, d) { | |
var a = b; | |
if (typeof a.rc == "number" && a.rc == 200) { | |
if (typeof e == "function") { | |
e(); | |
} | |
} else { | |
if (typeof a.rc == "number" && a.rc == 310) { | |
redirectLogin(); | |
} else { | |
if (__sgssRetry < 3) { | |
__sgssRetry++; | |
window.setTimeout(function() { | |
startGroupSubscribe(c); | |
}, 500); | |
} else { | |
__sgssRetry = 0; | |
alert(formatString("由于网络原因,订阅群组失败,请重新登录。错误代码:{0}", typeof a.rc == "number" ? a.rc : 500)); | |
redirectLogin(); | |
} | |
} | |
} | |
} | |
function startGroupSubscribeError(a, d, b, c) { | |
if (__sgssRetry < 3) { | |
__sgssRetry++; | |
window.setTimeout(function() { | |
startGroupSubscribe(c); | |
}, 500); | |
} else { | |
__sgssRetry = 0; | |
alert(formatString("订阅群组失败,请重新登录。错误原因:{0}", d)); | |
redirectLogin(); | |
} | |
} | |
function getCred() { | |
var a = new Object(); | |
a.success = getCredSuccess; | |
a.error = getCredError; | |
a.url = formatString(getCredUrl, __version++); | |
a.type = "POST"; | |
a.data = { | |
"ssid": __sessionId | |
}; | |
a.dataType = "json"; | |
a.cache = false; | |
$.ajax(a); | |
} | |
var __gcRetry = 0, | |
__gcRetry1 = 0; | |
function getCredSuccess(c, d) { | |
var a = c; | |
if ( !! a && typeof a.rc == "number" && a.rc == 200) { | |
__user.c = a.rv.c; | |
__user.c = encodeURIComponent(__user.c); | |
if (__user.c) { | |
var b = formatString(__mySpaceUrl, __user.c); | |
$("#myspace_icon") | |
.attr("href", b); | |
$("#myspace") | |
.attr("href", b); | |
} | |
__gcRetry1 = 0; | |
} else { | |
if (__gcRetry1 < 3) { | |
__gcRetry1++; | |
getCred(); | |
} | |
} | |
__gcRetry = 0; | |
} | |
function getCredError(a, c, b) { | |
if (__gcRetry < 3) { | |
__gcRetry++; | |
getCred(); | |
} | |
} | |
var code_LoadingPanel = null; | |
var codeImgFlag = true; | |
function createCcpUI(j, d) { | |
divMask.removeClass("none"); | |
if ($("#codeDiv") | |
.length > 0) { | |
$("#codeDiv") | |
.removeClass("none"); | |
$("#txtCode") | |
.focus(); | |
return; | |
} | |
var k = $('<div id="codeDiv" class="hint" style="top: 10px;z-index: 10002;">'); | |
var f = $("<h3><span></span><i></i><b>输入验证码</b></h3>"); | |
var b = $('<div class="hint_btn_new1"><a href="" class="mr5">确 定</a></div>'); | |
var g = $('<div class="hint_cont_new1 pb8"></div>'); | |
var e = $('<div class="modify_new2"><label for="textfield">' + d + "</label><br /></div>"); | |
if (j == 0) { | |
e.append($('<div class="input_text_c"><input type="text" name="txtCode" id="txtCode" class="frame_246-24 w125" maxlength="4" />' + '<img id="ccpimg"title="如果您无法识别验证码,点击图片更换" src="images/login20120903/ccploading.png" /><a id="change_link"' + 'href="#">看不清,换一张</a><p id="error" class="none">输入的验证码有误,请重新输入</p></div>')); | |
} else { | |
if (j == 1) { | |
e.append($('<div class="input_text_c"><input type="text" name="txtCode" id="txtCode" class="frame_246-24 w125" maxlength="4" />' + '<p id="error" class="none">输入的验证码有误,请重新输入</p></div>')); | |
} | |
} | |
g.append(e) | |
.append(b); | |
k.append(f) | |
.append(g); | |
k.appendTo(document.body); | |
code_LoadingPanel = $.fn.loadingPanel({ | |
target: "codeDiv" | |
}); | |
var i = getViewportCenter(); | |
var a = { | |
"top": i.y - k.height() / 2, | |
"left": i.x - k.width() / 2 | |
}; | |
if (a.top < 50) { | |
a.top = 50; | |
} | |
if (a.left < 50) { | |
a.left = 50; | |
} | |
k.css({ | |
"top": a.top + "px", | |
"left": a.left + "px" | |
}); | |
b.find("a") | |
.bind("click", function(c) { | |
if (j == 0) { | |
validateCode(); | |
} else { | |
if (j == 1) {} | |
} | |
return false; | |
}); | |
f.find("span") | |
.bind("click", function(c) { | |
$("#codeDiv") | |
.addClass("none"); | |
divMask.addClass("none"); | |
}); | |
if (j == 0) { | |
$("#change_link") | |
.bind("click", function() { | |
resetCcp(); | |
return false; | |
}); | |
setTimeout(function() { | |
resetCcp(); | |
}, 500); | |
} | |
} | |
function resetCcp() { | |
$("#ccpimg") | |
.attr("src", formatString(getPicCodeUrl, "ccpsession", Math.random())); | |
return false; | |
} | |
function validateCode() { | |
code_LoadingPanel.show(); | |
var a = {}; | |
a.type = "POST"; | |
a.dataType = "json"; | |
a.url = formatString(ValidatePicCodeUrl, __version++); | |
a.data = { | |
"Ccp": $("#txtCode") | |
.val() | |
}; | |
a.cache = false; | |
a.success = function(b) { | |
code_LoadingPanel.hide(); | |
if (b.rc == 200) { | |
$("#codeDiv") | |
.addClass("none"); | |
divMask.addClass("none"); | |
codeImgFlag = false; | |
} else { | |
$("#error") | |
.removeClass("none"); | |
resetCcp(); | |
} | |
$("#txtCode") | |
.val(""); | |
}; | |
a.error = function() { | |
code_LoadingPanel.hide(); | |
$("#txtCode") | |
.val("") | |
.focus(); | |
$("#error") | |
.removeClass("none"); | |
resetCcp(); | |
}; | |
$.ajax(a); | |
} | |
function sendSmsCode() { | |
var a = {}; | |
a.type = "POST"; | |
a.dataType = "json"; | |
a.url = formatString(GetSmsCodeCodeUrl, __version++); | |
a.data = { | |
"mn": __user.mn | |
}; | |
a.cache = false; | |
a.success = function(b) { | |
if (b.rc == 0) {} else {} | |
}; | |
a.error = function() {}; | |
$.ajax(a); | |
} | |
var tryGetALInfoTimes = 0; | |
function getALInfo() { | |
var a = {}; | |
a.url = formatString(getALInfoUrl, __version++); | |
a.type = "POST"; | |
a.dataType = "json"; | |
a.data = { | |
"ssid": __sessionId | |
}; | |
a.cache = false; | |
a.success = getALInfoSuccess; | |
a.error = getALInfoError; | |
$.ajax(a); | |
} | |
function getALInfoSuccess(f) { | |
if ( !! f && f.rc == 200) { | |
tryGetALInfoTimes = 0; | |
var e = f.rv; | |
var d = $("#phone_list_content"), | |
a; | |
$(".phone_leisure") | |
.addClass("none"); | |
d.removeClass("none"); | |
for (var c = 0, b = e.length; c < b; c++) { | |
a = createItem(e[c]); | |
d.append(a); | |
} | |
} else { | |
if (tryGetALInfoTimes < 3) { | |
getALInfo(); | |
tryGetALInfoTimes++; | |
} | |
} | |
} | |
function getALInfoError() { | |
if (tryGetALInfoTimes < 3) { | |
getALInfo(); | |
tryGetALInfoTimes++; | |
} | |
} | |
function initTXLlist() { | |
var a = $("#phone_list_content"); | |
a.bind("mouseover", function(d) { | |
d = window.event || d; | |
var c = d.target || d.srcElement; | |
var b = $(c) | |
.closest("li"); | |
b.addClass("hover"); | |
stopPropagation(d); | |
preventDefault(d); | |
}) | |
.bind("mouseout", function(d) { | |
d = window.event || d; | |
var c = d.target || d.srcElement; | |
var b = $(c) | |
.closest("li"); | |
b.removeClass("hover"); | |
stopPropagation(d); | |
preventDefault(d); | |
}) | |
.bind("click", function(h) { | |
h = window.event || h; | |
var g = h.target || h.srcElement; | |
var b = $(g) | |
.closest("li"); | |
var c = b.attr("guid"); | |
var d = b.attr("uid"); | |
var f = b.attr("mn"); | |
if (g.className.toLowerCase() == "friend_control") { | |
$.increaseCounter(500400026); | |
createPopForTXL(b, c); | |
} else { | |
if (g.className.toLowerCase() == "friend_add") { | |
$.increaseCounter(500400024); | |
AddBuddy({ | |
a: "1", | |
u: f, | |
successCallback2: function(e) { | |
if (typeof e.rc == "number" && (e.rc == 521 || e.rc == 200)) { | |
$.increaseCounter(500400025); | |
$(g) | |
.remove(); | |
} | |
} | |
}); | |
} else { | |
if (g.className.toLowerCase() == "friend_news") { | |
$.increaseCounter(500400023); | |
createFreeSMSTab(c, d, f); | |
} | |
} | |
} | |
stopPropagation(h); | |
preventDefault(h); | |
}) | |
.bind("dblclick", function(i) { | |
i = window.event || i; | |
var h = i.target || i.srcElement; | |
var c = $(h) | |
.closest("h5"); | |
if (c.length > 0) { | |
var b = $(h) | |
.closest("li"); | |
var d = b.attr("guid"); | |
var f = b.attr("uid"); | |
var g = b.attr("mn"); | |
if (!isMobileNoReg.test(g) || __user.ca.toLowerCase() != "cmcc") { | |
createAddTXLTab(d); | |
} else { | |
createFreeSMSTab(d, f, g); | |
} | |
} | |
stopPropagation(i); | |
preventDefault(i); | |
}); | |
} | |
function createItem(i) { | |
var d = new PhoneDefault(); | |
$.extend(d, i); | |
__phoneMap.put(d.GUID.toString(), d); | |
var a = isMobileNoRegForTXL.test(d.HMobile) ? d.HMobile : (isMobileNoRegForTXL.test(d.OMobile) ? d.OMobile : ((isMobileNoRegForTXL.test(d.OPhone) ? d.OPhone : ((isMobileNoRegForTXL.test(d.HPhone) ? d.HPhone : (d.HMobile || d.OMobile || d.OPhone || d.HPhone)))))); | |
var h = d.FN.length; | |
var f = h > 8 ? cnSubstr(a, 11, false) : cnSubstr(a, 21 - h, false); | |
var g = $('<li guid="' + d.GUID + '" uid="" mn="' + a + '" class="" style="cursor:default;"><div class="friends_info"><h5><strong class="BuddyList_Container"><b>●</b></strong>' + cnSubstr(d.FN, 8, false) + "<span>" + f + "</span></h5></div>" + '<div class="friend_control"></div></li>'); | |
if (isMobileNoRegForTXL.test(a)) { | |
if (a.indexOf("+") == 0) { | |
a = a.substr(3); | |
g.find(".friends_info span") | |
.text(a); | |
g.attr("mn", a); | |
} | |
if (__user.ca.toLowerCase() == "cmcc") { | |
d.tel = { | |
"uid": "", | |
"mn": a | |
}; | |
g.append('<div class="friend_news" title="联系对方">'); | |
} | |
} | |
d.arr = [], len = 0; | |
if (isMobileNoReg.test(a)) { | |
var c, e = false; | |
function b(j) { | |
if (isMobileNoRegForTXL.test(j)) { | |
if (j.indexOf("+") == 0) { | |
j = j.substr(3); | |
} | |
c = isBuddy(j); | |
if (!e && !! c) { | |
if (g.attr("mn") != j) { | |
d.arr[len++] = "|" + g.attr("mn"); | |
g.find(".friends_info span") | |
.text(j); | |
g.attr("mn", j); | |
} | |
g.attr("uid", c); | |
if ( !! d.tel) { | |
d.tel.uid = c; | |
d.tel.mn = j; | |
} | |
e = true; | |
} else { | |
if (g.attr("mn") != j) { | |
d.arr[len++] = c + "|" + j; | |
} | |
} | |
} | |
} | |
b(d.HMobile); | |
b(d.OMobile); | |
b(d.OPhone); | |
b(d.HPhone); | |
if (!e) { | |
g.append('<div class="friend_add" title="加为好友"></div>'); | |
} | |
} | |
return g; | |
} | |
function delAlinfo(a) { | |
var c = $("#phone_list_content"); | |
var b = {}; | |
b.type = "POST"; | |
b.dataType = "json"; | |
b.data = { | |
"ssid": __sessionId, | |
"guid": a | |
}; | |
b.url = formatString(deleteALInfoOneUrl, __version++); | |
b.cache = false; | |
b.success = function(d) { | |
c.find('li[guid="' + a + '"]') | |
.remove(); | |
if (c.find("li") | |
.length <= 0) { | |
c.addClass("none"); | |
c.prev() | |
.removeClass("none"); | |
} | |
}; | |
b.error = function() {}; | |
$.ajax(b); | |
} | |
function isBuddy(e) { | |
var c = "", | |
d = __contactMap.values(); | |
if (e == __user.mn) { | |
c = __user.uid; | |
} | |
for (var b = 0, a = d.length; b < a; b++) { | |
var f = d[b]; | |
if (e == f.mn) { | |
c = f.uid; | |
break; | |
} | |
} | |
return c; | |
} | |
var PopForTXLFlag = false; | |
function createPopForTXL(b, g) { | |
var k = $("#popForTongXunLu"), | |
e = k.find("ul"); | |
k.removeClass("none"); | |
e.attr("guid", g); | |
e.find('li[t=""]') | |
.remove(); | |
var f = __phoneMap.get(g); | |
if (f.arr.length > 0) { | |
var d, l; | |
for (var c = 0, a = f.arr.length; c < a; c++) { | |
d = f.arr[c].split("|"); | |
l = $('<li t="" uid="' + d[0] + '" mn="' + d[1] + '"><a class="icon_contact" href="javascript:;">' + d[1] + "</a></li>"); | |
k.find("ul") | |
.prepend(l); | |
} | |
} | |
e.find("li") | |
.bind("mouseover", function() { | |
this.className = "hover"; | |
}) | |
.bind("mouseout", function() { | |
this.className = ""; | |
}); | |
if (!PopForTXLFlag) { | |
PopForTXLFlag = true; | |
k.bind("mouseover", function(i) { | |
clearTimeout(__tmpTimer); | |
k.removeClass("none"); | |
}) | |
.bind("mouseout", function(i) { | |
if (isMouseOut(this, i)) { | |
clearTimeout(__tmpTimer); | |
k.addClass("none"); | |
} | |
}); | |
e.bind("click", function(o) { | |
o = window.event || o; | |
var n = o.target || o.srcElement; | |
var i = $(n) | |
.closest("li"); | |
var j = $(this) | |
.attr("guid"); | |
var p = __phoneMap.get(j); | |
switch (i.attr("t") | |
.trim()) { | |
case "del": | |
$.increaseCounter(500400020); | |
$.fn.fetionHintWindow({ | |
modal: true | |
}) | |
.show('你确定要删除"' + p.FN + '"吗', "删除联系人", "OKCancel", function() { | |
$.increaseCounter(500400021); | |
delAlinfo(j); | |
}, function() { | |
$.increaseCounter(500400022); | |
}, "images/icon_wenhao.png"); | |
break; | |
case "edit": | |
$.increaseCounter(500400017); | |
createAddTXLTab(j); | |
break; | |
default: | |
createFreeSMSTab(j, i.attr("uid") | |
.trim(), i.attr("mn") | |
.trim()); | |
break; | |
} | |
k.addClass("none"); | |
stopPropagation(o); | |
preventDefault(o); | |
}); | |
} | |
var h = $(b); | |
var m = h.offset(); | |
if (m.top + k.height() > getViewportHeight() - 20) { | |
m.top = m.top - k.height(); | |
} | |
k.css({ | |
"top": m.top + h.height(), | |
"left": m.left - (k.outerWidth() - h.width()) | |
}); | |
clearTimeout(__tmpTimer); | |
__tmpTimer = setTimeout(function() { | |
k.addClass("none"); | |
clearTimeout(__tmpTimer); | |
}, 2000); | |
} | |
var imageCarousel = function() { | |
function d(f, j, h) { | |
if (f.forEach) { | |
f.forEach(j, h); | |
} else { | |
for (var g = 0, e = f.length; g < e; g++) { | |
j.call(h, f[g], g, f); | |
} | |
} | |
} | |
function a(f) { | |
b(f, 0); | |
for (var e = 0; e < 20; e++) { | |
(function() { | |
var g = e * 5; | |
setTimeout(function() { | |
b(f, g); | |
}, e * 25); | |
})(e); | |
} | |
} | |
function c(f) { | |
for (var e = 0; e <= 20; e++) { | |
(function() { | |
var g = 100 - e * 5; | |
setTimeout(function() { | |
b(f, g); | |
}, e * 25); | |
})(e); | |
} | |
} | |
function b(e, f) { | |
if (e.filters) { | |
e.style.filter = "alpha(opacity=" + f + ")"; | |
} else { | |
e.style.opacity = f / 100; | |
} | |
} | |
return { | |
scroll: function(j, i, g, l) { | |
var f = this; | |
var k = 0; | |
var h = 0; | |
this.info = $("#banner_info"); | |
this.img = document.getElementById(i) | |
.getElementsByTagName("a"); | |
d(this.img, function(o, n, m) { | |
if (n != 0) { | |
b(o, 0); | |
} | |
}); | |
var e = setInterval(function() { | |
if (k < j - 1) { | |
k++; | |
} else { | |
k = 0; | |
} | |
f.fade(k, h); | |
h = k; | |
}, g); | |
document.getElementById(i) | |
.onmouseover = function() { | |
clearInterval(e); | |
}; | |
document.getElementById(i) | |
.onmouseout = function() { | |
e = setInterval(function() { | |
if (k < j - 1) { | |
k++; | |
} else { | |
k = 0; | |
} | |
f.fade(k, h); | |
h = k; | |
}, g); | |
}; | |
}, | |
fade: function(e, g) { | |
if (e == g) { | |
return; | |
} | |
var f = this; | |
c(f.img[g]); | |
a(f.img[e]); | |
this.info.html('<a href="' + f.img[e].href + '" target="' + f.img[e].target + '"><img src="' + f.img[e].firstChild.src + '" title="' + f.img[e].firstChild.title + '" alt="' + f.img[e].firstChild.title + '" /></a>'); | |
$("#banner_info > a") | |
.bind("click", function() { | |
$.increaseCounter(500900001); | |
}); | |
} | |
}; | |
}(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var __isSmsOnline = /^0+.0+:0+:0+$/; | |
function jCompactUri(d) { | |
this.mobileNoOrSid = 0; | |
this.isRobot = false; | |
this.logicalPool = -1; | |
this.isMobileNo = false; | |
if (!d) { | |
return; | |
} | |
if (d.startsWith("tel:")) { | |
this.mobileNoOrSid = parseMobileNo(d.substring(4)); | |
this.isMobileNo = true; | |
} else { | |
if (d.startsWith("sip:")) { | |
var a = d.indexOf("@"); | |
var f = d.indexOf(";p="); | |
if (a < 0) { | |
this.mobileNoOrSid = parseInt(d.substring(4)); | |
} else { | |
this.mobileNoOrSid = parseInt(d.substr(4, a - 4)); | |
if (f > 0) { | |
var b = d.substring(f + 3); | |
var e = b.indexOf(";"); | |
var c; | |
if (e < 0) { | |
c = b; | |
} else { | |
c = b.substr(0, e); | |
if (b.toLowerCase() | |
.indexOf("t=robot") >= 0) { | |
this.isRobot = true; | |
} | |
} | |
this.logicalPool = parseInt(c); | |
} else { | |
_logicalPool = -1; | |
} | |
} | |
} | |
} | |
} | |
function jGroupUriToId(b) { | |
var a = b.replace("sip:PG", ""); | |
return a.substr(0, a.indexOf("@")); | |
} | |
function jMemUriToId(b) { | |
var a = b.replace("sip:", ""); | |
return a.substr(0, a.indexOf("@")); | |
} | |
function parseMobileNo(b) { | |
var a = 0; | |
if (b.startsWith("-")) { | |
throw new Error("Unexcepted MobileNo: " + b); | |
} | |
if (b.startsWith("+86")) { | |
a = parseInt(b.substring(3)); | |
} else { | |
if (b.startsWith("0086")) { | |
a = parseInt(b.substring(4)); | |
} else { | |
if (b.startsWith("86")) { | |
a = parseInt(b.substring(2)); | |
} else { | |
if (b.startsWith("852")) { | |
a = parseInt("-900" + b); | |
} else { | |
if (b.startsWith("00")) { | |
a = parseInt("-9" + b); | |
} else { | |
if (b.startsWith("65")) { | |
a = parseInt("-900" + b); | |
} else { | |
a = parseInt(b); | |
} | |
} | |
} | |
} | |
} | |
} | |
return a; | |
} | |
function getBuddyOrder(a) { | |
if (!a) { | |
return -1; | |
} | |
var c = 0; | |
var b = parseInt(a.pb); | |
if (a.rs == 1) { | |
if (b == 0) { | |
if ((a.isCM && __isSmsOnline.test(a.sms) || (a.isCT || a.isCU))) { | |
if (a.isVip) { | |
c = 7; | |
} else { | |
c = (a.ct == 1) ? 9 : 8; | |
} | |
} else { | |
if (a.isVip) { | |
c = 10; | |
} else { | |
c = (a.ct == 1) ? 9 : 11; | |
} | |
} | |
} else { | |
if (b > 0) { | |
c = (a.isVip ? 1 : 2); | |
} | |
} | |
} else { | |
if (a.rs == 2) { | |
if (a.ct == 1) { | |
c = 19; | |
} else { | |
c = (a.isVip) ? 17 : 18; | |
} | |
} else { | |
if (a.rs == 0) { | |
if (a.ct == 2) { | |
if (b > 0) { | |
c = a.isVip ? 12 : 13; | |
} else { | |
c = a.isVip ? 23 : 24; | |
} | |
} else { | |
if (a.ct == 1) { | |
c = 16; | |
} else { | |
c = a.isVip ? 14 : 15; | |
} | |
} | |
} else { | |
if (b > 0) { | |
c = a.isVip ? 12 : 13; | |
} else { | |
c = a.isVip ? 23 : 24; | |
} | |
} | |
} | |
} | |
if (a.bss == "0" && a.ct != 1) { | |
c = 25; | |
} | |
return c; | |
} | |
function buddyComparator(e, d) { | |
if (!e && !d) { | |
return 0; | |
} | |
if (e && !d) { | |
return 1; | |
} | |
if (!e && d) { | |
return -1; | |
} | |
var c, b; | |
if (e.orderNo) { | |
c = e.orderNo; | |
} else { | |
c = getBuddyOrder(e); | |
} | |
if (d.orderNo) { | |
b = d.orderNo; | |
} else { | |
b = getBuddyOrder(d); | |
} | |
if (c == b) { | |
var a = (e.displayName) | |
.localeCompare(d.displayName); | |
if (a == 0 && e.uri && d.uri) { | |
return (e.uri) | |
.localeCompare(d.uri); | |
} | |
return a; | |
} | |
return c - b; | |
} | |
function buddyListComparator(b, d) { | |
if (b.id == d.id) { | |
return 0; | |
} | |
if (b.id == 0) { | |
return -1; | |
} | |
if (d.id == 0) { | |
return 1; | |
} | |
if (b.id == -1) { | |
return 1; | |
} | |
if (d.id == -1) { | |
return -1; | |
} | |
var a = b.n; | |
var c = d.n; | |
return a.localeCompare(c); | |
} | |
var ContactType = { | |
Unknown: 0, | |
FetionBuddy: 1, | |
MobileBuddy: 2, | |
ChatFriend: 4, | |
Robot: 8 | |
}; | |
function getContactType(a) { | |
var b = ContactType.Unknown; | |
switch (a.ct) { | |
case -1: | |
b = ContactType.Unknown; | |
break; | |
case 0: | |
b = ContactType.FetionBuddy; | |
break; | |
case 1: | |
b = ContactType.MobileBuddy; | |
break; | |
case 2: | |
b = ContactType.ChatFriend; | |
break; | |
default: | |
break; | |
} | |
if (a.ca && a.ca.toLocaleUpperCase() == "ROBOT") { | |
b = ContactType.Robot; | |
} | |
return b; | |
} | |
var ContactStatus = { | |
Unknown: 0, | |
Online: 1, | |
SmsOnline: 2, | |
Offline: 4, | |
BlockList: 8, | |
Busy: 16, | |
Away: 32, | |
PC: 64, | |
Mobile: 128, | |
Verify: 256, | |
Refuse: 512, | |
CloseService: 1024, | |
PCOnline: 64 | 1, | |
PCBusy: 64 | 16, | |
PCAway: 64 | 32, | |
MobileOnline: 128 | 1, | |
MobileBusy: 128 | 16, | |
MobileAway: 128 | 32, | |
PCOnline_Bklist: 64 | 1 | 8, | |
PCBusy_Bklist: 64 | 16 | 8, | |
PCAway_Bklist: 64 | 32 | 8, | |
MobileOnline_Bklist: 128 | 1 | 8, | |
MobileBusy_Bklist: 128 | 16 | 8, | |
MobileAway_Bklist: 128 | 32 | 8, | |
SmsOnline_Bklist: 2 | 8, | |
Offline_Bklist: 4 | 8, | |
Verify_Bklist: 256 | 8, | |
Refuse_Bklist: 512 | 8, | |
CloseService_Bklist: 1024 | 8 | |
}; | |
function isOnlineContact(a) { | |
var b = a.status; | |
if ((b & ContactStatus.Online) > 0 || (b & ContactStatus.Busy) > 0 || (b & ContactStatus.Away) > 0) { | |
return true; | |
} | |
return false; | |
} | |
function getContactStatus(b) { | |
if (!b) { | |
return ContactStatus.Unknown; | |
} | |
var c = ContactStatus.Unknown; | |
if (b.rs == 1 && b.ct == 0) { | |
if (b.bss == "0" && !b.mn) { | |
c = ContactStatus.CloseService; | |
if (b.isBk == 1) { | |
c |= ContactStatus.BlockList; | |
} | |
} else { | |
var a = parseInt(b.pb); | |
if (a == 0) { | |
if (__isSmsOnline.test(b.sms)) { | |
if (b.isBk == 1) { | |
c = ContactStatus.SmsOnline_Bklist; | |
} else { | |
c = ContactStatus.SmsOnline; | |
} | |
} else { | |
if (b.isBk == 1) { | |
c = ContactStatus.Offline_Bklist; | |
} else { | |
c = ContactStatus.Offline; | |
if (b.ca.toLowerCase() == "ct" || b.ca.toLowerCase() == "cucc") { | |
c = ContactStatus.SmsOnline; | |
} | |
} | |
} | |
} else { | |
if (a > 0) { | |
if (a >= 400 && a < 500) { | |
c = ContactStatus.Online; | |
} else { | |
if (a < 400) { | |
c = ContactStatus.Away; | |
} else { | |
if (a >= 500) { | |
c = ContactStatus.Busy; | |
} | |
} | |
} | |
if (b.isBk == 1) { | |
c |= ContactStatus.BlockList; | |
} | |
if (b.dt == "PC" || b.dt == "WEB" || b.dt == "Robot") { | |
c |= ContactStatus.PC; | |
} else { | |
c |= ContactStatus.Mobile; | |
} | |
} | |
} | |
} | |
} else { | |
if (b.rs == 1 && b.ct == 1) { | |
if (b.isBk == 1) { | |
c = ContactStatus.SmsOnline_Bklist; | |
} else { | |
if (b.cas == 2) { | |
c = ContactStatus.Offline; | |
} else { | |
c = ContactStatus.SmsOnline; | |
} | |
} | |
} else { | |
if (b.rs == 0 && b.ct != 2) { | |
if (b.isBk == 1) { | |
c = ContactStatus.Verify_Bklist; | |
} else { | |
c = ContactStatus.Verify; | |
} | |
} else { | |
if (b.rs == 2 && b.ct != 2) { | |
if (b.isBk == 1) { | |
c = ContactStatus.Refuse_Bklist; | |
} else { | |
c = ContactStatus.Refuse; | |
} | |
} else { | |
if (b.ct == 2) { | |
var a = parseInt(b.pb); | |
if (a > 0) { | |
c = ContactStatus.Online; | |
} else { | |
c = ContactStatus.Offline; | |
} | |
if (b.isBk == 1) { | |
c |= ContactStatus.BlockList; | |
} | |
if (b.bss == "0") { | |
c |= ContactStatus.CloseService; | |
} | |
} | |
} | |
} | |
} | |
} | |
return c; | |
} | |
var ClassNameSuffixes = new jHashMap(); | |
ClassNameSuffixes.put(ContactStatus.Unknown, "offline"); | |
ClassNameSuffixes.put(ContactStatus.Online, "pc-online"); | |
ClassNameSuffixes.put(ContactStatus.SmsOnline, "msg-online"); | |
ClassNameSuffixes.put(ContactStatus.Offline, "offline"); | |
ClassNameSuffixes.put(ContactStatus.BlockList, "pc-bklist"); | |
ClassNameSuffixes.put(ContactStatus.Busy, "pc-busy"); | |
ClassNameSuffixes.put(ContactStatus.Away, "pc-away"); | |
ClassNameSuffixes.put(ContactStatus.Verify, "verify"); | |
ClassNameSuffixes.put(ContactStatus.Verify_Bklist, "verify_bklist"); | |
ClassNameSuffixes.put(ContactStatus.Refuse, "refuse"); | |
ClassNameSuffixes.put(ContactStatus.Refuse_Bklist, "refuse_bklist"); | |
ClassNameSuffixes.put(ContactStatus.CloseService, "close"); | |
ClassNameSuffixes.put(ContactStatus.CloseService_Bklist, "close_bklist"); | |
ClassNameSuffixes.put(ContactStatus.PCOnline, "pc-online"); | |
ClassNameSuffixes.put(ContactStatus.PCBusy, "pc-busy"); | |
ClassNameSuffixes.put(ContactStatus.PCAway, "pc-away"); | |
ClassNameSuffixes.put(ContactStatus.MobileOnline, "mb-online"); | |
ClassNameSuffixes.put(ContactStatus.MobileBusy, "mb-busy"); | |
ClassNameSuffixes.put(ContactStatus.MobileAway, "mb-away"); | |
ClassNameSuffixes.put(ContactStatus.PCOnline_Bklist, "pc-bklist"); | |
ClassNameSuffixes.put(ContactStatus.PCBusy_Bklist, "pc-bklist"); | |
ClassNameSuffixes.put(ContactStatus.PCAway_Bklist, "pc-bklist"); | |
ClassNameSuffixes.put(ContactStatus.MobileOnline_Bklist, "mb-bklist"); | |
ClassNameSuffixes.put(ContactStatus.MobileBusy_Bklist, "mb-bklist"); | |
ClassNameSuffixes.put(ContactStatus.MobileAway_Bklist, "mb-bklist"); | |
ClassNameSuffixes.put(ContactStatus.SmsOnline_Bklist, "msg-bklist"); | |
ClassNameSuffixes.put(ContactStatus.Offline_Bklist, "offline-bklist"); | |
var StatusDescriptions = new jHashMap(); | |
function getContactClassName(a) { | |
var d = a.type, | |
b = a.status; | |
if (d == ContactType.ChatFriend) { | |
if ((b & ContactStatus.BlockList) == ContactStatus.BlockList) { | |
return "st-pc-bklist"; | |
} else { | |
if ((b & ContactStatus.CloseService) == ContactStatus.CloseService || (b & ContactStatus.Offline) == ContactStatus.Offline) { | |
return "offline"; | |
} else { | |
return "st-pc-online"; | |
} | |
} | |
} | |
if (d != ContactType.ChatFriend && (b & ContactStatus.CloseService) == ContactStatus.CloseService) { | |
if ((b & ContactStatus.BlockList) == ContactStatus.BlockList) { | |
return "offline-bklist"; | |
} else { | |
return "close"; | |
} | |
} | |
var e = ClassNameSuffixes.get(b); | |
if (!e) { | |
return "offline"; | |
} | |
if (b == ContactStatus.Unknown || b == ContactStatus.Verify || b == ContactStatus.Verify_Bklist || b == ContactStatus.Refuse || b == ContactStatus.Refuse_Bklist || (b & ContactStatus.Offline) == ContactStatus.Offline) { | |
if (d != ContactType.Robot) { | |
return e; | |
} | |
} | |
var c = ""; | |
switch (d) { | |
case ContactType.FetionBuddy: | |
if (a.isMobile) { | |
c = "ff-" + e; | |
} else { | |
c = "ncm-" + e; | |
} | |
break; | |
case ContactType.MobileBuddy: | |
if (a.isMobile) { | |
c = "mf-" + e; | |
} else { | |
c = "ncm-" + e; | |
} | |
break; | |
case ContactType.ChatFriend: | |
c = "st-" + e; | |
break; | |
case ContactType.Robot: | |
c = "rb-" + e; | |
break; | |
} | |
return c; | |
} | |
function getStatusDesc(a) { | |
var c = a.type, | |
b = a.status; | |
if (c == ContactType.ChatFriend) { | |
return ""; | |
} | |
if ((b & ContactStatus.Online) == ContactStatus.Online) { | |
return "在线"; | |
} | |
if ((b & ContactStatus.SmsOnline) == ContactStatus.SmsOnline) { | |
return "短信在线"; | |
} | |
if ((b & ContactStatus.Offline) == ContactStatus.Offline) { | |
return "离线"; | |
} | |
if ((b & ContactStatus.Busy) == ContactStatus.Busy) { | |
return "忙碌"; | |
} | |
if ((b & ContactStatus.Away) == ContactStatus.Away) { | |
return "离开"; | |
} | |
if ((b & ContactStatus.Verify) == ContactStatus.Verify || (b & ContactStatus.Verify_Bklist) == ContactStatus.Verify_Bklist) { | |
return "(等待对方同意添加为好友)"; | |
} | |
if ((b & ContactStatus.Refuse) == ContactStatus.Refuse || (b & ContactStatus.Refuse_Bklist) == ContactStatus.Verify_Bklist) { | |
return "(对方拒绝)"; | |
} | |
if ((b & ContactStatus.CloseService) == ContactStatus.CloseService) { | |
return "飞信服务已关闭"; | |
} | |
return ""; | |
} | |
var __entityList = new Array(); | |
__entityList["<"] = "<"; | |
__entityList[">"] = ">"; | |
__entityList["&"] = "&"; | |
function EntityReplace(g) { | |
var b = ""; | |
if (g != null) { | |
var a = g.length; | |
var d = 0; | |
while (d < a) { | |
var c = d; | |
var f = __entityList[g.charAt(c)]; | |
while (c < a && null == f) { | |
c++; | |
f = __entityList[g.charAt(c)]; | |
} | |
b += g.substr(d, c - d); | |
if (f != null) { | |
b += f; | |
c++; | |
} | |
d = c; | |
} | |
} | |
return b; | |
} | |
function EmoticonInfo(f, d, c, b, a, e) { | |
this.IsLeaf = true; | |
this.EmoticonToHtml = function(g) { | |
var h = ""; | |
if (!g) { | |
h = "images/emoticons/" + f + "." + e; | |
} else { | |
h = "images/emoticons/" + f + "." + a; | |
} | |
return "<img src='" + h + "' alt='' />"; | |
}; | |
this.Length = function() { | |
return c; | |
}; | |
} | |
function Emoticons() { | |
var g = new Array(); | |
var a = new Object(); | |
function f(j, n, l, k) { | |
var m = l.charAt(k); | |
if (k < l.length - 1) { | |
if (j[m] == null) { | |
j[m] = new Array(); | |
} | |
f(j[m], n, l, k + 1); | |
} else { | |
j[m] = n; | |
} | |
} | |
function b(k, j) { | |
if (k in a) { | |
return; | |
} | |
a[k] = j; | |
} | |
function c(l, r) { | |
var j = arguments[0]; | |
var q = arguments[1]; | |
var p = arguments[2]; | |
var o = arguments[3]; | |
var k = arguments[4]; | |
var m = EntityReplace(q); | |
var n = new EmoticonInfo(j, q, m.length, p, o, k); | |
f(g, n, m, 0); | |
b(j, m); | |
} | |
function e() { | |
c("cake", "(^)", "", "png", "gif"); | |
c("cat", "(@)", "", "png", "gif"); | |
c("cat", "(@)", "", "png", "gif"); | |
c("cat", "(@)", "", "png", "gif"); | |
c("clock", "(o)", "", "png", "gif"); | |
c("clock", "(O)", "", "png", "gif"); | |
c("clock", "(0)", "", "png", "gif"); | |
c("clock", "(o)", "", "png", "gif"); | |
c("clock", "(o)", "", "png", "gif"); | |
c("clock", "(O)", "", "png", "gif"); | |
c("clock", "(O)", "", "png", "gif"); | |
c("clock", "(0)", "", "png", "gif"); | |
c("clock", "(0)", "", "png", "gif"); | |
c("clock", "(0)", "", "png", "gif"); | |
c("cloud_rain", "(st)", "", "png", "gif"); | |
c("cloud_rain", "(ST)", "", "png", "gif"); | |
c("cloud_rain", "(st)", "", "png", "gif"); | |
c("cloud_rain", "(st)", "", "png", "gif"); | |
c("cloud_rain", "(ST)", "", "png", "gif"); | |
c("cloud_rain", "(ST)", "", "png", "gif"); | |
c("drink", ")-|", "", "png", "gif"); | |
c("coffee", "(c)", "", "png", "gif"); | |
c("coffee", "(c)", "", "png", "gif"); | |
c("coffee", "(c)", "", "png", "gif"); | |
c("coffee", "(c)", "", "png", "gif"); | |
c("coffee", "(C)", "", "png", "gif"); | |
c("coffee", "(c)", "", "png", "gif"); | |
c("computer", "(co)", "", "png", "gif"); | |
c("computer", "(CO)", "", "png", "gif"); | |
c("computer", "(co)", "", "png", "gif"); | |
c("computer", "(co)", "", "png", "gif"); | |
c("computer", "(CO)", "", "png", "gif"); | |
c("computer", "(CO)", "", "png", "gif"); | |
c("dog", "(&)", "", "png", "gif"); | |
c("dog", "(&)", "", "png", "gif"); | |
c("dog", "(&)", "", "png", "gif"); | |
c("heart", "(L)", "", "png", "gif"); | |
c("heart", "(l)", "", "png", "gif"); | |
c("heart", "(l)", "", "png", "gif"); | |
c("heart", "(l)", "", "png", "gif"); | |
c("heart", "(L)", "", "png", "gif"); | |
c("heart", "(L)", "", "png", "gif"); | |
c("heart_broken", "(U)", "", "png", "gif"); | |
c("heart_broken", "(u)", "", "png", "gif"); | |
c("heart_broken", "(u)", "", "png", "gif"); | |
c("heart_broken", "(u)", "", "png", "gif"); | |
c("heart_broken", "(U)", "", "png", "gif"); | |
c("heart_broken", "(U)", "", "png", "gif"); | |
c("hug_dude", "(})", "", "png", "gif"); | |
c("hug_dude", "(})", "", "png", "gif"); | |
c("hug_dude", "(})", "", "png", "gif"); | |
c("hug_girl", "({)", "", "png", "gif"); | |
c("hug_girl", "({)", "", "png", "gif"); | |
c("hug_girl", "({)", "", "png", "gif"); | |
c("kiss", "(k)", "", "png", "gif"); | |
c("kiss", "(K)", "", "png", "gif"); | |
c("kiss", "(k)", "", "png", "gif"); | |
c("kiss", "(k)", "", "png", "gif"); | |
c("kiss", "(K)", "", "png", "gif"); | |
c("kiss", "(K)", "", "png", "gif"); | |
c("lightbulb", "(i)", "", "png", "gif"); | |
c("lightbulb", "(I)", "", "png", "gif"); | |
c("lightbulb", "(i)", "", "png", "gif"); | |
c("lightbulb", "(i)", "", "png", "gif"); | |
c("lightbulb", "(I)", "", "png", "gif"); | |
c("lightbulb", "(I)", "", "png", "gif"); | |
c("martini", "(d)", "", "png", "gif"); | |
c("martini", "(D)", "", "png", "gif"); | |
c("martini", "(d)", "", "png", "gif"); | |
c("martini", "(d)", "", "png", "gif"); | |
c("martini", "(D)", "", "png", "gif"); | |
c("martini", "(D)", "", "png", "gif"); | |
c("mobile", "(mp)", "", "png", "gif"); | |
c("mobile", "(MP)", "", "png", "gif"); | |
c("mobile", "(mp)", "", "png", "gif"); | |
c("mobile", "(mp)", "", "png", "gif"); | |
c("mobile", "(MP)", "", "png", "gif"); | |
c("mobile", "(MP)", "", "png", "gif"); | |
c("moon", "(S)", "", "png", "gif"); | |
c("moon", "(s)", "", "png", "gif"); | |
c("moon", "(s)", "", "png", "gif"); | |
c("moon", "(s)", "", "png", "gif"); | |
c("moon", "(S)", "", "png", "gif"); | |
c("moon", "(S)", "", "png", "gif"); | |
c("music_note", "(8)", "", "png", "gif"); | |
c("music_note", "-8", "", "png", "gif"); | |
c("music_note", "(8)", "", "png", "gif"); | |
c("music_note", "(8)", "", "png", "gif"); | |
c("present", "(g)", "", "png", "gif"); | |
c("present", "(G)", "", "png", "gif"); | |
c("present", "(g)", "", "png", "gif"); | |
c("present", "(g)", "", "png", "gif"); | |
c("present", "(G)", "", "png", "gif"); | |
c("present", "(G)", "", "png", "gif"); | |
c("rainbow", "(r)", "", "png", "gif"); | |
c("rainbow", "(R)", "", "png", "gif"); | |
c("rainbow", "(r)", "", "png", "gif"); | |
c("rainbow", "(r)", "", "png", "gif"); | |
c("rainbow", "(R)", "", "png", "gif"); | |
c("rainbow", "(R)", "", "png", "gif"); | |
c("rose", "(f)", "", "png", "gif"); | |
c("rose", "(F)", "", "png", "gif"); | |
c("rose", "(f)", "", "png", "gif"); | |
c("rose", "(f)", "", "png", "gif"); | |
c("rose", "(F)", "", "png", "gif"); | |
c("rose", "(F)", "", "png", "gif"); | |
c("rose_wilted", "(w)", "", "png", "gif"); | |
c("rose_wilted", "(W)", "", "png", "gif"); | |
c("smile_angry", ":@", "", "png", "gif"); | |
c("smile_angry", ":-@", "", "png", "gif"); | |
c("smile_baringteeth", "8o|", "", "png", "gif"); | |
c("smile_baringteeth", "8O", "", "png", "gif"); | |
c("smile_cry", ":’(", "", "png", "gif"); | |
c("smile_cry", ":'(", "", "png", "gif"); | |
c("smile_embaressed", ':">', "尴尬", "png", "gif"); | |
c("smile_embaressed", ":$", "", "png", "gif"); | |
c("smile_embaressed", ":-$", "", "png", "gif"); | |
c("smile_embaressed", ':"-)', "", "png", "gif"); | |
c("smile_eyeroll", "8-)", "", "png", "gif"); | |
c("smile_omg", ":-O", "", "png", "gif"); | |
c("smile_omg", ":-o", "", "png", "gif"); | |
c("smile_omg", ":O", "", "png", "gif"); | |
c("smile_omg", ":o", "", "png", "gif"); | |
c("smile_regular", ":)", "", "png", "gif"); | |
c("smile_regular", ":-)", "", "png", "gif"); | |
c("smile_sad", ":(", "", "png", "gif"); | |
c("smile_sad", ":-(", "", "png", "gif"); | |
c("smile_sad", ":<", "", "png", "gif"); | |
c("smile_sad", ":-<", "", "png", "gif"); | |
c("smile_sarcastic", "^o)", "", "png", "gif"); | |
c("smile_shades", "(h)", "", "png", "gif"); | |
c("smile_shades", "(H)", "", "png", "gif"); | |
c("smile_sick", "+o(", "", "png", "gif"); | |
c("smile_sick", ":&", "", "png", "gif"); | |
c("smile_sick", "+&", "", "png", "gif"); | |
c("smile_teeth", ":D", "", "png", "gif"); | |
c("smile_teeth", ":-D", "", "png", "gif"); | |
c("smile_teeth", ":d", "", "png", "gif"); | |
c("smile_teeth", ":-d", "", "png", "gif"); | |
c("smile_tongue", ":p", "", "png", "gif"); | |
c("smile_tongue", ":-p", "", "png", "gif"); | |
c("smile_tongue", ":P", "", "png", "gif"); | |
c("smile_tongue", ":-P", "", "png", "gif"); | |
c("smile_whatchutalkingabout", ":|", "", "png", "gif"); | |
c("smile_whatchutalkingabout", ":-|", "", "png", "gif"); | |
c("smile_wink", ";-)", "", "png", "gif"); | |
c("smile_wink", ";)", "", "png", "gif"); | |
c("smile_yawn", "|-)", "", "png", "gif"); | |
c("smile_yawn", "|o", "", "png", "gif"); | |
c("smile_yawn", "|O", "", "png", "gif"); | |
c("smile_zipit", ":-#", "", "png", "gif"); | |
c("snail", "(sn)", "", "png", "gif"); | |
c("snail", "(SN)", "", "png", "gif"); | |
c("star", "(*)", "", "png", "gif"); | |
c("sun", "(#)", "", "png", "gif"); | |
c("thumbs_up", "(y)", "", "png", "gif"); | |
c("thumbs_up", "(Y)", "", "png", "gif"); | |
c("umbrella", "(um)", "", "png", "gif"); | |
c("umbrella", "(UM)", "", "png", "gif"); | |
c("smile_puzzle", ":-/", "", "png", "gif"); | |
c("smile_worried", ":-S", "", "png", "gif"); | |
c("smile_worried", ":-s", "", "png", "gif"); | |
c("smile_thinking", ":-?", "", "png", "gif"); | |
c("smile_quitSmile", "*-:)", "", "png", "gif"); | |
c("smile_bigSmile", "B)", "", "png", "gif"); | |
c("smile_bigSmile", "b)", "", "png", "gif"); | |
c("smile_angle", "o:)", "", "png", "gif"); | |
c("smile_angle", "O:)", "", "png", "gif"); | |
c("smile_angle", "0:)", "", "png", "gif"); | |
c("smile_fool", ":-B", "", "png", "gif"); | |
c("smile_fool", ":-b", "", "png", "gif"); | |
c("smile_archness", ">:)", "", "png", "gif"); | |
c("smile_idea", "*-:)", "", "png", "gif"); | |
c("smile_idea", "*:)", "", "png", "gif"); | |
c("smile_confused", ":-/", "", "png", "gif"); | |
c("smile_confused", ":/", "", "png", "gif"); | |
c("smile_worried", ":s", "", "png", "gif"); | |
c("smile_worried", ":S", "", "png", "gif"); | |
c("smile_drink", ")-|", "", "png", "gif"); | |
c("smile_drink", ")-|", "", "png", "gif"); | |
c("smile_thinking", ":?", "", "png", "gif"); | |
c("smile_thinking", ":?", "", "png", "gif"); | |
c("smile_great", "(y)", "", "png", "gif"); | |
c("smile_great", "(Y)", "", "png", "gif"); | |
c("smile_naughty", ">:)", "", "png", "gif"); | |
c("smile_naughty", "〉:)", "", "png", "gif"); | |
c("smile_fool", ":b", "", "png", "gif"); | |
c("smile_fool", ":B", "", "png", "gif"); | |
c("smile_cool", "b)", "", "png", "gif"); | |
c("smile_cool", "B)", "", "png", "gif"); | |
c("smile_cool", "(b)", "", "png", "gif"); | |
} | |
function i(k) { | |
if (k.charCodeAt != null && String.fromCharCode != null) { | |
var j = k.charCodeAt(0); | |
if (j >= 65281 && j < 65374) { | |
k = String.fromCharCode(j - 65248); | |
} | |
} | |
return k; | |
} | |
function d(j, m, l) { | |
if (j == null) { | |
return null; | |
} else { | |
if (j.IsLeaf) { | |
return j; | |
} else { | |
if (l >= m.length || l < 0) { | |
return null; | |
} else { | |
if (typeof j == "object") { | |
var k = m.charAt(l); | |
k = i(k); | |
return d(j[k], m, l + 1); | |
} | |
} | |
} | |
} | |
return null; | |
} | |
function h(o, l) { | |
if ("&" != o.charAt(l)) { | |
return 1; | |
} | |
var j = 0; | |
var n = false; | |
while (l < o.length && "&" == o.charAt(l)) { | |
n = false; | |
for (var m in __entityList) { | |
var k = __entityList[m]; | |
if (l + k.length <= o.length && k == o.substr(l, k.length)) { | |
j += k.length; | |
l += j; | |
n = true; | |
break; | |
} | |
} | |
if (!n) { | |
return 1; | |
} | |
} | |
return j; | |
} | |
this.Replace = function(q, m) { | |
var l = ""; | |
if (q != null) { | |
var o = 0; | |
var k = q.length; | |
while (o < k) { | |
var n = o; | |
var p = d(g, q, n); | |
while (n < k && null == p) { | |
n += h(q, n); | |
p = d(g, q, n); | |
} | |
l += q.substr(o, n - o); | |
if (p != null) { | |
l += p.EmoticonToHtml(m); | |
n += p.Length(); | |
} | |
o = n; | |
} | |
} | |
return l; | |
}; | |
this.GetKey = function(j) { | |
if (j in a) { | |
return a[j]; | |
} else { | |
return ""; | |
} | |
}; | |
e(); | |
} | |
var __globalEmoticons = new Emoticons(); | |
function EmoticonReplace(b, a) { | |
return __globalEmoticons.Replace(b, a); | |
} | |
function EmotionNonhtmlReplace(b, c, a) { | |
if (c >= 0) { | |
b = cnSubstr(b, c); | |
} | |
b = htmlEncode(b); | |
return b; | |
} | |
function EmotionNonhtmlReplace1(b, c, a) { | |
if (c >= 0) { | |
b = cnSubstr(b, c); | |
} | |
b = htmlEncode(b); | |
return b; | |
} | |
function GetEmotionKey(a) { | |
return __globalEmoticons.GetKey(a); | |
} | |
function activeRemindMsgCookie() { | |
var b = getCookie("webim_remindmsgs"); | |
if (b) { | |
var a = new Date(); | |
a.setMinutes(a.getMinutes() + 2); | |
setCookie("webim_remindmsgs", escape(b), a.toGMTString(), "/", __callmeDomain); | |
} | |
} | |
function deleteRemindMsgCookie(b) { | |
var d = getCookie("webim_remindmsgs"); | |
var a = new Date(); | |
a.setMinutes(a.getMinutes() + 2); | |
if (d != null && d != "") { | |
d = "," + d; | |
var c = new RegExp("," + b + "-(.*?)" + "-([0-9]+)" + "-([^,]*)", "ig"); | |
if (c.test(d)) { | |
d = d.replace(c, function() { | |
return ""; | |
}); | |
} | |
d = d.trim(","); | |
setCookie("webim_remindmsgs", escape(d), a.toGMTString(), "/", __callmeDomain); | |
} | |
} | |
function setRemindMsgCookie(b, g, e, d) { | |
var f = getCookie("webim_remindmsgs"); | |
var a = new Date(); | |
a.setMinutes(a.getMinutes() + 2); | |
if (f == null || f == "") { | |
f = b + "-" + (g != null ? g.toCodeArray() | |
.join("%") : "") + "-" + (e != null ? e : "0") + "-" + (d != null ? getGuidFormSessionid(d) : ""); | |
setCookie("webim_remindmsgs", escape(f), a.toGMTString(), "/", __callmeDomain); | |
} else { | |
f = "," + f; | |
var c = new RegExp("," + b + "-(.*?)" + "-([0-9]+)" + "-([^,]*)", "ig"); | |
if (c.test(f)) { | |
f = f.replace(c, function(i, h, k, j) { | |
return "," + b + "-" + (g != null ? g.toCodeArray() | |
.join("%") : h) + "-" + (e != null ? e : k) + "-" + (d != null ? getGuidFormSessionid(d) : ""); | |
}); | |
} else { | |
f += "," + b + "-" + (g != null ? g.toCodeArray() | |
.join("%") : "") + "-" + (e != null ? e : "0") + "-" + (d != null ? getGuidFormSessionid(d) : ""); | |
} | |
f = f.trim(","); | |
setCookie("webim_remindmsgs", escape(f), a.toGMTString(), "/", __callmeDomain); | |
} | |
} | |
function getGuidFormSessionid(b) { | |
if (!b) { | |
return ""; | |
} else { | |
var a = b.substr(b.indexOf("-") + 1) | |
.replace(/-/g, ""); | |
return a; | |
} | |
} | |
function getUserPermission(b, c) { | |
b = ";" + b + ";"; | |
var d = new RegExp(";" + c + "=([0-9]*);", "i"); | |
var a = b.match(d); | |
if (a != null) { | |
return a[1]; | |
} | |
return null; | |
} | |
function ContactDefault() { | |
this.uid = 0; | |
this.uri = ""; | |
this.bl = ""; | |
this.ln = ""; | |
this.rs = -1; | |
this.ct = -1; | |
this.isBk = -1; | |
this.p = ""; | |
this.sid = 0; | |
this.mn = ""; | |
this.ca = ""; | |
this.cas = ""; | |
this.bss = ""; | |
this.slv = ""; | |
this.s = ""; | |
this.nn = ""; | |
this.i = ""; | |
this.crc = ""; | |
this.sms = ""; | |
this.pb = ""; | |
this.pd = ""; | |
this.dt = ""; | |
this.dc = ""; | |
this.lastIsOc = false; | |
this.currIsOc = false; | |
this.is = ""; | |
this.pis = ""; | |
} | |
function UserDefault() { | |
this.c = ""; | |
this.v = ""; | |
this.uid = 0; | |
this.sid = 0; | |
this.mn = ""; | |
this.em = ""; | |
this.uri = ""; | |
this.nn = ""; | |
this.gd = -1; | |
this.i = ""; | |
this.crc = ""; | |
this.bd = ""; | |
this.bdv = -1; | |
this.ca = ""; | |
this.cas = ""; | |
this.car = ""; | |
this.ur = ""; | |
this.prof = ""; | |
this.bt = ""; | |
this.oc = ""; | |
this.pe = ""; | |
this.we = ""; | |
this.ebs = -1; | |
this.sv = ""; | |
this.lv = ""; | |
this.lvs = ""; | |
this.gp = ""; | |
this.sms = ""; | |
this.creds = []; | |
this.sers = ""; | |
} | |
function PhoneDefault() { | |
this.FN = ""; | |
this.GUID = ""; | |
this.HMobile = ""; | |
this.HMobile = ""; | |
this.OMobile = ""; | |
this.OPhone = ""; | |
this.Source = ""; | |
} | |
function extendUser() { | |
__user.displayName = __user.nn || __user.sid.toString(); | |
if (!__user.ca || __user.ca == "NIL") { | |
__user.isMobile = false; | |
} else { | |
__user.isMobile = true; | |
if (__user.ca == "CMCC") { | |
__user.isCM = true; | |
} else { | |
if (__user.ca == "CT") { | |
__user.isCT = true; | |
} else { | |
if (__user.ca == "CUCC") { | |
__user.isCU = true; | |
} | |
} | |
} | |
} | |
if (!__user.sers) { | |
__user.isVip = false; | |
} else { | |
var a = "," + __user.sers + ","; | |
__user.isVip = (a.indexOf(",50,") >= 0 || a.indexOf(",51,") >= 0 || a.indexOf(",52,") >= 0); | |
} | |
} | |
function extendContact(a) { | |
if (!a.pb) { | |
a.pb = "0"; | |
} | |
if (!a.sms) { | |
a.sms == "1.1:1:1"; | |
} | |
if (!a.bss) { | |
a.bss = "1"; | |
} | |
if (a.bl) { | |
a.bl = a.bl.trim("; "); | |
} | |
if (!a.bl) { | |
a.bl = (a.ct == 2) ? "-1" : "0"; | |
} | |
if (2 == a.cas) { | |
a.mn = ""; | |
} | |
a.compactUri = a.uri ? (new jCompactUri(a.uri)) : undefined; | |
if (2 != a.ct && 1 == a.rs && a.compactUri) { | |
a.ct = a.compactUri.isMobileNo ? 1 : 0; | |
} | |
if (a.ct == 1) { | |
a.displayName = a.ln || a.mn; | |
} else { | |
a.displayName = ""; | |
a.displayName = a.ln || a.nn || (a.compactUri && a.compactUri.mobileNoOrSid.toString()); | |
} | |
if (!a.s) { | |
a.isVip = false; | |
} else { | |
var b = "," + a.s + ","; | |
a.isVip = (b.indexOf(",50,") >= 0 || b.indexOf(",51,") >= 0 || b.indexOf(",52,") >= 0); | |
} | |
a.isMobile = !! (a.ca && a.ca != "NIL"); | |
a.isCM = !! (a.ca == "CMCC"); | |
a.isCT = !! (a.ca == "CT"); | |
a.isCU = !! (a.ca == "CUCC"); | |
a.type = getContactType(a); | |
a.status = getContactStatus(a); | |
a.statusClass = getContactClassName(a); | |
a.orderNo = getBuddyOrder(a); | |
a.lastIsOc = a.currIsOc; | |
a.currIsOc = isOnlineContact(a); | |
} | |
function eachBuddyList(a, f, d) { | |
if (!a.bl) { | |
return; | |
} | |
var e = a.bl.split(";"); | |
var b = e.length; | |
for (var c = 0; c < b; c++) { | |
if ("0" == e[c] && b > 1 && !d) { | |
continue; | |
} | |
if (typeof f == "function") { | |
if (false == f(e[c])) { | |
break; | |
} | |
} | |
} | |
} | |
function getGroupItemPortraitUrl(b, a) { | |
a = a || "4"; | |
if (b == null) { | |
if (a == 1) { | |
return portrait.fetion_16; | |
} else { | |
if (a == 2) { | |
return portrait.fetion_32; | |
} else { | |
return portrait.defaultIcon; | |
} | |
} | |
} else { | |
if (b.crc && b.crc !== "0") { | |
return formatString(getGroupPortraitUrl, b.gUri, a, b.crc, __user.uid); | |
} else { | |
if (a == 1) { | |
return portrait.fetion_16; | |
} else { | |
if (a == 2) { | |
return portrait.fetion_32; | |
} else { | |
return portrait.defaultIcon; | |
} | |
} | |
} | |
} | |
} | |
function getUserPortraitUrl(a, b) { | |
b = b || "4"; | |
if ((a.crc && a.crc != "0")) { | |
return formatString(getPortraitUrl, a.uid, b, a.crc, __user.uid); | |
} else { | |
if (b == 1 || b == 5) { | |
return portrait.fetion_16; | |
} else { | |
if (b == 2) { | |
return portrait.fetion_32; | |
} else { | |
return portrait.defaultIcon; | |
} | |
} | |
} | |
} | |
function getDefaultPortraitUrl(a) { | |
if (a.ct == 1) { | |
return portrait.mobile; | |
} else { | |
return portrait.defaultIcon; | |
} | |
} | |
var __userPortraitMap = new jHashMap(); | |
var __userPathMap = new jHashMap(); | |
var __portraitCacheDiv = null; | |
function cacheUerPortrait(c, a, e) { | |
if (__portraitCacheDiv == null) { | |
__portraitCacheDiv = $("<div style='display:none'></div>"); | |
$(document.body) | |
.append(__portraitCacheDiv); | |
} | |
var b; | |
if (!__userPortraitMap.containsKey(c.uid)) { | |
b = $("<img src='" + a + "' />"); | |
__userPortraitMap.put(c.uid, b); | |
__portraitCacheDiv.append(b); | |
b.bind("load", function() { | |
if (typeof e == "function") { | |
e(b, c); | |
} | |
}); | |
} else { | |
b = __userPortraitMap.get(c.uid); | |
var d = b.attr("src"); | |
if (d && !d.endsWith(a)) { | |
b.unbind("load"); | |
b.remove(); | |
b.attr("src", a); | |
__portraitCacheDiv.append(b); | |
b.bind("load", function() { | |
if (typeof e == "function") { | |
e(b, c); | |
} | |
}); | |
} else { | |
if (typeof e == "function") { | |
e(b, c); | |
} | |
} | |
} | |
} | |
function getContactPresDesc(a) { | |
var c = a.type, | |
b = a.status; | |
if (c == ContactType.MobileBuddy) { | |
return ""; | |
} | |
if ((b & ContactStatus.Verify) == ContactStatus.Verify || (b & ContactStatus.Verify_Bklist) == ContactStatus.Verify_Bklist) { | |
return "(等待对方同意添加为好友)"; | |
} | |
if ((b & ContactStatus.Refuse) == ContactStatus.Refuse || (b & ContactStatus.Refuse_Bklist) == ContactStatus.Refuse_Bklist) { | |
return "(对方拒绝)"; | |
} | |
if ((b & ContactStatus.CloseService) == ContactStatus.CloseService) { | |
return "(飞信服务已关闭)"; | |
} | |
return ""; | |
} | |
var searchHelper = { | |
SAFE_DEEP_DEFAULT: 4, | |
SEPARATOR_BETWEEN_WORDS: "", | |
WILDCARD_ALL: "*", | |
_cache: new jHashMap(), | |
MakeSpellCodeAsWordsAll: function(i) { | |
var d = new String(i); | |
if (searchHelper._cache.containsKey(d)) { | |
return searchHelper._cache.get(i.toString()); | |
} | |
var a = null; | |
var h = null; | |
try { | |
var c = i.split(searchHelper.WILDCARD_ALL); | |
i = ""; | |
for (var b = 0; b < c.length; ++b) { | |
a = searchHelper.MakeSpellCodeAsWords(c[b]); | |
i += a.bodyList.join(",") + searchHelper.WILDCARD_ALL; | |
} | |
if (a) { | |
h = a.safeDeep; | |
} | |
if (!h) { | |
h = searchHelper.SAFE_DEEP_DEFAULT; | |
} | |
var f = { | |
"bodyContent": i, | |
"safeDeep": h | |
}; | |
if (!searchHelper._cache.containsKey(d)) { | |
searchHelper._cache.put(d, f); | |
} | |
return f; | |
} catch (g) { | |
return { | |
"bodyContent": i, | |
"safeDeep": h | |
}; | |
} | |
}, | |
MakeSpellCodeAsWords: function(a, g) { | |
var f = new Array(); | |
if (!g) { | |
g = searchHelper.SAFE_DEEP_DEFAULT; | |
} | |
if (!a) { | |
return { | |
"bodyList": f, | |
"safeDeep": g | |
}; | |
} | |
var h = a.split(new RegExp(/,/gi)); | |
var b = new Array(); | |
for (var d = 0, e = h.length; d < e; ++d) { | |
var c = h[d].split(" "); | |
b.push(c); | |
} | |
for (var d = 0, e = b.length; d < e && d < g; ++d) { | |
if (b[d].length > 1) { | |
f = searchHelper._CopyNTimes(f, b[d].length); | |
} | |
if (b[d].length > 0) { | |
f = searchHelper._AppendToEachItem(f, b[d]); | |
} | |
} | |
return { | |
"bodyList": f, | |
"safeDeep": g | |
}; | |
}, | |
_CopyNTimes: function(d, e) { | |
if (d.length == 0 || e == 0) { | |
return d; | |
} | |
var a = d.length; | |
var c = e; | |
while ((--c) > 0) { | |
for (var b = 0; b < a; ++b) { | |
d.push(d[b]); | |
} | |
} | |
return d; | |
}, | |
_AppendToEachItem: function(e, b) { | |
if (e.length == 0) { | |
e = e.concat(b); | |
} else { | |
var g = e.length; | |
var h = b.length; | |
var f = e.length / b.length; | |
var a = 0; | |
for (var d = 0; d < h; ++d) { | |
for (var c = 0; c < f; ++c) { | |
e[a * f + c] += b[d]; | |
}++a; | |
} | |
} | |
return e; | |
} | |
}; | |
function GroupDefault() { | |
this.gUri = ""; | |
this.i = 0; | |
this.nn = ""; | |
this.crc = ""; | |
this.id = 0; | |
this.n = ""; | |
this.gnn = ""; | |
this.smsRecv = 0; | |
this.msgRecv = 0; | |
this.apvRs = 0; | |
} | |
function extendGroupItem(b) { | |
var a = jGroupUriToId(b.gUri); | |
b.id = parseInt(a); | |
b.orderNo = getGroupOrder(b); | |
} | |
function GroupMemDefault() { | |
this.ct = ""; | |
this.minn = ""; | |
this.mnn = ""; | |
this.ms = 0; | |
this.i = 0; | |
this.displayName = ""; | |
this.lastIsOc = false; | |
this.currIsOc = false; | |
this.crc = ""; | |
this.uid = 0; | |
} | |
function extendMemItem(c) { | |
var b = jMemUriToId(c.MemberUri); | |
c.id = parseInt(b); | |
if (!c.t6) { | |
c.isVip = false; | |
} else { | |
var a = "," + c.t6 + ","; | |
c.isVip = (a.indexOf(",50,") >= 0 || a.indexOf(",51,") >= 0 || a.indexOf(",52,") >= 0); | |
} | |
c.priName = ""; | |
if (c.i == 1) { | |
c.priName = "founder"; | |
} else { | |
if (c.i == 2) { | |
c.priName = "adminor"; | |
} else { | |
if (c.i == 3) { | |
c.priName = "every"; | |
} | |
} | |
} | |
c.displayName = c.mnn || c.minn || c.id.toString(); | |
c.orderNo = getGroupBuddyOrder(c); | |
c.lastIsOc = c.currIsOc; | |
if (c.ms == 400) { | |
c.statusClass = "ff-pc-online"; | |
c.currIsOc = true; | |
} else { | |
if (c.ms == 0) { | |
c.statusClass = "offline"; | |
c.currIsOc = false; | |
} | |
} | |
} | |
function groupBuddyComparator(e, d) { | |
if (!e && !d) { | |
return 0; | |
} | |
if (e && !d) { | |
return 1; | |
} | |
if (!e && d) { | |
return -1; | |
} | |
var c, b; | |
if (e.orderNo) { | |
c = e.orderNo; | |
} else { | |
c = getGroupBuddyOrder(e); | |
} | |
if (d.orderNo) { | |
b = d.orderNo; | |
} else { | |
b = getGroupBuddyOrder(d); | |
} | |
if (c == b) { | |
var a = (e.displayName) | |
.localeCompare(d.displayName); | |
if (a == 0 && e.MemberUri && d.MemberUri) { | |
return (e.MemberUri) | |
.localeCompare(d.MemberUri); | |
} | |
return a; | |
} | |
return c - b; | |
} | |
function getGroupBuddyOrder(a) { | |
if (!a) { | |
return -1; | |
} | |
var c = 0; | |
var b = parseInt(a.ms); | |
if (b == 0) { | |
if (a.priName == "founder") { | |
c = 5; | |
} else { | |
if (a.priName == "adminor") { | |
c = 6; | |
} else { | |
c = a.isVip ? 7 : 8; | |
} | |
} | |
} else { | |
if (b == 400) { | |
if (a.priName == "founder") { | |
c = 1; | |
} else { | |
if (a.priName == "adminor") { | |
c = 2; | |
} else { | |
c = a.isVip ? 3 : 4; | |
} | |
} | |
} | |
} | |
return c; | |
} | |
function groupComparator(b, e) { | |
if (!b && !e) { | |
return 0; | |
} | |
if (b && !e) { | |
return 1; | |
} | |
if (!b && e) { | |
return -1; | |
} | |
var d, c; | |
if (b.orderNo) { | |
d = b.orderNo; | |
} else { | |
d = getGroupOrder(b); | |
} | |
if (e.orderNo) { | |
c = e.orderNo; | |
} else { | |
c = getGroupOrder(e); | |
} | |
if (d == c) { | |
var a = 0; | |
if (b.n && e.n) { | |
a = (b.n) | |
.localeCompare(e.n); | |
} else { | |
if (b.n && !e.n) { | |
a = -1; | |
} else { | |
if (!b.n && e.n) { | |
a = 1; | |
} | |
} | |
} | |
if (a == 0 && b.gUri && e.gUri) { | |
return (b.gUri) | |
.localeCompare(e.gUri); | |
} | |
return a; | |
} | |
return d - c; | |
} | |
function getGroupOrder(a) { | |
if (!a) { | |
return -1; | |
} | |
var b = 0; | |
b = parseInt(a.i); | |
return b; | |
} | |
function sort_by(b, a) { | |
a = (a) ? -1 : 1; | |
return function(e, d) { | |
if (e.GDataType == 9 && d.GDataType == 9) { | |
e = e.GData[b]; | |
d = d.GData[b]; | |
} | |
var c = 0; | |
if (e && d) { | |
c = (e.toString()) | |
.localeCompare(d.toString()); | |
} else { | |
if (e && !d) { | |
c = -1; | |
} else { | |
if (!e && d) { | |
c = 1; | |
} | |
} | |
} | |
if (c > 0) { | |
return a * 1; | |
} else { | |
if (c < 0) { | |
return a * -1; | |
} | |
} | |
return 0; | |
}; | |
} | |
function buddyPor(b, a, d) { | |
var c = ""; | |
if (a.indexOf("bklist") > 0 || a == "offline") { | |
if (d == 2) { | |
c = portrait.offline_32; | |
} else { | |
c = portrait.offline_16; | |
} | |
} else { | |
switch (a) { | |
case "refuse": | |
c = portrait.refuse; | |
break; | |
case "close": | |
c = portrait.close; | |
break; | |
case "refuse": | |
c = portrait.refuse; | |
break; | |
case "verify": | |
c = portrait.verify; | |
break; | |
case "rb-verify": | |
c = portrait.verify; | |
break; | |
case "rb-pc-online": | |
if (d == 2) { | |
c = portrait.robot_online_32; | |
} else { | |
c = portrait.robot_online_16; | |
} | |
break; | |
case "rb-offline": | |
if (d == 2) { | |
c = portrait.robot_offline_32; | |
} else { | |
c = portrait.robot_offline_16; | |
} | |
break; | |
default: | |
if (b) { | |
if (d == 1) { | |
c = getUserPortraitUrl(b, "5"); | |
} else { | |
c = getUserPortraitUrl(b, "2"); | |
} | |
} | |
break; | |
} | |
} | |
if (c == "") { | |
c = portrait.defaultIcon; | |
} | |
return c; | |
}(function(a) { | |
a.extend({ | |
cacheImages: function() { | |
var b = a("<div style='display:none'></div>"); | |
b.append('<img src="images/emoticons/smile_regular.png" />'); | |
b.append('<img src="images/emoticons/smile_teeth.png" />'); | |
b.append('<img src="images/emoticons/smile_wink.png" />'); | |
b.append('<img src="images/emoticons/smile_omg.png" />'); | |
b.append('<img src="images/emoticons/smile_tongue.png" />'); | |
b.append('<img src="images/emoticons/smile_shades.png" />'); | |
b.append('<img src="images/emoticons/smile_angry.png" />'); | |
b.append('<img src="images/emoticons/smile_sad.png" />'); | |
b.append('<img src="images/emoticons/smile_cry.png" />'); | |
b.append('<img src="images/emoticons/smile_embaressed.png" />'); | |
b.append('<img src="images/emoticons/smile_sarcastic.png" />'); | |
b.append('<img src="images/emoticons/smile_sick.png" />'); | |
b.append('<img src="images/emoticons/smile_baringteeth.png" />'); | |
b.append('<img src="images/emoticons/smile_yawn.png" />'); | |
b.append('<img src="images/emoticons/smile_zipit.png" />'); | |
b.append('<img src="images/emoticons/smile_eyeroll.png" />'); | |
b.append('<img src="images/emoticons/moon.png" />'); | |
b.append('<img src="images/emoticons/cloud_rain.png" />'); | |
b.append('<img src="images/emoticons/clock.png" />'); | |
b.append('<img src="images/emoticons/heart.png" />'); | |
b.append('<img src="images/emoticons/heart_broken.png" />'); | |
b.append('<img src="images/emoticons/cat.png" />'); | |
b.append('<img src="images/emoticons/dog.png" />'); | |
b.append('<img src="images/emoticons/snail.png" />'); | |
b.append('<img src="images/emoticons/star.png" />'); | |
b.append('<img src="images/emoticons/sun.png" />'); | |
b.append('<img src="images/emoticons/rainbow.png" />'); | |
b.append('<img src="images/emoticons/hug_girl.png" />'); | |
b.append('<img src="images/emoticons/hug_dude.png" />'); | |
b.append('<img src="images/emoticons/kiss.png" />'); | |
b.append('<img src="images/emoticons/rose.png" />'); | |
b.append('<img src="images/emoticons/rose_wilted.png" />'); | |
b.append('<img src="images/emoticons/present.png" />'); | |
b.append('<img src="images/emoticons/cake.png" />'); | |
b.append('<img src="images/emoticons/music_note.png" />'); | |
b.append('<img src="images/emoticons/lightbulb.png" />'); | |
b.append('<img src="images/emoticons/smile_idea.png" />'); | |
b.append('<img src="images/emoticons/coffee.png" />'); | |
b.append('<img src="images/emoticons/umbrella.png" />'); | |
b.append('<img src="images/emoticons/mobile.png" />'); | |
b.append('<img src="images/emoticons/computer.png" />'); | |
b.append('<img src="images/emoticons/smile_whatchutalkingabout.png" />'); | |
b.append('<img src="images/emoticons/smile_confused.png" />'); | |
b.append('<img src="images/emoticons/smile_worried.png" />'); | |
b.append('<img src="images/emoticons/smile_drink.png" />'); | |
b.append('<img src="images/emoticons/martini.png" />'); | |
b.append('<img src="images/emoticons/smile_angle.png" />'); | |
b.append('<img src="images/emoticons/smile_thinking.png" />'); | |
b.append('<img src="images/emoticons/smile_great.png" />'); | |
b.append('<img src="images/emoticons/smile_naughty.png" />'); | |
b.append('<img src="images/emoticons/smile_fool.png" />'); | |
b.append('<img src="images/emoticons/smile_cool.png" />'); | |
a(document.body) | |
.append(b); | |
} | |
}); | |
})(jQuery); | |
var __zIndex = 100; | |
var __hrefReg = /(http:\/\/|https:\/\/|ftp:\/\/|www\.){1}[\w-]+(\.[\w-]+)*(:[\d]+)?(\/[\w-\.\/?&=]*)?/ig; | |
function jChatWindowPopMessage(a) { | |
var c = $.extend({ | |
target: "", | |
canClose: true, | |
className: "pop_blacklist", | |
onClose: function() {} | |
}, a); | |
c.target = ((typeof c.target == "string") ? $("#" + c.target) : c.target); | |
var b = $("<div />") | |
.addClass(c.className); | |
c.target.prepend(b); | |
if (c.canClose) { | |
var d = $("<i class='close'>关闭</i>"); | |
b.append(d); | |
d.bind("click", function(f) { | |
b.css("display", "none"); | |
c.onClose(); | |
stopPropagation(f); | |
preventDefault(f); | |
}); | |
} | |
b.setInnerHtml = function(e) { | |
b.prepend(e); | |
var f = $(b) | |
.find("div"); | |
var g = f.find("div"); | |
f.removeClass("chat_append_sec") | |
.addClass("chat_append"); | |
g.removeClass("chat_append_tip1"); | |
}; | |
b.buddyStatus = c.buddyStatus; | |
return b; | |
} | |
function jChatWindowPopExpression(b) { | |
var a = $("<div />") | |
.addClass("pop_expression facial_new1"); | |
var d = $('<div class="facial_icon_new1"><img class="icon_facial_new1" alt="" src="images/face_btn.png" /></div>'); | |
var f = $("<div class=expression_tit><ul><li class=center>飞信表情 </li></ul></div>"); | |
var e = $("<div />") | |
.addClass("layer_face"); | |
var c = $("<ul />"); | |
a.fillImgs = function() { | |
c.append('<li><a href="#"><img title="微笑 :)" pattern=":)" src="images/emoticons/smile_regular.png" /></a>'); | |
c.append('<li><a href="#"><img title="大笑 :d" pattern=":d" src="images/emoticons/smile_teeth.png" /></a>'); | |
c.append('<li><a href="#"><img title="眨眼 ;)" pattern=";)" src="images/emoticons/smile_wink.png" /></a>'); | |
c.append('<li><a href="#"><img title="惊讶 :-o" pattern=":-o" src="images/emoticons/smile_omg.png" /></a>'); | |
c.append('<li><a href="#"><img title="吐舌笑脸 :p" pattern=":p" src="images/emoticons/smile_tongue.png" /></a>'); | |
c.append('<li><a href="#"><img title="热烈的笑脸 (h)" pattern="(h)" src="images/emoticons/smile_shades.png" /></a>'); | |
c.append('<li><a href="#"><img title="生气 :@" pattern=":@" src="images/emoticons/smile_angry.png" /></a>'); | |
c.append('<li><a href="#"><img title="悲伤 :(" pattern=":(" src="images/emoticons/smile_sad.png" /></a>'); | |
c.append('<li><a href="#"><img title="哭泣 :’(" pattern=":’(" src="images/emoticons/smile_cry.png" /></a>'); | |
c.append('<li><a href="#"><img title="尴尬 :">" pattern=":">" src="images/emoticons/smile_embaressed.png" /></a>'); | |
c.append('<li><a href="#"><img title="讽刺 ^o)" pattern="^o)" src="images/emoticons/smile_sarcastic.png" /></a>'); | |
c.append('<li><a href="#"><img title="生病 :&" pattern=":&" src="images/emoticons/smile_sick.png" /></a>'); | |
c.append('<li><a href="#"><img title="咬牙切齿 8o|" pattern="8o|" src="images/emoticons/smile_baringteeth.png" /></a>'); | |
c.append('<li><a href="#"><img title="困 |o" pattern="|o" src="images/emoticons/smile_yawn.png" /></a>'); | |
c.append('<li><a href="#"><img title="保密 :-#" pattern=":-#" src="images/emoticons/smile_zipit.png" /></a>'); | |
c.append('<li><a href="#"><img title="转动的眼睛 8-)" pattern="8-)" src="images/emoticons/smile_eyeroll.png" /></a>'); | |
c.append('<li><a href="#"><img title="沉睡的弯月 (s)" pattern="(s)" src="images/emoticons/moon.png" /></a>'); | |
c.append('<li><a href="#"><img title="下雨 (st)" pattern="(st)" src="images/emoticons/cloud_rain.png" /></a>'); | |
c.append('<li><a href="#"><img title="时钟 (o)" pattern="(o)" src="images/emoticons/clock.png" /></a>'); | |
c.append('<li><a href="#"><img title="红心 (l)" pattern="(l)" src="images/emoticons/heart.png" /></a>'); | |
c.append('<li><a href="#"><img title="破碎的心 (u)" pattern="(u)" src="images/emoticons/heart_broken.png" /></a>'); | |
c.append('<li><a href="#"><img title="猫脸 (@)" pattern="(@)" src="images/emoticons/cat.png" /></a>'); | |
c.append('<li><a href="#"><img title="狗脸 (&)" pattern="(&)" src="images/emoticons/dog.png" /></a>'); | |
c.append('<li><a href="#"><img title="蜗牛 (sn)" pattern="(sn)" src="images/emoticons/snail.png" /></a>'); | |
c.append('<li><a href="#"><img title="星星 (*)" pattern="(*)" src="images/emoticons/star.png" /></a>'); | |
c.append('<li><a href="#"><img title="太阳 (#)" pattern="(#)" src="images/emoticons/sun.png" /></a>'); | |
c.append('<li><a href="#"><img title="彩虹 (r)" pattern="(r)" src="images/emoticons/rainbow.png" /></a>'); | |
c.append('<li><a href="#"><img title="左侧拥抱 ({)" pattern="({)" src="images/emoticons/hug_girl.png" /></a>'); | |
c.append('<li><a href="#"><img title="右侧拥抱 (})" pattern="(})" src="images/emoticons/hug_dude.png" /></a>'); | |
c.append('<li><a href="#"><img title="红唇 (k)" pattern="(k)" src="images/emoticons/kiss.png" /></a>'); | |
c.append('<li><a href="#"><img title="红玫瑰 (f)" pattern="(f)" src="images/emoticons/rose.png" /></a>'); | |
c.append('<li><a href="#"><img title="凋谢的玫瑰 (w)" pattern="(w)" src="images/emoticons/rose_wilted.png" /></a>'); | |
c.append('<li><a href="#"><img title="礼品盒 (g)" pattern="(g)" src="images/emoticons/present.png" /></a>'); | |
c.append('<li><a href="#"><img title="生日蛋糕 (^)" pattern="(^)" src="images/emoticons/cake.png" /></a>'); | |
c.append('<li><a href="#"><img title="音乐 (8)" pattern="(8)" src="images/emoticons/music_note.png" /></a>'); | |
c.append('<li><a href="#"><img title="灯泡 (i)" pattern="(i)" src="images/emoticons/lightbulb.png" /></a>'); | |
c.append('<li><a href="#"><img title="想法 *-:)" pattern="*-:)" src="images/emoticons/smile_idea.png" /></a>'); | |
c.append('<li><a href="#"><img title="咖啡 (c)" pattern="(c)" src="images/emoticons/coffee.png" /></a>'); | |
c.append('<li><a href="#"><img title="雨伞 (um)" pattern="(um)" src="images/emoticons/umbrella.png" /></a>'); | |
c.append('<li><a href="#"><img title="手机 (mp)" pattern="(mp)" src="images/emoticons/mobile.png" /></a>'); | |
c.append('<li><a href="#"><img title="计算机 (co)" pattern="(co)" src="images/emoticons/computer.png" /></a>'); | |
c.append('<li><a href="#"><img title="失望 :|" pattern=":|" src="images/emoticons/smile_whatchutalkingabout.png" /></a>'); | |
c.append('<li><a href="#"><img title="困惑 :-/" pattern=":-/" src="images/emoticons/smile_confused.png" /></a>'); | |
c.append('<li><a href="#"><img title="担心 :s" pattern=":s" src="images/emoticons/smile_worried.png" /></a>'); | |
c.append('<li><a href="#"><img title="饮料 )-|" pattern=")-|" src="images/emoticons/smile_drink.png" /></a>'); | |
c.append('<li><a href="#"><img title="高脚杯 (d)" pattern="(d)" src="images/emoticons/martini.png" /></a>'); | |
c.append('<li><a href="#"><img title="天使 o:)" pattern="o:)" src="images/emoticons/smile_angle.png" /></a>'); | |
c.append('<li><a href="#"><img title="沉思 :?" pattern=":?" src="images/emoticons/smile_thinking.png" /></a>'); | |
c.append('<li><a href="#"><img title="太棒了 (y)" pattern="(y)" src="images/emoticons/smile_great.png" /></a>'); | |
c.append('<li><a href="#"><img title="淘气 >:)" pattern=">:)" src="images/emoticons/smile_naughty.png" /></a>'); | |
c.append('<li><a href="#"><img title="笨蛋、呆子 :b" pattern=":b" src="images/emoticons/smile_fool.png" /></a>'); | |
c.append('<li><a href="#"><img title="戴着太阳镜 b)" pattern="b)" src="images/emoticons/smile_cool.png" /></a>'); | |
}; | |
a.bindItemClick = function(g) { | |
c.find("li > a") | |
.bind("click", function(h) { | |
a.css("display", "none"); | |
g(this, h); | |
}); | |
}; | |
a.append(d) | |
.append(f) | |
.append(e.append(c)); | |
return a; | |
} | |
var IMSound = { | |
isAjaxReady: false, | |
ajaxInit: function() { | |
try { | |
var a = '<object codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"' + ' width="0" height="0" id="fetion_ajaxproxy" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">' + '<param name="allowScriptAccess" value="always" />' + '<param name="movie" value="swf/ajaxhelper.swf" />' + '<param name="quality" value="high" />' + '<param name="bgcolor" value="#ffffff" />' + ' <embed src="swf/ajaxhelper.swf" quality="high" width="0" height="0" bgcolor="#ffffff"' + ' type="application/x-shockwave-flash" pluginspage="//www.macromedia.com/go/getflashplayer"' + ' name="fetion_ajaxproxy" swLiveConnect="true" allowScriptAccess="always">' + "</embed>" + "</object>"; | |
$("#Sound") | |
.append(a); | |
} catch (b) {} | |
}, | |
ajaxReady: function() { | |
this.isAjaxReady = true; | |
}, | |
onAjaxInitError: function() {}, | |
getAjaxProxy: function() { | |
if (navigator.appName.indexOf("Microsoft") != -1) { | |
if (window["fetion_ajaxproxy"].length > 0) { | |
return window["fetion_ajaxproxy"][0]; | |
} else { | |
return window["fetion_ajaxproxy"]; | |
} | |
} else { | |
return document["fetion_ajaxproxy"]; | |
} | |
}, | |
playSound: function(a) { | |
var b = this.getAjaxProxy(); | |
if (b && b.playSound) { | |
b.playSound(a); | |
} | |
} | |
}; | |
$(function() { | |
$.popWinMsg = function(K) { | |
var B; | |
var P = { | |
gName: "", | |
group: {}, | |
fName: "", | |
joinItems: {}, | |
iR: "", | |
msgN: "msg1", | |
isLink: false, | |
openWin: function() {}, | |
handleEntity: {}, | |
consent: function() {}, | |
refuse: function() {}, | |
zindex: 9000, | |
timeout: 10000, | |
isClose: true | |
}; | |
var x = function(an) { | |
var al = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; | |
for (var ak = 0, am = ""; ak < an; ak++) { | |
am += al.charAt(Math.floor(Math.random() * 62)); | |
} | |
return am; | |
}; | |
var h = $.extend(P, K); | |
h.isClose = true; | |
var C; | |
var F = getGroupItemPortraitUrl(h.group, "4"); | |
h.gName = EmotionNonhtmlReplace(h.gName, 40, false); | |
h.fName = EmotionNonhtmlReplace(h.fName, 20, false); | |
var T; | |
switch (h.msgN) { | |
case "msg1": | |
var w = "您已被从群<strong>" + h.gName + "</strong>中删除"; | |
T = w; | |
break; | |
case "msg2": | |
var u = "您被指定为群<strong>" + h.gName + "</strong>的管理员"; | |
T = u; | |
break; | |
case "msg3": | |
var t = "您被指定为群<strong>" + h.gName + "</strong>的超级管理员"; | |
T = t; | |
break; | |
case "msg4": | |
var q = "您的好友<strong>" + h.fName + "</strong>邀请您加入群<strong>" + h.gName + "</strong>"; | |
T = q; | |
break; | |
case "msg5": | |
var ab = jGroupUriToId(h.group.gUri); | |
var o = __groupMap.get(ab); | |
var p = "<strong>" + h.fName + "</strong>加入您的群<strong>" + o.n + "</strong>"; | |
T = p; | |
break; | |
case "msg6": | |
var n = "您所在的群<strong>" + h.gName + "</strong>已经被删除"; | |
T = n; | |
break; | |
case "msg7": | |
var l = "您被取消群<strong>" + h.gName + "</strong>的管理员身份"; | |
T = l; | |
break; | |
case "msg8": | |
var k = "欢迎您加入群<strong>" + h.gName + "</strong>"; | |
T = k; | |
break; | |
case "msg10": | |
var ah = "<strong>" + h.fName + "</strong>邀请" + h.joinItems.length + "位好友加入群<strong>" + h.gName + "</strong>"; | |
T = ah; | |
break; | |
case "msg11": | |
var af = "您是飞信会员,最多可以加入22个群"; | |
T = af; | |
break; | |
case "msg12": | |
var ag = "http://vip.feixin.10086.cn/open/junior/code/" + __user.mn; | |
var ad = "普通用户最多可以加入20个群,<a href=" + ag + ' target="_blank" ><strong>开通会员立即获得加入更多群的特权</strong></a>'; | |
T = ad; | |
break; | |
case "msg13": | |
var ab = jGroupUriToId(h.group.GroupUri); | |
var o = __groupMap.get(ab); | |
var ac = "<strong>" + cnSubstr(h.fName, 20, true) + "</strong>申请加入群<strong>" + cnSubstr(o.n, 36, true) + "</strong>"; | |
T = ac; | |
break; | |
case "msg14": | |
var aa = "申请已经被审批"; | |
T = aa; | |
break; | |
default: | |
break; | |
} | |
var Q = $('<div class="pop_group_cont fixed-bottom fixed-right" id="' + x(10) + '" ></div>') | |
.css("z-index", h.zindex); | |
var b = $('<div class="pop_group_cont_bg"></div>'); | |
var aj = $(' <div class="pop_group_cont_tit"><a href="javascript:;" class="pop_group_close"></a><h3>群提醒</h3> </div>'); | |
if (h.msgN == "msg10" || h.msgN == "msg13") { | |
aj = $(' <div class="pop_group_cont_tit"><a href="javascript:;" class="pop_group_close"></a><h3>加群申请</h3> </div>'); | |
} else { | |
if (h.msgN == "msg4") { | |
aj = $(' <div class="pop_group_cont_tit"><a href="javascript:;" class="pop_group_close"></a><h3>加群邀请</h3> </div>'); | |
} | |
} | |
var c = $('<div class="pop_group_cont_box"></div>'); | |
var N = $('<div class="pop_group_tips"></div>'); | |
var ae = $('<div class="pop_group_tips_pic"><span class="pop_group_tips_pic_bg"></span></div>'); | |
var A = $("<img />") | |
.attr("src", F); | |
var V = $('<div class="pop_group_tips_text"></div>'); | |
if (h.msgN == "msg10") { | |
Q.removeClass("pop_group_cont") | |
.addClass("pop_group_invite_box"); | |
var m = $('<div class="pop_group_invite_sub"></div>'); | |
var ai = $('<div class="pop_group_invite_info"></div>'); | |
ae = $('<div class="pop_group_invite_info_pic"></div>'); | |
ae.append(A); | |
V.removeClass() | |
.addClass("pop_group_invite_info_text"); | |
V.html(T); | |
var H = ai.append(ae) | |
.append(V); | |
m.append(aj) | |
.append(H); | |
var z = $('<div class="pop_group_invite_cont"></div>'); | |
var d = $('<div class="pop_group_invite_list_dec"></div>'); | |
var O = $('<div class="pop_group_invite_list"></div>'); | |
var S = $('<div class="pop_group_invite_list_dec"></div>'); | |
var R = $('<div class="pop_group_invite_list_c"></div>'); | |
for (var Z = 0; Z < h.joinItems.length; Z++) { | |
var Y = $("<span></span>") | |
.html(h.joinItems[Z].nn); | |
R.append(Y); | |
} | |
var M = O.append(d) | |
.append(R) | |
.append(S); | |
var E = $('<div class="pop_group_invite_explain">邀请说明:' + h.iR + "</div>"); | |
var a = $('<div class="pop_group_invite_link"></div>'); | |
var J = $('<a href="javascript:;" class="consent">批准</a>') | |
.bind("click", function(i) { | |
$.closeMessageBox(B, true); | |
h.consent(h.handleEntity, 1); | |
stopPropagation(i); | |
preventDefault(i); | |
}); | |
var L = $('<a href="javascript:;" class="refuse">拒绝</a>') | |
.bind("click", function(i) { | |
$.closeMessageBox(B, true); | |
h.consent(h.handleEntity, 2); | |
stopPropagation(i); | |
preventDefault(i); | |
}); | |
var U = a.append(L) | |
.append(J); | |
z.append(M) | |
.append(E) | |
.append(U); | |
Q.append(m) | |
.append(z); | |
} else { | |
if (h.msgN == "msg13") { | |
var ab = jGroupUriToId(h.group.GroupUri); | |
var g = jMemUriToId(h.group.ApplyGroupUserEntity[0].Uri); | |
var G = ab + "_" + g; | |
Q.attr("id", G); | |
Q.removeClass("pop_group_cont") | |
.addClass("pop_group_invite_box"); | |
var m = $('<div class="pop_group_invite_sub bg">' + '<div class="pop_group_cont_tit">' + '<a href="javascript:;" class="pop_group_close"></a>' + "<h3>加群申请</h3></div>" + '<div class="pop_group_invite_info">' + '<div class="pop_group_invite_info_pic matop"></div>' + '<div class="pop_group_invite_info_text lh">' + T + "<p>申请说明:" + cnSubstr(h.iR, 60, false) + "</p>" + "</div></div></div>"); | |
m.find(".pop_group_invite_info_pic") | |
.append(A); | |
var J = $('<div class="pop_group_invite_cont">' + '<div class="pop_group_invite_link2"><a href="javascript:;" class="consent">拒绝</a><a href="javascript:;" class="confirm">批准</a></div>' + "</div>"); | |
Q.append(m) | |
.append(J); | |
J.find(".pop_group_invite_link2 > a:eq(1)") | |
.bind("click", function(i) { | |
$.closeMessageBox(B, true); | |
h.consent(h.handleEntity, 1); | |
stopPropagation(i); | |
preventDefault(i); | |
}) | |
.addClass("hover"); | |
J.find(".pop_group_invite_link2 > a:eq(0)") | |
.bind("click", function(i) { | |
$.closeMessageBox(B, true); | |
h.consent(h.handleEntity, 2); | |
stopPropagation(i); | |
preventDefault(i); | |
}) | |
.bind("mouseover", function(i) { | |
J.find(".pop_group_invite_link2 > a:eq(1)") | |
.removeClass("hover"); | |
}); | |
if ($("#" + G) | |
.attr("id")) { | |
$("#" + G) | |
.find(".pop_group_invite_info_text") | |
.html("") | |
.html(T + "<p>申请说明:" + h.iR + "</p>"); | |
} else { | |
Q.appendTo(document.body); | |
C = setTimeout(function() { | |
$.closeMessageBox(B, h); | |
}, h.timeout); | |
} | |
} else { | |
if (h.msgN == "msg14") { | |
c.addClass("pabo"); | |
c.append($('<div class="pop_group_cont_box_icon"></div><p class="pop_group_cont_box_t">' + T + '。</p><a class="confirm" href="javascript:;">确定</a>')); | |
c.find("a") | |
.bind("click", function(i) { | |
Q.remove(); | |
stopPropagation(i); | |
preventDefault(i); | |
}); | |
} else { | |
if (h.msgN == "msg11" || h.msgN == "msg12") { | |
V.addClass("w170"); | |
var y = "<strong>您所加入群的数量已达上限!</strong>"; | |
var I = $("<p></p>") | |
.html(T); | |
V.append(y) | |
.append(I); | |
} else { | |
V.html(T); | |
} | |
} | |
} | |
} | |
if (h.msgN != "msg10" && h.msgN != "msg13") { | |
var f = ae.append(A); | |
var v = ""; | |
if (h.msgN == "msg11" || h.msgN == "msg12") { | |
var s = $('<div class="pop_group_tips_icon"></div>'); | |
v = N.append(s) | |
.append(V); | |
} else { | |
if (h.msgN != "msg14") { | |
v = N.append(f) | |
.append(V); | |
} | |
} | |
var D = c.append(v); | |
if (K.isLink) { | |
var a = $('<div class="pop_group_link"></div>'); | |
var J = $('<a href="javascript:;" class="consent">同意</a>') | |
.bind("click", function(i) { | |
$.closeMessageBox(B, true); | |
h.consent(h.handleEntity); | |
stopPropagation(i); | |
preventDefault(i); | |
}); | |
var L = $('<a href="javascript:;" class="refuse">拒绝</a>') | |
.bind("click", function(i) { | |
$.closeMessageBox(B, true); | |
stopPropagation(i); | |
preventDefault(i); | |
}); | |
var U = a.append(J) | |
.append(L); | |
D.append(U); | |
} | |
if (h.msgN == "msg8") { | |
Q.addClass("pop_group_spe"); | |
c.removeClass() | |
.addClass("pop_group_cont_box_spe"); | |
var e = $('<div class="pop_group_tips_join"></div>'); | |
var j = $('<a href="javascript:;" hidefocus="true">加入会话</a>') | |
.click(function(i) { | |
h.openWin(this, h.group.id); | |
stopPropagation(i); | |
preventDefault(i); | |
}); | |
var W = e.append(j); | |
D.append(W); | |
} | |
var r = b.append(aj) | |
.append(D); | |
Q.append(r); | |
} | |
var X = Q.html(); | |
if (h.msgN == "msg10" || h.msgN == "msg4") { | |
if (!__groupMsgMap.containsKey(X)) { | |
__groupMsgMap.put(X); | |
Q.appendTo(document.body); | |
} else { | |
return; | |
} | |
} else { | |
if (h.msgN != "msg13") { | |
Q.appendTo(document.body); | |
} | |
} | |
startSound("sys"); | |
$(".pop_group_close") | |
.click(function(i) { | |
$.closeMessageBox(B, true); | |
stopPropagation(i); | |
preventDefault(i); | |
}); | |
Q.slideDown("slow"); | |
if (h.isClose && h.msgN != "msg13") { | |
C = setTimeout(function() { | |
$.closeMessageBox(B, h); | |
}, h.timeout); | |
} | |
B = { | |
d: Q, | |
i: C | |
}; | |
return B; | |
}; | |
$.closeMessageBox = function(c, b) { | |
if (c.d.attr("class") | |
.indexOf("fixed-bottom fixed-right") > 0) { | |
c.d.slideUp("slow"); | |
} | |
if (b == true) { | |
c.d.remove(); | |
clearTimeout(c.i); | |
onCloseGroupSysChatWindow(c.d); | |
var a = $(c.d) | |
.html(); | |
if (__groupMsgMap.containsKey(a)) { | |
__groupMsgMap.remove(a); | |
} | |
} else { | |
if (b && (b.msgN == "msg10" || b.msgN == "msg4" || b.msgN == "msg13")) { | |
gsw = $.fn.jGroupSysMsg({ | |
user: __user, | |
group: b.group, | |
popWin: c.d, | |
onActive: onActiveGroupSysChatWindow, | |
onClosed: onCloseGroupSysChatWindow, | |
onFocus: onFocusGroupSysChatWindow | |
}); | |
gsw.active(); | |
gsw.removeClass("fixed-bottom fixed-right"); | |
if (b.msgN != "msg4") { | |
gsw.removeClass("pop_group_invite_box") | |
.addClass("pop_group_invite_box2"); | |
} | |
gsw.css("display", ""); | |
if (b.msgN == "msg13") { | |
if (!__chatWindowMap.get("group_sys_" + $(c.d) | |
.attr("id"))) { | |
__chatWindowMap.put("group_sys_" + $(c.d) | |
.attr("id"), gsw); | |
} | |
} else { | |
__chatWindowMap.put("group_sys_" + $(c.d) | |
.attr("id"), gsw); | |
} | |
} else { | |
c.d.remove(); | |
clearTimeout(c.i); | |
var a = $(c.d) | |
.html(); | |
if (__groupMsgMap.containsKey(a)) { | |
__groupMsgMap.remove(a); | |
} | |
} | |
} | |
}; | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
String.prototype.endsWith = function(a) { | |
if (typeof a == "undefined" || a == "" || this.length == 0 || a.length > this.length) { | |
return false; | |
} | |
if (this.substring(this.length - a.length) == a) { | |
return true; | |
} else { | |
return false; | |
} | |
return true; | |
}; | |
String.prototype.startsWith = function(a) { | |
if (typeof a == "undefined" || a == "" || this.length == 0 || a.length > this.length) { | |
return false; | |
} | |
if (this.substr(0, a.length) == a) { | |
return true; | |
} else { | |
return false; | |
} | |
return true; | |
}; | |
String.prototype.trim = function(b) { | |
if (typeof b == "undefined") { | |
return this.replace(/^\s+|\s+$/g, ""); | |
} | |
var a = new RegExp("^[" + b + "]+|[" + b + "]+$", "g"); | |
return this.replace(a, ""); | |
}; | |
String.prototype.trimEnd = function(b) { | |
if (typeof b == "undefined") { | |
return this.replace(/\s+$/g, ""); | |
} | |
var a = new RegExp("[" + b + "]+$", "g"); | |
return this.replace(a, ""); | |
}; | |
String.prototype.toCodeArray = function() { | |
var b = new Array(); | |
var a = this.length; | |
if (a == 0) { | |
return b; | |
} | |
for (var c = 0; c < a; c++) { | |
b.push(this.charCodeAt(c)); | |
} | |
return b; | |
}; | |
String.prototype.fromCodeArray = function(b) { | |
if (b == null) { | |
return null; | |
} | |
var a = b.length; | |
var d = ""; | |
for (var c = 0; c < a; c++) { | |
d += String.fromCharCode(b[c]); | |
} | |
return d; | |
}; | |
function formatString() { | |
if (arguments.length < 2) { | |
return arguments; | |
} | |
var a = arguments[0]; | |
for (var b = 0; b < arguments.length - 1; b++) { | |
a = a.replace("{" + b + "}", arguments[b + 1]); | |
} | |
return a; | |
} | |
function cnLength(c) { | |
if (c == null) { | |
return null; | |
} | |
var a = 0; | |
for (var b = 0; b < c.length; b++) { | |
if (c.charCodeAt(b) > 255) { | |
a += 2; | |
} else { | |
a++; | |
} | |
} | |
return a; | |
} | |
function cnSubstr(e, a, c) { | |
if (e == null) { | |
return null; | |
} | |
if (cnLength(e) <= a + 2 && !c) { | |
return e; | |
} | |
var f = 0; | |
var d = ""; | |
if (e != null) { | |
for (var b = 0; b < e.length; b++) { | |
if (e.charCodeAt(b) > 255) { | |
f += 2; | |
} else { | |
f++; | |
} | |
if (f <= a) { | |
d += e.charAt(b); | |
} else { | |
if (c) { | |
return d; | |
} else { | |
return d + "..."; | |
} | |
} | |
} | |
} | |
return d; | |
} | |
function cnLength2(d) { | |
if (d == null) { | |
return null; | |
} | |
var a = 0; | |
for (var c = 0; c < d.length; c++) { | |
var b = d.charAt(c); | |
if (d.charCodeAt(c) > 255 || "@#$%^&+<>ADGHMNOQTUVWY".indexOf(b) >= 0) { | |
a += 2; | |
} else { | |
a++; | |
} | |
} | |
return a; | |
} | |
function cnSubstr2(f, a, d) { | |
if (f == null) { | |
return null; | |
} | |
if (cnLength2(f) <= a + 2 && !d) { | |
return f; | |
} | |
var g = 0; | |
var e = ""; | |
if (f != null) { | |
for (var c = 0; c < f.length; c++) { | |
var b = f.charAt(c); | |
if (f.charCodeAt(c) > 255 || "@#$%^&+<>ADGHMNOQTUVWY".indexOf(b) >= 0) { | |
g += 2; | |
} else { | |
g++; | |
} | |
if (g <= a) { | |
e += b; | |
} else { | |
if (d) { | |
return e; | |
} else { | |
return e + "..."; | |
} | |
} | |
} | |
} | |
return e; | |
} | |
var __htmlConverter = document.createElement("div"); | |
function htmlEncode(b, c) { | |
if (!c) { | |
c = __htmlConverter; | |
} | |
if (c.textContent != null) { | |
c.textContent = b; | |
} else { | |
c.innerText = b; | |
} | |
var a = c.innerHTML; | |
return a; | |
} | |
function htmlDecode(b, c) { | |
if (!c) { | |
c = __htmlConverter; | |
} | |
c.innerHTML = b; | |
var a = ""; | |
if (c.textContent != null) { | |
a = c.textContent; | |
} else { | |
a = c.innerText; | |
} | |
return a; | |
} | |
function getViewportHeight() { | |
var a = 0; | |
if (window.innerHeight) { | |
a = window.innerHeight; | |
} else { | |
if (document.documentElement && document.documentElement.clientHeight) { | |
a = document.documentElement.clientHeight; | |
} else { | |
if (document.body && document.body.clientHeight) { | |
a = document.body.clientHeight; | |
} | |
} | |
} | |
return a; | |
} | |
function getViewportWidth() { | |
var a = 0; | |
if (window.innerWidth) { | |
a = window.innerWidth; | |
} else { | |
if (document.documentElement && document.documentElement.clientWidth) { | |
a = document.documentElement.clientWidth; | |
} else { | |
if (document.body && document.body.clientWidth) { | |
a = document.body.clientWidth; | |
} | |
} | |
} | |
return a; | |
} | |
function getViewportCenter() { | |
var a = getViewportHeight(); | |
var d = getViewportWidth(); | |
var b = { | |
"x": d / 2, | |
"y": a / 2 | |
}; | |
return b; | |
} | |
var __isMsie = $.browser.msie; | |
function isMouseOver(b, d) { | |
d = window.event || d; | |
var c = d.fromElement || d.relatedTarget; | |
if (__isMsie && c) { | |
if (b && c != b && b.contains && !b.contains(c)) { | |
return true; | |
} | |
} else { | |
if (c && b && b.compareDocumentPosition) { | |
var a = b.compareDocumentPosition(c); | |
if (!(c == b || a == 20 || a == 0)) { | |
return true; | |
} | |
} | |
} | |
return false; | |
} | |
function isMouseOut(b, d) { | |
var d = window.event || d; | |
var c = d.toElement || d.relatedTarget; | |
if (__isMsie && c) { | |
if (b && b.contains && !b.contains(c)) { | |
return true; | |
} | |
} else { | |
if (c && b && b.compareDocumentPosition) { | |
var a = b.compareDocumentPosition(c); | |
if (!(a == 20 || a == 0)) { | |
return true; | |
} | |
} | |
} | |
return false; | |
} | |
function getCookie(b) { | |
var a = document.cookie.match(new RegExp("(^| )" + b + "=([^;]*)(;|$)")); | |
if (a != null) { | |
return unescape(a[2]); | |
} | |
return null; | |
} | |
function setCookie(b, d, a, f, c, e) { | |
document.cookie = b + "=" + d + ((a) ? "; expires=" + a : "") + ((f) ? "; path=" + f : "") + ((c) ? "; domain=" + c : "") + ((e) ? "; secure" : ""); | |
} | |
var __expires = (new Date(1970, 1, 1, 8, 0, 1)) | |
.toGMTString(); | |
function deleteCookie(a, c, b) { | |
if (getCookie(a)) { | |
document.cookie = a + "=" + ((c) ? "; path=" + c : "") + ((b) ? "; domain=" + b : "") + "; expires=" + __expires; | |
} | |
} | |
function jHashMap() { | |
var a = 0; | |
var b = new Object(); | |
this.put = function(c, d) { | |
if (!this.containsKey(c)) { | |
a++; | |
} | |
b[c] = d; | |
}; | |
this.get = function(c) { | |
return this.containsKey(c) ? b[c] : null; | |
}; | |
this.remove = function(c) { | |
if (this.containsKey(c) && (delete b[c])) { | |
a--; | |
} | |
}; | |
this.containsKey = function(c) { | |
return (c in b); | |
}; | |
this.containsValue = function(c) { | |
for (var d in b) { | |
if (b[d] == c) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
this.values = function() { | |
var c = new Array(); | |
for (var d in b) { | |
c.push(b[d]); | |
} | |
return c; | |
}; | |
this.keys = function() { | |
var c = new Array(); | |
for (var d in b) { | |
c.push(d); | |
} | |
return c; | |
}; | |
this.size = function() { | |
return a; | |
}; | |
this.clear = function() { | |
a = 0; | |
b = new Object(); | |
}; | |
} | |
function getQueryString(e, b) { | |
var d = ""; | |
var c = new RegExp("[?&]?" + b + "=([^&]+)", "i"); | |
var a = e.match(c); | |
if (a == null || a.length < 1) { | |
d = ""; | |
} else { | |
d = a[1]; | |
} | |
return d; | |
} | |
function objects(h) { | |
var g = new Object(); | |
var e = /[\?\&]?([^=^\&]+)=([^\&]+)/i; | |
var c = h.split("&"); | |
for (var b = 0; b < c.length; b++) { | |
var a = c[b].match(e); | |
if (a == null) { | |
continue; | |
} | |
var f = a.length; | |
if (a != null) { | |
for (var d = 1; d < f; d += 2) { | |
if (d + 1 < f) { | |
g[a[d]] = a[d + 1]; | |
} else { | |
g[a[d]] = ""; | |
} | |
} | |
} | |
} | |
return g; | |
} | |
function addFavourite(url, title) { | |
function findKeys() { | |
var isMSIE = | |
/*@cc_on!@*/ | |
false; | |
var ua = navigator.userAgent.toLowerCase(), | |
isMac = (ua.indexOf("mac") != -1), | |
isWebkit = (ua.indexOf("webkit") != -1), | |
str = (isMac ? "Command/Cmd" : "CTRL"); | |
if (window.opera && (!opera.version || (opera.version() < 9))) { | |
str += " + T"; | |
} else { | |
if (ua.indexOf("konqueror") != -1) { | |
str += " + B"; | |
} else { | |
if (window.opera || window.home || isWebkit || isMSIE || isMac) { | |
str += " + D"; | |
} else { | |
str += " + D"; | |
} | |
} | |
} | |
return str; | |
} | |
try { | |
if (document.all) { | |
window.external.addFavorite(url, title); | |
} else { | |
if (window.sidebar) { | |
window.sidebar.addPanel(title, url, ""); | |
} else { | |
alert("浏览器不支持自动添加收藏夹。关闭本对话框后,请您手动使用组合快捷键'" + findKeys() + "'进行添加。"); | |
} | |
} | |
} catch (e) { | |
alert("浏览器不支持自动添加收藏夹。关闭本对话框后,请您手动使用组合快捷键'" + findKeys() + "'进行添加。"); | |
} | |
} | |
function stopPropagation(a) { | |
a = window.event || a; | |
if (window.event) { | |
a.cancelBubble = true; | |
} else { | |
a.stopPropagation(); | |
} | |
} | |
function preventDefault(a) { | |
if (a && a.preventDefault) { | |
a.preventDefault(); | |
} else { | |
window.event.returnValue = false; | |
return false; | |
} | |
} | |
function replaceSelection(c, e) { | |
if (c != null) { | |
if (c.pasteHTML) { | |
c.select(); | |
c.pasteHTML(e); | |
return true; | |
} else { | |
if (c.deleteContents && c.insertNode) { | |
var b = document.createElement("div"); | |
b.innerHTML = e; | |
var a = []; | |
for (var d = b.childNodes.length - 1; d >= 0; d--) { | |
a.push(b.childNodes[d]); | |
} | |
c.deleteContents(); | |
for (var d = 0, f = a.length; d < f; d++) { | |
c.insertNode(a[d]); | |
} | |
if (a.length > 0) { | |
c.setStartBefore(a[a.length - 1]); | |
c.setEndAfter(a[0]); | |
} | |
c.collapse(false); | |
b = null; | |
return true; | |
} | |
} | |
} | |
return false; | |
} | |
var __scrollBarWidth = null; | |
function getScrollBarWidth() { | |
if (__scrollBarWidth) { | |
return __scrollBarWidth; | |
} | |
var a = document.createElement("div"); | |
a.style.cssText = "overflow:scroll;width:100px;height:100px;"; | |
document.body.appendChild(a); | |
if (a) { | |
__scrollBarWidth = { | |
horizontal: a.offsetHeight - a.clientHeight, | |
vertical: a.offsetWidth - a.clientWidth | |
}; | |
} | |
document.body.removeChild(a); | |
return __scrollBarWidth; | |
}(function(a) { | |
a.extend(a.fn, { | |
loadingPanel: function(c) { | |
var d = a.extend({ | |
parent: a(document.body), | |
target: a(document.body), | |
showTime: 18 * 1000 | |
}, c); | |
d.parent = ((typeof d.parent == "string") ? a("#" + d.parent) : d.parent); | |
d.target = ((typeof d.target == "string") ? a("#" + d.target) : d.target); | |
var b = a('<div class="fx_ajax" style="position:absolute;text-align:center;z-index:90000;display:none;"><div class="fxDiv"></div><div class="fxColor fxTransp"></div></div>'); | |
d.parent.append(b); | |
b.hide = function() { | |
b.css("display", "none"); | |
}; | |
b.show = function() { | |
var e; | |
if (d.parent.get(0) == document.body) { | |
e = d.target.offset(); | |
} else { | |
e = d.target.position(); | |
} | |
b.css({ | |
"top": e.top, | |
"left": e.left, | |
"height": d.target.height(), | |
"width": d.target.width(), | |
"display": "" | |
}); | |
setTimeout(function() { | |
b.hide(); | |
}, d.showTime); | |
}; | |
return b; | |
} | |
}); | |
})(jQuery); | |
function setClipboard(f) { | |
if (window.clipboardData) { | |
return (window.clipboardData.setData("Text", f)); | |
} else { | |
if (window.netscape) { | |
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); | |
var c = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard); | |
if (!c) { | |
return; | |
} | |
var b = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable); | |
if (!b) { | |
return; | |
} | |
b.addDataFlavor("text/unicode"); | |
var e = new Object(); | |
var a = new Object(); | |
var e = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); | |
var g = new String(f); | |
e.data = g; | |
b.setTransferData("text/unicode", e, g.length * 2); | |
var d = Components.interfaces.nsIClipboard; | |
if (!c) { | |
return false; | |
} | |
c.setData(b, null, d.kGlobalClipboard); | |
return true; | |
} | |
} | |
return false; | |
} | |
function getClipboard() { | |
if (window.clipboardData) { | |
return (window.clipboardData.getData("Text")); | |
} else { | |
if (window.netscape) { | |
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); | |
var d = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard); | |
if (!d) { | |
return; | |
} | |
var c = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable); | |
if (!c) { | |
return; | |
} | |
c.addDataFlavor("text/unicode"); | |
d.getData(c, d.kGlobalClipboard); | |
var e = new Object(); | |
var a = new Object(); | |
try { | |
c.getTransferData("text/unicode", e, a); | |
} catch (b) { | |
return null; | |
} | |
if (e) { | |
if (Components.interfaces.nsISupportsWString) { | |
e = e.value.QueryInterface(Components.interfaces.nsISupportsWString); | |
} else { | |
if (Components.interfaces.nsISupportsString) { | |
e = e.value.QueryInterface(Components.interfaces.nsISupportsString); | |
} else { | |
e = null; | |
} | |
} | |
} | |
if (e) { | |
return (e.data.substring(0, a.value / 2)); | |
} | |
} | |
} | |
return null; | |
} | |
function osType() { | |
var b = (navigator.userAgent || navigator.vendor || window.opera) | |
.toLowerCase(); | |
isWin7 = b.indexOf("nt 6.1") > -1; | |
isVista = b.indexOf("nt 6.0") > -1; | |
isWin2003 = b.indexOf("nt 5.2") > -1; | |
isWinXp = b.indexOf("nt 5.1") > -1; | |
isWin2000 = b.indexOf("nt 5.0") > -1; | |
isWinNT40 = b.indexOf("nt 4.0") > -1; | |
isWindows = (b.indexOf("windows") != -1 || b.indexOf("win32") != -1); | |
isMac = (b.indexOf("macintosh") != -1 || b.indexOf("mac os x") != -1); | |
isAndroid = (b.indexOf("android") != -1); | |
isLinux = (b.indexOf("linux") != -1); | |
var c = 0; | |
var a = ""; | |
if (isWin7) { | |
c = 500300002; | |
} else { | |
if (isVista) { | |
c = 500300003; | |
} else { | |
if (isWinXp) { | |
c = 500300001; | |
} else { | |
if (isWin2003) { | |
c = 500300005; | |
} else { | |
if (isWin2000) { | |
c = 500300004; | |
} else { | |
if (isWinNT40) { | |
c = 500300006; | |
} else { | |
if (isMac) { | |
c = 500300008; | |
} else { | |
if (isLinux) { | |
c = 500300007; | |
} else { | |
if (isAndroid) { | |
c = 500300009; | |
} else { | |
if (/ip(hone|od)/i.test(b)) { | |
c = 500300012; | |
} else { | |
if (/symbian/i.test(b)) { | |
c = 500300011; | |
} else { | |
if (/windows (ce|phone)/i.test(b)) { | |
c = 500300010; | |
} else { | |
c = 500300013; | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
return c; | |
} | |
function getScreen() { | |
var b = screen.width + "," + screen.height; | |
var a = 0; | |
switch (b) { | |
case "1024,768": | |
a = 500200001; | |
break; | |
case "1440,900": | |
a = 500200002; | |
break; | |
case "800,600": | |
a = 500200005; | |
break; | |
case "1366,768": | |
a = 500200006; | |
break; | |
case "1280,800": | |
a = 500200007; | |
break; | |
case "1280,1024": | |
a = 500200008; | |
break; | |
case "1680,1050": | |
a = 500200009; | |
break; | |
case "1152,864": | |
a = 500200010; | |
break; | |
case "1280,960": | |
a = 500200011; | |
break; | |
case "1280,768": | |
a = 500200012; | |
break; | |
case "1920,1080": | |
a = 500200013; | |
break; | |
case "640,480": | |
a = 500200014; | |
break; | |
case "1360,768": | |
a = 500200015; | |
break; | |
default: | |
a = 500200016; | |
break; | |
} | |
return a; | |
} | |
var numberReg = /^\d{8,11}$/; | |
var numReg = /^\d+$/; | |
var htmlReg = /<([^<>]+)>/gi; | |
var numOrWordReg = /^(\w|[\u4e00-\u9fa5])+$/; | |
var emailReg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/; | |
var isValidSid = /^\d{1,10}$/; | |
var isMobileNoReg = /^(134|135|136|137|138|139|147|150|151|152|157|158|159|182|183|187|188|130|131|132|155|156|185|186|133|153|180|189)[\d]{8}$/; | |
var isMobileNoRegForTXL = /^(\+86)?(134|135|136|137|138|139|147|150|151|152|157|158|159|182|183|187|188|130|131|132|155|156|185|186|133|153|180|189)[\d]{8}$/; | |
var isChinaMobileNoReg = /^(134|135|136|137|138|139|147|150|151|152|157|158|159|182|183|187|188)[\d]{8}$/; | |
var isUTMoblieNoReg = /^(130|131|132|155|156|185|186|133|153|180|189)[\d]{8}$/; | |
var isChinaUnicomNoReg = /^(130|131|132|155|156|185|186|)[\d]{8}$/; | |
var isChinaTelecomNoReg = /^(133|153|180|189)[\d]{8}$/; | |
var __version = 0; | |
var __dataReportMap = new jHashMap(); | |
(function(a) { | |
a.extend({ | |
request: { | |
URL_SetCounter: "SetCounter.aspx?Version={0}&coutertype={1}&tag={2}&val={3}&rand={4}", | |
version: __version | |
}, | |
increaseCounter: function(e, c, f) { | |
if (!c) { | |
c = "default"; | |
} | |
if (f == undefined) { | |
f = 1; | |
} | |
var d = formatString(a.request.URL_SetCounter, a.request.version++, e, c, f, Math.random()); | |
var b = new Image(); | |
b.src = d; | |
}, | |
increaseCounters: function(b, d) { | |
if (d == undefined) { | |
d = 1; | |
} | |
var e = __dataReportMap; | |
if (e.containsKey(b)) { | |
var c = e.get(b) + d; | |
e.put(b, c); | |
} else { | |
e.put(b, d); | |
} | |
} | |
}); | |
})(jQuery); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment