/* diese funktion errechent anhand der container "topID" und "bottomID" deren position
   und errechnet daraus die benötigte hoehe fuer den div "divID". ist der content nicht 
			so hoch wie die zur verfuegung stehende stage wird die berechnung der stage verwendet. */
			
function getFinalHeight(topID,bottomID,divID,dynamicHeight,footerHeight) {
		winTop = getPosition(document.getElementById(topID));
	 winBottom = getPosition(document.getElementById(bottomID));
		divHeight = winBottom.y - winTop.y - footerHeight;
		if(window.innerHeight) {
    winH = window.innerHeight;
  }
  else {
    winH = document.documentElement.clientHeight;
  }
		winH = winH - dynamicHeight;
		if(winH < divHeight) {
		  document.getElementById(divID).style.height = divHeight + 'px';
		}
		else{
	  	document.getElementById(divID).style.height = winH + 'px';
		}
}

// ab hier findet die berechnung der position der container statt.

function getPosition(element)
/* der Aufruf dieser Funktion ermittelt die absoluten Koordinaten
   des Objekts element */
{
	var elem=element,tagname="",x=0,y=0;
  
/* solange elem ein Objekt ist und die Eigenschaft offsetTop enthaelt
   wird diese Schleife fuer das Element und all seine Offset-Eltern ausgefuehrt */
   
  while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined"))
  {
    y+=elem.offsetTop;     /* Offset des jeweiligen Elements addieren */
    x+=elem.offsetLeft;    /* Offset des jeweiligen Elements addieren */
    tagname=elem.tagName.toUpperCase(); /* tag-Name ermitteln, Grossbuchstaben */
		
/* wenn beim Body-tag angekommen elem fuer Abbruch auf 0 setzen */

    if (tagname=="BODY")
      elem=0;

/* wenn elem ein Objekt ist und offsetParent enthaelt
   Offset-Elternelement ermitteln */
   
    if (typeof(elem)=="object")
      if (typeof(elem.offsetParent)=="object")
        elem=elem.offsetParent;
  }

/* Objekt mit x und y zurueckgeben */

	  position=new Object();
	  position.x=x;
	  position.y=y;
	  return position;
}


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=document.getElementById(elementId);
 
/* Position bestimmen und melden */

  a=getPosition(element);
  window.alert("Position "+elementId+": ("+a.x+","+a.y+")");
}

