
function window_open(filename, x, y, target)
{
windowops = eval("'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width=" + x + ",height=" + y + "'");
newwindow=window.open(filename, target, windowops);
return;
}

function openPopup(filename, x, y)
{
windowops = eval("'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width=" + x + ",height=" + y + "'");
newwindow=window.open(filename, "target", windowops);
return;
}

function window_open_resize(filename, x, y, target)
{
windowops = eval("'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=" + x + ",height=" + y + "'");
newwindow=window.open(filename, target, windowops);
return;
}

function window_open_bar(filename, x, y, target)
{
windowops = eval("'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=" + x + ",height=" + y + "'");
newwindow=window.open(filename, target, windowops);
return;
}

function window_full(filename, target)
{
windowops = eval("'fullscreen=yes,titlebar=0,menubar=0,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,channelmode=no,status=no;'");
newwindow=window.open(filename, target, windowops);
return;
}

function window_full_bar(filename, target)
{
windowops = eval("'fullscreen=yes,titlebar=0,menubar=0,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=no,copyhistory=no,channelmode=no,status=no;'");
newwindow=window.open(filename, target, windowops);
return;
}

function window_open_resizescroll(filename, x, y, target)
{
windowops = eval("'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=" + x + ",height=" + y + "'");
newwindow=window.open(filename, target, windowops);
return;
}

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='/public/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="/public/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;

        } 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='/public/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";