function default_handle(callback_element, strText) {
    document.getElementById(callback_element).innerHTML = strText;
}

function AjaxRequest(url, callback_element, callback_function, return_xml ) {

    var http_request = false;
    var callback_function = (callback_function == null) ? "default_handle" : callback_function;

    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
           http_request.overrideMimeType('text/xml');
        }
    } 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('Unfortunatelly you browser doesn\'t support this feature.');
        return false;
    }
   
    http_request.onreadystatechange = function() {
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
                if (return_xml) {
                    if(callback_element != null) eval(callback_function + '(callback_element,http_request.responseXML)');
                } else {
                    if(callback_element != null) eval(callback_function + '(callback_element,http_request.responseText)');
                }
            } else {
               alert('There was a problem with the request.(Code: ' + http_request.status + ')');
            }
        }
    }

    http_request.open('GET', url, true);
    http_request.send(null);
}
