//Include File fuer die Funktionalität des Scrollers


//------------------------------------Do Not Edit This AREA------------------------------------//
var scrollerup_top    = abstandoben;  //Angaben zum Scrollbuttonup
var scrollerup_left   = abstandlinks;
var scrollerdown_top    = hoehe - scrollerdown_height - abstandunten; //Angaben zum Scrollbuttondown
var scrollerdown_left   = abstandlinks;
var balken_top    = scrollerup_height + luecke + abstandoben;  //Angaben zum Scrolleranfasser
var balken_left   = abstandlinks;
var schiebebereich = hoehe - scrollerup_height - scrollerdown_height - 2*luecke - abstandoben - abstandunten;	//Angabe zum vertikalen Scrollbereichs
var obereranschlag = scrollerup_height + luecke + abstandoben;	//Angabe fuer obere Grenze des Scrollbereichs
var texthoehe = hoehe - abstandoben - abstandunten;     	//Angabe zum vertikalen Sichtbereich des Scrolltext (rahmen.clip.height)
var ds = 20;             	//Abstand vom Scrollbalken innerhalb dessen er sich noch bewegen laesst
var scrollspeed = 1;	 	//Einstellen der Scrollgeschwindigkeit
var dx = 0, dy = 0;
var objBalken = null;
var objText = null;
var upint = null;
var downint = null;
var untereranschlag = schiebebereich + obereranschlag - balken_height; 
var schiebeweg = schiebebereich - balken_height;

if(secondscroller){
var scrollerup_top2    = abstandoben2;  //Angaben zum Scrollbuttonup
var scrollerup_left2   = abstandlinks2;
var scrollerdown_top2    = hoehe2 - scrollerdown_height2 - abstandunten2; //Angaben zum Scrollbuttondown
var scrollerdown_left2   = abstandlinks2;
var balken_top2    = scrollerup_height2 + luecke2 + abstandoben2;  //Angaben zum Scrolleranfasser
var balken_left2   = abstandlinks2;
var schiebebereich2 = hoehe2 - scrollerup_height2 - scrollerdown_height2 - 2*luecke2 - abstandoben2 - abstandunten2;	//Angabe zum vertikalen Scrollbereichs
var obereranschlag2 = scrollerup_height2 + luecke2 + abstandoben2;	//Angabe fuer obere Grenze des Scrollbereichs
var texthoehe2 = hoehe2 - abstandoben2 - abstandunten2;     	//Angabe zum vertikalen Sichtbereich des Scrolltext (rahmen.clip.height)
var ds2 = 20;             	//Abstand vom Scrollbalken innerhalb dessen er sich noch bewegen laesst
var scrollspeed2 = 1;	 	//Einstellen der Scrollgeschwindigkeit
var dx2 = 0, dy2 = 0;
var objBalken2 = null;
var objText2 = null;
var upint2 = null;
var downint2 = null;
var untereranschlag2 = schiebebereich2 + obereranschlag2 - balken_height2; 
var schiebeweg2 = schiebebereich2 - balken_height2;
}

var isNav = false;
var isIE = false;

//generieren des document.all Objektarrays fuer Netscape6
if(is.ns6){document.all = document.getElementsByTagName("*");}
    
    
// init_scoller ----------------------------------------------------------------

function init_scroller(){
  //mindestens Version 4
  if(parseInt(navigator.appVersion) >= 4){
			 
    //Browser bestimmen
    if(is.ie){isIE = true;}
    if(is.ns){isNav = true;}
                  
    //Event Capturing
    if(isNav && !is.ns6){document.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP);}
    
    if(!(is.mac && is.ie)){
    	document.onmousedown = startDrag;
    	document.onmouseup = endDrag;
    }
                  
    //setzen der Objekte fuer Netscape
    if(isNav && !is.ns6){
      objBalken = document.layers["balken"];
      objText = document.layers["rahmen"].document.layers["content"];
      
      if(secondscroller){
      objBalken2 = document.layers["balken2"];
      objText2 = document.layers["rahmen2"].document.layers["content2"];
      }
    }
    
    if(is.ns6){
      //setzen der Objekte fuer NS6
      objBalken = document.all["balken"].style;
      objText = document.all["content"].style;  
      
      if(secondscroller){  	
      objBalken2 = document.all["balken2"].style;
      objText2 = document.all["content2"].style;    	
      }
    }
                  
    //setzen der Scroller Layerwerte fuer MSIE
    if(isIE){
      document.all["balken"].style.pixelTop = obereranschlag;
      
      if(secondscroller){
      document.all["balken2"].style.pixelTop = obereranschlag2;
      }
    }
    
    if(is.ns6){
      document.all["balken"].style.top = obereranschlag + "px";
      objText.top = abstandoben + "px";
      
      if(secondscroller){
      document.all["balken2"].style.top = obereranschlag2 + "px";
      objText2.top = abstandoben2 + "px";
      }
    }    
  }
}


