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;
	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 viewAjaxPhoto(id) {

  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    // assegnazione elemento del documento
    elemento = prendiElementoDaId("photoLayer");
    elemento.innerHTML="Loading...";
    elementoSotto = prendiElementoDaId("commentsLayer");
    elementoSotto.innerHTML="";
    elementoSotto = prendiElementoDaId("rateLayer");
    elementoSotto.innerHTML="";
    	
	  // se l'oggetto XMLHttpRequest non è nullo
	  if (ajax) {
	
	    // impostazione richiesta asincrona in GET
	    // del file specificato
	    ajax.open("post", "photoLayer.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("id="+id); 
	  }  
}

function viewAjaxComments(idPhoto) {

  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    // assegnazione elemento del documento
    elemento = prendiElementoDaId("commentsLayer");
    
    if (elemento.innerHTML.length==0) {
    
      elemento.innerHTML="Loading...";
    	
	  // se l'oggetto XMLHttpRequest non è nullo
	  if (ajax) {
	
	    // impostazione richiesta asincrona in GET
	    // del file specificato
	    ajax.open("post", "comments.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("idPhoto="+idPhoto); 
	  }
	  
    } else elemento.innerHTML="";
	
}

function viewAjaxThumbnail(arrayPhoto,page) {

  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    // assegnazione elemento del documento
    elemento = prendiElementoDaId("photoLayer");
	
	elemento.innerHTML="Loading...";
	
	// se l'oggetto XMLHttpRequest non è nullo
	if (ajax) {
	
	// impostazione richiesta asincrona in GET
	// del file specificato
	ajax.open("post", "viewThumbnail.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("arrayPhoto="+arrayPhoto+"&page="+page); 
	}
	
}

function viewAjaxRate(idPhoto) {

  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    // assegnazione elemento del documento
    elemento = prendiElementoDaId("rateLayer");
    
    if (elemento.innerHTML.length==0) {
    
      elemento.innerHTML="Loading...";
    	
	  // se l'oggetto XMLHttpRequest non è nullo
	  if (ajax) {
	
	    // impostazione richiesta asincrona in GET
	    // del file specificato
	    ajax.open("post", "rate.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("idPhoto="+idPhoto); 
	  }
	  
    } else elemento.innerHTML="";
	
}


function viewAjaxAccount(id) {

  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    // assegnazione elemento del documento
    elemento = prendiElementoDaId("layerCentrale");
    
    elemento.innerHTML="Loading...";
    	
	  // se l'oggetto XMLHttpRequest non è nullo
	  if (ajax) {
	
	    // impostazione richiesta asincrona in GET
	    // del file specificato
	    ajax.open("post", "accountModify.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("id="+id); 
	  }  
}



function viewAjaxNewAccount() {

  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    // assegnazione elemento del documento
    elemento = prendiElementoDaId("photoLayer");
    
    elemento.innerHTML="Loading...";
    	
	  // se l'oggetto XMLHttpRequest non è nullo
	  if (ajax) {
	
	    // impostazione richiesta asincrona in GET
	    // del file specificato
	    ajax.open("post", "signIn.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(null); 
	  }  
}

function viewAjaxUsers(page) {

  var
    ajax = assegnaXMLHttpRequest(),
    elemento = prendiElementoDaId("photoLayer");    
    elemento.innerHTML="Loading...";
    	
	  if (ajax) {
		ajax.open("post", "users.php", true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	    ajax.setRequestHeader ("Charset", "text/plain");
	    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];
	        }
	      } 
	    }
		ajax.send("page="+page); 
	  }  
}


function visualDiv(id) {
	if (document.getElementById(id).style.display=="none") {
		document.getElementById(id).style.display="inline";		
	} else {
		document.getElementById(id).style.display="none";	
	}	
}
 