Contacts={init:function(){this.update()},getContactsOnline:function(){var a=new AjaxHandler();var b={json:true,success:function(c){if(c==null){return}Contacts.mergeBuddies(Contacts.buddiesOnline,c.onlineFriends)}};a.request("GET","/backend/getFriends.php?online=1",b)},mergeBuddies:function(d,e){var b={};for(var c=0,a=e.length;c<a;c++){if(d.userId[e[c].userId]==undefined){e[c].fadeIn=true}b[e[c].userId]=e[c]}for(var f in d.userId){if(b[f]==undefined){d.userId[f].fadeOut=true;b[f]=d.userId[f]}}this.buddiesOnline=new DataStorage(b);this.buddiesOnline.sortBy("nickname");this.buddiesOnline.createIndex("userId","userId");this.insert(true)},insert:function(h){h=h|false;var f=this.buddiesOnline.order;var b=DOM.fragment();var e=this.getInviteInfo();if(f.length==0){this.buddiesOffline(h,e);return}else{for(var c=0,a=f.length;c<a;c++){var d=new this.layoutEntry(f[c]);f[c].layoutEntry=d;b.appendChild(d.entry)}b.appendChild(e)}if(document.getElementById("contactsOnline")){var g=document.getElementById("contactsOnline");g.innerHTML="";g.appendChild(b);if(h==true){this.update()}}},getInviteInfo:function(){return DOM.div({className:"pd10 bgY1 bbG1",text:"<a href='/click/2/ratter/' class='inBu3 fwB'><span class='icAdd'>&nbsp;</span>Freunde werben</a>"})},buddiesOffline:function(e){e=e||false;var b=this.getInviteInfo();var a=DOM.fragment();
var c=DOM.div({className:"noBuddiesOnline",text:"<span style='font-size:12px'>0 Freunde online</span>"});a.appendChild(c);a.appendChild(b);if(document.getElementById("contactsOnline")){var d=document.getElementById("contactsOnline");d.innerHTML="";d.appendChild(a);if(e==true){this.update()}}},update:function(){if(this.buddiesOnline){var d=this.buddiesOnline.order;var b={};for(var c=0,a=d.length;c<a;c++){if(d[c].fadeOut==true){d[c].layoutEntry.fadeOut();delete d[c].fadeOut}else{if(d[c].fadeIn==true){d[c].layoutEntry.fadeIn();delete d[c].fadeIn;b[d[c].userId]=d[c]}else{b[d[c].userId]=d[c]}}d[c].layoutEntry.updateMails()}if(User.newMailsBySender!=null){for(var e in User.newMailsBySender){if(this.buddiesOnline.userId[e]){this.buddiesOnline.userId[e].layoutEntry.updateMails()}}}delete this.buddiesOnline;this.buddiesOnline=new DataStorage(b);this.buddiesOnline.sortBy("nickname");this.buddiesOnline.createIndex("userId","userId")}else{if(User.friendsOnline&&User.friendsOnline.onlineFriends){this.buddiesOnline=new DataStorage(User.friendsOnline.onlineFriends);this.buddiesOnline.sortBy("nickname");this.buddiesOnline.createIndex("userId","userId");this.insert()}else{if(User.friendsOnline==null){this.buddiesOffline()}}}},unlocked:{},layoutEntry:function(b){var d=b.nickname;var c=DOM.span({text:"&nbsp;"});var g;if(b.firstname){g=DOM.div({className:"realname",text:Jpy.truncate(9,b.firstname)+" "+Jpy.truncate(6,b.surname)})
}else{g=DOM.div({className:"realname dn"})}var f=DOM.div({className:"status",child:[c]});var h="";if(b.profileImage){h=DOM.link({className:"picture",child:Jpy.getUserImage(b.profileImage,25)})}else{h=DOM.link({className:"picture",child:DOM.image({src:Jpy.picurl+"/i/ge/kb25.gif"})})}var a=DOM.div({className:"link",text:Jpy.truncate(12,d)});var e=DOM.link({className:"plain",child:[a,g]});this.entry=DOM.div({className:"entry cf",mouseover:function(){if(this.className!="entry bgY3 cf"){Jpy.css.hoverClass(this,"bgY7")}},child:[h,e,f]});this.showStatus=function(){if(/bgE2/gi.test(this.entry.className)==false&&/bgG1/gi.test(this.entry.className)==false){this.entry.className="entry cf"}h.onmouseover=(function(i,k,j){return function(){Jpy.userLinkLayer.get(k,{nickname:i,userId:j,isFriend:true})}})(d,h,b.userId);f.onclick=(function(i){return function(){new MessageStream().compose(this,i);return false}})(d);if(User.profilePopup=="y"){h.onclick=function(){Jpy.popupProfile(d)};e.onclick=function(){Jpy.popupProfile(d)}}else{h.href="/user/"+d;e.href="/user/"+d}c.className="icSt"+b.statusIcon;c.innerHTML="&nbsp;";if(OnlineStatus.statuslist[b.statusIcon]){c.title=OnlineStatus.statuslist[b.statusIcon].name}};this.showStatus();this.updateMails=function(){if(User.newMailsBySender!=null){if(Contacts.buddiesOnline.userId[b.userId]){if(User.newMailsBySender[b.userId]){this.addMails(User.newMailsBySender[b.userId])
}else{this.showStatus()}}else{this.showStatus()}}else{this.showStatus()}};this.addMails=function(i){this.entry.className="entry bgY3 cf";this.entry.onclick=(function(j){return function(){if(User.mailboxView==1){try{j.mails.reverse()}catch(l){}if(j.mails&&j.mails[0]){var k=j.mails[0];new MessageStream().showMail(j.userId,k.id)}}else{new MessageStream().showMessages(j.userId)}Contacts.insert(true);return false}})(i);c.className="newEntries rb3";c.innerHTML=""+i.numberOfNewMails;f.onclick=function(){return};h.onclick=function(){return};e.onclick=function(){return}};this.fadeIn=function(){this.entry.className="entry bgE2 cf";(function(i){window.setTimeout(function(){Jpy.css.removeClass(i,"bgE2")},1000)})(this.entry)};this.fadeOut=function(){this.entry.className="entry bgG1 cf";(function(i){window.setTimeout(function(){Jpy.remove(i)},1500)})(this.entry)}},clearMailStream:function(a){if(User.newMailsBySender&&User.newMailsBySender[a]){delete User.newMailsBySender[a]}},clearMail:function(e,d){if(!User.newMailsBySender||!User.newMailsBySender[e]){return}var f=User.newMailsBySender[e];if(!f.mail||!f.mail.length||f.mail.length==0){return}for(var c=0,a=f.mail.length;c<a;c++){var b=f.mail[c];if(!b||!b.id){continue}if(b.id==d){if(a>1){User.newMailsBySender[e].mail[c].shift();User.newMailsBySender[e].numberOfNewMails--}else{delete User.newMailsBySender[e]
}}}},guestbook:{add:function(c,h,f){var a=undefined;if(document.getElementById("buBuddyList")){a="buBuddyList"}var e=new Jpy.layerDragable.get({trigger:c,id:"lyGuestbookAdd",width:"630px",offset:{x:-200,y:-90},title:"Gästebucheintrag an "+h,mother:a});if(window.innerWidth){e.layer.frame.style.left=window.innerWidth/2-320+"px"}var b=e.frame;var d=DOM.div({className:"bgG1 pd5"});var i=DOM.textarea({className:"teG3",style:{width:"620px",height:"180px"},id:"gbTextareaAdd"});d.appendChild(i);b.appendChild(d);MessageEditor.register(i,"","",4,undefined,"lyGuestbookAdd");var g=DOM.actionbar("GB-Eintrag senden","Abbrechen");g.send.onclick=function(){Jpy.buddies.guestbook.send(f,h)};g.abort.onclick=function(){Jpy.remove("lyGuestbookAdd")};b.appendChild(g.frame);i.focus()},send:function(a,d){Jpy.buddies.guestbook.currentReceiver=d;SystemMessage.loading.start();var c=new AjaxHandler();var b=document.getElementById("gbTextareaAdd").value;var e={userId:a,text:b};var f={success:function(h){SystemMessage.loading.end();var g=ParseJSON(h);if(g.validImageHosters){Jpy.showImageWhitelistingError(g.validImageHosters,g.offendingLinks);return false}else{if(h<0){Jpy.buddies.guestbook.handleErrorCode(h)}else{SystemMessage.inline.success("Gästebucheintrag bei "+Jpy.buddies.guestbook.currentReceiver+" erfolgreich!");Jpy.remove("lyGuestbookAdd")
}}Jpy.buddies.guestbook.currentReceiver=undefined},failure:function(g){SystemMessage.loading.end();Jpy.handleAjaxError(g)}};c.request("POST","/backend/user/addGuestbookEntry.php?h="+User.hash,f,e)},handleErrorCode:function(a){if(ErrorHandlerGlobal.handle(a)){return}var b=function(c){SystemMessage.inline.error(c)};switch(a){case"-2":b(Jpy.buddies.guestbook.currentReceiver+" ist nicht auf deiner Freundesliste!");break;case"-3":b("Ungültiger Texteintrag, bitte Text anpassen.");break;case"-4":b(Jpy.buddies.guestbook.currentReceiver+"'s Privatsphäreeinstellungen ermöglichen keine Gästebucheinträge");break;case"-8":b("Textinhalt ist leer!");break;case"-12":b(Jpy.buddies.guestbook.currentReceiver+" hat heute bereits einen Gästebucheintrag von dir erhalten");break;case"-13":b(Jpy.buddies.guestbook.currentReceiver+" hat heute bereits einen Gästebucheintrag von dir erhalten");break;case"-14":b(Jpy.buddies.guestbook.currentReceiver+" Profil ist gesperrt");break;case"-17":b("Dein Profil muss erst aktiviert werden!");break;case"-18":b("Du hast schon dreimal in Folge geschrieben. Warte doch ein wenig (neues Gästebuch).");break;case"-19":b("Du kannst heute nicht mehr in Gästebücher schreiben (neues Gästebuch).");break;case"-20":b(Jpy.buddies.guestbook.currentReceiver+" möchte keine reinen Bildeinträge haben (neues Gästebuch).");break;
case"-21":b(Jpy.buddies.guestbook.currentReceiver+" möchte ausschließlich Texteinträge haben (neues Gästebuch).");break;case"-22":b("Eintrag konnte nicht gespeichert werden.");break;case"-23":b("Du kannst heute keine weiteren Gästebucheintrag machen..");break;default:b("Gästebucheintrag konnte nicht übertragen werden");break}}}};
