
var boats;
var boat;
var boatMover;
var textMover;

var browser = fingerOutNavigator();
var platformFactor = 1;
//var platformFactor = fingerOutPlatformFactor();

function fingerOutNavigator()
{
  var browser = null;
  if ( navigator.userAgent.indexOf('MSIE 4.') != -1 )
    browser = "msie4";
  else if ( navigator.userAgent.indexOf('MSIE') != -1 )
    browser = "msie";
  else if ( navigator.userAgent.indexOf('Opera') != -1 )
    browser = "opera";
  else if ( navigator.userAgent.indexOf('Mozilla') != -1 )
    browser = "mozilla";
  return browser;
}

/*
function fingerOutPlatformFactor()
{
  // gibt den Faktor fuer die Timer-Events der Bootbewegung an
  // liefert Werte > 0
  var factor = 1.0;
  if ( navigator.appVersion.indexOf("Win32") != -1 )
    factor = 0.25;
  else if ( navigator.appVersion.indexOf("Win95") != -1 )
    factor = 0.33333;
  else if ( navigator.appVersion.indexOf("Win98") != -1 )
    factor = 0.5;
  else if ( navigator.appVersion.indexOf("Windows NT 5") != -1 )
    factor = 1.0;
  else if ( navigator.appVersion.indexOf("Windows NT 4") != -1 )
    factor = 0.75;
  else if ( navigator.appVersion.indexOf("Windows NT 3") != -1 )
    factor = 0.5;
  
  if ( navigator.platform.appVersion.indexOf("Linux i386") != -1 )
    factor = 0.25;
  else if ( navigator.platform.appVersion.indexOf("Linux i486") != -1 )
    factor = 0.3333;
  else if ( navigator.platform.appVersion.indexOf("Linux i586") != -1 )
    factor = 0.5;
  else if ( navigator.platform.appVersion.indexOf("Linux i686") != -1 )
    factor = 1.0;
  else if ( navigator.platform.appVersion.indexOf("Linux i786") != -1 )
    factor = 1.5;
 
  if (factor <= 0.0)
    factor = 0.1;
    
  return factor;
}
*/

function Boat( src, speed ) {
  this.img = new Image();
  this.img.src = src;
  this.speed = speed;
}

function loadBoats() {
  boats = new Array();
  boats[0] = new Boat( "images/boat_moving.gif", 1 );
  boats[1] = boats[0];
  boats[2] = boats[0];
  boats[3] = new Boat( "images/boot-kleina.gif", 3 );
  boats[4] = new Boat( "images/floss-raiders.gif", 1 );
  fix_boats = new Array();
  fix_boats[0] = new Boat( "images/boot-anleger.gif", 0 );
}

function loadFixBoats() {
  boats = new Array();
  boats[0] = new Boat( "images/boot-anleger.gif", 0 );
}

function setBoat( boatInx ) {
  boat = boats[boatInx];
  var boatHeight = boat.img.height;
  var x;
  var trackHeight;
  
  if (browser != "msie4") {
    if (document.getElementById( "div_Fahrt" ))
      trackHeight = parseInt( document.getElementById( "div_Fahrt" ).style.height );
    else
      trackHeight = 165;
    x = trackHeight - boatHeight -3;
    document.getElementById( "div_Schiff" ).style.top = x + "px";  
    document.getElementById( "div_Schiff" ).style.width = (boat.img.width + 3) + "px";
    document.getElementById( "img_Schiff" ).src = boat.img.src;
  }
  else {
    if (document.all["div_Fahrt"])
      trackHeight = parseInt( document.all["div_Fahrt"].style.height );
    else
      trackHeight = 165;
    x = trackHeight - boatHeight -3;
    document.all["div_Schiff"].style.width = (boat.img.width + 3) + "px";
    document.all["div_Schiff"].style.top = x + "px";  
    document.all["img_Schiff"].setAttribute("src", boat.img.src, "true");
  }
}

function moveAll() {
    var boatWdt = boat.img.width;
    var sx;
    var x;
    
    if ( boat.speed > 0)
    {    
      if (browser != "msie4")
        x = parseInt( document.getElementById( "div_Schiff" ).style.left );
      else
        x = parseInt( document.all["div_Schiff"].style.left );

      if ( x > -boatWdt )
        x -= Math.max(Math.round(boat.speed * platformFactor), 1);
      else {
        // Durchlauf abgeschlossen, neues Boot auswaehlen
        var boatInx = Math.random() * boats.length;
        boatInx = Math.max( Math.floor( boatInx ), 0 );
        boatInx = Math.min( boatInx, boats.length -1 );
        setBoat( boatInx );
        x = getStartPos();
      }
    }
    else
        x = getStartPos();

    sx = x + "px";
    if (browser != "msie4")
      document.getElementById( "div_Schiff" ).style.left = sx;
    else
      document.all["div_Schiff"].style.left = sx;

    /////////////////////////////////////////////////////////////////

    var textWidth;    
    if (browser != "msie4") {
      textWidth = document.getElementById( "text_News" ).offsetWidth;
      x = parseInt( document.getElementById( "div_News" ).style.left );
    }
    else {
      textWidth = document.all["text_News"].offsetWidth;
      x = parseInt( document.all["div_News"].style.left );
    }
    
    if (x < -textWidth)
      x = getStartPos();
    else
      x -= 3;
    
    if (browser != "msie4")
      document.getElementById( "div_News" ).style.left = x + "px";
    else
      document.all["div_News"].style.left = x + "px";
}

function getStartPos() {
  var FahrtWdt;
  if (browser != "msie4")
    FahrtWdt = document.getElementById( "div_Fahrt" ).offsetWidth;
  else
    FahrtWdt = document.all["div_Fahrt"].offsetWidth;

  if (boat.speed == 0)
    FahrtWdt = 0;

  return FahrtWdt;
}

function initBoat() {
  var now = new Date();
  var dayx = new Date(2005, 7, 6, 18, 0, 0);
  var dayy = new Date(2005, 7, 7, 6, 0, 0);

  if (now.getTime() >= dayx.getTime() && now.getTime() <= dayy.getTime() )
    loadFixBoats();
  else
    loadBoats();

  setBoat( 0 );
  textMover = window.setInterval( "moveAll()",50/platformFactor );

  if (browser == "msie4") {
    var w = parseInt( document.all["img_Nebel"].getAttribute("width") );
    var x = parseInt( document.all["div_Fahrt"].offsetWidth ) - w;
    
    document.all["div_Nebel"].style.left = x + "px";
  }
}

