/*
 * Navigation Flyouts
 */
function onMove(e)
{
  if(staysOpen) return;
	e = e || window.event;
  browseTags(e,false);
}

function onClick(e)
{
	e = e || window.event;
	browseTags(e,true);
}

function browseTags(e,c)
{
	var src = e.target || e.srcElement || 0;
	var tableObject
	var found = false;
	while(src.parentNode) {
	  if(src.id)
  	  if(src.id.indexOf("menu") == 0) {
  	    found = true;
  	    var submenu = document.getElementById("submenu" + src.id.substr(4));

  	    if(submenu.className == "sub8" || submenu.className == "sub8first") {
  	      submenu.style.top = getPosition(src).y + src.offsetHeight;
  	      submenu.style.left = getPosition(src).x;
  	    } else if(submenu.className == "sub8_intranet" || submenu.className == "sub8first_intranet") {
  	      submenu.style.top = getPosition(src).y + src.offsetHeight - 1;
  	      if(submenu.className == "sub8_intranet") {
  	      	submenu.style.left = getPosition(src).x - 1;
  	      } else {
  	      	submenu.style.left = getPosition(src).x;
  	      }
  	    } else if(submenu.className == "sub21") {
  	      submenu.style.top = getPosition(src).y;
  	      submenu.style.left = getPosition(src).x + src.offsetWidth;
  	    } // else if(src.className = "subXX")
        activate(src.id.substr(4));
  	    staysOpen = c ? true : staysOpen;
	    } else if(src.id.indexOf("submenu") == 0 && c) {
        staysOpen = false;
        deactivate();
   	    break;
	    }
	  src = src.parentNode;
	}
	if(!found) {
	  staysOpen =  c ? false : staysOpen;
	  deactivate();
	}
}

function activate(id)
{
  if(id == activeMenu) return;
  deactivate();
  document.getElementById("submenu" + id).style.visibility = "visible";
  var img = document.getElementById("img" + id);
  img ? img.src = "fileadmin/navigation/nav" + id + "_on.gif" : img = 0;
  activeMenu = id;
}

function deactivate()
{
  if(activeMenu == -1) return;
  document.getElementById("submenu" + activeMenu).style.visibility = "hidden";
  var img = document.getElementById("img" + activeMenu);
  img ? img.src = "fileadmin/navigation/nav" + activeMenu + "_off.gif" : img = 0;
  activeMenu = -1;
}

function setNavImage(img, state) {
	if(img.src.indexOf("_" + state) == -1) {
		if(state == "on") {
			img.src = img.src.replace("_off", "_on");
		} else if (state == "off") {
			img.src = img.src.replace("_on", "_off");
		}
	}
}

function getPosition(element)
{
  var elem = element, x = 0, y = 0, pos = new Object();
  while((typeof(elem) == "object") && (typeof(elem.tagName) != "undefined"))
  {
    y += elem.offsetTop; x += elem.offsetLeft;
    elem = elem.tagName.toUpperCase() == "BODY" ? 0 : elem;
    elem = typeof(elem.offsetParent) == "object" ? elem.offsetParent : 0;
  }
  pos.x = x;
  pos.y = y;
  return pos;
}

var activeMenu = -1;
var staysOpen = false;

document.onmousemove = onMove;
document.onclick = onClick;