var MessageStreamPreview=function(){this.isReady=false;this.useWebSocket=false;var a=location.host};MessageStreamPreview.REQUIREMENT=[{functionName:"DOM.Stream",file:"DomStream.js"},{object:"mailboxTemplates",file:"DomStreamTemplate/mailbox.js"}];MessageStreamPreview.prototype.entries={entries:{},set:function(a){if(!a.entry){return}var b=User.mailboxView==1?a.entry.id:"stream";this.entries["i"+a.entry.userId+":"+b]=a},remove:function(a){delete this.entries["i"+a]},get:function(a){return this.entries["i"+a]},clear:function(){this.entries={}}};MessageStreamPreview.prototype.numberOfEntriesDisplayed=0;MessageStreamPreview.prototype.ErrorHandler=new ErrorHandler();MessageStreamPreview.prototype.blockUpdate=false;MessageStreamPreview.prototype.init=function(a){this.loadRequirements(a)};MessageStreamPreview.prototype.handleData=function(e,d){var c=this;if(this.ErrorHandler.handle(e)){return}if(!e||typeof(e.s)=="undefined"||(e.s==0&&!e.code)||(e.s==1&&!e.data)||e.s==0||e.s!=1){return}e=e.data;if(e.mailsBySender){User.newMailsBySender=e.mailsBySender;Contacts.update();c.updateLayers()}if(d==1&&e.notifications&&e.notifications.length&&e.notifications.length>0&&SystemMessage&&SystemMessage.desktop){for(var b=e.notifications.length;b--;){var a=e.notifications[b];if(!a||!a.id||!a.creationTimestamp||!a.stamp||!a.stamp.nickname||!a.message){continue
}SystemMessage.desktop.show(a.stamp.profileImage,a.stamp.hashXS,a.stamp.nickname+":",a.message,"Mail",a.userId+":"+a.id,{userId:a.userId,id:a.id,timestamp:a.creationTimestamp})}}if(c.blockUpdate){return}c.entries.clear();if(e.numberOfMessages){c.numberOfEntries=e.numberOfMessages}if(e.preview&&e.preview.length&&e.preview.length>0){c.previewData=e.preview;c.show()}else{c.previewData=null;c.numberOfEntries=0;c.clear();if(Jpy.id("nvMailboxCounter")){Jpy.remove("nvMailboxCounter")}}};MessageStreamPreview.prototype.get=function(){var c=0;var b=this;if(window.webkitNotifications&&window.webkitNotifications.checkPermission()==0){c=1}if(typeof(this.LiveSocket)!="undefined"&&this.useWebSocket){if(this.LiveSocket.readyState==1){this.LiveSocket.send(42)}return}var a=("WebSocket" in window&&window.WebSocket!==null);if((a||("MozWebSocket" in window&&window.MozWebSocket!==null))&&this.useWebSocket){if(a){this.LiveSocket=new WebSocket(this.webSocketUrl+"/getNotification?h="+User.hash+"&t="+User.jph+"&u="+User.id+"&dn="+c)}else{this.LiveSocket=new MozWebSocket(this.webSocketUrl+"/getNotification?h="+User.hash+"&t="+User.jph+"&u="+User.id+"&dn="+c)}this.LiveSocket.onclose=function(e){delete (b.LiveSocket)};this.LiveSocket.onerror=function(f){if(!b.liveSocketErrors||b.liveSocketErrors<3){b.liveSocketErrors?++b.liveSocketErrors:b.liveSocketErrors=1
}else{if(b.liveSocketErrors>=3){b.useWebSocket=false}}try{b.LiveSocket.close()}catch(e){}if(b.LiveSocket){delete (b.LiveSocket)}b.get()};this.LiveSocket.onmessage=function(f){var e=ParseJSON(f.data);if(!e){return}b.handleData(e,c)};return}var d={json:true,success:function(e){b.handleData(e,c)}};new AjaxHandler().request("POST","/backend/messageStream/get.php?h="+User.hash,d,{action:"preview",desktopNotifications:c})};MessageStreamPreview.prototype.updateLayers=function(){if(!User.newMailsBySender){return}var e=this;for(var c in User.newMailsBySender){var d=User.newMailsBySender[c];if(DRI["MessageStream:Notification:#"+c]){try{DRI["MessageStream:Notification:#"+c].className="";DRI["MessageStream:Notification:#"+c].innerHTML=""}catch(b){delete (DRI["MessageStream:Notification:#"+c]);continue}var a=c==0?"Jappy.de":(d.stamp&&d.stamp.nickname?d.stamp.nickname:"N/A");DRI["MessageStream:Notification:#"+c].className="mainStreamBar unread";DRI["MessageStream:Notification:#"+c].appendChild(DOM.div({className:"content fl",child:[DOM.span({className:"icNumber",text:d.numberOfNewMails?d.numberOfNewMails+"":""}),DOM.span({className:"cp",text:"Ungelesene Mails von "+a+" anzeigen",click:function(){new MessageStream().replaceMailByMailStream(c);return false}})]}));DRI["MessageStream:Notification:#"+c].appendChild(DOM.div({className:"options pt5 fl",child:[DOM.span({className:"icHideOffer fl cp",style:{marginLeft:"91px"},text:"&nbsp;",mouseover:function(){this.className=this.className.replace(/Offer/gi,"")
},mouseout:function(){this.className=this.className.replace(/icHide/gi,"icHideOffer")},click:function(){DRI["MessageStream:Notification:#"+c].className="";DRI["MessageStream:Notification:#"+c].innerHTML="";return false}})]}))}else{if(DRI["MessageStream:Messages:#"+c]){if(!e.storage){e.storage=new MessageStream.Storage(e,MessageStream.USE_LOCAL_STORAGE,MessageStream.USE_SESSION_STORAGE,MessageStream.USE_ENCRYPTION)}e.storage.removeEntry("#"+c);new MessageStream().updateMailStream(c)}}}};MessageStreamPreview.prototype.clear=function(){if("localStorage" in window&&window.localStorage!==null){try{localStorage.removeItem("DesktopNotifications:"+User.id+":Mail")}catch(a){}}if(document.getElementById("noBanner")){return}else{SystemMessage.success("Keine ungelesenen Mails gefunden!","Information");Advertisement.refresh({leaderboard:{type:1,delay:2000,period:1500}})}};MessageStreamPreview.prototype.show=function(){if(/^\/mailbox/.test(location.pathname)){return}if(!this.isReady){this.init("show()");return}if(!this.domStream){return}var d=this.previewData;var l=document.getElementById("no");this.previewFrame=DOM.div({className:"stream fl mb4 cf",style:{width:"820px"}});this.domStream.addTemplates(mailboxTemplates);for(var c=0,a=d.length;c<a;c++){this.displayEntry(d[c])}var b=DOM.div({className:"mailboxPreview",child:this.previewFrame});
var k=DOM.fragment();var e=this;if(this.numberOfEntries&&this.numberOfEntries>2){var h=DOM.span({className:"icDown",text:"&nbsp;"});var j=DOM.text("Mehr");var g=DOM.text("Weniger");var n=false;Jpy.id("no").style.height="90px";e.scrollWatchPosition=42;var m=(function(i){return function(p){p=p||window.event;if(e.scrollWatchPosition==0){return}var o=b.scrollTop;if(o>=e.scrollWatchPosition){e.scrollWatchPosition+=100;var q={json:true,success:function(t){if(i.ErrorHandler.handle(t)){return}if(!t||typeof(t.s)=="undefined"||(t.s==0&&!t.code)||(t.s==1&&!t.data)||t.s==0||t.s!=1){return}t=t.data;var r=t.preview;if(r.length==0){e.scrollWatchPosition=0}for(var s=0,u=r.length;s<u;s++){e.displayEntry(r[s])}}};new AjaxHandler().request("POST","/backend/messageStream/get.php?h="+User.hash,q,{action:"preview",desktopNotifications:0,start:e.numberOfEntriesDisplayed})}}})(this);k=DOM.div({className:"moreUnreadMails",child:DOM.link({className:"buttonMore inBu3 fs11 cf",href:"javascript: void(0)",child:[h,j],click:(function(i){return function(){var o=this;if(!n){SystemMessage.loading.start();e.blockUpdate=true;var p={json:true,success:function(s){SystemMessage.loading.end();if(i.ErrorHandler.handle(this)){return}if(!s||typeof(s.s)=="undefined"||(s.s==0&&!s.code)||(s.s==1&&!s.data)||s.s==0||s.s!=1){SystemMessage.inline.error("Die Nachrichten konnten nicht geladen werden");
return}s=s.data;var q=s.preview;for(var r=0,t=q.length;r<t;r++){e.displayEntry(q[r])}n=true;if(e.numberOfEntries<18){b.style.height=e.numberOfEntries*35+"px";Jpy.id("no").style.height=e.numberOfEntries*35+10+"px"}else{b.style.height="525px";b.style.overflowY="auto";Jpy.id("no").style.height="535px";Jpy.removeEvent(b,"scroll",m);Jpy.addEvent(b,"scroll",m)}h.className="icUp";Jpy.remove(j);o.appendChild(g)}};new AjaxHandler().request("POST","/backend/messageStream/get.php?h="+User.hash,p,{action:"preview",desktopNotifications:0,start:2})}else{n=false;e.blockUpdate=false;b.style.height="70px";Jpy.id("no").style.height="90px";b.scrollTop=0;b.style.overflowY="hidden";h.className="icDown";Jpy.remove(g);o.appendChild(j);Jpy.removeEvent(b,"scroll",m)}return false}})(this)})})}var f=DOM.div({className:"mailboxStream cf",style:"width:820px;padding-top:5px",child:[k,b]});l.innerHTML="";l.appendChild(f)};MessageStreamPreview.prototype.displayEntry=function(e,c){var d=this;c=c||false;var a=new MessageStreamPreviewEntry(d);a.init(e);var f=a.getDomEntry(d.domStream);var g=a.entry.userId+":"+(User.mailboxView==1?a.entry.id:"stream");var b=d.entries.get(g);if(b){return}if(DRI["MessageStream:Notification:#"+a.entry.userId]||DRI["MessageStream:Messages:#"+a.entry.userId]){return}d.entries.set(a);if(c&&d.previewFrame.childNodes&&d.previewFrame.childNodes[0]){d.previewFrame.insertBefore(f,d.previewFrame.childNodes[0])
}else{d.previewFrame.appendChild(f)}a.entry.setActionIcons();++d.numberOfEntriesDisplayed};MessageStreamPreview.prototype.loadRequirements=function(g){var d=this;if(d.failure){return}if(!d.isReady&&d.lockLoadScripts){window.setTimeout(function(){d.loadRequirements(g)},500);return}var b=MessageStreamPreview.REQUIREMENT;var h=false;for(var j in b){var f=b[j];if(!f||!(f.functionName||f.object)||!f.file){continue}if(f.functionName&&!MessageStreamPreview.Util.isFunction(f.functionName)){h=true;break}if(f.object&&typeof(window[f.object])=="undefined"){h=true;break}}if(!h){d.isReady=true}if(d.isReady){try{d.domStream=new DOM.Stream()}catch(e){}(new Function("return arguments[0]."+g))(d);return}var i="http://s1.jappy.tv/l10n/de";var a=0;var c=document.head;if(!c){c=document.getElementsByTagName("head")[0]}var b=c?c.getElementsByTagName("script"):null;for(var j in b){var f=b[j];if(!f||!f.src){continue}if(/MessageStreamPreview.js$/.test(f.src)){i=f.src.slice(0,f.src.indexOf("/js/"));a=f.src.slice(f.src.indexOf("/js/")+4,f.src.indexOf("/MessageStreamPreview.js"));break}}d.lockLoadScripts=true;d.prepareScripts(0,i,a);window.setTimeout(function(){d.loadRequirements(g)},1000)};MessageStreamPreview.prototype.prepareScripts=function(f,e,c){f=f?parseInt(f):0;var a=MessageStreamPreview.REQUIREMENT;if(f>=a.length){this.isReady=true;return
}var d=this;var b=a[f];if(!b||!(b.functionName||b.object)||!b.file){f++;d.prepareScripts(f,e,c);return}if(b.functionName&&MessageStream.Util.isFunction(b.functionName)){f++;d.prepareScripts(f,e,c);return}if(b.object&&typeof(window[b.object])!="undefined"){f++;d.prepareScripts(f,e,c);return}new Jpy.loadScript(b.file,e,c,30000,{success:function(){f++;d.prepareScripts(f,e,c)},failure:function(){d.failure=true}}).run()};MessageStreamPreview.Util={isFunction:function(a){var a=a.split(".");if(a.length==1){return typeof(window[a[0]])!="undefined"}else{if(a.length==2){return typeof(window[a[0]])!="undefined"&&typeof(window[a[0]][a[1]])!="undefined"}else{if(a.length==3){return typeof(window[a[0]])!="undefined"&&typeof(window[a[0]][a[1]])!="undefined"&&typeof(window[a[0]][a[1]][a[2]])!="undefined"}}}}};var MessageStreamPreviewEntry=function(a){this.MessageStreamPreview=a};MessageStreamPreviewEntry.prototype.entryData={};MessageStreamPreviewEntry.prototype.entry=undefined;MessageStreamPreviewEntry.prototype.init=function(a){this.entryData=a};MessageStreamPreviewEntry.prototype.getDomEntry=function(b){try{this.entry=this.convert(this.entryData)}catch(a){this.entry={stamp:{nickname:"Jappy.de"},timestamp:Jpy.timestamp,content:"{"+this.entryData.userId+":"+this.entryData.creationTimestamp+"}",setActionIcons:function(){}}}return b.Comment(this.entry)
};MessageStreamPreviewEntry.prototype.convert=function(c){var b=this;var a=DOM.fragment();var d={timestamp:c.creationTimestamp,stamp:c.stamp,userId:c.userId,message:c.lastEntry?c.lastEntry:c.entry?c.entry:null,direction:c.lastEntry?c.lastEntry.direction:c.entry?c.entry.direction:null,id:c.lastEntry?c.lastEntry.id:c.entry?c.entry.id:null,isIgnoredUser:c.stamp?c.stamp.ignored:0,content:c.lastEntry?c.lastEntry.message:c.entry?c.entry.message:"",commentTemplateId:"messageListView",contentTemplateId:"messageListView",timestampInstructions:{timestamp:c.creationTimestamp,descriptionRelativeTemplate:"#timestamp#",descriptionAbsoluteTemplate:"#timestamp#",autoUpdate:true},showDetailsAction:b.show,numberOfUnreadEntries:c.numberOfUnreadEntries,isChanged:c.entry?c.entry.unread:false,hideMenu:true,MessageStreamPreviewEntry:b};return d};MessageStreamPreviewEntry.prototype.sortById=function(b,a){return b.creationTimestamp>=a.creationTimestamp};MessageStreamPreviewEntry.prototype.show=function(a){if(User.mailboxView==1){new MessageStream().showMail(a.userId,a.id,this.MessageStreamPreviewEntry.MessageStreamPreview)}else{new MessageStream().showMessages(a.userId,this.MessageStreamPreviewEntry.MessageStreamPreview)}return false};window.setTimeout(function(){if(("WebSocket" in window&&window.WebSocket!==null)||("MozWebSocket" in window&&window.MozWebSocket!==null)){if(!Notifications){Notifications={}
}if(!Notifications.MessageStreamPreview){Notifications.MessageStreamPreview=new MessageStreamPreview()}if(Notifications.MessageStreamPreview.useWebSocket){Notifications.MessageStreamPreview.get()}}},500);
