

function prendiElementoDaId(id_elemento) {

	var elemento;

	if(document.getElementById)

		elemento = document.getElementById(id_elemento);

	else

		elemento = document.all[id_elemento];

	return elemento;

};

		

function caricameloTutto(nomliv, nomeFile) {

	  

  var

    ajax = assegnaXMLHttpRequest(),

    elemento = prendiElementoDaId(nomliv),

    usaLink = true;



	elemento.innerHTML = "<div align='center'><img alt='-' src='/images/loading.gif' /></div>";



  if(ajax) {

    usaLink = false;





    ajax.open("get", nomeFile, true);

    ajax.setRequestHeader("connection", "close");

    ajax.onreadystatechange = function() {

      

      if(ajax.readyState === readyState.COMPLETATO) {

        if(statusText[ajax.status] === "OK"){

          elemento.innerHTML = ajax.responseText;


        }else {

          elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";

          elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];

        }

      } 

    }



    // invio richiesta

    ajax.send(null);

  }

	return usaLink;

	

} 



function aggiungimeloTutto(nomliv, nomeFile) {

	  

  var

    ajax = assegnaXMLHttpRequest(),

    elemento = prendiElementoDaId(nomliv),

    usaLink = true;

	//elemento.innerHTML = '<div align="center"><img alt="-" src="/images/ajax-loader.gif" /></div>'+elemento.innerHTML;



  if(ajax) {

    usaLink = false;





    ajax.open("get", nomeFile, true);

    ajax.setRequestHeader("connection", "close");

    ajax.onreadystatechange = function() {

      

      if(ajax.readyState === readyState.COMPLETATO) {

        if(statusText[ajax.status] === "OK"){

          elemento.innerHTML = ajax.responseText+elemento.innerHTML;

          setTimeout("dispatchClick()",50);          

        } else {

          elemento.innerHTML += "Impossibile effettuare l'operazione richiesta.<br />";

          elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];

        }

      } 

    }



    // invio richiesta

    ajax.send(null);

  }

	return usaLink;

	

}





function caricameloSyncro(nomliv, nomeFile) {

	  

  var

    ajax = assegnaXMLHttpRequest(),

    elemento = prendiElementoDaId(nomliv),

    usaLink = true;



	elemento.innerHTML = "<div align='center'><img alt='-' src='/images/ajax-loader.gif' /></div>";



  if(ajax) {

    usaLink = false;



    ajax.open("get", nomeFile, false);

    ajax.setRequestHeader("connection", "close");

    ajax.send(null);



    elemento.innerHTML = ajax.responseText;

  }

  

	return usaLink;

} 



function Processa(nomeFile){

  var

    ajax = assegnaXMLHttpRequest(),

    usaLink = true;

          

  if(ajax) {

    usaLink = false;

    ajax.open("get", nomeFile, true);



    ajax.setRequestHeader("connection", "close");



    ajax.onreadystatechange = function() { 

    }

    ajax.send(null);

  }

  return usaLink;

}



function eseguiInRemoto(nomeFile) {

  var

    ajax = assegnaXMLHttpRequest();



  if(ajax) {

    ajax.open("get", nomeFile, false);

    ajax.setRequestHeader("connection", "close");

    ajax.send(null);

    return ajax.responseText;

  } 

  else {

    return false;

  }

} 













  if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement) {

    HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode) {

      switch (where){

        case "beforeBegin":

          this.parentNode.insertBefore(parsedNode,this)

          break;

        case "afterBegin":

          this.insertBefore(parsedNode,this.firstChild);

          break;

        case "beforeEnd":

          this.appendChild(parsedNode);

          break;

        case "afterEnd":

          if (this.nextSibling) this.parentNode.insertBefore(parsedNode,this.nextSibling);

          else this.parentNode.appendChild(parsedNode);

          break;

      }

    }

    

    HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr) {

        var r = this.ownerDocument.createRange();

        r.setStartBefore(this);

        var parsedHTML = r.createContextualFragment(htmlStr);

        this.insertAdjacentElement(where,parsedHTML)

    }

  

    HTMLElement.prototype.insertAdjacentText = function(where,txtStr) {

      var parsedText = document.createTextNode(txtStr)

      this.insertAdjacentElement(where,parsedText)

    }

  }









	

	function assegnaXMLHttpRequest() {

		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;

	};









		var readyState = {

			INATTIVO:	0,

			INIZIALIZZATO:	1,

			RICHIESTA:	2,

			RISPOSTA:	3,

			COMPLETATO:	4

		};



		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";