var col = window.onload;
window.onload = function() {
	if (col) col();
	for (i=1; i<20; i++) {
		var el = document.getElementById('lnav'+i);
		if (!el) break;
		addEvent(el, 'mouseenter', openMenu);
		addEvent(el, 'mouseleave', closeMenu);
	}
}

function openMenu(e) {
	var t = (e.srcElement)?e.srcElement:e.target;
	if (t.tagName == 'A') t = t.parentNode;
	for(i=0; i<t.childNodes.length; i++) {
		if (t.childNodes[i].tagName
			&& t.childNodes[i].tagName == 'SPAN') {
		t.childNodes[i].className = 'display_block';
		}
	}
}
var closeLock = false;
function closeMenu(e) {
	var t = (e.srcElement)?e.srcElement:e.target;
	if (t.tagName == 'A') t = t.parentNode;
	for(i=0; i<t.childNodes.length; i++) {
		if (t.childNodes[i].tagName
			&& t.childNodes[i].tagName == 'SPAN')
		t.childNodes[i].className = '';
	}
}

function addEvent(_elem, _evtName, _fn, _useCapture)
{
   if (typeof _elem.addEventListener != 'undefined')
   {
      if (_evtName === 'mouseenter')
         { _elem.addEventListener('mouseover', mouseEnter(_fn), _useCapture); }
      else if (_evtName === 'mouseleave')
         { _elem.addEventListener('mouseout', mouseEnter(_fn), _useCapture); }
      else
         { _elem.addEventListener(_evtName, _fn, _useCapture); }
   }
   else if (typeof _elem.attachEvent != 'undefined')
   {
      _elem.attachEvent('on' + _evtName, _fn);
   }
   else
   {
      _elem['on' + _evtName] = _fn;
   }
}

function mouseEnter(_fn)
{
   return function(_evt)
   {
      var relTarget = _evt.relatedTarget;
      if (this === relTarget || isAChildOf(this, relTarget))
         { return; }

      _fn.call(this, _evt);
   }
};

function isAChildOf(_parent, _child)
{
   if (_parent === _child) { return false; }
      while (_child && _child !== _parent)
   { _child = _child.parentNode; }

   return _child === _parent;
}

