var menuEspandibile = {
	init : function(id_menu, sHiddenClass, predefinito) {
	if (!document.getElementById || !document.createTextNode) {return;} 
		// Verifica il supporto per il DOM
	var MenuDiv_Array = this.getElementsByClassName(document, 'div', "id_menu_" + id_menu );
	var MenuDiv = MenuDiv_Array[0];
	if(!MenuDiv){
		return;	
	}
	var TitoloDiv = this.getElementsByClassName(MenuDiv, 'div', "menu_box_arancione" )[0];
	var Titolo = TitoloDiv.getElementsByTagName('a')[0];
	var CorpoDiv = this.getElementsByClassName(MenuDiv, 'div', "menu_box" )[0];
	var ac_titolo = this.getElementsByClassName(TitoloDiv, 'span', "ac_titolo" )[0];
	defCookie = "+"; 
	if(!predefinito||predefinito=="1"){
		defCookie = "-"; 
	}
	if(CookieJs.getCookie("id_menu_" + id_menu )){
	ac_titolo.innerHTML = CookieJs.getCookie("id_menu_" + id_menu );}
	else{ac_titolo.innerHTML =defCookie; }
	var oRegExp = new RegExp("(^|\\s)" + sHiddenClass + "(\\s|$)");
	var isOpened = (ac_titolo.innerHTML!="+") ; 
		if(isOpened){
			this.apri(CorpoDiv, sHiddenClass,TitoloDiv,id_menu); 		
		}else{
			this.chiudi(CorpoDiv, sHiddenClass,TitoloDiv,id_menu); 
		}
	Titolo.onclick = function(){
		menuEspandibile.toggle(CorpoDiv, sHiddenClass,TitoloDiv,id_menu);
	}
	ac_titolo.onclick = function(){
		menuEspandibile.toggle(CorpoDiv, sHiddenClass,TitoloDiv,id_menu);
	}
},
	apri : function(el, sHiddenClass,TitoloDiv,id_menu) {
		var Titolo = TitoloDiv.getElementsByTagName('a')[0];
		Titolo.title = "Nascondi menu";
		var ac_titolo = this.getElementsByClassName(TitoloDiv, 'span', "ac_titolo" )[0];
		var oRegExp = new RegExp("(^|\\s)" + sHiddenClass + "(\\s|$)");
		ac_titolo.innerHTML = "-"; 
		el.className =el.className.replace(oRegExp, '') ; 

},
	chiudi : function(el, sHiddenClass,TitoloDiv,id_menu) {
		var Titolo = TitoloDiv.getElementsByTagName('a')[0];
		Titolo.title = "Mostra menu";
		var ac_titolo = this.getElementsByClassName(TitoloDiv, 'span', "ac_titolo" )[0];
		var oRegExp = new RegExp("(^|\\s)" + sHiddenClass + "(\\s|$)");
		ac_titolo.innerHTML = "+"; 
		el.className =el.className + ' ' + sHiddenClass ; 
},
	toggle : function(el, sHiddenClass,TitoloDiv,id_menu) {
		var ac_titolo = this.getElementsByClassName(TitoloDiv, 'span', "ac_titolo" )[0];
		var isOpened = (ac_titolo.innerHTML=="-") ; 
			if(isOpened){
				this.chiudi(el, sHiddenClass,TitoloDiv,id_menu); 
				
			}else{
				this.apri(el, sHiddenClass,TitoloDiv,id_menu); 		
			}
		CookieJs.setCookie("id_menu_" + id_menu,ac_titolo.innerHTML,1);
// Add or remove the class name that hides the element
	},
addEvent : function(obj, type, fn) {
	if (obj.addEventListener)
		obj.addEventListener(type, fn, false);
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() {obj["e"+type+fn](window.event);}
		obj.attachEvent("on"+type, obj[type+fn]);
	}
},
	getElementsByClassName : function(oElm, strTagName, strClassName){
	
	    var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
	    var arrReturnElements = new Array();
	    strClassName = strClassName.replace(/\-/g, "\\-");
	    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	    var oElement;
	    for(var i=0; i<arrElements.length; i++){
	        oElement = arrElements[i];      
	        if(oRegExp.test(oElement.className)){
	            arrReturnElements.push(oElement);
	        }   
	    }
	    return (arrReturnElements)
	}
};
