
window.onload = function(){
	//	Gestisco il sottomenu
	submenu();
	
	//	Gestisco il contenuto
	content();
	
	//	Gestisco le immagini
	nextImage();
	
	//	Precarico tutte le immagini
	imageInit();	
}





var mainmenu_items = null;
var submenu_items = null;
var submenu_last_item = 0;



/*		CONTENT		*/

function content(){
	//	Vedo se esiste il content
	if(document.getElementById("content")==null){
		//	Non esiste, quindi esco
		return void(0);
	}
	
	//	Il content deve essere alto come il menu principale
	if(document.getElementById("mainmenu_list")!=null){
		document.getElementById("content").style.height = (mainmenu_items.length*18)+"px";
	}
	
	//	Se non c'è il submenu tolgo il bordo sx
	if(document.getElementById("submenu_list")==null){
	  document.getElementById("content").style.backgroundImage = 'none';	
	}
	document.getElementById("content").style.display = 'block';	
}



/*		SUBMENU		*/

function submenu(){
	
	if(document.getElementById("mainmenu_list")==null){
		return void(0);
	}

	mainmenu_items = document.getElementById("mainmenu_list").getElementsByTagName("li");

	//	Vedo se esiste il submenu
	if(document.getElementById("submenu_list")==null){
		//	Non esiste, quindi esco
		return void(0);
	}

	//	Gestione altezza submenu
//	document.getElementById("submenu_list").style.height = (mainmenu_items.length*18)+'px';
	submenu_items = document.getElementById("submenu_list").getElementsByTagName("li");

	var active_item = null;

	//	Devo far scomparire gli elementi in eccesso del submenu
	for(var i=0; i<submenu_items.length; i++){
		//	Vedo se è l'elemento attivo
		if(submenu_items[i].getElementsByTagName("a")[0].className=='active'){
			active_item = i;
		}
		
		if(i>=mainmenu_items.length){
			//	Faccio scomparire gli elementi in eccesso
			submenu_items[i].style.display = 'none';
		}else{
			submenu_last_item = i;
		}
	}
	
	//	Active item
	if(active_item!=null && active_item>submenu_last_item){
		while(submenu_last_item!=active_item){
			submenuDown();
		}
	}
	
	//	Vedo se nascondere o mostrare i pulsanti per andare su e giu
	if(submenu_last_item<=mainmenu_items.length-1){
		//	Deve scomparire il pulsante per andare su
		document.getElementById("submenuUp").style.visibility = 'hidden';
	}
	if(submenu_last_item==submenu_items.length-1){
		//	Deve scomparire il pulsante per andare giu
		document.getElementById("submenuDown").style.visibility = 'hidden';		
	}

	//	Faccio comparire il submenu
	document.getElementById("submenu").style.display = "block";		
		

}





function submenuUp(){

	//	Devo far comparire il primo invisibile e scoparire il primo visibile
	var element_to_show = submenu_last_item-mainmenu_items.length;
	var element_to_hide = submenu_last_item;
	

	submenu_items[element_to_hide].style.display = 'none';
	submenu_items[element_to_show].style.display = 'block';		
	submenu_last_item = element_to_hide-1;	
	
	//	Controllo se posso andare ancora su

	if(submenu_last_item==(mainmenu_items.length-1)){
		//	Devo far scomparire il pulsante per andare giu
		document.getElementById("submenuUp").style.visibility = 'hidden';
	}
	
	//	Faccio comparire il pulsante per andare su
	document.getElementById("submenuDown").style.visibility = 'visible';
	
}





function submenuDown(){

	//	Devo far comparire il primo invisibile e scoparire il primo visibile
	var element_to_hide = submenu_last_item-(mainmenu_items.length-1);
	var element_to_show = submenu_last_item+1;

	submenu_items[element_to_hide].style.display = 'none';

	submenu_items[element_to_show].style.display = 'block';		

	submenu_last_item = element_to_show;	

	//	Controllo se devo interrompere lo scroll	
	if(submenu_last_item==(submenu_items.length-1)){
		//	Devo far scomparire il pulsante per andare giu
		document.getElementById("submenuDown").style.visibility = 'hidden';
	}

	//	Faccio comparire il pulsante per andare su
	document.getElementById("submenuUp").style.visibility = 'visible';

}


/*		CONTENT IMAGE		*/

