function naviga_menu(str)
{
  var temp = document.getElementById(str).style.visibility;
  var i;
  /* Ritiro tutti i menu */
  for (i=1;i<=9;i++)
  {
    if (document.getElementById("menu"+i))
    {
      document.getElementById("menu"+i).style.visibility = 'hidden';
      document.getElementById("menu"+i).style.position = 'absolute';
    }
  }
  
  /* Mostro il menu selezionato*/

  if (temp != 'visible')
  {
    document.getElementById(str).style.visibility = 'visible';
    document.getElementById(str).style.position = 'absolute';
    document.getElementById(str).style.top = '2em';
    document.getElementById(str).style.left = '0px';
    document.getElementById(str).style.borderTop = '1px solid white';
  } 
}

function clear_menu()
{
  /* Ritiro tutti i menu */
  var i;
  
  for (i=1;i<=9;i++)
  {
    if (document.getElementById("menu"+i))
    {
      document.getElementById("menu"+i).style.visibility = 'hidden';
      document.getElementById("menu"+i).style.position = 'absolute';
    }
  }
}


/*  --------------------------- */
/** (C) HTML.IT & LaMbo - insieme di funzioni ed oggetti utili per interagire con ajax */
// Last Edit : 24 giugno 2007

/** FUNZIONI */

	// funzione per prendere un elemento con id univoco
		function prendiElementoDaId(id_elemento) {
			var elemento;
			if(document.getElementById)
				elemento = document.getElementById(id_elemento);
			else
				elemento = document.all[id_elemento];
			return elemento;
		};
		
		function prendiElementoDaId2(id_elemento) {
		  var elem;
		  var nava = (document.layers);
      var dom = (document.getElementById);
      var iex = (document.all);
      if (nava) { elem = document.cache}
       else if (dom) {elem = document.getElementById(id_elemento).style}
       else if (iex) {elem = cache.style}
	    return elem;
	   }; 
	    
	// funzione per assegnare un oggetto XMLHttpRequest
		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;
		};
		
		function loadPage(){
		document.write("<DIV ID='loaddiv'><img src='loading.gif' /> Loading document ..</DIV>");
    var nava = (document.layers);
    var dom = (document.getElementById);
    var iex = (document.all);
    if (nava) { cach = document.cache}
    else if (dom) {cach = document.getElementById('loaddiv').style}
    else if (iex) {cach = cache.style}
    cach.display = "block";
    };

    function loadOff(){
    document.getElementById('loaddiv').style.display = "none";
    };

    function view(idElem,op){
    var elem=document.getElementById(idElem);
    if(op){elem.style.display="block";}
     else{elem.style.display="none";}
    };
    
    function setOpacity(IDobj,value) {
    var elem=document.getElementById(IDobj);
	  elem.style.opacity = value/10;
	  elem.style.filter = 'alpha(opacity=' + value*10 + ')';
	  elem.innerHtml="";
    } 
    
    function fadeElem(IDobj,fade){
    if(fade=="in"){loop(IDobj,fade,0);}
    if(fade=="out"){loop(IDobj,fade,10);}
    }
  
    function loop(IDobj,fade,i){
    if(fade=="in"){
      if(i<11){
        setOpacity(IDobj,i);
        setTimeout("loop('" + IDobj + "','in'," + (i+1) + ");",100);
        }
      }
    if(fade=="out"){
      if(i>-1){
        setOpacity(IDobj,i);
        setTimeout("loop('" + IDobj + "','out'," + (i-1) + ");",100);
        }
      } 
    }
    
    function callajax(idElem,link){
    var elem=document.getElementById(idElem);
    elem.style.display="block";
    
     // lista delle variabili locali
     var ajax = assegnaXMLHttpRequest();
     
     //x evitare errori generati dall'apertura di + oggetti ajax
     ajax.abort();
    
     //alert("Debug Link: "+link);
     
     if(ajax) {
      // Creo applicativo AJAX
      ajax.open("get", link, true);
      // rimozione dell'header "connection" come "keep alive"
      ajax.setRequestHeader("connection", "close");
    
      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];
            }
          } 
        }
       ajax.send(null);  
      } 
      };



/** 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";

