function $(nname) {
		return document.getElementById(nname);
	}

	var ie = false;//(window.createPopup && !window.XmlHttpRequest);
	var piframe = null;
	var submenu_opened = null;

	function cumulativeOffset(element) {
		var valueT = 0, valueL = 0;
		do {
			valueT += element.offsetTop || 0;
			valueL += element.offsetLeft || 0;
			element = element.offsetParent;
		} while (element);
		return [valueL, valueT];
	}

	function submenu_show() {
		if(submenu_opened)
			submenu_hide();
		var this_ul = this.getElementsByTagName('ul')[0];
		if(this_ul) {
			this_ul.style.display = 'block';
			var this_a = this.getElementsByTagName('a')[0];
			this_a.className = 'hovered';
			submenu_opened = this_ul;
			if(ie && piframe) {
				var position = cumulativeOffset(submenu_opened);
				piframe.style.top = position[1] + 'px';
				piframe.style.left = position[0] + 'px';
				piframe.style.width = submenu_opened.offsetWidth + 'px';
				piframe.style.height = submenu_opened.offsetHeight + 'px';
				piframe.style.display = 'block';
			}
		}
	}

	function submenu_hide() {
		if(submenu_opened) {
			submenu_opened.style.display = 'none';
			if(ie && piframe)
				piframe.style.display = 'none';
			var this_a = submenu_opened.parentNode.getElementsByTagName('a')[0];
			this_a.className = null;
			submenu_opened = null;
		}
	}

	function createIframe(id) {
		var piframe = document.createElement('iframe')
		piframe.id = id;
		piframe.src = '';
		piframe.className = 'menu';
		piframe.frameBorder = '0';
		piframe.scrolling = 'no';
		document.body.appendChild(piframe);
		return piframe;
	}

	window.onload = function() {
		var pmenu = $('menu');
		var pmenu_li = pmenu.childNodes;
		pmenu.onmouseout = submenu_hide;
		for(i = 0; i < pmenu_li.length; ++ i)
			if(pmenu_li[i].nodeName == 'LI')
				pmenu_li[i].onmouseover = submenu_show;
		if (ie)
			piframe = createIframe('menuIframe');
	}
