/*codice per lo spegnimento ritardato dei menu*/
var imgMenuTop = ''
var menuTop = ''
var timerID = false
var menuName = ''
var gruppoMenu=''

function onMenuTop(imgObj, gruppo, layerName) {
	if (menuTop) {
		closeMenu()
	}
	gruppoMenu = gruppo
	setOn(imgObj, gruppoMenu)
	showLayer(layerName)
	menuTop = layerName
	menuName = imgObj
}


function outMenuTop(menu){
	menuTop = menu
	timerID = setTimeout('closeMenu()', 1500)
}


function closeMenu() {
	hideLayer(menuTop)
	setOn('', gruppoMenu)
	clearTimeout(timerID)
}


/*codice per le voci di menu */
function accendi(name) {
	clearTimeout(timerID)
	rollOn(name); 
	setOn(menuName,gruppoMenu); 
}

function spegni(name){
	rollOff(name, 'vociMenu'); 
	timerID=setTimeout('closeMenu()',500);
}

function sospentiTimeOut(){
		clearTimeout(timerID)
}

function riattivaTimeOut(){
		timerID=setTimeout('closeMenu()',500);
}


/*
*  multiRoll.js
* ----------------------------------------------------------------------------
*  Copyright © 1995-2001 Intesys S.r.l. Verona (I). All rights reserved.
* ----------------------------------------------------------------------------
*  Data e versione:
*	25/11/2003 - 1.0
* ----------------------------------------------------------------------------
*  Descrizione:
*	Libreria per la gestione dei rollover.
* ----------------------------------------------------------------------------
*/

var imgActive = new Array()


function rollOn(obj) {
	if (typeof(obj) == 'object' && (
		(arguments[1] == 'selected' && (typeof(obj.sel) == 'object' || typeof(obj.active) == 'object'))
		|| (!obj.on && typeof(obj.active) == 'object') )) {
		if (arguments[1] == 'selected' && typeof(obj.sel) == 'object') {
			obj.src = obj.sel.src
		} else
			obj.src = obj.active.src
		obj.on = true
		return true
	} else return false
}


function rollOff(obj, group) {
	if (typeof(obj) == 'object' && obj.on && obj != imgActive[group] && typeof(obj.inactive) == 'object') {
		obj.src = obj.inactive.src
		obj.on = false
		return true
	} else return false
}


function setOn(obj, group) {
	var memImgActive = imgActive[group]
	if (typeof(obj) == 'object') {
		rollOn(obj, 'selected')
		imgActive[group] = obj
	} else {
		imgActive[group] = ''
	}
	if (typeof(memImgActive) == 'object') rollOff(memImgActive,group)
	return true;
}


function preload(obj, srcActive, srcSel) {
	if (typeof(obj) == 'object' && obj.src) {
		obj.active = new Image()
		obj.active.src = srcActive
		obj.inactive = new Image()
		obj.inactive.src = obj.src
		if (srcSel) {
			obj.sel = new Image()
			obj.sel.src = srcSel
		}
		obj.on = false
		return true
	} else return false
}


function getImgByName(name, path) {
    if (typeof(document.images[name]) == 'object') return document.images[name]
    else {
        if (document.layers && typeof(path.document.images[name]) == 'object')
			return path.document.images[name]
        else return '';
    }
}


function setStatus(statusText) {
	if (document.all || !document.getElementById) {
		window.status = statusText;
	}
	return true;
}


/*
*  showhide.js
* ----------------------------------------------------------------------------
*  Copyright © 1995-2003 Intesys S.r.l. Verona (I). All rights reserved.
* ----------------------------------------------------------------------------
*  Data e versione:
*	20/11/2003 - 2.00
* ----------------------------------------------------------------------------
*  Descrizione:
*	Funzioni javascript per mostrare/nascondere dinamicamente layer.
* ----------------------------------------------------------------------------
*  NOTA:
*	Il paramtero path è opzionale ed è usato solo da Netscape Navigator 4.x
*/

function getLayer(layerName, path) {
	if (document.getElementById) return document.getElementById(layerName)
	else if (document.all) return document.all[layerName]
	else if (document.layers) return (path ? path.document.layers[layerName] : document.layers[layerName])
}

function showLayer(layer, path) {
	if (typeof(layer) != 'object') layer = getLayer(layer, path)
	if (document.layers) layer.visibility = 'show'
	else layer.style.visibility = 'visible'
}

function hideLayer(layer, path) {
	if (typeof(layer) != 'object') layer = getLayer(layer, path)
	if (document.layers) layer.visibility = 'hide'
	else layer.style.visibility = 'hidden'
}

var shownLayerOfGroup = []

function showMeHidePrev(layer, group, path) {
	var current = shownLayerOfGroup[group]
	showLayer(layer, path)
	if (current && layer != current) hideLayer(current, path)
	shownLayerOfGroup[group] = layer
}




/*
 *  Script per lo scroll di un div
 *
 */

var delta=0;    // spostamento
var inizio=0;   // posizione iniziale del testo in pixel
var fine=-130;   // posizione finale del testo
var attesa=20;  // millisecondi di attesa 
var pos=inizio; // variabile corrente che memorizza la posizione


function muovi() {
	var fine = document.getElementById('scroll').offsetHeight;
	if (((pos==fine)&&(delta==-1))||((pos==inizio)&&(delta==1))) delta=0;
	pos=pos+delta;
	document.getElementById('scroll').style.top=pos+"px";
	if (delta!=0) setTimeout('muovi()',10);
}


window.addEvent('domready', function() {
									 
	/* evidenziazione di un elemento al mouseover */									 
	if ($$('ul.lista')) {
		$$('li.listaElemento').each(function(el) {
			var color    = el.getStyle('background-color');
			var bbColor  = el.getStyle('border-bottom-color');
			el.set('opacity', 1).addEvents({ // 0.8
				mouseenter: function(){
					// This morphes the opacity and backgroundColor
					el.morph({
						//'opacity': 1
						'background-color': '#fafafa'
					  , 'border-bottom-color': '#666'
					});
				},
				mouseleave: function(){
					// Morphes back to the original style
					el.morph({
						//'opacity': 1 // 0.8
						'background-color': color
					  , 'border-bottom-color': bbColor
					});
				}
			});	
		});
	};
});
