    function toggle_visibility(id) {
       var e = document.getElementById(id);
       if(e.style.display == 'block')
          e.style.display = 'none';
       else
          e.style.display = 'block';
    }



Menu = function() {};
Menu.prototype = {};

Menu.showHide = function(id, elem, evt){
	var item = elem.parentNode.getElementsByTagName('ul')[0];
	if(item.style.display != 'none'){
		item.style.display = 'none';
	}else{
		item.style.display = '';
	}
	this.hideOther(id, elem);
	evt.cancelBubble = true;
	return false;
};

Menu.hideOther = function(id, elem){
	var submenus = elem.parentNode.parentNode.getElementsByTagName('ul');
	for(var i=0; i<submenus.length;++i){
		if(submenus[i].id!=id && elem.style.display != 'none'){
			submenus[i].style.display = 'none';
		}
	}
};

Menu.hideAll = function(addId){
  for(var j=0; j<addId.length;++j){
	var submenus = document.getElementById(addId[j]).getElementsByTagName('ul');
	for(var i=0; i<submenus.length;++i){
	    if(submenus[i].style.display != 'none'){
		submenus[i].style.display = 'none';
	    }
	}
  }
}

Events = function() {};
Events.prototype = {};

Events.addEvent = function(elementPtr, eventType, eventFunc) {
	if (elementPtr == null)
		return;
	if (elementPtr.addEventListener) {
		elementPtr.addEventListener(eventType, eventFunc, false);
	}
	if (elementPtr.attachEvent) {
		elementPtr.attachEvent('on' + eventType, eventFunc);
	}
};