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

function prendiElementoDaId(id_elemento) {
	var elemento;
	
	// se esiste il metodo getElementById quindi il browser lo supporta
	// questo if sarà diverso da false, null o undefined e sarà quindi considerato valido, come un true
	if(document.getElementById)
		elemento = document.getElementById(id_elemento);
	else
		elemento = document.all[id_elemento];
		
	return elemento;
}


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 viewCategory(plusConten,categoryConten,id,tipo,CV,filtro) {

  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    // assegnazione elemento del documento
    elemento = prendiElementoDaId(categoryConten),   
    immagine = prendiElementoDaId(plusConten);
    
    if (tipo=="+") {
    	immagine.innerHTML="<a href='javascript:viewCategory(\"plus"+id+"\",\"children"+id+"\","+id+",\"-\",\""+CV+"\",\""+filtro+"\")'><img src=/immagini/minus.gif border=0></a>";
	} else {
		immagine.innerHTML="<a href='javascript:viewCategory(\"plus"+id+"\",\"children"+id+"\","+id+",\"+\",\""+CV+"\",\""+filtro+"\")'><img src=/immagini/plus.gif border=0></a>";
		elemento.innerHTML="";
    	return;	
	}
    	
    elemento.innerHTML="<p>Caricamento..</p>";	
    	
    	
  // se l'oggetto XMLHttpRequest non è nullo
  if(ajax) {

    // impostazione richiesta asincrona in GET
    // del file specificato
    ajax.open("post", "viewCategorie.php", true);
    
    // imposto il giusto header
	//ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajax.setRequestHeader ("Charset", "text/plain");


    // rimozione dell'header "connection" come "keep alive"
    ajax.setRequestHeader("connection", "close");

    // 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
          elemento.innerHTML = ajax.responseText;
        else {
          // errore di caricamento
          elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
          elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
        }
      } 
    }

    // effettuo la richiesta inviando la variabile leggi con contenuto Dante
	ajax.send("idPadre="+id+"&tipo="+CV+"&sqlFiltro="+filtro); 
  }
   
} 

function viewCategoryTrans(plusConten,categoryConten,id,tipo) {

  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    // assegnazione elemento del documento
    elemento = prendiElementoDaId(categoryConten),   
    immagine = prendiElementoDaId(plusConten);
    
    if (tipo=="+") {
    	immagine.innerHTML="<a href='javascript:viewCategoryTrans(\"plus"+id+"\",\"children"+id+"\","+id+",\"-\")'><img src=/immagini/minus.gif border=0></a>";
	} else {
		immagine.innerHTML="<a href='javascript:viewCategoryTrans(\"plus"+id+"\",\"children"+id+"\","+id+",\"+\")'><img src=/immagini/plus.gif border=0></a>";
		elemento.innerHTML="";
    	return;	
	}
    	
    elemento.innerHTML="<p>Caricamento..</p>";	
    	
    	
  // se l'oggetto XMLHttpRequest non è nullo
  if(ajax) {

    // impostazione richiesta asincrona in GET
    // del file specificato
    ajax.open("post", "viewCategorieTrans.php", true);
    
    // imposto il giusto header
	//ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajax.setRequestHeader ("Charset", "text/plain");


    // rimozione dell'header "connection" come "keep alive"
    ajax.setRequestHeader("connection", "close");

    // 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
          elemento.innerHTML = ajax.responseText;
        else {
          // errore di caricamento
          elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
          elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
        }
      } 
    }

    // effettuo la richiesta inviando la variabile leggi con contenuto Dante
	ajax.send("idPadre="+id); 
  }
   
} 

function visualizzaAnnunci(tipo, idCategoria, pagina, idOrder, sqlFiltro) {

  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    // assegnazione elemento del documento
    elemento = prendiElementoDaId("elencoAnnunci");
    	
  // se l'oggetto XMLHttpRequest non è nullo
  if(ajax) {

    // impostazione richiesta asincrona in GET
    // del file specificato
    ajax.open("post", "viewAnnunci.php", true);
    
    elemento.innerHTML="<p>Caricamento..</p>";
        
    // imposto il giusto header
	//ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajax.setRequestHeader ("Charset", "text/plain");


    // rimozione dell'header "connection" come "keep alive"
    ajax.setRequestHeader("connection", "close");

    // 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
          elemento.innerHTML = ajax.responseText;
        else {
          // errore di caricamento
          elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
          elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
        }
      } 
    }

    // effettuo la richiesta inviando la variabile leggi con contenuto Dante

	ajax.send("tipo="+tipo+"&idCategoria="+idCategoria+"&pagina="+pagina+"&idOrder="+idOrder+"&sqlFiltro="+sqlFiltro); 
  }
} 

function visualizzaTrans(idCategoria) {

  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    // assegnazione elemento del documento
    elemento = prendiElementoDaId("elencoTrans");
    	
  // se l'oggetto XMLHttpRequest non è nullo
  if(ajax) {

    // impostazione richiesta asincrona in GET
    // del file specificato
    ajax.open("post", "viewTransazioni.php", true);
    
    elemento.innerHTML="<p>Caricamento..</p>";
        
    // imposto il giusto header
	//ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajax.setRequestHeader ("Charset", "text/plain");


    // rimozione dell'header "connection" come "keep alive"
    ajax.setRequestHeader("connection", "close");

    // 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
          elemento.innerHTML = ajax.responseText;
        else {
          // errore di caricamento
          elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
          elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
        }
      } 
    }

	ajax.send("idCategoria="+idCategoria); 
  }
} 

function visualizzaAppassionati(provincia, idClub, idOrder, pagina) {

  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    // assegnazione elemento del documento
    elemento = prendiElementoDaId("elencoAppassionati");
    	
  // se l'oggetto XMLHttpRequest non è nullo
  if(ajax) {

    // impostazione richiesta asincrona in GET
    // del file specificato
    ajax.open("post", "viewAppassionati.php", true);
    
    // imposto il giusto header
	//ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajax.setRequestHeader ("Charset", "text/plain");


    // rimozione dell'header "connection" come "keep alive"
    ajax.setRequestHeader("connection", "close");

    // 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
          elemento.innerHTML = ajax.responseText;
        else {
          // errore di caricamento
          elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
          elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
        }
      } 
    }

    // effettuo la richiesta inviando la variabile leggi con contenuto Dante
	ajax.send("provincia="+provincia+"&idClub="+idClub+"&idOrder="+idOrder+"&pagina="+pagina); 
  }
} 

