
var ajaxClient='client=ajax4eroom_1';


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


function setXMLHttpRequest()
{
	var XHR= null,
	browserUtente = navigator.userAgent.toUpperCase();
	if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
		XHR = new XMLHttpRequest();
		else if(window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0) {
			if(browserUtente.indexOf("MSIE 5") < 0)
				XHR = new ActiveXObject("Msxml2.XMLHTTP");
			else
				XHR = new ActiveXObject("Microsoft.XMLHTTP");
		}
	return XHR;
};


// funzione di caricamento testo,
// accetta una stringa contenente
// il nome di un file da leggere
// ritorna true se c'è errore
function loadTo(obj,_id,vars)
{
	var ajax= setXMLHttpRequest()
	,url=(typeof(elem) == 'object')? obj.href: obj
	,elem=(_id == null)? obj: getById(_id)
	,postVar= ajaxClient;

	if(vars)postVar+= '&'+ vars;

	// se l'oggetto XMLHttpRequest non è nullo
	if(ajax)
	{
		ajax.open("post", url, true);

		// rimozione dell'header "connection" come "keep alive"
		ajax.setRequestHeader("connection", "close");
		ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
		// impostazione controllo e stato della richiesta
		ajax.onreadystatechange = function() {

			// verifica dello stato
			if(ajax.readyState === readyState.COMPLETATO) {
				// verifica della risposta da parte del server
				if(statusText[ajax.status] === "OK")
					// operazione avvenuta con successo
				elem.innerHTML = ajax.responseText;
				else {
					// errore di caricamento
					elem.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
					elem.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
				}
			}
		}
		// invio richiesta
		ajax.send(postVar);
		return true;
	}
	return false;
}



// funzione di invio messaggio,
// ritorna true se c'è errore
function postMsg(vars)
{
	var ajax= setXMLHttpRequest()
	,postVar= ajaxClient+ '&modal=postMsg&'+ vars;
	var url='admin2_utils.phtml';

	// se l'oggetto XMLHttpRequest non è nullo
	if(ajax)
	{
		ajax.open("post", url, true);
		// rimozione dell'header "connection" come "keep alive"
		ajax.setRequestHeader("connection", "close");
		ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
		// impostazione controllo e stato della richiesta
		ajax.onreadystatechange = function() {
			// verifica dello stato
			if(ajax.readyState === readyState.COMPLETATO) {
				// verifica della risposta da parte del server
				if(statusText[ajax.status] === "OK")
				// operazione avvenuta con successo
				if( ajax.responseText != 'OK' )
				{
					alert( ajax.responseText );
					return true;
				}
			}
		}
		ajax.send(postVar);
		return true;
	}
	return false;
}

function ScrollToElement(theElement)
{
var selectedPosX = 0;
var selectedPosY = 0;

while(theElement != null){
	selectedPosX += theElement.offsetLeft;
	selectedPosY += theElement.offsetTop;
	theElement = theElement.offsetParent;
}
window.scrollTo(selectedPosX,selectedPosY);
}




/** OGGETTI / ARRAY */
// oggetto di verifica stato
var readyState =
{
	INATTIVO:	0,
	INIZIALIZZATO:	1,
	RICHIESTA:	2,
	RISPOSTA:	3,
	COMPLETATO:	4
};

	// array descrittivo dei codici restituiti dal server
	// [la scelta dell' array è per evitare problemi con vecchi browsers]
		var statusText = new Array();
		statusText[100] = "Continue";
		statusText[101] = "Switching Protocols";
		statusText[200] = "OK";
		statusText[201] = "Created";
		statusText[202] = "Accepted";
		statusText[203] = "Non-Authoritative Information";
		statusText[204] = "No Content";
		statusText[205] = "Reset Content";
		statusText[206] = "Partial Content";
		statusText[300] = "Multiple Choices";
		statusText[301] = "Moved Permanently";
		statusText[302] = "Found";
		statusText[303] = "See Other";
		statusText[304] = "Not Modified";
		statusText[305] = "Use Proxy";
		statusText[306] = "(unused, but reserved)";
		statusText[307] = "Temporary Redirect";
		statusText[400] = "Bad Request";
		statusText[401] = "Unauthorized";
		statusText[402] = "Payment Required";
		statusText[403] = "Forbidden";
		statusText[404] = "Not Found";
		statusText[405] = "Method Not Allowed";
		statusText[406] = "Not Acceptable";
		statusText[407] = "Proxy Authentication Required";
		statusText[408] = "Request Timeout";
		statusText[409] = "Conflict";
		statusText[410] = "Gone";
		statusText[411] = "Length Required";
		statusText[412] = "Precondition Failed";
		statusText[413] = "Request Entity Too Large";
		statusText[414] = "Request-URI Too Long";
		statusText[415] = "Unsupported Media Type";
		statusText[416] = "Requested Range Not Satisfiable";
		statusText[417] = "Expectation Failed";
		statusText[500] = "Internal Server Error";
		statusText[501] = "Not Implemented";
		statusText[502] = "Bad Gateway";
		statusText[503] = "Service Unavailable";
		statusText[504] = "Gateway Timeout";
		statusText[505] = "HTTP Version Not Supported";
		statusText[509] = "Bandwidth Limit Exceeded";


