function sections() {
}

sections._COOKIE_NAME = "sections";
sections._state = new Object();
sections._cm = new cookieManager();

sections._main = function() {
	var root = document.getElementById("sections");
	root.style.display = "none";
	var list = root.getElementsByTagName("div");
	
	//rivitalizzare dai cookies lo stato dei nodi
	var obj = sections._cm.load(sections._COOKIE_NAME);
	if (obj)
		sections._state = obj;
	
	for (var i = 0; i < list.length; i++) {
		var cur = list[i];
		if (cur.className == "node") {
			var children_key = cur.id + "_children";
			var trg = document.getElementById(children_key);
			if (trg) {
				var fnct = sections._create_fnct(cur.id);
				pushEventListener(cur, "click", fnct, false);
				
				//verifico lo stato del nodo
				if (sections._state[cur.id])
					trg.style.display = "block";
				else {
					var val = "none";
					if (trg.hasAttribute("open"))
						val = (trg.getAttribute("open") == "true") ? "block" : "none";
						
					trg.style.display = val;
				}
				
				//trg.style.display = (sections._state[cur.id]) ? "block" : "none";
			}
		}
	}
	root.style.display = "block";
}

sections._create_fnct = function(id) {
	var fnct = function(e) {
		sections._nodeClicked(e, id);
	}
	
	return fnct;
}

sections._nodeClicked = function(ev, id) {

	var ev = arguments[0] || window.event,
	origEl = ev.target || ev.srcElement;
	//if (ev.currentTarget != ev.originalTarget)
	if (origEl.tagName != "DIV")
		return;
	
	var k = id + "_children";
	var tag = document.getElementById(k);
	if(tag) {
		var dis = tag.style.display;
		if (!dis)
			dis = "block";
		
		if (dis == "none") {
			tag.style.display = "block";			
			sections._state[id] = true;
		} else {
			tag.style.display = "none";			
			delete sections._state[id];
		}
			
		//Salvare nei cookies lo stato del nodo
		var dt = new Date();
		dt.setYear( dt.getYear()+1900+20 );
		sections._cm.save( sections._COOKIE_NAME, sections._state, dt);
	}
}

pushEventListener(window, "load", sections._main, false);
