var ajaxServerHandler = '/ajax.cfm?service=';

function ajaxRequest(base,service, params) {

    var http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        
        // AK: no XML response for now
        //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('AJAX Error: Failed to create XMLHTTP instance.');
        return false;
    }
    http_request.onreadystatechange = function() { ajaxResponse(http_request); };
    http_request.open('GET', base+ajaxServerHandler+escape(service)+'&'+params, true);
    http_request.send(null);

}

function ajaxResponse(http_request) {

    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
        	var response_text=http_request.responseText.replace(/AJAXTERMINATOR[\s\S]*/g,'');
            eval(response_text);
        } else {
            alert('AJAX Error: Invalid response status: '+http_request.status);
        }
    }
}
