    function ajaxRequest(url, parameters, element, callback, errorCallback) {
        var ajax_request= false;

        if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            ajax_request= new XMLHttpRequest();
            if (ajax_request.overrideMimeType) {
                ajax_request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                ajax_request= new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    ajax_request= new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!ajax_request) {
            // Unable to initiate the request
            errorCallback();
            return false;
        }

        ajax_request.onreadystatechange = function() { ajaxStateChange(ajax_request, element, callback, errorCallback); };
        
//        ajax_request.open('GET', url, true);
//        ajax_request.send(null);
        
        ajax_request.open('GET', url, true);
        ajax_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        ajax_request.setRequestHeader("Content-length", parameters.length);
        ajax_request.setRequestHeader("Connection", "close");
        ajax_request.send(parameters);
        return true;
    }

    function ajaxStateChange(ajax_request, element, callback, errorCallback) {
        if (ajax_request.readyState == 4) {
            if (ajax_request.status == 200) {

                if (callback) {
                	//callback.innerHTML = ajax_request.responseText;
                    callback(element, ajax_request.responseText);
                } 
            } else {
                if (errorCallback) {
                    errorCallback;  
                } 
            }
        }

    }