var requests=0,events_event_interval=3,events_threshold=7,events_max_pulls=6,events_progressive_inc=10,events_url="/liveEvents/getLast",pullInterval=30;xmlhttp=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4&&xmlhttp.status==200)if(xmlhttp.getResponseHeader("X-JSON"))for(var b=eval(xmlhttp.getResponseHeader("X-JSON")),a=0;a<b.length;a++){events.unshift(b[a]);lastId=Math.max(lastId,b[a][0])}};
function smoothScroll(){element=document.getElementById("liveEvents");var b=element.scrollTop,a=element.scrollHeight;a=a==element.scrollHeight?a:b+a;var c=a>b?b+1:b-1,d=0;if(a>b)for(;b<a;b+=1){setTimeout("document.getElementById('liveEvents').scrollTop="+c,d*10);c+=1;if(c>a)c=a;d++}}
function printEvent(b){spanId="event-"+b[0];var a=document.createElement("div");a.setAttribute("id",spanId);a.setAttribute("class","liveEvent");a.style.padding="5px";a.innerHTML=b[1];document.getElementById("liveEvents").appendChild(a);smoothScroll("liveEvents",document.getElementById(spanId).scrollHeight)}function printEvents(){events.length&&printEvent(events.pop());setTimeout("printEvents()",1E3*events_event_interval)}
function fetcher(){if(events.length<events_threshold){xmlhttp.open("GET",events_url+"?lastEventId="+lastId,true);xmlhttp.send();requests++}if(requests<events_max_pulls){pullInterval+=events_progressive_inc;setTimeout("fetcher()",pullInterval*1E3)}}for($i=1;$i<8;$i++)if(events.length)printEvent(events.pop());else break;printEvents();fetcher();

