//<![CDATA[
var myRequest = null;

rimuoviSpazi("fotoPreSucc");
settaEventi();

function settaEventi() {
	var divMiniature = document.getElementById("miniature");
	var linkMiniature = divMiniature.getElementsByTagName("a");
	var codFotoDaVisualizzare = getParametroQueryString("codFoto");
	var codFotoPrecedente = "";
	var codFotoSuccessiva = "";
	for (i = 0; i < linkMiniature.length; i++) {
		if (linkMiniature[i].id != "miniatureFoto") {
			var link = linkMiniature[i];
			var img = link.getElementsByTagName("img")[0];
			// se è la foto selezionata prendo i codici delle foto successiva
			// e precedente
			if (img.className == "bordoAcceso") {
				try {
					codFotoPrecedente = linkMiniature[i - 1].id;
				} catch (e) {
				}
				try {
					codFotoSuccessiva = linkMiniature[i + 1].id;
				} catch (e) {
				}
			}
			link.setAttribute("idFoto", linkMiniature[i].id);
			link.onclick = function() {
				cambiaFoto(this);
				return false;
			};
		}
	}
	// ***** eventi link foto precedente successiva *****
	var divFotoPreSucc = document.getElementById("fotoPreSucc");
	var linkPrecedente = null;
	try {
		linkPrecedente = divFotoPreSucc.getElementsByTagName("a")[0];
		// se il title è quello del link precedente setto la variabile
		// linkPrecedente
		if (linkPrecedente.title == "Foto precedente") {
			linkPrecedente.setAttribute("idFoto", codFotoPrecedente);
			linkPrecedente.onclick = function() {
				cambiaFoto(this);
				return false;
			};
		} else {// altrimenti la setto a null
			linkPrecedente = null;
		}
	} catch (e) {
	}
	try {
		var linkSuccessivo = null
		// se linkPrecedente è null linkSuccessivo è il primo link
		if (linkPrecedente == null) {
			linkSuccessivo = divFotoPreSucc.getElementsByTagName("a")[0];
		} else {// altrimenti è il secondo
			linkSuccessivo = divFotoPreSucc.getElementsByTagName("a")[1];
		}
		linkSuccessivo.setAttribute("idFoto", codFotoSuccessiva);
		linkSuccessivo.onclick = function() {
			cambiaFoto(this);
			return false;
		};
	} catch (e) {
	}
	// **************************************************************
}

function cambiaFoto(foto) {
	var id = foto.getAttribute("idFoto");
	myRequest = createXmlHttpRequest(handlerCambiaFoto);
	myRequest.open("POST", "./script/galleriaFotoAjax.php", true);
	myRequest.setRequestHeader("content-type",
			"application/x-www-form-urlencoded");
	myRequest.send("codFoto=" + id);
}

