APE.Controller = new Class({
	
	Extends: APE.Client,
	
	Implements: Options,
	
	options: {
		name: null,
		sitetitle: null,
		growlduration: 10000
	},
	
	initialize: function(options){
		this.setOptions(options);
		this.name = this.options.name;
		growlduration = this.options.growlduration;
		sitetitle = this.options.sitetitle;
		this.onRaw('postmsg', this.onMsg);
		this.addEvent('load',this.start);
	},
	
	start: function(core){
		this.core.start({'name': this.name});
	},
	
	onMsg: function(raw){
		var data = raw.data;
		if(data != null) {
			if(data.msg != "") {
				jQuery.each(data, function() {
					var msgnr = this.msgnr;
					if(!document.getElementById("growl_"+msgnr)) {
						$.jGrowl(this.msg+"<div id=\"growl_"+msgnr+"\"></div>", {							
							life: 10000,
							close: function() {
								nomorenews(sitetitle);
								//$.get("/news.php?setread="+msgnr);
								//alert('Close: '+msgnr);
						    }
						});
					}
					
					document.getElementById("bar_newevents").innerHTML = this.newsbar.events;
					document.getElementById("bar_newmails").innerHTML = this.newsbar.mails;
					document.getElementById("bar_newgbentrys").innerHTML = this.newsbar.gbentrys;
					document.getElementById("bar_newgroups").innerHTML = this.newsbar.groupinvs;
					document.getElementById("bar_newgroupreqs").innerHTML = this.newsbar.groupreqs;
					document.getElementById("bar_newbuddys").innerHTML = this.newsbar.buddystome;
					
					if(this.newsbar.events > 0)
						document.getElementById("bar_li_newevents").style.display='';
					else
						document.getElementById("bar_li_newevents").style.display='none';
					
					if(this.newsbar.mails > 0)
						document.getElementById("bar_li_newmails").style.display='';
					else
						document.getElementById("bar_li_newmails").style.display='none';
					
					if(this.newsbar.gbentrys > 0)
						document.getElementById("bar_li_newgbentrys").style.display='';
					else
						document.getElementById("bar_li_newgbentrys").style.display='none';
					
					if(this.newsbar.groupinvs > 0)
						document.getElementById("bar_li_newgroups").style.display='';
					else
						document.getElementById("bar_li_newgroups").style.display='none';
					
					if(this.newsbar.groupreqs > 0) {
						document.getElementById("bar_li_newgroupreqs").style.display='';
						document.getElementById("newgroupreqslink").href='/community/group/'+this.newsbar.groupreqsurl.group_nr+'-'+this.newsbar.groupreqsurl.name_url+'.html';						
					} else {
						document.getElementById("bar_li_newgroupreqs").style.display='none';
					}
					
					if(this.newsbar.buddystome > 0)
						document.getElementById("bar_li_newbuddys").style.display='';
					else
						document.getElementById("bar_li_newbuddys").style.display='none';
					
					
					document.getElementById("bar_buddysonline").innerHTML = this.newsbar.buddysonline;
					
					nfo = "Es gibt Neuigkeiten für Dich... "; 
					nfotxt = nfo;
					lang = nfo.length;
					maxlang =lang;
					if ( typeof aktiv != "undefined")
						window.clearTimeout(aktiv);
					aktiv = window.setTimeout("lauftxt()",150);
					
				});
			}	
		}
	}	
});

