function classXmlHttpRequest()
{
	var m_url = false;
	var m_http_request = false;
	var m_onTranseferDone=false;
	
	this.setUrl = setUrl;
	this.onTransferDone = onTranseferDone;
	this.makeRequest = makeRequest;
	this.response = retResponse;
	
	function setUrl(myVal)
	{
		m_url = myVal;
	}
	
	function onTranseferDone(myVal)
	{
		m_onTranseferDone = myVal;
	}
	
	function retResponse()
	{
		return m_http_request.responseText;
	}
	
	function makeRequest() {
		//alert(m_url);
		if (window.XMLHttpRequest) { // Mozilla, Safari,...
			m_http_request = new XMLHttpRequest();
			if (m_http_request.overrideMimeType) {
				m_http_request.overrideMimeType('text/plain');
			}
		} else if (window.ActiveXObject) { // IE
			try {
				m_http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
				m_http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
		if (!m_http_request) {
			alert('Errore: Impossibile creare un&acute;istanza XMLHTTP.');
			return false;
		}
		m_http_request.onreadystatechange = _alertContents;
		m_http_request.open('GET', m_url, true);
		m_http_request.send(null);
	}


	function _alertContents() {
		if (m_http_request.readyState == 4) {
			if (m_http_request.status == 200) {
				m_onTranseferDone();
			} else {
				m_http_request = false;
			}
		}
	}

}

function _gel(id_elemento) {
	var elemento;
	if(document.getElementById)
		elemento = document.getElementById(id_elemento);
	else
		elemento = document.all[id_elemento];
	return elemento;
}

var menuRequest = new classXmlHttpRequest();

function menuDxDownloaded() {
	var menuResponse = menuRequest.response();
	_gel("menu_dx").innerHTML = menuResponse;
}

function loadMenuDxFrom(url) {
	menuRequest.setUrl(url);
	menuRequest.onTransferDone(menuDxDownloaded);
	menuRequest.makeRequest();
}

function loadMenuDx() {
	loadMenuDxFrom(menuDxActionUrl);
}

function loadMenuDxWith(openItemName) {
	loadMenuDxFrom(menuDxActionUrl + '&open_item_name=' + openItemName);
}

