

var track            = null;
var menuMain         = null;
var menuLeft         = null;
var menuRight        = null;
var trackHandle      = null;

var active           = false;
var menuActive       = false;
var menuEnabled      = false;
var eventEnabled     = true;

var trackWidth       = 138;       // Schieberbreite
var trackMinPos      = 25;        // linker Anschlag für Schieber
var trackMaxPos      = 664;       // rechter Anschlag für Schieber
var trackActLimit    = 80;        // dieser Wert links und rechts vom Menupunkt

var menuLeftEnd      = 100;       // bis hier wird die linke Menugrafik angezeigt
var menuRightStart   = 00;       // ab  hier wird die rechte Menugrafik angezeigt

var menuStart        = 27;        // Anfang der Menugrafiken

var defaultMenu      = 3;         // mit diesem Menu startet das System

var menuItem         = -1;
var actTrackPos      = trackMaxPos;
var oldTrackPos      = trackMinPos;
var actMenuTrackPos  = trackMaxPos;

var dir              = 0;

var menuItemsPos     = new Array(5);
    menuItemsPos[0]  = 33;
    menuItemsPos[1]  = 186;
    menuItemsPos[2]  = 342;
    menuItemsPos[3]  = 498;
    menuItemsPos[4]  = 650;

var is           = new BrowserCheck();

function BrowserCheck() {
   var b = navigator.appName;
   if      (b == "Netscape")                     this.b = "ns";
   else if (b == "Microsoft Internet Explorer")  this.b = "ie";
   else this.b   = b;
   this.version  = navigator.appVersion;
   this.v        = parseInt(this.version);
   this.ns4      = (this.b == "ns" && this.v == 4);
   this.ns6      = (this.b == "ns" && (this.v == 5 || this.v == 6));
   this.ie       = (this.b == "ie" && this.v >= 4);
}

function init() {
  track       = document.getElementById("track");
  menuMain    = document.getElementById("menuMain");
  menuLeft    = document.getElementById("menuLeft");
  menuRight   = document.getElementById("menuRight");

  menuMain.style.visibility = "visible";

  if (is.ns6) {
    document.captureEvents(Event.MOUSEMOVE);
    document.onmousemove = changeMenuState;
  }

  setActMenuItem(defaultMenu-1, false);
  content.location.href = "home.htm";
}

function changeMenuState(e) {
  if (!eventEnabled) return;
  if (active) {
    if (is.ie)
      mousePos = event.x;
    if (is.ns6)
      mousePos = e.pageX;

    trackPos = mousePos - trackWidth/2;
    moveTrack(trackPos, false);
  }
}

function setMenuState() {
  if (menuEnabled) {
    menuActive      = true;
    menuEnabled     = false;
    actMenuTrackPos = menuItemsPos[menuItem];

    switch (menuItem) {
      case 0:  content.location.href = "refe.htm";  break;
      case 1:  content.location.href = "web.htm";   break;
      case 2:  content.location.href = "home.htm"; break;
      case 3:  content.location.href = "print.htm";   break;
      case 4:  content.location.href = "kon.htm";  break;
      default: content.location.href = "home.htm"; break;
    }
    setEventEnabled(false);
    moveTrack(actMenuTrackPos, false);
    setTimeout("setEventEnabled(true)", 1000);
  }
}

function moveTrack(endTrackPos, isAnimated) {

  if (oldTrackPos > endTrackPos && dir >=0) {
    track.src = "images/xlider_left.gif";
    dir       = -1;
  }
  else if (oldTrackPos < endTrackPos && dir <= 0) {
    track.src = "images/xlider_right.gif";
    dir       = 1;
  }

  if (!isAnimated) {
    if (endTrackPos >= trackMinPos && endTrackPos <= trackMaxPos) {
      if (trackHandle) clearTimeout(trackHandle);
      track.style.left     = endTrackPos;
      menuLeft.style.clip  = "rect(0 " + (endTrackPos - menuStart) + " auto auto)";
      menuRight.style.clip = "rect(0 auto auto " + (endTrackPos - menuStart + trackWidth) + ")";
      actTrackPos = endTrackPos;

      menuEnabled = false;
      checkTrackPos = eval(track.style.left.slice(0, track.style.left.length-2));
      for (i=0; i<menuItemsPos.length; i++) {
        if (checkTrackPos >= (menuItemsPos[i] - trackActLimit) && checkTrackPos <= (menuItemsPos[i] + trackActLimit)) {
          track.src   = "images/xlider_on.gif";
          dir         = 0;
          menuEnabled = true;
          menuItem    = i;
        }
      }
    }
  }
  else {
    actTrackPos = eval(track.style.left.slice(0, track.style.left.length-2));
    step = 1;
//    if      (Math.abs(endTrackPos-actTrackPos) > 50)  step = 3;
    if (Math.abs(endTrackPos-actTrackPos) > 30)  step = 2;

    if (actTrackPos < endTrackPos) {
      track.style.left     = actTrackPos + step;
      menuLeft.style.clip  = "rect(0 " + (actTrackPos + step - menuStart) + " auto auto)";
      menuRight.style.clip = "rect(0 auto auto " + (actTrackPos + step - menuStart + trackWidth) + ")";
      trackHandle = setTimeout("moveTrack(" + endTrackPos + ", " + isAnimated + ")", 1);
    }
    else if (actTrackPos-step > endTrackPos) {
      track.style.left     = actTrackPos - step;
      menuLeft.style.clip  = "rect(0 " + (actTrackPos - step - menuStart) + " auto auto)";
      menuRight.style.clip = "rect(0 auto auto " + (actTrackPos - step - menuStart + trackWidth) + ")";
      trackHandle = setTimeout("moveTrack(" + endTrackPos + ", " + isAnimated + ")", 1);
    }
    else {
      if (!menuActive)
        track.src = "images/xlider_off.gif";
      else
        track.src = "images/xlider_on.gif";
    }
  }
  oldTrackPos = endTrackPos;
}

function setActMenuItem(item,mode) {
  if (mode == null) mode = true;
  if (item > -1) {
    menuActive      = true;
    menuEnabled     = false;
    oldTrackPos     = trackMaxPos;
    actMenuTrackPos = menuItemsPos[item];
    moveTrack(actMenuTrackPos, mode);
  }
  else {
    menuActive      = false;
    menuEnabled     = false;
    oldTrackPos     = trackMinPos;
    actMenuTrackPos = trackMaxPos;
    moveTrack(actMenuTrackPos, mode);
  }
}

function setNavigationMode(state, mode) {
  if (!eventEnabled) return;
  if (track == null) return;
  switch (state) {
    case 0:     // Schieber aus
      moveTrack(actMenuTrackPos, true);
      active = false;
      dir    = 0;
    break;
    case 1:     // Schieber an
      active = true;
    break;
  }
}

function setEventEnabled(isEnabled) {
  if (isEnabled) eventEnabled = true; else eventEnabled = false;
}