// startDrag ----------------------------------------------------------------
    
function startDrag(e){
  if(isNav && !is.ns6){
    //check ob Scrollbalken angeklickt wurde
    if (isIn(e, objBalken.top, balken_left, balken_height, balken_width)) {
      dy = e.pageY - objBalken.top;
      //Event Capturing einschalten
      document.captureEvents(Event.MOUSEMOVE);
      document.onmousemove = drag;
    } else if (isIn(e, scrollerup_top, scrollerup_left, scrollerup_height, scrollerup_width)) {
      upint = setInterval("moveup()",scrollspeed);						   
    } else if (isIn(e, scrollerdown_top, scrollerdown_left, scrollerdown_height, scrollerdown_width)) {
      downint = setInterval("movedown()",scrollspeed);						   
    } else {
      if (secondscroller) {
        // es existiert ein zweiter Scroller

        if (isIn(e, objBalken2.top, balken_left2, balken_height2, balken_width2)) {
          //check ob Scrollbalken angeklickt wurde
          dy2 = e.pageY - objBalken2.top;
          //Event Capturing einschalten
          document.captureEvents(Event.MOUSEMOVE);
          document.onmousemove = drag2;
        } else if (isIn(e, scrollerup_top2, scrollerup_left2, scrollerup_height2, scrollerup_width2)) {
          //check ob ScrollUp angeklickt wurde                          
          upint2 = setInterval("moveup2()",scrollspeed2);						   
        } else if (isIn(e, scrollerdown_top2, scrollerdown_left2, scrollerdown_height2, scrollerdown_width2)) {
          //check ob ScrollDown angeklickt wurde                            
          downint2 = setInterval("movedown2()",scrollspeed2);						   
        } else {
          document.routeEvent(e);
          return true;
        }
      } else {
        document.routeEvent(e);
        return true;
      }                               
    }
  }
             
  if(isIE){
    //check ob Scrollbalken angeklickt wurde
    var obj = window.event.srcElement;

    if(obj.parentElement.parentElement.id == "balken"){
      //setzen der Objekte fuer MSIE
      objBalken = obj.parentElement.parentElement.style;
      objText = document.all["content"].style;
      dy = window.event.clientY - objBalken.pixelTop;
      document.onmousemove = drag;
    } 

    if(obj.parentElement.id == "scrollerup"){
      //setzen der Objekte fuer MSIE
      objBalken = document.all["balken"].style;
      objText = document.all["content"].style;
      upint = setInterval("moveup()",scrollspeed);						   
    }

    if(obj.parentElement.id == "scrollerdown"){
      //setzen der Objekte fuer MSIE
      objBalken = document.all["balken"].style;
      objText = document.all["content"].style;
      downint = setInterval("movedown()",scrollspeed);						   
    }
  }
    
  if(is.ns6){  	
    //check ob Scrollbalken angeklickt wurde
    if (isIn(e, parseInt(objBalken.top), balken_left, balken_height, balken_width)) {
      dy = e.clientY - parseInt(objBalken.top);
      document.onmousemove = drag;
    }      
  }                      

  if (secondscroller) {
    // es existiert ein zweiter Scroller

    //if(isNav && !is.ns6){
      //check ob Scrollbalken angeklickt wurde
      //if (isIn(e, objBalken2.top, balken_left2, balken_height2, balken_width2)) {
        //dy2 = e.pageY - objBalken2.top;
        //Event Capturing einschalten
        //document.captureEvents(Event.MOUSEMOVE);
        //document.onmousemove = drag2;
      //}      
      //check ob ScrollUp angeklickt wurde                          
      //if (isIn(e, scrollerup_top2, scrollerup_left2, scrollerup_height2, scrollerup_width2)) {
        //upint2 = setInterval("moveup2()",scrollspeed2);						   
      //}    
      //check ob ScrollDown angeklickt wurde                            
      //if (isIn(e, scrollerdown_top2, scrollerdown_left2, scrollerdown_height2, scrollerdown_width2)) {
        //downint2 = setInterval("movedown2()",scrollspeed2);						   
      //}                                
    //}
             
    if(isIE){
      //check ob Scrollbalken angeklickt wurde
      var obj2 = window.event.srcElement;

      if(obj2.parentElement.parentElement.id == "balken2"){
        //setzen der Objekte fuer MSIE
        objBalken2 = obj2.parentElement.parentElement.style;
        objText2 = document.all["content2"].style;
        dy2 = window.event.clientY - objBalken2.pixelTop;
        document.onmousemove = drag2;
      } 

      if(obj2.parentElement.id == "scrollerup2") {
        //setzen der Objekte fuer MSIE
        objBalken2 = document.all["balken2"].style;
        objText2 = document.all["content2"].style;
        upint2 = setInterval("moveup2()",scrollspeed2);						   
      }

      if(obj2.parentElement.id == "scrollerdown2"){
        //setzen der Objekte fuer MSIE
        objBalken2 = document.all["balken2"].style;
        objText2 = document.all["content2"].style;
        downint2 = setInterval("movedown2()",scrollspeed2);						   
      }
    }
    
    if(is.ns6){  	
      //check ob Scrollbalken angeklickt wurde
      if (isIn(e, parseInt(objBalken2.top), balken_left2, balken_height2, balken_width2)) {
        dy2 = e.clientY - parseInt(objBalken2.top);
        document.onmousemove = drag2;
      }      
    }                      
  } // if (secondscroller)

  return false                       
}


