﻿function makeHttpRequest(url, callback_function, return_xml, process_container, param)
{
    var http_request = false;

    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) {
		var resultdiv = document.getElementById(process_container);
            
            // просто вывести результат в контейнер, заменяя все что там есть
			resultdiv.innerHTML = '<center>Loading... <img src=\"loading_32.gif\" alt=\"Loading\"></center>';
		}
   
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
				if (return_xml) {
                    eval(callback_function + '(http_request.responseXML, process_container, param)');
                } else {
                    eval(callback_function + '(http_request.responseText, process_container,param)');
                }
            } else {
                alert('There was a problem with the request.(Code: ' + http_request.status + ')');
            }
        }
    }
    http_request.open('GET', url, true);
    http_request.send(null);
}