function getXMLHttpRequestObject() {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        try {
            return new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e) {
            try {
            return new ActiveXObject('Microsoft.XMLHTTP');
            } catch (e) { }
        }
    }
}

function ajax_request(url,div_id_str) {
    var ajax = getXMLHttpRequestObject();
    if (ajax) {
        ajax.open('get', url);
        //the two lines below is a workaround for IE cache bug
        //DO NOT add timestamp to url as a solution because it will devour the browser cache...
        ajax.setRequestHeader("If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 GMT");
        ajax.setRequestHeader("Cache-Control", "no-cache");
        ajax.onreadystatechange = function() {
            handleResponse(ajax,div_id_str);
        }
        ajax.send(null);
        return false;
    }
}

function handleResponse(ajax,div_id_str) {
    if (ajax.readyState == 4) {
        if ((ajax.status == 200) || (ajax.status == 304)) {
            var results = document.getElementById(div_id_str);
            results.innerHTML = ajax.responseText;
            results.style.display = 'block';
        }
    }
}

