
var requests = [ null, null, null ];

function makeRequest(url, callback, index) {
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        requests[index] = new XMLHttpRequest();
        if (requests[index].overrideMimeType) {
            // set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            requests[index].overrideMimeType('text/html');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            requests[index] = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                requests[index] = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { }
        }
    }
    if (!requests[index]) {
        alert('Cannot create XMLHTTP instance');
        return false;
    }
    requests[index].onreadystatechange = callback;
    requests[index].open('GET', url, true);
    requests[index].send(null);    
}

function makePost(url, params, callback, index) {
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        requests[index] = new XMLHttpRequest();
        if (requests[index].overrideMimeType) {
            // set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            requests[index].overrideMimeType('text/html');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            requests[index] = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                requests[index] = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { }
        }
    }
    if (!requests[index]) {
        alert('Cannot create XMLHTTP instance');
        return false;
    }
    requests[index].onreadystatechange = callback;
    requests[index].open('POST', url, true);

    requests[index].setRequestHeader("Content-type", 
                                     "application/x-www-form-urlencoded");
    requests[index].setRequestHeader("Content-length", 
                                     params.length);
    requests[index].setRequestHeader("Connection", "close");

    requests[index].send(params);
}
