feixin group.js
(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' style='display: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);
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' style='display: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);
浙公网安备 33010602011771号