var menu_tg_node_open = '/img/menu_off.gif';
var menu_tg_node_close = '/img/menu_on.gif';

document.getChildrenElementsByClassName = function(children, className) {
	var elements = [];
	$c(children).each(function(child){
		if (Element.hasClassName(child, className)) elements.push(child);
	});  
	return elements;
}

function menu_tg_togle_item() {
		return function () {
			var aoItems = document.getChildrenElementsByClassName(this.parentNode.getElementsByTagName('DIV'), 'menu_tg_items');
			if (aoItems[0].style.display=="none") { 
				aoItems[0].style.display="block";
				var bgc = this.style.backgroundColor;
				this.style.background='url(' + menu_tg_node_open + ') left center no-repeat';
				this.style.backgroundColor = bgc;
			} else {
				aoItems[0].style.display="none";
				var bgc = this.style.backgroundColor;
				this.style.background='url(' + menu_tg_node_close + ') left center no-repeat';
				this.style.backgroundColor = bgc;
			}
		}
}

function menu_tg_init (menuid, expandid) {
	var oMenu = $(menuid);
	
	// Bind events for node
	var aoNode = document.getChildrenElementsByClassName(oMenu.getElementsByTagName('DIV'), 'menu_tg_node');
	for(var i=0;i<aoNode.length;i++) {
		var aoNodeItem = document.getChildrenElementsByClassName(aoNode[i].getElementsByTagName('DIV'), 'menu_tg_item');
		aoNodeItem[0].onclick = menu_tg_togle_item();
	}
	
	// Close items
	var aoItems = document.getChildrenElementsByClassName(oMenu.getElementsByTagName('DIV'), 'menu_tg_items');
	for(var i=0;i<aoItems.length;i++) {
		var aoNodeItem = document.getChildrenElementsByClassName(aoItems[i].parentNode.getElementsByTagName('DIV'), 'menu_tg_item');
		var bgc = aoNodeItem[0].style.backgroundColor;
		if (aoItems[i].id != expandid) { 
			aoItems[i].style.display="none"; 
			aoNodeItem[0].style.background='url(' + menu_tg_node_close + ') left center no-repeat';
			aoNodeItem[0].style.backgroundColor = bgc;
		} else {
			aoItems[i].style.display="block";			
			aoNodeItem[0].style.background='url(' + menu_tg_node_open + ') left center no-repeat';
			aoNodeItem[0].style.backgroundColor = bgc;
		}
	}
}