var fadeInStepCounter = 0;
var fadeOutStepCounter = 0;
var fadeInInterval = null;
var fadeOutInterval = null;
var fadeInImage = null;
var fadeOutImage = null;
var activeLayer = 'image_1';
var new_image = null;
var image_num = -1;
var active_link = null;


function imageInit(){
	var pix=new Array();
	for(var i=1; i<images.length; i++){
		pix[i] = new Image();
		pix[i].src = images[image_num][0];
	}
}


function nextImage(){
	image_num = image_num+1;
	if(image_num>images.length-1){
		image_num = 0;
	}	
	changeImage();
}


function prevImage(){
	if(images.length>1){
//		document.getElementById('prev_image_button').style.visibility = 'hidden';	
	}
	image_num = image_num-1;
	if(image_num<0){
		image_num = images.length-1;
	}
	
	changeImage();
}


function changeImage(){
	if(images.length>1){
		//	Disabilito i pulsanti avanti e indietro
		document.getElementById('next_image_button').href = '#';
	
		document.getElementById('prev_image_button').href = '#';
	}
	
	//	Elimino eventuali count down attivi
	clearInterval(fadeInInterval);
	if(fadeInImage!=null){
		setOpacity(fadeInImage, 99.99);
	}
	clearInterval(fadeOutInterval);	
	if(fadeOutImage!=null && fadeOutImage!=-1){
		setOpacity(fadeOutImage, 0);
	}	
	

	//	Azzero i contatori
	fadeInStepCounter = 0;
	fadeOutStepCounter = 0;
	
	
	//	Devo precaricare l'immagine
	var imgPreloader = new Image();

	imgPreloader.onload=function(){
		//	L'immagine è caricata
		//	Ora la metto nel layer corretto
		if(activeLayer=='image_1'){
			document.getElementById("image_2").src = images[image_num][0];
			activeLayer = 'image_2';
		}else{
			document.getElementById("image_1").src = images[image_num][0];
			activeLayer = 'image_1';
		}
		//	Faccio partire la transizione
		fadeInInterval = setInterval("fade_in_image()", 30);
		//	Se sono alla prima immagine non faccio il fade out
		if(fadeOutImage!=-1){
			fadeOutInterval = setInterval("fade_out_image()", 30);
		}
	}
	
	//	Calcolo le immagini
	if(activeLayer=='image_1'){
		fadeOutImage = 1;	
		fadeInImage = 2;			
	}else{
		fadeOutImage = 2;	
		fadeInImage = 1;						
	}	
	
	setOpacity(fadeInImage, 0);
	imgPreloader.src = images[image_num][0];
}




function fade_out_image(){
	if(fadeOutStepCounter==10){
		//	Elimino l'intervallo
		clearInterval(fadeOutInterval);
		//	Aggiorno l'opacità
		setOpacity(fadeOutImage, 0)
		//	Azzero il contatore
		fadeOutStepCounter = 0;
	}else{
		setOpacity(fadeOutImage, 90-(fadeOutStepCounter*10));
		fadeOutStepCounter++;
	}
}

function fade_in_image(){
	if(fadeInStepCounter==10){
		clearInterval(fadeInInterval);
		//	Inserisco l'etichetta dell'immagine
		document.getElementById("image_description").innerHTML = images[image_num][1];
		//	Contatore immagini
		if(images.length>1){
//			document.getElementById("image_num").innerHTML = image_num+1;
		}
		//	Abilito i pulsanti avanti e indietro
		if(images.length>1){
			document.getElementById('next_image_button').href = 'javascript:nextImage();';
			document.getElementById('next_image_button').style.visibility = 'visible';
			document.getElementById('prev_image_button').href = 'javascript:prevImage();';		
			document.getElementById('prev_image_button').style.visibility = 'visible';
		}
	}else{
		var opacity = 10+(fadeInStepCounter*10);
		if(opacity==100){
			opacity = 99,99;
		}
		setOpacity(fadeInImage, opacity);
		fadeInStepCounter++;
	}
}

function setOpacity(image_id, value){  
	document.getElementById('image_box_'+image_id).style.filter = 'alpha(opacity='+value+')';
//	document.getElementById("image").style.moz_opacity = '.'+value;
	document.getElementById('image_box_'+image_id).style.opacity = '.'+value;
}  
