function getXHTTP(changehandler, sURL, sMethod, sData)
{
	var req;
	var bOk = false;
	if (window.XMLHttpRequest) 
	{
		req = new XMLHttpRequest();
		try  { req.open(sMethod.toUpperCase(), sURL, true); } 
		catch (e) { return null; }
	}
	else if (window.ActiveXObject) 
	{
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req)
			req.open(sMethod.toUpperCase(), sURL, true);
		else
			return null;
	}
	
	if (sMethod.toUpperCase() == "POST")
		try {req.setRequestHeader("content-type", "application/x-www-form-urlencoded");}
		catch (e) {  }
		
	try
	{
		if (sData)
			req.send(sData);
		else
			req.send(null);
	}
	catch (e) { return null; }

	// var handlerFunction = getReadyStateHandler(req, changehandler);
	req.onreadystatechange = getReadyStateHandler(req, changehandler);

	return req;
}

function getReadyStateHandler(req, responseXmlHandler) 
{
	// Return an anonymous function that listens to the 
	// XMLHttpRequest instance
	return function () 
	{
		// If the request's status is "complete"
		if (req.readyState == 4) 
		{
			// Check that a successful server response was received
			if (req.status == 200)
				responseXmlHandler(req);
			else
				alert("HTTP error : " + req.statusText);
		}
	}
}

function getAlbumAvailability()
{
	var oInput = document.getElementById("AlbumName");
	var req = getXHTTP(getAlbumAvailability_result, "getalbum.cfm?ajax=1&check=" + escape(Trim(oInput.value)), "GET");
	if (!req)
	{
		// Ajax not supported on this browser!
		document.getElementById("divAlbumStatus").innerHTML = "This is currently not supported in this browser";
	}
}


function getAlbumAvailability_result(req)
{
	document.getElementById("divAlbumStatus").innerHTML = req.responseText;
}