function handlerCambiaFoto() {
	visualizzaLoader(myRequest);
	aggiornaFooter();
	location = "#ancoraFoto";
	if (myRequest.readyState == 4 && myRequest.status == 200) {
		var rispostaScript = myRequest.responseText;
		if (rispostaScript == "Errore") {
		} else {
			rispostaScript = eval('(' + rispostaScript + ')');
			var fotoSelezionata = rispostaScript.fotoSelezionata;
			var fotoPrecedente = rispostaScript.fotoPrecedente;
			var fotoSuccessiva = rispostaScript.fotoSuccessiva;
			// ***** Aggiorno la miniatura selezionata *****
			var divMiniature = document.getElementById("miniature");
			var linkMiniature = divMiniature.getElementsByTagName("a");
			var classeBordoAcceso = "bordoAcceso";
			var queryStringPrecedente = "";
			var queryStringSuccessiva = "";
			for (i = 0; i < linkMiniature.length; i++) {
				if (linkMiniature[i].id != "miniatureFoto") {
					var img = linkMiniature[i].getElementsByTagName("img")[0];
					if (linkMiniature[i].id == "foto_" + fotoSelezionata.codice) {
						img.className = classeBordoAcceso;
						try {
							queryStringPrecedente = linkMiniature[i - 1].href;
						} catch (e) {
						}
						try {
							queryStringSuccessiva = linkMiniature[i + 1].href;
						} catch (e) {
						}
					} else {
						img.className = "";
					}
				}
			}
			// **************************************************************
			// ***** Aggiorno la foto grande *****
			var fotoGrande = document.getElementById("foto");
			var divMenuFoto = document.getElementById("menuFoto");
			fotoGrande.style.visibility = "hidden";
			fotoGrande.onload = function() {
				fotoGrande.height = fotoSelezionata.altezza;
				fotoGrande.width = fotoSelezionata.larghezza;
				aggiornaFooter();
				rimuoviLoader();
				fotoGrande.style.visibility = "visible";
			};
			fotoGrande.src = fotoSelezionata.percorso;
			// **************************************************************
			// ***** Aggiorno la descrizione *****
			document.getElementById("didascalia").firstChild.nodeValue = fotoSelezionata.descrizione;
			// **************************************************************
			// ***** Aggiorno i pulsanti *****
			var divFotoPreSucc = document.getElementById("fotoPreSucc");
			var link = divFotoPreSucc.getElementsByTagName("a");
			// se ci sono entrambi i link
			if (link.length == 2) {
				var linkPrecedente = divFotoPreSucc.getElementsByTagName("a")[0];
				var linkSuccessivo = divFotoPreSucc.getElementsByTagName("a")[1];
				// rimuovo gli elementi nel div
				while (divFotoPreSucc.firstChild) {
					divFotoPreSucc.removeChild(divFotoPreSucc.firstChild)
				}
				// primo link (foto precedente)
				if (fotoPrecedente.codice != ""
						&& fotoPrecedente.codice != null) {
					linkPrecedente.href = "./index.php?pagina=immobili3&codFoto="
							+ fotoPrecedente.codice;
					linkPrecedente.setAttribute("idFoto", "foto_"
							+ fotoPrecedente.codice);
					linkPrecedente.onclick = function() {
						cambiaFoto(this);
						return false;
					};
					linkPrecedente.href = queryStringPrecedente;
					divFotoPreSucc.appendChild(linkPrecedente);
				} else {
					var img = document.createElement("img");
					if (linkSuccessivo.title == "Foto successiva") {
						img.title = "Foto precedente";
					} else {
						img.title = "Previus photo";
					}
					img.src = "./immagini/indietroDisabilitato.gif";
					divFotoPreSucc.appendChild(img);
				}
				// secondo link (foto successiva)
				if (fotoSuccessiva.codice != ""
						&& fotoSuccessiva.codice != null) {
					linkSuccessivo.href = "./index.php?pagina=immobili3&codFoto="
							+ fotoSuccessiva.codice;
					linkSuccessivo.setAttribute("idFoto", "foto_"
							+ fotoSuccessiva.codice);
					linkSuccessivo.onclick = function() {
						cambiaFoto(this);
						return false;
					};
					linkSuccessivo.href = queryStringSuccessiva;
					divFotoPreSucc.appendChild(linkSuccessivo);
				} else {
					var img = document.createElement("img");
					if (linkSuccessivo.title == "Foto precedente") {
						img.title = "Foto successiva";
					} else {
						img.title = "Next photo";
					}
					img.src = "./immagini/avantiDisabilitato.gif";
					divFotoPreSucc.appendChild(img);
				}
			} else if (link.length == 1) {
				// c'è un solo link e bisogna visualizzarli entrambi
				if (fotoPrecedente.codice != ""
						&& fotoPrecedente.codice != null
						&& fotoSuccessiva.codice != ""
						&& fotoSuccessiva.codice != null) {
					var link = divFotoPreSucc.getElementsByTagName("a")[0];
					// rimuovo gli elementi nel div
					while (divFotoPreSucc.firstChild) {
						divFotoPreSucc.removeChild(divFotoPreSucc.firstChild)
					}
					// il link è foto precedente
					if (link.title == "Foto precedente"
							|| link.title == "Previus photo") {
						link.setAttribute("idFoto", "foto_"
								+ fotoPrecedente.codice);
						link.onclick = function() {
							cambiaFoto(this);
							return false;
						};
						link.href = queryStringPrecedente;
						var linkSuccessivo = document.createElement("a");
						linkSuccessivo.setAttribute("idFoto", "foto_"
								+ fotoSuccessiva.codice);
						linkSuccessivo.onclick = function() {
							cambiaFoto(this);
							return false;
						};
						linkSuccessivo.href = queryStringSuccessiva;
						var img = document.createElement("img");
						img.src = "./immagini/avanti.gif";
						if (link.title == "Foto precedente") {
							linkSuccessivo.title = "Foto successiva";
							img.alt = "Foto successiva";
						} else {
							linkSuccessivo.title = "Next photo";
							img.alt = "Next photo";
						}
						linkSuccessivo.appendChild(img);
						divFotoPreSucc.appendChild(link);
						divFotoPreSucc.appendChild(linkSuccessivo);
					} else {
						link.setAttribute("idFoto", "foto_"
								+ fotoSuccessiva.codice);
						link.onclick = function() {
							cambiaFoto(this);
							return false;
						};
						link.href = queryStringSuccessiva;
						var linkPrecedente = document.createElement("a");
						linkPrecedente.href = "./index.php?pagina=immobili3&codFoto="
								+ fotoPrecedente.codice;
						linkPrecedente.setAttribute("idFoto", "foto_"
								+ fotoPrecedente.codice);
						linkPrecedente.onclick = function() {
							cambiaFoto(this);
							return false;
						};
						var img = document.createElement("img");
						img.src = "./immagini/indietro.gif";
						if (link.title == "Foto successiva") {
							linkPrecedente.title = "Foto precedente";
							img.alt = "Foto precedente";
						} else {
							linkPrecedente.title = "Previus photo";
							img.alt = "Previus photo";
						}
						linkPrecedente.appendChild(img);
						linkPrecedente.href = queryStringPrecedente;
						divFotoPreSucc.appendChild(linkPrecedente);
						divFotoPreSucc.appendChild(link);
					}
				} else {// c'è un solo link e bisogna visualizzarne uno solo
					var link = divFotoPreSucc.getElementsByTagName("a")[0];
					if (((link.title == "Foto precedente") || (link.title == "Previus photo")
							&& fotoSuccessiva.codice != ""
							&& fotoSuccessiva.codice != null)
							|| ((link.title == "Foto successiva") || (link.title == "Next photo")
									&& fotoPrecedente.codice != ""
									&& fotoPrecedente.codice != null)) {
						// rimuovo gli elementi nel div
						while (divFotoPreSucc.firstChild) {
							divFotoPreSucc
									.removeChild(divFotoPreSucc.firstChild)
						}
						// il link è foto precedente
						if (link.title == "Foto precedente"
								|| link.title == "Previus photo") {
							var imgPrecedente = document.createElement("img");
							imgPrecedente.src = "./immagini/indietroDisabilitato.gif";
							var linkSuccessivo = document.createElement("a");
							linkSuccessivo.setAttribute("idFoto", "foto_"
									+ fotoSuccessiva.codice);
							linkSuccessivo.onclick = function() {
								cambiaFoto(this);
								return false;
							};
							linkSuccessivo.href = queryStringSuccessiva;
							var img = document.createElement("img");
							img.src = "./immagini/avanti.gif";
							if (link.title == "Foto precedente") {
								linkSuccessivo.title = "Foto successiva";
								imgPrecedente.title = "Foto precedente";
								img.alt = "Foto successiva";
							} else {
								linkSuccessivo.title = "Next photo";
								imgPrecedente.title = "Previus photo";
								img.alt = "Next photo";
							}
							linkSuccessivo.appendChild(img);
							divFotoPreSucc.appendChild(imgPrecedente);
							divFotoPreSucc.appendChild(linkSuccessivo);
						} else {
							var imgSuccessiva = document.createElement("img");
							imgSuccessiva.src = "./immagini/avantiDisabilitato.gif";
							var linkPrecedente = document.createElement("a");
							linkPrecedente.setAttribute("idFoto", "foto_"
									+ fotoPrecedente.codice);
							linkPrecedente.onclick = function() {
								cambiaFoto(this);
								return false;
							};
							linkPrecedente.href = queryStringPrecedente;
							var img = document.createElement("img");
							img.src = "./immagini/indietro.gif";
							if (link.title == "Foto successiva") {
								linkPrecedente.title = "Foto precedente";
								imgSuccessiva.title = "Foto successiva";
								img.alt = "Foto precedente";
							} else {
								linkPrecedente.title = "Previus photo";
								imgSuccessiva.title = "Next photo";
								img.alt = "Previus photo";
							}
							linkPrecedente.appendChild(img);
							divFotoPreSucc.appendChild(linkPrecedente);
							divFotoPreSucc.appendChild(imgSuccessiva);
						}
					}
				}
			}
			// **************************************************************
		}
	}
}

/**
 * Rimuove gli spazi sta i pulsanti
 * 
 * @param fotoPreSucc
 *            stringa - id del div
 */
function rimuoviSpazi(fotoPreSucc) {
	var divFotoPreSucc = document.getElementById(fotoPreSucc);
	var listaNodi = divFotoPreSucc.childNodes;
	for (i = 0; i < listaNodi.length; i++) {
		try {
			if (listaNodi[i].tagName.upperLowCase() != "img"
					|| listaNodi[i].tagName.upperLowCase() != "a") {
				divFotoPreSucc.removeChild(listaNodi[i]);
			}
		} catch (e) {
			if (!listaNodi[i].tagName) {
				divFotoPreSucc.removeChild(listaNodi[i]);
			}
		}
	}
}

function aggiornaFooter() {
	var divFooter = document.getElementById("footer");
	var divContenuto = document.getElementById("container2");
	divContenuto.removeChild(divFooter);
	divContenuto.appendChild(divFooter);
}
// ]]>

