// update pgblog counters and status using AJAX

"use strict";

function momjian_us_ajax(url, completion)
{
	var xmlhttp;

	if (window.XMLHttpRequest) // code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp = new XMLHttpRequest();
	else // code for IE6, IE5
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	xmlhttp.open("GET", url, true);
	xmlhttp.onreadystatechange = function()
	{
		if (xmlhttp.readyState == 4 &&
		    // 2XX success, 304 unchanged
		    (xmlhttp.status / 100 == 2 ||
		     xmlhttp.status == 304))
			completion(xmlhttp.responseText);
	}
	xmlhttp.send(null);
}


function momjian_us_ajax_update(id, url, timeout_ms)
{
	function set_timeout()
	{
		setTimeout(function() {url_refresh(); }, timeout_ms);
	}

	function url_refresh()
	{
		momjian_us_ajax(url,
			// closure allows this, i.e. definition context is preserved
			function(ajax_text) {document.getElementById(id).firstChild.nodeValue = ajax_text;});
		set_timeout();
	}
	set_timeout();
}


