var scroll = new Fx.Scroll('contenutiWrapper', {
	wait: false,
	duration: 2000,
	offset: {'x': 0, 'y': 0},
	transition: Fx.Transitions.Quad.easeInOut
});

$('logo').addEvent('click', function(event) {
	event = new Event(event).stop();
	scroll.toElement('home');
});
 
$('menuLink1').addEvent('click', function(event) {
	event = new Event(event).stop();
	scroll.toElement('vgallery');
});
 
$('menuLink2').addEvent('click', function(event) {
	event = new Event(event).stop();
	scroll.toElement('storia');
});
 
$('menuLink3').addEvent('click', function(event) {
	event = new Event(event).stop();
	scroll.toElement('variazioni');
});
 
$('menuLink4').addEvent('click', function(event) {
	event = new Event(event).stop();
	scroll.toElement('bio');
});

$('menuLink5').addEvent('click', function(event) {
	event = new Event(event).stop();
	scroll.toElement('contatti');
});


/* Oggetto Fx.Scroll per i movimenti della gallery various */
var eventiVarious;
/** Un array di Evento contenente tutti gli eventi della gallery storia */
var vgalleryScroll;


/* Oggetto Fx.Scroll per i movimenti della gallery storia */
var storiaScroll;
/** Un array di Evento contenente tutti gli eventi della gallery storia */
var eventiStoria;

/**
Mi serve per gestire gli eventi di ogni elemento cliccabile.
Contiene l'id dell'elemento da raggiungere
@param scrollObj Un oggetto di tipo Fx.Scroll
@param daChi Id dell'elemento che cliccato fa spostare
@param aChi Specifica l'id dell'elemento verso il quale scrollare
@param n L'indice della posizione dell'oggetto this nell'array eventiStoria
@param eventi Un array di Evento per linkare la funzione
*/
function Evento(scrollObj, daChi, aChi, n, eventi) {
	this.aChi = aChi;
	this.n = n;
	this.evento = function(event) {
		event = new Event(event).stop();
		scrollObj.toElement(eventi[n].aChi);
	}
	try {
		$(daChi).addEvent('click', this.evento);
	}catch(e) {}
}

/**
Aggiunge gli eventi di movimento EventoStoria a tutti gli n oggetti con radice specificati
@param scrollObj Un oggetto che sarà inizializzato a Fx.Scroll
@param wrapper L'id del DIV wrapper dell'animazione
@param radiceFrom La radice degli oggetti cliccabili
@param radiceTo La radice degli oggetti su cui si finisce
@param n Il numero di oggetti
@param eventi Un array di Evento che viene riallocato con una new
*/
var galleryScroll = function(scrollObj, wrapper, radiceFrom, radiceTo, n, eventi) {
	scrollObj = new Fx.Scroll(wrapper, {
		wait: false,
		duration: 2500,
		offset: {'x': 0, 'y': 0},
		transition: Fx.Transitions.Quad.easeInOut
	});
	eventi = new Array();
	for(var i = 1; i <= n; i++)
		eventi[i] = new Evento(scrollObj, radiceFrom+i, radiceTo+i, i, eventi);
}



// sezione Variazioni
var variazioniScroll = new Fx.Scroll('variazioniWrapper', {
	wait: false,
	duration: 2500,
	offset: {'x': 0, 'y': 0},
	transition: Fx.Transitions.Quad.easeInOut
});

$('variazLink1').addEvent('click', function(event) {
	event = new Event(event).stop();
	variazioniScroll.toElement('neg1');
});
 
$('variazLink2').addEvent('click', function(event) {
	event = new Event(event).stop();
	variazioniScroll.toElement('neg2');
});
 
$('variazLink3').addEvent('click', function(event) {
	event = new Event(event).stop();
	variazioniScroll.toElement('neg3');
});

$('variazLink4').addEvent('click', function(event) {
	event = new Event(event).stop();
	variazioniScroll.toElement('neg4');
});

$('variazLink5').addEvent('click', function(event) {
	event = new Event(event).stop();
	variazioniScroll.toElement('neg5');
});

$('variazLink6').addEvent('click', function(event) {
	event = new Event(event).stop();
	variazioniScroll.toElement('neg6');
});

$('variazLink7').addEvent('click', function(event) {
	event = new Event(event).stop();
	variazioniScroll.toElement('neg7');
});


// FINE sezione Variazioni