// drag ----------------------------------------------------------------
    
function drag(e){
  if(isNav && !is.ns6){
    if (isOut(e.pageX, e.pageY, objBalken.top, balken_left, balken_width, obereranschlag, untereranschlag, ds)) {
      endDrag(e);
    } else {
      objBalken.top = e.pageY - dy;
      objText.top = setTextTop(objBalken.top, objText.clip.height, obereranschlag, texthoehe, schiebeweg, abstandoben);
    }                              
  }
             
  if(isIE){
    if (isOut(window.event.clientX, window.event.clientY, objBalken.pixelTop, balken_left, balken_width, obereranschlag, untereranschlag, ds)) {
      endDrag(); 
    } else {
      objBalken.pixelTop = window.event.clientY - dy;
      objText.pixelTop = setTextTop(objBalken.pixelTop, document.all['content'].offsetHeight, obereranschlag, texthoehe, schiebeweg, abstandoben);
    }                      
  }
   
  if(is.ns6){
    if (isOut(e.pageX, e.pageY, parseInt(objBalken.top), balken_left, balken_width, obereranschlag, untereranschlag, ds)) {
      endDrag(e);
    } else {
      objBalken.top = e.pageY - dy + "px";
      objText.top = setTextTop(parseInt(objBalken.top), parseInt(document.all['content'].offsetHeight), obereranschlag, texthoehe, schiebeweg, abstandoben) + "px";
    }                              
  }

  return false;
}


// drag2 ----------------------------------------------------------------
    
