/* take html data from a report and feed it into a specified Content div */

var contentDiv;

/* note: params must be pre-encoded */
function loadContent(path, divId) {
    contentDiv = document.getElementById(divId);
    if (!contentDiv)
	return;
    if (!asyncLoad(path))
	return;
}

var request;

function stateChanged() {
    if (request.readyState != 4)
	return;
    if (request.status == 200)
	contentDiv.innerHTML = request.responseText;
    else
	contentDiv.innerHTML = '<span style="color: red">Error from server: ' + request.statusText + '</span>';
}

function asyncLoad(url) {
    request = createRequest();
    if (!request)
	return false;

    request.onreadystatechange = stateChanged;
    request.open("GET", url, true);
    request.send("");
    return true;
}

function createRequest() {
    if (window.XMLHttpRequest && !window.ActiveXObject)
	return new XMLHttpRequest();
    else if (window.ActiveXObject) {
	try {
	    return new ActiveXObject('MSXML2.XMLHTTP');
	} catch (e) {
	    try {
		return new ActiveXObject('Microsoft.XMLHTTP');
	    } catch (e) {
		return new XMLHttpRequest();
	    }
	}
    }

    debug("Not a supported browser!");
    return false;
}
