function Activity(containerid,CompletedCallback) {
// Fetch any recent user activity from the server
//  containerid is where to store result
//  CompletedCallback is optional function to call when activity fetched
//
// Example call:
//	function GotIt() {
//	 var items = document.getElementsByName("DiaryTime");       
//	 for ( var i = 0; i < items.length; i++ )
//		niceDate(items[i]); Get javascript errors 
//	}
//	function BeginGetActivity() {
//	 WORLDGROUP.activity = new Activity("Activity",GotIt);
//	 WORLDGROUP.activity.GetActivity();
//	}
//	window.onload = BeginGetActivity; 
//  

 // init
    var url="/notify/recent/?timestamp=";
	var timestamp=""; // blank returns now()
    var req;
	var eContainer;
	//var started=false;
	var heartbeat=0;  // stops after x as user is prob gone
	var tmr;
	var delay=10000;
	var that = this;
	
	eContainer=$(containerid);
	timestamp=Cookies.getCookie("ActTimestamp");
	//timestamp="20101122221644"; // for debug. put earlier date/time

    function AjaxRequest() {
      if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
      } else if (window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
      }
    }

    function processRequest () {
      if (req.readyState == 4) {
        if (req.status == 200) {
			//eContainer.style.display="inline";
			eContainer.innerHTML=req.responseText;
			timestamp = document.getElementById("RecentList").getAttribute("timestamp"); 
			Cookies.setCookie("ActTimestamp",timestamp,"","/");
			var x = eContainer.getElementsByTagName("script");   
			for(var i=0;i<x.length;i++)  
			{  
				eval(x[i].text);  
			} 
			if (++heartbeat > 90) {
			   return;
			}
			tmr=setTimeout(that.GetActivity, delay);
			if (CompletedCallback) CompletedCallback();
        }
      }
    }
	
    this.GetActivity = function() {
	  //if (!started) {
	  // eContainer.style.display="inline";
	  // started=true;
	  //}
	  req=null; 
	  req = AjaxRequest();
      req.onreadystatechange = processRequest;
	  // stupid IE will cache the GET so add cache buster (already done)
      req.open("GET", url + timestamp + "&randNum=" + new Date().getTime(), true);
      req.send(null);
    }
	
	this.cancel = function() {
		if(navigator.appName == "Microsoft Internet Explorer") {
			window.document.execCommand('Stop');
		} else {
			window.stop();
		}
		req=null;
		//eContainer.style.display="none";
		clearTimeout(tmr);
		//started=false;
        //if (CanceledCallback) CanceledCallback();
	}

}

function GotIt() {
 if (document.getElementById("RecentList").innerHTML.length <=1 )
    return;
 try {
	var items = document.getElementsByName("DiaryTime");       
	//for ( var i = 0; i < items.length; i++ )
	//  niceDate(items[i]);
	for ( var i = 0; i < items.length; i++ )
		items[i].innerHTML="Just now";
 }
 catch (err) {
 }
 WORLDGROUP.Popup(document.getElementById("Activity").innerHTML);
}
function BeginGetActivity() {
 if (Cookies.getCookie("WebLiteAuth")) {
	if (Cookies.getCookie("NoPopup"))
		return;
	WORLDGROUP.activity = new Activity("Activity",GotIt);
	WORLDGROUP.activity.GetActivity();
 }
}