function drag2(e){
  if(isNav && !is.ns6){
    if (isOut(e.pageX, e.pageY, objBalken2.top, balken_left2, balken_width2, obereranschlag2, untereranschlag2, ds2)) {
      endDrag(e);
    } else {
      objBalken2.top = e.pageY - dy2;
      objText2.top = setTextTop(objBalken2.top, objText2.clip.height, obereranschlag2, texthoehe2, schiebeweg2, abstandoben2);
    }                              
  }
             
  if(isIE){
    if (isOut(window.event.clientX, window.event.clientY, objBalken2.pixelTop, balken_left2, balken_width2, obereranschlag2, untereranschlag2, ds2)) {
      endDrag(); 
    } else {
      objBalken2.pixelTop = window.event.clientY - dy2;
      objText2.pixelTop = setTextTop(objBalken2.pixelTop, document.all['content2'].offsetHeight, obereranschlag2, texthoehe2, schiebeweg2, abstandoben2);
    }                      
  }
   
  if(is.ns6){
    if (isOut(e.pageX, e.pageY, parseInt(objBalken2.top), balken_left2, balken_width2, obereranschlag2, untereranschlag2, ds2)) {
      endDrag(e);
    } else {
      objBalken2.top = e.pageY - dy2 + "px";
      objText2.top = setTextTop(parseInt(objBalken2.top), parseInt(document.all['content2'].offsetHeight), obereranschlag2, texthoehe2, schiebeweg2, abstandoben2) + "px";
    }                              
  }
  	
  return false;
}


// moveup ----------------------------------------------------------------
    
function moveup(){
  if(isNav && !is.ns6){
    if (objBalken.top > obereranschlag) {
      objBalken.top = objBalken.top - 1;
      objText.top = setTextTop(objBalken.top, objText.clip.height, obereranschlag, texthoehe, schiebeweg, abstandoben);
    } else {
      clearInterval(upint);
    }                           
  }
             
  if(isIE){
    //setzend der Objekte
    objBalken = document.all["balken"].style;
    objText = document.all["content"].style;  
	
    if (objBalken.pixelTop > obereranschlag) {                        
      objBalken.pixelTop = parseInt(objBalken.pixelTop) -1;
      objText.pixelTop = setTextTop(objBalken.pixelTop, document.all['content'].offsetHeight, obereranschlag, texthoehe, schiebeweg, abstandoben);
    } else {
      clearInterval(upint);
    }
  }
    
  if(is.ns6){
    if (parseInt(objBalken.top) > obereranschlag) {
      objBalken.top = (parseInt(objBalken.top) - 1) + "px";
      objText.top = setTextTop(parseInt(objBalken.top), parseInt(document.all['content'].offsetHeight), obereranschlag, texthoehe, schiebeweg, abstandoben) + "px";
    } else {
      clearInterval(upint);
    }                           
  }

  return false;
}
        

// moveup2 ----------------------------------------------------------------
    
function moveup2(){
  if(isNav && !is.ns6){
    if (objBalken2.top > obereranschlag2) {
      objBalken2.top = objBalken2.top - 1;
      objText2.top = setTextTop(objBalken2.top, objText2.clip.height, obereranschlag2, texthoehe2, schiebeweg2, abstandoben2);
    } else {
      clearInterval(upint2);
    }                           
  }
             
  if(isIE){
    //setzend der Objekte
    objBalken2 = document.all["balken2"].style;
    objText2 = document.all["content2"].style;  
	
    if (objBalken2.pixelTop > obereranschlag2) {                        
      objBalken2.pixelTop = parseInt(objBalken2.pixelTop) -1;
      objText2.pixelTop = setTextTop(objBalken2.pixelTop, document.all['content2'].offsetHeight, obereranschlag2, texthoehe2, schiebeweg2, abstandoben2);
    } else {
      clearInterval(upint2);
    }
  }
    
  if(is.ns6){
    if (parseInt(objBalken2.top) > obereranschlag2) {
      objBalken2.top = (parseInt(objBalken2.top) - 1) + "px";
      objText2.top = setTextTop(parseInt(objBalken2.top), parseInt(document.all['content2'].offsetHeight), obereranschlag2, texthoehe2, schiebeweg2, abstandoben2) + "px";
    } else {
      clearInterval(upint2);
    }                           
  }
             
  return false;
}


// movedown ----------------------------------------------------------------
        
