function getElementsByClassName(oElm, strTagName, strClassName){
  var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
  var arrReturnElements = new Array();
  strClassName = strClassName.replace(/\-/g, "\\-");
  var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
  for(var i=0; i<arrElements.length; i++){
    var oElement = arrElements[i];
    if (oRegExp.test(oElement.className))
      arrReturnElements.push(oElement);
  }
  return (arrReturnElements)
}

function xpos(e) {
  if (!e.offsetParent || e.id == 'container_aussen') return 0;
  return e.offsetLeft + xpos(e.offsetParent);
}

function ypos(e) {
  if (!e.offsetParent || e.id == 'container_aussen') return 0;
  return e.offsetTop + ypos(e.offsetParent);
}

function loadPopups() {
  var links = getElementsByClassName(document, 'a', 'popup');
  for (i = 0; i < links.length; i++) {
    var link = links[i];
    var popup = document.createElement('div');
    popup.className = "popup";
    popup.id = "popup_"+i;
    popup.onclick = function() { closePopup(popup); }
    link.onmouseover = new Function("openPopup('popup_"+i+"', this);");
    link.onmouseout  = new Function("closePopup('popup_"+i+"');");
    link.onclick = function() { return false; }
    link.appendChild(popup);
  }
}

function openPopup(p, a) {
  p = document.getElementById(p);
  if (p.innerHTML.length < 5) {
    p.innerHTML = 'Lade...';
    new Ajax.Updater(p, a.href, {});
  }
  p.style.display = 'block';
  p.style.top = (ypos(a) + 20) + 'px';
  p.style.left = (xpos(a) - 50) + 'px';
}

function closePopup(p) {
  p = document.getElementById(p);
  p.style.display = 'none';
}