<!-- AJAX connection functions -->
    function makeRequest(url, fnname, async) {
        var http_request = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            http_request = new XMLHttpRequest();
            //if (http_request.overrideMimeType) {
            //    http_request.overrideMimeType('text/xml');
            //    // See note below about this line
            //}
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
        http_request.onreadystatechange = function() { eval ('handleRequest(http_request, fnname);'); };
        http_request.open('GET', url);
        http_request.send(null);

    }

    function handleRequest(http_request, fnname, async) {
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
 		        	document.getElementById('ajaxstatus').innerHTML = "";
              eval(fnname + '(http_request.responseText);');
	           } else {
			        	document.getElementById('ajaxstatus').innerHTML = "Error.";
            }
        } else {
        	document.getElementById('ajaxstatus').innerHTML = "Loading...";
			document.getElementById('ajaxstatus').style.backgroundColor = 'red';
        }

    }