function getObj(na) {
  var objec
  if (document.getElementById) {
	  objec = document.getElementById( na )
  } else if (document.all) {
	  objec = document.all[ na ]
  } 
  shiftTo(objec)
}
function shiftTo (objec) {
  var dtop = 0
  var c = 0
  if (objec.offsetParent) {
    while(objec.offsetParent) {
      if (c == "3") {
      break
      } else {
        dtop += objec.offsetTop
        objec = objec.offsetParent
        c++
      }
    }
  } 
  document.getElementById('content').style.top = -dtop
  if ((-dtop) != parseInt(document.getElementById('ScrollThumbCtrl').style.top)- parseInt(document.getElementById('ScrollUpCtrl').offsetHeight)) {
    ScrollRange = parseInt(
                document.getElementById( "ScrollRangeCtrl" ).offsetHeight * dtop 
                /
                ( document.getElementById( "content" ).offsetHeight - document.getElementById('scrollbar').offsetHeight ) 
    )

    objScroller.nThumbCtrlTop = Math.round(ScrollRange)

    document.getElementById('ScrollThumbCtrl').style.top = objScroller.nThumbCtrlTop

    objScroller.nScrollPos = parseInt(
                            objScroller.nScrollRange -
                            (document.getElementById('content').offsetHeight - dtop - objScroller.nScrollBarHeight)
                            / objScroller.nScrollTicks 
    )
  } else {
    document.getElementById('ScrollThumbCtrl').style.top 
      = document.getElementById('content').style.top 
      + document.getElementById('ScrollUpCtrl').offsetHeight
  }
}



