var SiteObserverKlass=new Class({initialize:function(a,b){this.isnew=true;this.state=b;this.observers=new Array();this.requester=new Request({url:"http://whos.amung.us/stats/site_count/"+a+"/",onSuccess:function(c,d){this.state=c;this.broadcast()}.bind(this)})},add_observer:function(a){this.observers.push(a);if(this.state){a(this.state)}},broadcast:function(){for(var a=this.observers.length-1;a>=0;a--){this.observers[a](this.state)}},update:function(){if(this.isnew){this.isnew=false}else{this.requester.send()}}});var ListKlass=new Class({initialize:function(g,b,a,e,d,c){var f="http://whos.amung.us/stats/";this.isnew=d;this.ltype=e;this.update_elem=$(g);this.update_elem.style.position="relative";this.rest_link=f+"readers/"+b+"/";this.limit=a;this.sep=c;this.requester=new Request({url:f+e+"/"+b+"/",onSuccess:function(h,i){this.update_content(h)}.bind(this)})},update:function(){if(this.isnew){this.isnew=false}else{this.requester.send()}},update_content:function(f){var b=f.split("\f");if(f.length<3){var e=document.createElement("div");e.className="list_message grey italic nousers";e.innerHTML=text[40].replace("xxx",sitekey);this.update_elem.empty();this.update_elem.grab(e);return}var m=[];var s=[];if(this.ltype=="pages"){var n=[];var r=b[0].toInt();var l=b.length-2;for(var k=0;k<l;k++){var q=b[k+1].split("\t");n[k]=q[0].toInt();s[k]=q[1];m[k]=q[2]}var o=calc_stats(n,0)}else{if(this.ltype=="recent"){var j=[];var h=[];var d=[];var l=b.length-1;for(var k=0;k<l;k++){var q=b[k].split("\t");j[k]=q[0];h[k]=q[1];d[k]=q[2];s[k]=q[3];m[k]=q[4]}}}this.same_titles=s.length>1&&s.every(function(u,t,i){return(u=="-"||u==s[0])});var p=0;var c=document.createElement("div");l=this.limit?Math.min(this.limit,m.length):m.length;for(var k=0;k<l;k++){var a=this.create_entry(s[k],m[k]);if(this.ltype=="pages"){this.set_count(a,n[k],r,o,k==0)}else{if(this.ltype=="recent"){this.set_time(a,d[k],j[k],h[k])}}c.appendChild(a);a.style.top=p+"em";p+=2.5}this.update_elem.empty();this.update_elem.setStyle("height",p+"em");this.update_elem.grab(c);if(this.limit&&this.limit<m.length){var g=document.createElement("div");g.style.top=p*1.7+"em";g.className="list_message";g.innerHTML=text[41].replace("xxx",this.rest_link);g.innerHTML=g.innerHTML.replace("yyy",addCommas(r,this.sep));this.update_elem.grab(g)}},create_entry:function(h,a){var f=document.createElement("div");var b=document.createElement("div");var g=new Element("div");var e=document.createElement("div");var d=document.createElement("div");d.ecount=f;d.estat=e;h=decodeURIComponent(h);h=h.replace(/</g,"&lt;");h=h.replace(/>/g,"&gt;");h=h.replace(/-per-/g,"%");if(a=="-"){g.innerHTML='<a href="http://whos.amung.us/help/stats/#q5">'+text[1]+"</a>";d.ecount.style.color="#ccc"}else{if(h!="-"&&!this.same_titles){var c=document.createElement("a");c.href=a;c.innerHTML=h;g.addEvent("mouseleave",function(i){c.innerHTML=h});g.addEvent("mouseenter",function(i){c.innerHTML=a});g.appendChild(c)}else{g.innerHTML='<a href="'+a+'">'+a+"</a>"}}f.className="count";b.className="right";if(this.limit){g.className="url dash"}else{g.className="url whos"}e.className="stat";d.className="list_entry";b.appendChild(g);b.appendChild(e);d.appendChild(f);d.appendChild(b);return d},set_count:function(e,f,d,c,b){var a="";if(this.sep==","){a="."}else{a=","}var h=((f/d)*100).round(2).toString().replace(".",a);var g=sdevs_from_mean(f,c);if(!e.ecount.style.color){e.ecount.style.color="rgb("+select_color(g)+")"}e.ecount.innerHTML=addCommas(f,this.sep);e.estat.innerHTML="<img src='http://assets.amung.us/images/stats/whos/bar.png' width='"+h+"' class='icon' /> "+h+"%";if(f>999){e.ecount.style.letterSpacing="-0.1em"}else{e.ecount.style.letterSpacing="0em"}},set_time:function(c,d,b,a){c.ecount.innerHTML=format_time_ago(d);if(!c.ecount.style.color){c.ecount.style.color=select_color_time(d)}if(d>=60){c.ecount.style.letterSpacing="-0.1em"}c.estat.innerHTML="<img src='http://assets.amung.us/images/flags/small/"+b.toLowerCase()+".png' class='icon' />  "+a}});var SyncUpdater=new Class({initialize:function(){this.updaters=new Array();this.timer.periodical(10000,this)},timer:function(){for(var a=0;a<this.updaters.length;a++){this.updaters[a]()}},add_item:function(a){this.updaters.push(a);a()},remove_item:function(){this.updaters.pop()}});