// sezione contatti
var contattiScroll = new Fx.Scroll('contattiWrapper', {
	wait: false,
	duration: 2500,
	offset: {'x': 0, 'y': 0},
	transition: Fx.Transitions.Quad.easeInOut
});


$('cartina').addEvent('click', function(event) {
	event = new Event(event).stop();
	contattiScroll.toElement('mappa');
});

$('mappa').addEvent('click', function(event) {
	event = new Event(event).stop();
	contattiScroll.toElement('form');
});ajaxUpdater('bioContainer', 'public/bio/ENbio.txt');

function ripristinaContatti() {
	setTimeout("contattiScroll.toElement('form')", 2000);
}
//fine sezione contatti


/* Cambia il titolo e il background della foto cliccata
@param id Il campo contenente la radice di tutti i link e del titolo (basta aggiungere un numero per il background
e la T per il titolo
 */
function cambiaTB(id, testo, n, max) {
	document.getElementById(id+"T").innerHTML = "<P style=\"margin-top:5px;\">" + testo + "</P>"; // cambio il titolo
	for(var i = 1; i <= max; i++) {	// cambio i background
		try {
			if(i == n) document.getElementById(id+n).style.backgroundColor = "#000000";
			else document.getElementById(id+i).style.backgroundColor = "#FF0000";
		}catch(e) {}
	}
}

/*
Cambia il colore della voce del menu selezionata
*/
function cambiaSel(n) {
	var selezione = "#FF0000";
	var noselezione = "#000000";
	for(var i = 1; i <= 5; i++)
		if(i == n) document.getElementById("click"+i).style.color = selezione;
		else document.getElementById("click"+i).style.color = noselezione;
		if(n == 5) document.getElementById("w3").style.display = "block";
		else document.getElementById("w3").style.display = "none";
}

/*
Chiamato dalla pagina italiana, rende visibili le voci del menu ed invisibile il div home_en_ita
*/
function visualizzaMenu() {
	document.getElementById("mainMenu").style.visibility = "visible";
	document.getElementById("home_en_ita").style.display = "none";
	ajaxUpdater('bioContainer', 'public/bio/ITAbio.txt');
}

var logoPos = 60;
/* Sposta il logo a sinistra (parametro false) o a destra (parametro true) */
function spostaLogo(direz) {
	if(!direz) {	// sposto a SX
		if(logoPos > -13) {
			document.getElementById("logo").style.left = logoPos + "px";
			logoPos--;
			setTimeout("spostaLogo(false)", 2);
		}
	}
	else {	// sposto a DX
		if(logoPos < 60) {
			document.getElementById("logo").style.left = logoPos + "px";
			logoPos++;
			setTimeout("spostaLogo(true)", 2);
		}
	}
}


function linkEsterno(url) {
	try {
		open(url);
	}catch(e) {}
}

// Quando viene premuto F5 torno sempre alla home
document.onkeydown = function keyListener(e) {
	if(!e) e = window.event;	// Per IE
	if(e.keyCode == 116) {location.href = '#home';};
}


document.getElementById("menuLink1").onclick = function() {cambiaSel(1);ajaxUpdater('vgallery', '_sezioni.php?sez=vgallery');spostaLogo(true);stop();}
document.getElementById("menuLink2").onclick = function() {cambiaSel(2);ajaxUpdater('storia', '_sezioni.php?sez=storia');spostaLogo(true);stop();}
document.getElementById("menuLink3").onclick = function() {cambiaSel(3);spostaLogo(false);}
document.getElementById("menuLink4").onclick = function() {cambiaSel(4);spostaLogo(true);}
document.getElementById("menuLink5").onclick = function() {cambiaSel(5);ripristinaContatti();spostaLogo(false);}
document.getElementById("logo").onclick = function() {scroll.toElement('home');spostaLogo(true);setTimeout("location.href=\"index.html\"", 2000);}
document.getElementById("pulsanteSpedisci").onclick = controllaSpedisci;
document.getElementById("sanandaLink").target = "_blank";
document.getElementById("xhtml_validator").target = "_blank";
document.getElementById("css_validator").target = "_blank";

ajaxUpdater('bioContainer', 'public/bio/ENbio.txt');
ajaxUpdater('vgallery', '_sezioni.php?sez=vgallery');
ajaxUpdater('storia', '_sezioni.php?sez=storia');

