var dm_supported     = false;
var dm_menuEl        = null;
var dm_submenuEls    = new Array();
var dm_activeSubmenu = false;
var dm_hideTimer     = null;
var menuTimeout		 = 600;

function dm_init(menuName) {
  if (!document.getElementById) return;
  dm_menuEl = document.getElementById(menuName);
  if (!dm_menuEl) return;
  dm_supported = true;
  dm_addBasicMouseHandlers(dm_menuEl.getElementsByTagName('A'));
  dm_findSubmenuElemens(dm_menuEl);
}

function dm_findSubmenuElemens(elem) {
  if (!dm_supported) return;
  var elems = elem.childNodes;
  
  for (var i = 0; i < elems.length; i++) {
    var node = elems[i];
    if (node.nodeName == 'LI')
    {
		var spn = document.createElement('span');
		spn.id = 'level1span' + i;
		if(node.childNodes[0].nodeName == 'IMG')
		{
			spn.innerHTML = node.childNodes[1].innerHTML;
			node.childNodes[1].innerHTML = '';
			node.childNodes[1].appendChild(spn);		
		}
		else
		{
			spn.innerHTML = node.childNodes[0].innerHTML;
			node.childNodes[0].innerHTML = '';
			node.childNodes[0].appendChild(spn);	
		}	

		var submenu = node.getElementsByTagName('UL');
		if (submenu.length > 0) {
		  dm_submenuEls[i] = submenu[0];
		}
		dm_addMouseHandlers(node, i);
	}
  }
}

function dm_addMouseHandlers(elem, index) {
  if (!dm_supported) return;
  var elems = elem.childNodes;
  for (var i = 0; i < elems.length; i++) {
    var node = elems[i];
    if (node.nodeName == 'A') {
      node.onmouseover = new Function('dm_SubmenuMouseOverHandler(' + index + ')');
    }
  }
}

function dm_addBasicMouseHandlers(elems) {
  for (var i = 0; i < elems.length; i++) {
    var node = elems[i];
    node.onmouseover = dm_BasicMouseOverHandler;
    node.onmouseout  = dm_BasicMouseOutHandler;
  }
}

function dm_SubmenuMouseOverHandler(index) {
  if (!dm_supported) return;
  if (dm_hideTimer) {
    window.clearTimeout(dm_hideTimer);
    dm_hideTimer = null;
  }
  for (var i = 0; i < dm_submenuEls.length; i++) {
    if (i == index) continue;
    if (!dm_submenuEls[i]) continue;
    dm_submenuEls[i].style.visibility = 'hidden';
  }
  dm_activeSubmenu = index;
  if (dm_submenuEls[index]) 
  {
	dm_submenuEls[index].style.visibility = 'inherit';
  }
}

function dm_BasicMouseOutHandler() {
  if (!dm_supported) return;
  if (dm_hideTimer)  return;
  dm_hideTimer = window.setTimeout('dm_hideSubmenu(' + dm_activeSubmenu + ')', menuTimeout);
}

function dm_BasicMouseOverHandler() {
  if (!dm_supported) return;
  if (!dm_hideTimer) return;
  window.clearTimeout(dm_hideTimer);
  dm_hideTimer = null;
}
 
function dm_hideSubmenu(index) {
  if (!dm_supported) return;
  if (!dm_submenuEls[index]) return;
  dm_submenuEls[index].style.visibility = 'hidden';
}

window.onload = function() {dm_init('navigation-level2');};

