var Toggles = Class.create(
{
	initialize: function( elements )
	{
		this.processing = false;
		this.setupToggles( elements );
	},
	
	setupToggles: function( elements )
	{
		elements.each(
			function( item ) {
				var panel = item.select( '.panel' )[ 0 ];
				var title = item.select( '.title' )[ 0 ];
				var close = item.select( '.panel .close' )[ 0 ];
				
				if(!panel.hasClassName('open')) {
					panel.hide();
				}
				title.onclick = close.onclick = function() { return false };
				title.observe( 'click', this.toggle.bind( this, panel, title ) );
				close.observe( 'click', this.toggle.bind( this, panel, title ) );
			}.bind( this )
		);
	},
	
	toggle: function( panel, button )
	{
		if( this.processing ) return;
		this.processing = true;
		if( panel.getStyle( 'display' ) == 'none' )
			Effect.BlindDown( panel, { afterFinish: this.select.bind( this, button, true ) } );
		else
			Effect.BlindUp( panel, { afterFinish: this.select.bind( this, button, false ) } );
	},
	
	select: function( button, selected )
	{
		this.processing = false;
		selected ? button.addClassName( 'selected' ) : button.removeClassName( 'selected' );
	}
});
function initToggles() {
	var toggles = $$( '.toggle' );
	if( toggles.length > 0 )
		new Toggles( toggles );
}
document.observe( 'dom:loaded', initToggles );
/* L.MARCIANO: 05.03.2009 Introdotto per funzionalita chiusura div in glossario */
function HideAll(itemname,state)
 {
   tmp = document.getElementsByTagName('div');
    for (i=0;i<tmp.length;i++)
    {
        if (tmp[i].className == itemname) tmp[i].style.display = state;
    }
 }