var ajax_io_loading_function = "ajax_io_loading_function";
var ajax_io_complete_function = "ajax_io_complete_function";
var ajax_io_error_function = "ajax_io_error_function";

var ajax_error_msg_arr = new Array();

var ajax_handle_param = null;

var http_request = false;


function AJAXhandleOutput() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			ajax_io_func = eval(ajax_io_complete_function);
		}
		else {
			ajax_error_msg_arr[ajax_error_msg_arr.length] = '[AJAXhandleOutput] HTTP status code: ' + http_request.status;
			ajax_io_func = eval(ajax_io_error_function);
//			return false;
		}
	}
	else if (http_request.readyState < 3) {
		ajax_io_func = eval(ajax_io_loading_function);
	}
	else {
		return;
	}

	ajax_io_func();
}

function AJAXgetRequest(url, param) {
	http_request = false;

	ajax_handle_param = param;

	if (window.XMLHttpRequest) {
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject) {
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
			}
		}
	}

	if (!http_request) {
		ajax_error_msg_arr[ajax_error_msg_arr.length] = '[AJAXgetRequest] XML/HTTP request object init failed';
		ajax_io_func = eval(ajax_io_error_function);
//		return false;
	}
	http_request.onreadystatechange = AJAXhandleOutput;
	http_request.open('GET', url, true);
	http_request.send(null);
}