
var openMenus = new Array();

function findPosition( oElement ) {
	var pos = { x:0, y:0 };
  if( typeof( oElement.offsetParent ) != 'undefined' ) {
    for( var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent ) {
      posX += oElement.offsetLeft;
      posY += oElement.offsetTop;
    }
	 pos.x = posX;
	 pos.y = posY;
    //return [ posX, posY ];
  } else {
	  pos.x = oElement.x;
	  pos.y = oElement.y;
    //return [ oElement.x, oElement.y ];
  }
  return pos;
}


function alertPosition(elementId)
/* gibt eine Meldung mit x und y des zu elementId gehoerenden Elements aus */
{
  var a,element;

/* Element-Objekt zur ID ermitteln */
  element=getElemento(elementId);
 
/* Position bestimmen und melden */
  a=getPosition(element);
  window.alert("Position "+elementId+": ("+a.x+","+a.y+")");
}
function getElemento (elementId)
{
	return document.getElementById(elementId);
}

function getY( oElement )
{
var iReturnValue = 0;
while( oElement != null ) {
iReturnValue += oElement.offsetTop;
oElement = oElement.offsetParent;
}
return iReturnValue;
}

function showMenu (elementId, menuid)
{
	var containerdiv, positiondata;
	
	containerdiv = getElemento(menuid);
	positiondata = findPosition (getElemento(elementId));
	
	containerdiv.style.left = positiondata.x + "px";
	containerdiv.style.top = positiondata.y + "px";
		hideAllExcept(menuid);
	
	if(verif(menuid)) { 
		openMenus.push (menuid);
		//alert ('push');
	}
	
	
	containerdiv.style.visibility = 'visible'; 
}
function verif(myValue) {
	//var yesno = openMenus.join().indexOf(myValue)>=0;
	yesno = true;
	return yesno;
}

function hideAllExcept (esceptionid)
{
	for(i=0;i<openMenus.length;i++) {
    	if (openMenus[i] != esceptionid)
		{
			//alert ('hide!');
			hideMenuDo (esceptionid);
		}
  }
}
function hideMenu (menuid)
{
	window.setTimeout(function () {hideMenuDo (menuid); },800);
}
function hideMenuDo (menuid)
{
	var containerdiv;
	containerdiv = getElemento(menuid);
	openmenus = removeItems (openMenus, menuid);
	containerdiv.style.visibility = 'hidden'; 
}

function removeItems(array, item) {
	var i = 0;
	while (i < array.length) {
	if (array[i] == item) {
	array.splice(i, 1);
	} else {
	i++;
	}
	}
	return array;
}
