/*
 * Get the latest 'n' Weblogs pings from the PingServer.
 */
function getRecentPings()
{
	var localDate = new Date();
	var request = newXmlHttpRequest();
	request.onreadystatechange = getReadyStateXmlHandler(request, 
		updateBlogPingList);
	request.open("GET", "http://www.blogvibe.nl/getblogdata.aspx?minstamp="+blogListViewPort._lastItem+"&maxstamp="+localDate.getHours()+":"+localDate.getMinutes()+":"+localDate.getSeconds(), true);
	request.send(null);
	//alert("http://www.blogvibe.nl/getblogdata.aspx?minstamp="+blogListViewPort._lastItem+"&maxstamp="+localDate.getHours()+":"+localDate.getMinutes()+":"+localDate.getSeconds())
}

var blogScrollingTimer = null;
var blogRefresherTimer = null;

/*
 * Update the Blog ping list.
 */
function updateBlogPingList(xmlResponse)
{
	var pings = xmlResponse.getElementsByTagName("weblog");
	if (pings.length > 0)
	{
		var blogPingList = new Array();
		
		for (var i = 0; i < pings.length; i++)
		{
			var ping = pings[i];
			/*
			var localDate = new Date();
			var when = new Date((parseInt(ping.getAttribute("receivedOn"), 10))+(localDate.getTimezoneOffset()*60000));
			var hour = when.getHours();
			var ampm = hour > 12 ? "PM" : "AM";
			var minutes = when.getMinutes();
			hour = (hour % 12 == 0 ? 12 : hour % 12);

			var blogPingTime = hour + ":" + 
				(minutes < 10 ? "0" + minutes : minutes) +  " " + ampm;
			*/
			var itemId = ping.getAttribute("id")
			var updateTime = ping.getAttribute("receivedOn")
			if(i==0){
				blogListViewPort.setLastItem(updateTime);
			}
			var blogName = ping.getAttribute("name");
			var blogUrl = ping.getAttribute("url");
			var pingAsHtml = "<a rel=\"nofollow\" href=\"" + encodeURI(blogUrl) + 
	                    	"\">" + updateTime + " " + blogName.escapeHTML() +
	                   	"</a>";
			blogListViewPort.pushItem(pingAsHtml);
		}

		//if (blogScrollingTimer != null)
		//{
		//	clearInterval(blogScrollingTimer);
		//}
		
		blogScrollingTimer = setInterval("blogListViewPort.scrollList()", 4000);
	}
	
	blogRefresherTimer = setTimeout("getRecentPings()", 10 * 1000); // get the next batch in x seconds.
}

