// GETOBJECT 
function getObject(strId)
{
	return document.getElementById(strId);
}


// CREATE ELEMENT
function createElement(strTag)
{
	return document.createElement(strTag);
}

// TRY 
var Try = 
	{ 
		these: function() 
		{
  		var returnValue;

      for (var i = 0; i < arguments.length; i++) 
			{
      	var lambda = arguments[i];
        try 
				{
          returnValue = lambda();
          break;
        } 
				catch (e) 
				{}
      }

    	return returnValue;
  	}
  }

//
// HTTPREQUEST 
//
var HttpRequest = 
{
  getTransport: function() 
	{
    return Try.these
		(
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
      function() {return new ActiveXObject('Microsoft.XMLHTTP')},
      function() {return new XMLHttpRequest()}
    ) || false;
  },
  activeRequestCount: 0
}

// CREAZIONE
HttpRequest.instance = HttpRequest.getTransport();
HttpRequest.instanceReadLines = HttpRequest.getTransport();


// COSTANTI XMLHTTP
HttpRequest.RS_UNINITIALIZED = 0;
HttpRequest.RS_LOADING		 = 1;
HttpRequest.RS_LOADED		 = 2;
HttpRequest.RS_INTERACTIVE	 = 3;
HttpRequest.RS_FINISHED		 = 4;


// PROCESS DELLA RISPOSTA
function HttpRespProcessor(htResp){
	if (htResp.responseXML){
		var rxml = htResp.responseXML;
//		document.write(rxml);
		var itemElements = rxml.getElementsByTagName("item");
		for (var i=0; i<itemElements.length; i++){
			if (itemElements[i].getAttribute("type")=="html"){
				if (objHTML = getObject(itemElements[i].getAttribute("id")) ){
//					objHTML.innerHTML = unescape(itemElements[i].childNodes[0].nodeValue);
					objHTML.innerHTML = itemElements[i].childNodes[0].nodeValue;
				}
			}
			else if (itemElements[i].getAttribute("type")=="script"){
//			eval(unescape(itemElements[i].childNodes[0].nodeValue));
				eval(itemElements[i].childNodes[0].nodeValue);
			}
		}
	}
	else {
		//alert('Text: '+htResp.responseText);
		getObject('ht_error').innerHTML = htResp.responseText;
		getObject('ht_error').style.display = 'block';
	}
}


