var IE = !!(window.attachEvent && !window.opera);

function DropDownMenu(id) {
	var id;
	var menu;
	
	function toggleSM(node) {
		var menuItemsChildren = node.childNodes;
		var i=0;
		var submenuFound = false;
		while (i<menuItemsChildren.length && !submenuFound) {
			if (menuItemsChildren[i].nodeName === "UL") {
				submenuFound = true;
				if (menuItemsChildren[i].style.display === "block") {
					menuItemsChildren[i].style.display = "none";
					if (IE) node.style.marginBottom = "0";
				}
				else {
					menuItemsChildren[i].style.display = "block";
					if (IE) node.style.marginBottom = "-3px";
				}
			}
			i++;
		}
	}
	function hasSM(node) {
		var nodeChildren = node.childNodes;
		var i=0;
		var submenuFound = false;
		while (i<nodeChildren.length && !submenuFound) {
			if (nodeChildren[i].nodeName === "UL")
				submenuFound = true;
			i++
		}
		return submenuFound;
	}
	
	this.init = function() {
		this.id = id;
		this.menu = document.getElementById(this.id);
		
		var menuItems = this.menu.childNodes;
		for (var i=0;i<menuItems.length;i++) {
			if (menuItems[i].nodeName === "LI") {
				menuItems[i].onmouseover = function(event) {
					toggleSM(this);
				};
				menuItems[i].onmouseout = function(event) {
					toggleSM(this);
				};
				var menuItemsChildren = menuItems[i].childNodes;
				for (var j=0;j<menuItemsChildren.length;j++) {
					if (menuItemsChildren[j].nodeName === "UL") {
						var submenuItems = menuItemsChildren[j].childNodes;
						for (var k=0;k<submenuItems.length;k++) {
							if (submenuItems[k].nodeName === "LI") {
								if (hasSM(submenuItems[k])) {
									var attributeName;
									if (IE)
										attributeName = 'className';
									else
										attributeName = 'class';
									submenuItems[k].setAttribute(attributeName,'hasChild');
									submenuItems[k].onmouseover = function(event) {
										toggleSM(this);
									};
									submenuItems[k].onmouseout = function(event) {
										toggleSM(this);
									};
								}
							}
						}
					}
				}
			}
		}
	}
}