var isNav, isIe
   if (parseInt(navigator.appVersion) >= 4) {
     if (navigator.appName == "Netscape") {
       isNav = true
     } else {
       isIe = true
   } }
   
  /* elementansparche und browserhandling */
  	function Scroller_Attach()
  	{
	    this.Container = document.getElementById 
	    	? document.getElementById("container") : document.all.container;
	    this.Content = document.getElementById 
	    	? document.getElementById("content") : document.all.content;
	    this.ScrollBar = document.getElementById 
	    	? document.getElementById("scrollbar") : document.all.scrollbar;
	    this.ScrollUpCtrl = document.getElementById 
	    	? document.getElementById("ScrollUpCtrl") : document.all.ScrollUpCtrl;
	    this.ScrollDownCtrl = document.getElementById 
	    	? document.getElementById("ScrollDownCtrl") : document.all.ScrollDownCtrl;
	    this.ScrollRangeCtrl = document.getElementById 
	    	? document.getElementById("ScrollRangeCtrl") : document.all.ScrollRangeCtrl;
	    this.ScrollThumbCtrl = document.getElementById 
	    	? document.getElementById("ScrollThumbCtrl") : document.all.ScrollThumbCtrl;
	    
	    this.Container.style.height
	    	= this.ScrollUpCtrl.offsetHeight    
	    	+ this.ScrollDownCtrl.offsetHeight  
	    	+ this.ScrollRangeCtrl.offsetHeight 
	    	+ "px";
	    
	  // this.ScrollBar.style.top = this.Container.style.top;
  		this.nContentTop = parseInt(this.Content.style.top);
	    this.nContentHeight = this.Content.offsetHeight;

      //<!-- ulbrich@peppermind.de -->:sonst ist das scrolling bei zunehmender textlänge schlicht zu lahm 
      if (parseInt(this.nContentHeight) < 3500 && parseInt(this.nContentHeight) > 350) {
        this.nScrollTicks = 4;
      } else if (parseInt(this.nContentHeight) > 3500) {
        if (isNav) {
          this.nScrollTicks = 40;
        } else if (isIe){
          this.nScrollTicks = 4;
        }
      } else if (parseInt(this.nContentHeight) < 350){
        this.nScrollTicks = 1;
      }
	    
	    this.nScrollBarHeight = this.ScrollBar.offsetHeight;
	    this.nScrollRangeHeight = this.ScrollRangeCtrl.offsetHeight;

	    this.nScrollRange = (this.nContentHeight - this.nScrollBarHeight) / this.nScrollTicks;  
	    this.nThumbCtrlTicks = this.nScrollRangeHeight / ((this.nContentHeight - this.nScrollRangeHeight) / this.nScrollTicks);

		  this.nThumbCtrlTop = this.ScrollUpCtrl.offsetTop + this.ScrollUpCtrl.offsetHeight;
		  this.ScrollThumbCtrl.style.top = this.nThumbCtrlTop + "px";
  	}
    function Scroller_ScrollDown() 
    {
          this.nContentTop = parseInt(document.getElementById('content').style.top)
          if (this.nScrollPos < this.nScrollRange) { 
              this.nContentTop -= this.nScrollTicks;
              this.nThumbCtrlTop += this.nThumbCtrlTicks;          
              this.nScrollPos++;
            } else {
              this.nScrollPos = this.nScrollRange;
              this.nContentTop = parseInt(this.Container.style.height) - this.nContentHeight;
              this.nThumbCtrlTop = this.ScrollDownCtrl.offsetTop - this.ScrollThumbCtrl.offsetHeight;
            }		
      this.Content.style.top = this.nContentTop + "px";
      this.ScrollThumbCtrl.style.top = this.nThumbCtrlTop + "px";
      this.idScrollDownHint = setTimeout("objScroller.ScrollDown()", 20);
   }

    function Scroller_StopScrollDown() 
   {
    clearTimeout(this.idScrollDownHint);
    }
   function Scroller_ScrollUp() 
    {
    this.nContentTop = parseInt(document.getElementById('content').style.top)
     if (this.nScrollPos > 0) {
      this.nContentTop += this.nScrollTicks;
      this.nThumbCtrlTop -= this.nThumbCtrlTicks;
          this.nScrollPos--;
      } else {
        if (this.nScrollPos == 0){
          this.nThumbCtrlTop = parseInt(document.getElementById('ScrollThumbCtrl').style.top)
          this.nContentTop = parseInt(document.getElementById('content').style.top)
        } else {
          this.nContentTop += this.nScrollTicks;
          this.nThumbCtrlTop -= this.nThumbCtrlTicks;
          this.nScrollPos--;
        }
          this.nScrollPos = 0;
          this.nContentTop = 0;
          this.nThumbCtrlTop = this.ScrollUpCtrl.offsetTop + this.ScrollUpCtrl.offsetHeight;
      }
      this.Content.style.top = this.nContentTop + "px";
      this.ScrollThumbCtrl.style.top = this.nThumbCtrlTop + "px";
      this.idScrollUpHint = setTimeout("objScroller.ScrollUp()", 20);
    }
    
    function Scroller_StopScrollUp() 
    {
    	clearTimeout(this.idScrollUpHint);
    }

    /* scrollbalken!, aber nur wenn scrollen notwendig ist */
    function Scroller_Show()
    {
      if ( this.nScrollRangeHeight >= this.nContentHeight ) {
        this.ScrollBar.style.visibility="hidden"; 
      } else {
        this.ScrollBar.style.visibility="visible";
      }
    }

    var objScroller = new Scroller();
    objScroller.Attach();
  
  	function Scroller()
  	{
	    this.idScrollDownHint = 0;
	    this.idScrollupHint = 0;
	    
		  this.nContentTop = 0;
	    this.nContentHeight = 0;
	    
	    this.nScrollBarHeight = 0;
	    this.nScrollRangeHeight = 0;
      this.nScrollTicks = 3;
	    this.nScrollRange = 0;
	    this.nScrollPos = 0;
		
		  this.nThumbCtrlTop = 0;
	    this.nThumbCtrlTicks = 0;
     		
  		this.Attach = Scroller_Attach;
  		this.ScrollUp = Scroller_ScrollUp;
  		this.StopScrollUp = Scroller_StopScrollUp;
  		this.ScrollDown = Scroller_ScrollDown;
  		this.StopScrollDown = Scroller_StopScrollDown;
      this.ScrollShow = Scroller_Show;
  	}

 /*************************************************************/
   var selectedObj
   var selectedObjSRC
   var selectedObjSUC
   var offsetX, offsetY
   var selectedNsOBJ

   function shiftThere(obj, x, y) {
     if (isNav) {
       obj.style.left = x + 'px'
       obj.style.top = y -1
     }  else {
       obj.pixelLeft = x
       obj.pixelTop = y
   } }
   function setSelectedElem (evt) {
     if (isNav) {
       selectedNsOBJ = document.getElementById('ScrollThumbCtrl')
       selectedObj = selectedNsOBJ.style
       if (selectedObj) {
         return
       }
     } else { 
       selectedObj = document.getElementById('ScrollThumbCtrl').style
       if (selectedObj) {
         return
     } }
     selectedObj = null
     selectedNsObj = null
     return
   }

   function dragIt(evt) {
     if (selectedObj) {
       selectedObjSRC = document.getElementById('ScrollRangeCtrl')
       selectedObjSUC = document.getElementById('ScrollUpCtrl')
       if(isNav) {
       /*höhe auf der bewegt werden darf*/
         if ( (parseInt(selectedObjSRC.offsetParent.offsetParent.offsetTop) 
            + parseInt(selectedObjSRC.offsetParent.offsetTop)
            + parseInt(selectedObjSRC.offsetHeight) 
            - parseInt(selectedObjSUC.offsetHeight) 
            > (evt.pageY-2*selectedObjSUC.offsetHeight) )
            && (parseInt(selectedObjSRC.offsetParent.offsetParent.offsetTop)
            + parseInt(selectedObjSRC.offsetParent.offsetTop) 
            - parseInt(selectedObjSUC.offsetHeight) 
            < (evt.pageY-2*selectedObjSUC.offsetHeight) ) ) {
           shiftThere(selectedNsOBJ, (parseInt(selectedObj.left)), 
               evt.pageY 
               - (parseInt(selectedObjSRC.offsetParent.offsetParent.offsetTop) 
               + parseInt(selectedObjSRC.offsetParent.offsetTop) 
               + parseInt(selectedObjSUC.offsetHeight - 7) ))
           faktor = 
                  (parseFloat(document.getElementById('content').offsetHeight) 
                  - parseFloat(document.getElementById('ScrollRangeCtrl').offsetHeight))
                  / (parseFloat(document.getElementById('ScrollRangeCtrl').offsetHeight))
           document.getElementById('content').style.top = 
                                                        -parseInt(document.getElementById('ScrollThumbCtrl').style.top) 
                                                        * faktor
           return false
         } else if ( (parseInt(selectedObjSRC.offsetParent.offsetParent.offsetTop) 
                   + parseInt(selectedObjSRC.offsetParent.offsetTop)
                   + parseInt(selectedObjSRC.offsetHeight) 
                   + parseInt(selectedObjSUC.offsetHeight)) 
                   <= (evt.pageY+10) ) { 
                   document.getElementById('content').style.top 
                   = parseInt(document.getElementById('ScrollRangeCtrl').offsetHeight) 
                   + 2
                   *parseInt(selectedObjSUC.offsetHeight)
                   - parseInt(document.getElementById('content').offsetHeight)
           return false
         } else if ( (parseInt(selectedObjSRC.offsetParent.offsetParent.offsetTop)
                   + parseInt(selectedObjSRC.offsetParent.offsetTop)
                   + parseInt(selectedObjSRC.offsetHeight) 
                   + parseInt(selectedObjSUC.offsetHeight) + 5) 
                   >= (evt.pageY+10) ) {
                   document.getElementById('content').style.top 
                   = parseInt(document.getElementById('ScrollRangeCtrl').offsetTop) 
                   - parseInt(selectedObjSUC.offsetHeight)
           return false
         }
       } else {
       /*höhe auf der bewegt werden darf*/
         if ( (parseInt(selectedObjSRC.offsetParent.offsetParent.offsetTop)
             + parseInt(selectedObjSRC.offsetParent.offsetTop)
             + parseInt(selectedObjSRC.offsetHeight) 
             - parseInt(selectedObjSUC.offsetHeight) 
             > (window.event.clientY-2*selectedObjSUC.offsetHeight) )
             && (parseInt(selectedObjSRC.offsetParent.offsetParent.offsetTop)
             + parseInt(selectedObjSRC.offsetParent.offsetTop)
             - parseInt(selectedObjSUC.offsetHeight)
             < (window.event.clientY-3*selectedObjSUC.offsetHeight))) {
             shiftThere(selectedObj, (parseInt(selectedObj.left)),
             window.event.clientY 
               - (parseInt(selectedObjSRC.offsetParent.offsetParent.offsetTop) 
               + parseInt(selectedObjSRC.offsetParent.offsetTop) 
               + parseInt(selectedObjSUC.offsetHeight) ))
             faktor =
                    (parseFloat(document.getElementById('content').offsetHeight)
                    - parseFloat(document.getElementById('ScrollRangeCtrl').offsetHeight))
                    / parseFloat(document.getElementById('ScrollRangeCtrl').offsetHeight) 
             document.getElementById('content').style.top = 
                                                          (-parseInt(document.getElementById('ScrollThumbCtrl').style.top) 
                                                          * faktor)
           return false
         } else if ( (parseInt(selectedObjSRC.offsetParent.offsetParent.offsetTop) 
                   + parseInt(selectedObjSRC.offsetParent.offsetTop) 
                   + parseInt(selectedObjSRC.offsetHeight) 
                   + parseInt(selectedObjSUC.offsetHeight)) 
                   <= (window.event.clientY+10) ) { 
                   document.getElementById('content').style.top 
                   = parseInt(document.getElementById('ScrollRangeCtrl').offsetHeight) 
                   + 2
                   *parseInt(selectedObjSUC.offsetHeight)
                   - parseInt(document.getElementById('content').offsetHeight)
           return false
         } else if ( (parseInt(selectedObjSRC.offsetParent.offsetParent.offsetTop)
                   + parseInt(selectedObjSRC.offsetParent.offsetTop)
                   + parseInt(selectedObjSRC.offsetHeight)
                   + parseInt(selectedObjSUC.offsetHeight))
                   >= (window.event.clientY+10) ) {
                   document.getElementById('content').style.top
                   = parseInt(document.getElementById('ScrollRangeCtrl').offsetTop)
                   - parseInt(selectedObjSUC.offsetHeight)
           return false
   } } } }
   function engage(evt) {
     setSelectedElem(evt)
     if (selectedObj) {
       if (isNav) {
         offsetX = evt.pageX - selectedNsOBJ.offsetLeft
         offsetY = evt.pageY - selectedNsOBJ.offsetTop
       } else {
         offsetX = window.event.offsetX
         offsetY = window.event.offsetY
     } }
     return false
   }
   function release(evt) {
     setSelectedElem(evt)
     selectedObj = null
     selectedNsOBJ = null 
     objScroller.nThumbCtrlTop = parseInt(document.getElementById('ScrollThumbCtrl').style.top)

     objScroller.nScrollPos = parseInt( 
                            objScroller.nScrollRange 
                            - (document.getElementById('content').offsetHeight 
                            + parseInt( document.getElementById('content').style.top ) 
                            - document.getElementById('scrollbar').offsetHeight)
                            / objScroller.nScrollTicks 
     )
     return false
   }
   function init() {
     document.getElementById('ScrollThumbCtrl').onmousedown = engage
     document.getElementById('ScrollThumbCtrl').onmousemove = dragIt
     if (isNav) {
       document.getElementById('ScrollThumbCtrl').onmouseout = release
     }
     document.getElementById('ScrollThumbCtrl').onmouseup = release
   }