function movedown(){
  if(isNav && !is.ns6){
    if (objBalken.top < untereranschlag) {
      objBalken.top = objBalken.top + 1;
      objText.top = setTextTop(objBalken.top, objText.clip.height, obereranschlag, texthoehe, schiebeweg, abstandoben);
    } else {
      clearInterval(downint);
    }                           
  }
             
  if(isIE){
    // setzen der Objekte
    objBalken = document.all["balken"].style;
    objText = document.all["content"].style; 
	
    if (objBalken.pixelTop < untereranschlag) {                        
      objBalken.pixelTop = parseInt(objBalken.pixelTop) + 1;
      objText.pixelTop = setTextTop(objBalken.pixelTop, document.all['content'].offsetHeight, obereranschlag, texthoehe, schiebeweg, abstandoben);
    } else {
      clearInterval(downint);
    }
  }
    
  if(is.ns6){
    if (parseInt(objBalken.top) < untereranschlag) {
      objBalken.top = parseInt(objBalken.top) + 1 + "px";
      objText.top = setTextTop(parseInt(objBalken.top), parseInt(document.all['content'].offsetHeight), obereranschlag, texthoehe, schiebeweg, abstandoben) + "px";
    } else {
      clearInterval(downint);
    }                           
  }

  return false;
}
             

// movedown2 ----------------------------------------------------------------
        
function movedown2(){
  if(isNav && !is.ns6){
    if (objBalken2.top < untereranschlag2) {
      objBalken2.top = objBalken2.top + 1;
      objText2.top = setTextTop(objBalken2.top, objText2.clip.height, obereranschlag2, texthoehe2, schiebeweg2, abstandoben2);
    } else {
      clearInterval(downint2);
    }                           
  }
             
  if(isIE){
    // setzen der Objekte
    objBalken2 = document.all["balken2"].style;
    objText2 = document.all["content2"].style; 
	
    if (objBalken2.pixelTop < untereranschlag2) {                        
      objBalken2.pixelTop = parseInt(objBalken2.pixelTop) + 1;
      objText2.pixelTop = setTextTop(objBalken2.pixelTop, document.all['content2'].offsetHeight, obereranschlag2, texthoehe2, schiebeweg2, abstandoben2);
    } else {
      clearInterval(downint2);
    }
  }
    
  if(is.ns6){
    if (parseInt(objBalken2.top) < untereranschlag2) {
      objBalken2.top = parseInt(objBalken2.top) + 1 + "px";
      objText2.top = setTextTop(parseInt(objBalken2.top), parseInt(document.all['content2'].offsetHeight), obereranschlag2, texthoehe2, schiebeweg2, abstandoben2) + "px";
    } else {
      clearInterval(downint2);
    }                           
  }

  return false;
}
    

// endDrag ----------------------------------------------------------------
    
