
var nav = (document.layers) ? true : false;
var iex = (document.all) ? true : false;


float_init	= 1;

var DHTML = 0, DOM = 0, MS = 0, NS = 0, OP = 0;

var inch = 0;
var kmStand = 0;
var SeiteLaenge = 1;
var StreckeLaenge = 1;
var StreckePosNeg = 0;
var StreckePos = 0;
var StreckePosM = 0;
var StreckePosStr = "";
var PositionString = "";
var lastPosMenu = 0;
var lastPosMenuAct = 0;
var KMPosActCounter = 0;




//------ Grundvariablen setzen ------
function SetVars () {

  Menu = All('persistStatus');

  StreckeLaenge = SeiteLaenge - GetWindowHeight();
  StreckePosNeg = 421950 * ( (GetObjectOffsetTop(Menu)-2000) / StreckeLaenge )  -  421950 * MenuBorder / StreckeLaenge; 

  StreckePosKompl = 421950 - StreckePosNeg;

  StreckePosM = Math.round (StreckePosKompl);
  if (StreckePosM>421950) StreckePosM=421950;
  if (StreckePosM<0) StreckePosM=0;



  //------ Umrechnung in km ------

  StreckePos = StreckePosM/10000;

  //--- Zahl ---
  StreckePosStr = StreckePos.toString();
  if (StreckePos == 0) {
    PositionString = "00,";
  } else if (StreckePosStr.indexOf('.')==1) {
    PositionString = "0"+StreckePosStr.substr(0,1)+","+StreckePosStr.substr(2,4);
  } else {
    PositionString = StreckePosStr.substr(0,2)+","+StreckePosStr.substr(3,4);
  }

  //--- 0-Stellen am Ende ---
  while (PositionString.length<7) {
    PositionString = PositionString+"0";
  }


}





function DHTML_Init(Object) { 

  if (navigator.userAgent.match(/Mozilla\/5\../) && float_init) { 
    SetObjectOffsetTop(Object, undefined);
  }

}



function All (ID) { 

  if (document.all) { return document.all[ID]; } 
  else if (document.documentElement) {
    return document.getElementById (ID); } 
  else if (document.layers)	{ return document.layers[ID]; }

}



function GetWindowOffsetTop() {

  if (window.innerHeight) { return window.pageYOffset; }
  else if (document.body) { return document.body.scrollTop; }

} 



function GetWindowHeight() { 

  if (window.innerHeight) { return window.innerHeight; } 
  else if (document.body) { return document.body.clientHeight; }

} 





function GetObjectHeight(Object) {

  DHTML_Init(Object);

  if (document.all || document.documentElement) {

    Clip = Object.style.clip; 
    if (! Clip) { return Object.offsetHeight; }
    else { return GetClipElement (Clip, 'Bottom'); }

  } else if (document.layers) { return Object.clip.height; }

} 



function GetClipElement (Clip, Element) {

  Clip = Clip.substr(Clip.indexOf('(') + 1); 
  Clip = Clip.substr(0, Clip.length - 1);
  Clippers = Clip.split (" "); 

  for (i = 0; i < Clippers.length; i++) { 

    if (Clippers[i] != 'auto') { Clippers[i] = Clippers[i].replace (/D/g, ""); }

  } 

  ClipTop = Number(Clippers[0]); 
  ClipRight = Number(Clippers[1]); 
  ClipBottom = Number(Clippers[2]);
  ClipLeft = Number(Clippers[3]); 

  if (Element == 'Top') { return ClipTop; } 
  else if (Element == 'Right') { return ClipRight; } 
  else if (Element == 'Bottom') { return ClipBottom; } 
  else if (Element == 'Left') { return ClipLeft; } 
  else { return undefined; }

} 



function GetObjectOffsetTop(Object) { 

  // DHTML_Init(Object); 

  if (Object.offsetTop) { return Object.offsetTop; }  
  else if (document.layers) { return Object.top; }

} 



function SetObjectOffsetTop(Object, Offset) { 

  if (Object.style) { Object.style.top = Offset; } 
  else if (Object.top)	{ Object.top = Offset; }

} 




function InitScroll() {

  SeiteLaenge = 1477700;

  CenterMenu = 1;	 

  WinHeight = GetWindowHeight();
  MenuBorder = Math.round(WinHeight/2);
  TimeCheck  = 20;	 
  TimeUpdate = 20; 
  DivUpdate  = 5;
  KMPosUpdate = 15;	 
  Minimum    = 300;	 
  AddHeight  = -4;

  //--- an das Seitenende scrollen ---
  window.scrollTo(0,SeiteLaenge+2100);

  //--- Status-Balken positionieren (in inch) ---
  Menu = All('persistStatus');
  inch = (GetWindowOffsetTop() + MenuBorder)/96;
  SetObjectOffsetTop (Menu, inch+"in");

  //--- Preloader ausblenden ---
  hide('preloader');
  hide('preloadertxt5');

  ScrollStatus();

} 











function ScrollStatus() { 

  //--- Plazierung ---

  Menu = All('persistStatus'); 

  WinTop = GetWindowOffsetTop(); 
  WinHeight = GetWindowHeight();
  MenuTop = GetObjectOffsetTop(Menu); 
  MenuHeight = 30;

  MenuNew = WinTop + MenuBorder;
  if (MenuNew>(SeiteLaenge+2000)) MenuNew=WinTop + 60;


  if (MenuTop != MenuNew) { 

    if ( (MenuTop + MenuHeight) < WinTop-30 || MenuTop > (WinTop + WinHeight + 30) ) { 

      if (MenuTop < MenuNew) { pos = (WinTop - MenuHeight + 10); } else { pos = (WinTop + WinHeight); }
      //--- Umrechnung in inch ---
      inch = pos/96;

      SetObjectOffsetTop (Menu, inch+"in");


      //--- KM-Stand aktualisieren ---
      if (KMPosActCounter>=KMPosUpdate) {

        KMPosActCounter = 0;
        KMPosAct();

      }


    } else { 

      Add = (MenuTop < MenuNew) ? 1 : -1; 
      move = Math.round((MenuNew - MenuTop) / DivUpdate);

      //--- Umrechnung in inch ---
      inch = (MenuTop + move + Add)/96;

      SetObjectOffsetTop (Menu, inch+"in");

      //--- KM-Stand ---
      // KMPosAct();

    } 
  }



  //--- bei Stillstand: KM-Stand aktualisieren ---
  if (lastPosMenu == MenuTop && lastPosMenuAct!=MenuTop) {

    KMPosActCounter = 0;
    KMPosAct();

    lastPosMenuAct = MenuTop;

  }


  lastPosMenu = MenuTop;
  KMPosActCounter = KMPosActCounter + 1;


  window.setTimeout('ScrollStatus()', (GetObjectOffsetTop(Menu) == MenuNew) ? TimeCheck : TimeUpdate); 

} 






//------ Funktionen KM-Stand ------

DHTML_InitPos();







function KMPosAct() {

  if(DHTML) {

    SetVars();

    if(NS) setCont("id","km_show",null,"<span class='super'>" + PositionString + " km</span>");
    else   setCont("id","km_show",null,PositionString+" km");

  }
  else return;


}








function debug() {

  WinTop = GetWindowOffsetTop(); 
  WinHeight = GetWindowHeight();
  MenuTop = GetObjectOffsetTop(Menu); 
  MenuHeight = 30;

  alert ("MenuTop: "+MenuTop+" / WinTop: "+WinTop);

}


