var J2=new (function(){var b=this;
this.asyncRunnings=[];
this.ajax=function(a){a=$.extend({global:true,processName:null,url:null,data:null,onSuccess:null,onComplete:null,onError:null,async:true},a);
if(a.processName==null||b.asyncRunnings[a.processName]==undefined){b.asyncRunnings[a.processName]=true;
$.ajax({url:a.url,data:a.data,type:"GET",dataType:"json",cache:false,async:a.async,timeout:5000,global:a.global,success:a.onSuccess,complete:function(c,d){delete b.asyncRunnings[a.processName];
a.onComplete!=null&&a.onComplete(c,d);
},error:function(c,d){delete b.asyncRunnings[a.processName];
a.onError!=null&&a.onError(c,d);
}});
}};
});
J2.SGUID=new (function(){this.getViewUrl=function(c,a){var b=null;
if(a.length>8){b="/Cache/"+c+"/SGUID/"+a.substr(0,2)+"/"+a.substr(2,2)+"/"+a.substr(4,2)+"/"+a.substr(6,2)+"/"+a;
}return b;
};
});
(function(e){e.fn.extend({buddyList:function(h,f){if(h&&typeof h=="object"){h=e.extend({},e.buddyList.defaults,h);
}this.each(function(){new e.buddyList(this,h,f);
});
}});
e.buddyList=function(h,f,m){function o(){if(k!=null){k.find("> li").removeClass("even");
k.find("> li:visible").filter(":even").addClass("even");
}}function x(){var b=g.data("querySelectedBuddy"),c=k.find("> li:visible"),a=c.length;
if(a==0){return false;
}var d=b;
if(b==null){b=a-1;
g.data("querySelectedBuddy",b);
d=b;
}else{if(b<=0){d=b;
b=a-1;
g.data("querySelectedBuddy",b);
}else{d=b;
g.data("querySelectedBuddy",--b%a);
}}d!=null&&c.eq(d).removeClass("selected");
b=c.eq(b).addClass("selected");
i(b);
}function u(){var b=g.data("querySelectedBuddy"),c=k.find("> li:visible"),a=c.length;
if(a==0){return false;
}var d=b;
if(b==null){b=0;
g.data("querySelectedBuddy",b);
d=b;
}else{if(b>=a-1){d=b;
b=0;
g.data("querySelectedBuddy",b);
}else{d=b;
g.data("querySelectedBuddy",++b%a);
}}d!=null&&c.eq(d).removeClass("selected");
b=c.eq(b).addClass("selected");
i(b);
}function p(b){var c=b.opt,a=b.withFocus;
b=b.withFade;
if(c==null||c=="toggle"){g.find(".panel").is(":visible")?q():s(a,b);
}else{if(c=="hide"){q();
}else{c=="show"&&s(a,b);
}}}function s(b,c){var a=g.find(".panel");
if(!a.is(":visible")){g.find(".panel").hide();
c?a.fadeIn():a.show();
j();
o();
e.cookie(n("hide"),"0",{expires:21,path:"/"});
}b&&g.find("#txtFilter").focus();
g.find("#label").addClass("lit");
}function q(){g.find(".panel").fadeOut();
e.cookie(n("hide"),"1",{expires:21,path:"/"});
g.find("#label").removeClass("lit");
}function n(b){return g.data("options").senderId+"_"+b;
}function t(b){var c=e("#buddyUser").clone().removeClass("template").removeAttr("id").attr("budId",b.userId);
c.find("#nickname").text(b.userName);
b.avatar!=null&&c.find("#avatar").attr("s",J2.SGUID.getViewUrl(50,b.avatar));
c.addClass(b.ostat);
return c;
}function i(b){var c=b.parent().parent(),a=c[0].scrollTop,d=c.outerHeight();
d=a+d;
var l=b[0].offsetTop;
b=b.outerHeight();
b=l+b;
if(b>d){d=b-d;
c[0].scrollTop=a+d;
}else{if(l<a){d=a-l;
c[0].scrollTop=a-d;
}}}function j(){k!=null&&e.each(k.find("> li:visible #avatar[s]"),function(b,c){var a=e(c),d=a.parent(),l=false,v=d.parent().parent(),r=v[0].scrollTop;
v=v.outerHeight();
v=r+v;
var w=d[0].offsetTop;
d=d.outerHeight();
d=w+d;
if(w<=v||d<r){l=true;
}if(l){l=a.attr("s");
if(l!=""&&l!=null){a.attr("src",l).removeAttr("s");
a.show();
}}});
}var g=e(h);
if(f&&typeof f=="string"){f=="toggle"&&p(m);
}else{g.data("options",f);
h=g.find("#pnList");
var k=null;
m=0;
if(f.data!=null){k=e("<ul></ul>");
e.each(f.data,function(b,c){k.append(t(c));
});
h.append(k);
k.click(function(b){var c=e(b.target);
b=c;
if(c[0].tagName.toLowerCase()!="li"){b=c.parent();
}c=c.attr("cmd");
if(c=="delete"){if(confirm("Soll "+b.find("#nickname").text()+" wirklich aus der Budyliste\nentfernt werden?")){c=Number(b.attr("budid"));
J2.ajax({url:"/nt/Ajax/Friendship.ashx",data:{cmd:"buddy_delete",id:c}});
b.remove();
o();
}return false;
}else{if(c=="chat"){b=b.parent();
c=b.find("#avatar").attr("src");
c=c.substring(c.lastIndexOf("/")+1);
g.parent().comClient("addUser",{recipientId:b.attr("budId"),recipientName:b.find("#nickname").text(),recipientAvatar:c,openOnStart:true});
return false;
}else{location.href="/nt/Members/PAGE.aspx?u="+b.find("#nickname").text();
}}});
m=k.find("> li").length;
}if(m==0){h.hide();
g.find("#pnHelp").show();
}else{f=m-k.find("li.off").length;
if(f==0){g.find("#label").text("niemand online");
}else{f==1?g.find("#label").text("1 Buddy online"):g.find("#label").text(f+" Buddies online");
}}h.scroll(function(){j();
});
g.find("#label").click(function(){p({opt:"toggle",withFocus:true,withFade:true});
});
g.find("#txtFilter").keyup(function(b){if(b.keyCode==27){if(e(this).val()!=""){e(this).val("");
k.find("> li").show();
g.data("querySelectedBuddy",null);
o();
}else{q();
}}else{if(b.keyCode==13){b=g.data("querySelectedBuddy");
if(b==null){return false;
}k.find("> li:visible").eq(b).click();
}else{if(b.keyCode==38){x();
}else{if(b.keyCode==40){u();
}else{g.data("querySelectedBuddy",null);
var c=e(this).val().toLowerCase();
if(c!=""){e.each(k.find("#nickname"),function(){e(this).text().toLowerCase().indexOf(c)>=0?e(this).parent().show():e(this).parent().hide();
});
k.find("> li").removeClass("selected");
o();
u();
}else{k.find("> li").show();
k.find("> li").removeClass("selected");
o();
}}}}}});
e.cookie(n("hide"))=="1"||s(false,false);
}};
e.buddyList.defaults={senderId:0};
})(jQuery);
(function(e){e.fn.extend({chatWindow:function(h,f){if(h&&typeof h=="object"){h=e.extend({},e.chatWindow.defaults,h);
}this.each(function(){new e.chatWindow(this,h,f);
});
}});
e.chatWindow=function(h,f,m){function o(j){i.parent().parent().comClient("sendServerMessage",{cmd:"sendChatMessage",recipientId:i.data("options").recipientId,msg:j});
}function x(j){var g=i.data("options").senderId,k=i.data("options").senderName,b=i.data("options").recipientName,c=j.senderId,a=j.time;
k=j.senderId==g?k:b;
b=j.content;
j=i.find("#content");
g=j[0].scrollHeight-j.scrollTop()==j.outerHeight();
var d=c!=i.data("options").recipientId?"me":"other";
if(c!=i.data("lastSenderId")){k=e("<div>").addClass("sender").addClass(d).text(k);
k.append(e("<div>").addClass("time").text(a+" Uhr"));
j.append(k);
}a=e("<p>").addClass(d).html(b);
j.append(a);
if(g){j.stop();
j.animate({scrollTop:j.attr("scrollHeight")},1000);
}i.data("lastSenderId",c);
}function u(j){if(j>0&&!i.find(".panel").is(":visible")){var g=i.data("newMessagesCount");
if(g==null){g=0;
}g+=j;
i.data("newMessagesCount",g);
i.find("#counter").text(g).show();
e.cookie(n("newMessagesCount"),g,{path:"/"});
}}function p(j){var g=j.opt,k=j.withFocus;
j=j.withFade;
if(g==null||g=="toggle"){i.find(".panel").is(":visible")?q():s(k,j);
}else{if(g=="hide"){q();
}else{g=="show"&&s(k,j);
}}}function s(j,g){var k=i.find(".panel");
if(!k.is(":visible")){i.parent().find(".panel").hide();
i.parent().find("li").removeClass("lit");
g?k.fadeIn():k.show();
k=i.find("#content");
k.stop();
k[0].scrollTop=k.attr("scrollHeight");
i.data("newMessagesCount",0);
i.find("#counter").hide();
e.cookie(n("newMessagesCount"),0,{path:"/"});
i.parent().parent().comClient("setActiveRecipientId",i.data("options").recipientId);
i.addClass("lit");
}j&&i.find("#txtInput").focus();
}function q(){i.parent().find(".panel").fadeOut();
i.parent().parent().comClient("setActiveRecipientId",0);
i.removeClass("lit");
}function n(j){return i.attr("id")+"_"+j;
}function t(j){i.find("#ostat").removeClass().addClass(j);
e.cookie(n("ostat"),j,{path:"/"});
}var i=e(h);
if(f&&typeof f=="string"){if(f=="sendMessage"){o(m);
}else{if(f=="processServerMessage"){x(m);
}else{if(f=="toggle"){p(m);
}else{if(f=="incrementNewMessagesCount"){u(m);
}else{f=="setOStat"&&t(m);
}}}}}else{i.data("options",f);
i.attr("recipientId",f.recipientId);
h=e("#chatPanel").clone().removeClass("template").attr("id","panel");
h.find("#userLink").attr("href","/nt/Members/PAGE.aspx?u="+f.recipientName);
h.find("#nickname").text(f.recipientName);
if(f.recipientAvatar!=""&&f.recipientAvatar!=null){m=J2.SGUID.getViewUrl(50,f.recipientAvatar);
h.find("#avatar").attr("src",m);
}else{h.find("#avatar").hide();
}h.find("#btnMin").click(function(){p({opt:"hide"});
});
h.find("#btnClose").click(function(){i.parent().parent().comClient("removeUser",f.recipientId);
});
h.find("#btnClear").click(function(){i.find("#content").text("");
i.data("lastSenderId",null);
i.parent().parent().comClient("sendServerMessage",{cmd:"clear",recipientId:f.recipientId});
});
h.find("#txtInput").keydown(function(j){if(j.keyCode==13){e.trim(e(this).val())!=""&&o(e(this).val());
e(this).val("");
e(this).focus();
return false;
}else{if(j.keyCode==27){q();
return false;
}}});
i.append(h);
f.openOnStart&&p({opt:"show",withFocus:true,withFade:true});
h=Number(e.cookie(n("newMessagesCount")));
h>0&&u(Number(h));
h=e.cookie(n("ostat"));
h!=null&&t(h);
}};
e.chatWindow.defaults={senderId:0,senderName:null,recipientId:0,recipientName:null,recipientAvatar:null};
})(jQuery);
(function(e){e.fn.extend({comClient:function(h,f){if(h&&typeof h=="object"){h=e.extend({},e.comClient.defaults,h);
}this.each(function(){new e.comClient(this,h,f);
});
}});
e.comClient=function(h,f,m){function o(a){var d=p(a.recipientId);
if(d==null){d=c.find("ul#users");
var l=e("#chatUser").clone().removeClass("template").attr("id","com_"+a.recipientId);
l.find("#nickname").click(function(){l.chatWindow("toggle",{opt:"toggle",withFade:true,withFocus:true});
return false;
});
l.find("#btnClose").click(function(){x(a.recipientId);
});
l.find("#nickname").text(a.recipientName);
d.append(l);
l.chatWindow({senderId:c.data("options").senderId,senderName:c.data("options").senderName,recipientId:a.recipientId,recipientName:a.recipientName,recipientAvatar:a.recipientAvatar,openOnStart:a.openOnStart});
d=l;
}else{a.openOnStart&&d.chatWindow("toggle",{opt:"show",withFade:true,withFocus:true});
}return d;
}function x(a){var d=p(a);
if(d!=null){d.remove();
s({cmd:"closeTemporarely",recipientId:a});
}}function u(a){var d=p(a.partnerId);
if(d==null){d=o({senderId:c.data("options").senderId,senderName:c.data("options").senderName,recipientId:a.partnerId,recipientName:a.partnerName,recipientAvatar:a.partnerAvatar});
}return d;
}function p(a){a=c.find("li[recipientId="+a+"]");
if(a.length==0){return null;
}return a;
}function s(a){var d=c.data("options").senderId;
a.senderId=d;
J2.ajax({url:c.data("ajaxUrl"),data:a});
q();
}function q(){var a=g();
if(!(i()||a%3==0)){return false;
}a=c.data("options").senderId;
J2.ajax({url:c.data("ajaxUrl"),data:{senderId:a,cmd:"queryServer"},onSuccess:function(d){if(d!=null){n(d.mail);
if(t(d.chat.conversations,true)>0){i(true);
j(true);
}}if(j(false)>=10){j(true);
i(false);
}}});
}function n(a){var d=e("#mailStatus");
if(a.playSound){var l='<div style="visible:none"><embed src="'+("/Cache/App/MailSounds/"+c.data("options").soundIndex+".swf")+'" quality="high" bgcolor="#000000" width="1" height="1" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></div>';
document.getElementById("dynDiv").innerHTML=l;
}if(a.unReadCount>0){d.html("<b>"+a.unReadCount+" Neu!</b>");
}else{a.msgCount==0?d.html("Post"):d.html("Post ("+a.msgCount+")");
}}function t(a,d){var l=0;
e.each(a,function(v,r){var w=u(r);
e.each(r.messages,function(B,y){w.chatWindow("processServerMessage",{senderId:y.senderId,time:y.time,content:y.content});
l++;
});
w.chatWindow("setOStat",r.partnerOStat);
var z=k(),A=r.unreadMessagesCount>0;
if(z==0&&A&&d==true||z==r.partnerId){w.chatWindow("toggle",{opt:"show",withFocus:false,withFade:d});
b(r.partnerId);
}else{A&&w.chatWindow("incrementNewMessagesCount",r.unreadMessagesCount);
}});
return l;
}function i(a){if(a!=null){c.data("turboMode",a==true);
}else{a=c.data("turboMode");
if(a==null){a=true;
c.data("turboMode",true);
return a;
}}return c.data("turboMode");
}function j(a){var d=c.data("emptyChatLoopCount");
if(d==null){d=0;
c.data("emptyChatLoopCount",0);
}else{d++;
c.data("emptyChatLoopCount",d);
}if(a==true){d=0;
c.data("emptyChatLoopCount",d);
}return d;
}function g(){var a=c.data("queryServerLoopCount");
if(a==null){a=1;
}else{a++;
}c.data("queryServerLoopCount",a);
return a;
}function k(){var a=0,d=c.attr("id")+"_openedChat";
d=e.cookie(d);
if(d!=null){a=Number(d);
}return a;
}function b(a){var d=c.attr("id")+"_openedChat";
e.cookie(d,a,{path:"/"});
}var c=e(h);
if(f&&typeof f=="string"){if(f=="addUser"){o(m);
}else{if(f=="sendServerMessage"){s(m);
}else{if(f=="queryServer"){q();
}else{if(f=="removeUser"){x(m);
}else{if(f=="processChatConversations"){t(m,false);
}else{if(f=="setActiveRecipientId"){b(m);
}else{f=="processMailStatus"&&n(m);
}}}}}}}else{h=e("<ul id='users'></ul>");
c.append(h);
c.data("options",f);
c.data("ajaxUrl","/nt/Ajax/Communication.ashx");
f.chatPreData!=null&&t(f.chatPreData,false);
c.find("#buddys").buddyList({senderId:f.senderId,data:f.buddyListData});
f="$('#"+c.attr("id")+"').comClient('queryServer')";
setInterval(f,2000);
}};
e.comClient.defaults={senderId:0,senderName:null};
})(jQuery);
