
// JavaScript Document
/** (C) HTML.IT - insieme di funzioni ed oggetti utili per interagire con ajax */

/** FUNZIONI */

function clickdoppio(pagina) {
var num = Math.round(1000000000*Math.random());
setFinestra ='height=550,width=750,fullscreen=0,scrollbars=no,resizable=no'
	win = window.open(pagina ,'remote'+num,setFinestra)
}

function checkCategoria(){
	if (document.modulo.categoria.value == ""){ 
	   alert("Selezionare la Categoria.");
	   return false;}
}


// 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;
};

// 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;
};



/** 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";

function mostra(id){
//document.getElementById(id).style.visibility='visible';
document.getElementById(id).style.display='block';
}

function nascondi(id){
//document.getElementById(id).style.visibility='hidden';
document.getElementById(id).style.display='none';
}

function soprali(id) {
document.getElementById(id).style.backgroundColor='#5F79AB';
document.getElementById(id).style.color='#FFFFFF';
}
function fuorili(id) {
document.getElementById(id).style.backgroundColor='#FFF';
document.getElementById(id).style.color='';
}

function cambiaback(val) {
if (val == 1){
document.getElementById('aprev1').style.backgroundImage='url(/img/nav/prev1_.jpg)';
document.getElementById('aprev2').style.backgroundImage='url(/img/nav/prev2.jpg)';
document.getElementById('aprev3').style.backgroundImage='url(/img/nav/prev3.jpg)';
}
if (val == 2){
document.getElementById('aprev1').style.backgroundImage='url(/img/nav/prev1.jpg)';
document.getElementById('aprev2').style.backgroundImage='url(/img/nav/prev2_.jpg)';
document.getElementById('aprev3').style.backgroundImage='url(/img/nav/prev3.jpg)';
}
if (val == 3){
document.getElementById('aprev1').style.backgroundImage='url(/img/nav/prev1.jpg)';
document.getElementById('aprev2').style.backgroundImage='url(/img/nav/prev2.jpg)';
document.getElementById('aprev3').style.backgroundImage='url(/img/nav/prev3_.jpg)';
}
if (val == 4){
document.getElementById('aprev4').style.backgroundImage='url(/img/nav/prev4_.jpg)';
document.getElementById('aprev5').style.backgroundImage='url(/img/nav/prev5.jpg)';
}
if (val == 5){
document.getElementById('aprev4').style.backgroundImage='url(/img/nav/prev4.jpg)';
document.getElementById('aprev5').style.backgroundImage='url(/img/nav/prev5_.jpg)';
}

}

// funzione di caricamento testo,
// accetta una stringa contenente
// il nome di un file da leggere
function caricaTesto(nomeFile,idval) {

// variabili di funzione
var
// assegnazione oggetto XMLHttpRequest
ajax = assegnaXMLHttpRequest(),
// assegnazione elemento del documento
elemento = prendiElementoDaId(idval),
// risultato booleano di funzione
usaLink = true;

// se l'oggetto XMLHttpRequest non è nullo
if(ajax) {
// il link al file non deve essere usato
usaLink = false;

// impostazione richiesta asincrona in GET
// del file specificato
ajax.open("get", nomeFile, true);

// 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.INIZIALIZZATO) {
// verifica della risposta da parte del server
// operazione avvenuta con successo
elemento.innerHTML = "<img src='/img/carica.gif'> <span style='font-size:10px; color:#666;'>Loading...</span>";
}



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];
}
} 
}


// invio richiesta
ajax.send(null);
}

return usaLink;
} 			
