function AHAH(url, targetElement) 
{
	var req;

	url = url.replace(/&amp;/ig,'&');

	//document.getElementById(targetElement).innerHTML = 'Fetching data ...';

	if (window.XMLHttpRequest) 
	{
		req = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) 
	{
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if (req != undefined) 
	{
		req.onreadystatechange = function() { AHAH_Done(url, targetElement, req); };
		req.open('GET', url, true);
		req.send('');
	}
}  

function AHAH_Done(url, targetElement, req) 
{
	if (req.readyState == 4) 
	{ 
		// only if req is "loaded"
		if (req.status == 200)
		{
			// only if "OK"
			document.getElementById(targetElement).innerHTML = req.responseText;
		}
		else
		{
			alert(url);
			document.getElementById(targetElement).innerHTML = 'AHAH Error:\n' + req.status + '\n' + req.statusText;
		}
	}
}