function endDrag(e){
  if(isNav && !is.ns6){
    //positionieren des Scrollerbalkens auf minimale bzw. maximale Position
    if(objBalken.top < obereranschlag){objBalken.top = obereranschlag;}
    if(objBalken.top > untereranschlag){objBalken.top = untereranschlag;}
	
    if (isIn(e, objBalken.top, balken_left, balken_height, balken_width)) {
      //ueberpruefen ob Balken angeklickt wurde
      document.releaseEvents(Event.MOUSEMOVE);
      document.onmousemove = null;
    } else if (isIn(e, scrollerup_top, scrollerup_left, scrollerup_height, scrollerup_width)) {
      //ueberpruefen ob Scrollerup angeklickt wurde
      clearInterval(upint);						   
    } else if (isIn(e, scrollerdown_top, scrollerdown_left, scrollerdown_height, scrollerdown_width)) {
      //ueberpruefen ob Scrollerdown angeklickt wurde                            
      clearInterval(downint);						   
    } else {
      if (secondscroller) {
        //positionieren des Scrollerbalkens auf minimale bzw. maximale Position
        if(objBalken2.top < obereranschlag2){objBalken2.top = obereranschlag2;}
        if(objBalken2.top > untereranschlag2){objBalken2.top = untereranschlag2;}
	
        if (isIn(e, objBalken2.top, balken_left2, balken_height2, balken_width2)) {
          //ueberpruefen ob Balken angeklickt wurde
          document.releaseEvents(Event.MOUSEMOVE);
          document.onmousemove = null;
        } else if (isIn(e, scrollerup_top2, scrollerup_left2, scrollerup_height2, scrollerup_width2)) {
          //ueberpruefen ob Scrollerup angeklickt wurde
          clearInterval(upint2);						   
        } else if (isIn(e, scrollerdown_top2, scrollerdown_left2, scrollerdown_height2, scrollerdown_width2)) {
          //ueberpruefen ob Scrollerdown angeklickt wurde                            
          clearInterval(downint2);
        } else {
          document.releaseEvents(Event.MOUSEMOVE);
          document.onmousemove = null;
          document.routeEvent(e);
          return true;
        }						   
      } else {
        document.releaseEvents(Event.MOUSEMOVE);
        document.onmousemove = null;
        document.routeEvent(e);
        return true;
      }     
    }
  }
  
  if(isIE){
    if (objBalken != null) {
      //positionieren des Scrollerbalkens auf minimale bzw. maximale Position
      if(objBalken.pixelTop < obereranschlag) {objBalken.pixelTop = obereranschlag;}
      if(objBalken.pixelTop > untereranschlag){objBalken.pixelTop = untereranschlag;}
    }
	
    var obj = window.event.srcElement;
    if(obj.parentElement.id.indexOf("scrollerup") != -1){
      clearInterval(upint);						   
    }	
    if(obj.parentElement.id.indexOf("scrollerdown") != -1){
      clearInterval(downint);						   
    } 

    if (secondscroller) {
    if (objBalken2 != null) {
      //positionieren des Scrollerbalkens auf minimale bzw. maximale Position
      if(objBalken2.pixelTop < obereranschlag2) {objBalken2.pixelTop = obereranschlag2;}
      if(objBalken2.pixelTop > untereranschlag2){objBalken2.pixelTop = untereranschlag2;}
    }

    var obj2 = window.event.srcElement;
    if(obj2.parentElement.id.indexOf("scrollerup2") != -1){
      clearInterval(upint2);						   
    }	
    if(obj2.parentElement.id.indexOf("scrollerdown2") != -1){
      clearInterval(downint2);						   
    }
    } 
  }

  if(is.ns6){
    //positionieren des Scrollerbalkens auf minimale bzw. maximale Position
    if(parseInt(objBalken.top) < obereranschlag){objBalken.top = obereranschlag + "px";}
    if(parseInt(objBalken.top) > untereranschlag){objBalken.top = untereranschlag + "px";}
	
    if (secondscroller) {
    //positionieren des Scrollerbalkens auf minimale bzw. maximale Position
    if(parseInt(objBalken2.top) < obereranschlag2){objBalken2.top = obereranschlag2 + "px";}
    if(parseInt(objBalken2.top) > untereranschlag2){objBalken2.top = untereranschlag2 + "px";}
    }
  }
                          
  if(isNav && !is.ns6){document.releaseEvents(Event.MOUSEMOVE);}
  document.onmousemove = null;
		 
  return false;
}

// Hilfsfunktionen -------------------------------------------------------------
function isIn(e, top, left, height, width) {
 if((e.pageX > left) &&
    (e.pageX < left + width) &&
    (e.pageY > top) &&
    (e.pageY < top + height)){
   return true;
 }
 return false;
}

function isOut(x, y, top, left, width, obereranschlag, untereranschlag, ds) {
  if((x < (left - ds)) ||
     (x > (left + ds) + width) ||
     ((y - (y - top)) < obereranschlag) ||
     ((y - (y - top)) > untereranschlag)){
    return true;
  }
  return false;
}


function setTextTop(balkentop, textclipheight, obereranschlag, texthoehe, schiebeweg, abstandoben) {
  var texttop;
  //berechne Prozentwert fuer Scroller und errechne Pixelwert fuer Text
  if(textclipheight > texthoehe){                       
  	var perCent = parseInt(((balkentop-obereranschlag)/schiebeweg)*100);
  	if(isNaN(perCent)){perCent = 0;}
  	if(perCent == 0){texttop = abstandoben;}
  	else if(perCent == 100){texttop = (textclipheight - texthoehe)*-1 + abstandoben;}
  	else{texttop = ((perCent*(textclipheight-texthoehe))/100)*-1 + abstandoben;}                       
  }
  else{
	texttop = abstandoben;
  }
  
  return texttop;
}

//------------------------------------Do Not Edit This AREA------------------------------------//