//funzione per attivare il rollover
function activate_arrow(name){
	var arrow = document.images[name].src
	if (arrow != freccia_giu_on.src){
		document.images[name].src = freccia_sx_on.src
		window.status = "Espandi il menu"
		return true
	}
	else{
		window.status = "Contrai il menu"
		return true
	}
}

//funzione per disattivare il rollover
function deactivate_arrow(name){
	var arrow = document.images[name].src
	if (arrow != freccia_giu_on.src){
		document.images[name].src = freccia_sx_off.src
		window.status = ""
		return true
	}
	else
		return false
}

//funzione per espadere/contrarre il menu
function expand(menu){
	//funzione che esegue la transizione
	function refresh_positions(){
		//variabili che identificano lo stato della transizione
		var nextstepclose 	= false
		var nextstepopen	= false
		
		//fermo la transizione
		clearTimeout(timer)
		
		//verifico se la transizione è finita
		nextstepopen = eval(curheight + oplog + finalheight)
		if (nextstepopen){
			//allungo il menu selezionato di uno step
			curheight = eval(curheight + opinc + step)
			objmenu.style.height = curheight + "px"
		}
		
		//verifico se c'è un menu espanso da chiudere
		if (toclose){
			//verifico se la transizione è finita
			nextstepclose = eval(curhclose + " > mnuheight")
			if (nextstepclose){
				//accorcio il menu attualmente espanso di uno step
				curhclose = eval(curhclose + "-" + step)
				objmnucls.style.height = curhclose + "px"
			}
		}
		
		//riprendo la transizione se c'è ancora qualcosa da accorciare/allungare
		if (nextstepclose || nextstepopen) timer = setTimeout(refresh_positions, speed)
	}
	
	var number		= menu.substring(1,menu.length) //numero del menu selezionato
	var arrow		= document.images['f1_'+number].src //indicatore corrispondente
	var objmenu		= document.all[menu] //oggetto menu selezionato
	var curheight	= eval(objmenu.style.height.substring(0,objmenu.style.height.length-2)) //altezza all'inizio della transizione
	var finalheight	= null
	var oplog		= null
	var opinc		= null
	var timer		= null
	var toclose		= false
	
	//se è impostata la chiusura automatica trovo quale menu è espanso e quindi da chiudere
	//se c'è un menu da lasciare aperto lo escludo
	if (autoclose){
		for (var i=1; i<nummenu; i++){
			if (document.images['f1_'+i].src == freccia_giu_on.src && 'm'+i!=mnunottoclose) 
				if (menu!=mnunottoclose) break
		}
		
		if (i<nummenu){
			var objmnucls = document.all['m'+i]
			var curhclose = eval(objmnucls.style.height.substring(0,objmnucls.style.height.length-2))
			toclose = true
		
			document.images['f1_'+i].src = freccia_sx_off.src
		}
	}
	
	//verifico lo stato del menu selezionato
	if (arrow != freccia_giu_on.src){
		finalheight = mnuheight + heights[number]*mnuheight //altezza alla fine della transizione
		oplog = "<" //setto l'operatore logico
		opinc = "+" //setto l'operatore di incremento/decremento
		
		document.images['f1_'+number].src = freccia_giu_on.src //applico rollover sull'indicatore
	}
	else{
		finalheight = mnuheight
		oplog = ">"
		opinc = "-"
		
		document.images['f1_'+number].src = freccia_sx_off.src
	}
	
	//inizio transizione di ridimensionamento
	timer = setTimeout(refresh_positions, speed)
}

//pagine
var pagine_sx_on	= new_image('pagine_sx','on')
var pagine_sx_off	= new_image('pagine_sx','off')
var pagine_dx_on	= new_image('pagine_dx','on')
var pagine_dx_off	= new_image('pagine_dx','off')

//stati dell'indicatore di menu
var freccia_sx_on	= new_image('freccia_sx','on')
var freccia_sx_off	= new_image('freccia_sx','off')
var freccia_giu_on	= new_image('freccia_giu','on')
