var DHTML = false, DOM = false, MSIE4 = false, NS4 = false, OP = false;

if (document.getElementById)
{
  DHTML = true;
  DOM = true;
}
else
{
  if (document.all)
  {
    DHTML = true;
    MSIE4 = true;
  }
  else
  {
    if (document.layers)
    {
      DHTML = true;
      NS4 = true;
    }
  }
}

if (window.opera)
{
  OP = true;
}

function addEvent( obj, type, fn )
{
   if (obj.addEventListener) {
      obj.addEventListener( type, fn, false );
   } else if (obj.attachEvent) {
      obj["e"+type+fn] = fn;
      obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
      obj.attachEvent( "on"+type, obj[type+fn] );
   }
}

function removeEvent( obj, type, fn )
{
   if (obj.removeEventListener) {
      obj.removeEventListener( type, fn, false );
   } else if (obj.detachEvent) {
      obj.detachEvent( "on"+type, obj[type+fn] );
      obj[type+fn] = null;
      obj["e"+type+fn] = null;
   }
}

function slideDown(outerID, innerID)
{
  outer = document.getElementById(outerID);
  inner = document.getElementById(innerID);

  if(outer && inner)
  {
    if(outer.offsetHeight < inner.offsetHeight)
    {
      //Schrittgroeße ermitteln
      step = Math.round(inner.offsetHeight/25);
      height = outer.offsetHeight;

      // groesse aendern
      outer.style.height = (height*1) + step + "px";

      // in 10ms Funktion erneut aufrufen...
      window.setTimeout("slideDown('" + outerID + "', '" + innerID + "')", 10);
    }
    else
    {
      outer.style.height = '';
//      outer.style.height = inner.offsetHeight + "px";
    }
  }
}

function initSlideDown(outerID, innerID, removeLink, containerHeight)
{
  if(!containerHeight) containerHeight = 200;

  outer = document.getElementById(outerID);
  inner = document.getElementById(innerID);

  if(outer && inner)
  {
    if(inner.offsetHeight > containerHeight)
    {
      // groesse setzen...
      outer.style.height = containerHeight + "px";
    }
    else
    {
      if($(removeLink))
      {
        $(removeLink).remove();
      }
    }
  }
}

function initFhSlideDown(outerID, innerID, removeLink, containerHeight)
{
  if(!containerHeight) containerHeight = 200;

  outer = $(outerID);
  inner = $(innerID);

  if(outer && inner)
  {
    if(inner.offsetHeight > containerHeight)
    {
      // groesse setzen...
      outer.style.height = containerHeight + "px";
      outer.slideDown = function (event)
      {
        if(outer.offsetHeight < inner.offsetHeight)
        {
          //Schrittgroeße ermitteln
          step = Math.round(inner.offsetHeight/25);
          height = outer.offsetHeight;

          // groesse aendern
          outer.style.height = (height*1) + step + "px";

          // in 10ms Funktion erneut aufrufen...
          window.setTimeout(function() {outer.slideDown();}, 10);

          if(event && event.target) event.target.remove();
          else if(window.event && window.event.srcElement) window.event.srcElement.remove();
        }
        else
        {
          outer.style.height = '';
        }
      }
      addEvent($(removeLink), "click", outer.slideDown);
    }
    else
    {
      if($(removeLink))
      {
        $(removeLink).remove();
      }
    }
  }
}
