// globale Variablen
var breite=170, hoehe=170;  //Dimensionen des Banners
var phase = 1;  //Animationsphase (1=zentriert, 2=Bewegung, 3=permanent rechts unten)
var ID1, ID2; //Timeout-IDs
var banner, bannerstil; //Referenzen auf Banner und Stileigenschaften

// Browser
var N4=false, IE=false, W3C=false;
if (document.layers) 
  N4 = true;
else if (document.all)
  IE = true;
if (document.getElementById)
  W3C = true;
  
function init() {
  // globale Referenz auf Banner
  if (N4) {
    banner = document.Grafik;
    bannerstil = document.Grafik;
  } else if (IE) {
    banner = document.all.Grafik;
    bannerstil = document.all.Grafik.style;
  } else if (W3C) {
    banner = document.getElementById("Grafik");
    bannerstil = document.getElementById("Grafik").style;
  }
  if (IE && W3C && !bannerstil.left) // Abgrenzung zwischen IE und Opera der sich als IE5 ausgibt
    W3C = false;
  animation();
}
  
// Hilfsfunktionen

function XOffset() {
  if (N4 || W3C)
    return window.pageXOffset;
  if (IE)
    return document.body.scrollLeft;
}

function YOffset() {
  if (N4 || W3C)
    return window.pageYOffset;
  if (IE)
    return document.body.scrollTop;
}

function browserbreite() {
  if (N4 || W3C)
    return window.innerWidth;
  if (IE)
    return document.body.clientWidth;
}

function browserhoehe() {
  if (N4 || W3C)
    return window.innerHeight;
  if (IE)
    return document.body.clientHeight;
}

function positionX() {  //x-Koordinate der Grafik
  if (N4 || W3C)
    return parseInt(bannerstil.left);
  if (IE)
    return parseInt(bannerstil.posLeft);
}

function positionY() {  //y-Koordinate der Grafik
  if (N4 || W3C)
    return parseInt(bannerstil.top);
  if (IE)
    return parseInt(bannerstil.posTop);
}

function bewege(x, y) {
  if (N4) {
    bannerstil.left = x;
    bannerstil.top = y;
  } else if (W3C) {
    bannerstil.left = x + "px";
    bannerstil.top = y + "px";
  } else if (IE) {
    bannerstil.posLeft = x;
    bannerstil.posTop = y;
  }
}

function zeige() {
  bannerstil.visibility = "visible";
}

function verstecke() {
  bannerstil.visibility = "hidden";
}

function animation() {
  switch(phase) {
  
    case 1:  //Zentrierte Anzeige
      bewege(Math.round((browserbreite() + XOffset() - breite) / 2), 
             Math.round((browserhoehe()  + YOffset() - hoehe ) / 2));
      zeige();
      ID1 = window.setTimeout("animation()", 100); //Position auch beim Scrollen beibehalten
      ID2 = window.setTimeout("weiter(2)", 5000); //nächste Phase nach 5 Sekunden
      break;
      
    case 2:  //Bewegung nach rechts unten
      if (positionX() > browserbreite() + XOffset() - breite - 11|| 
          positionY() > browserhoehe() + YOffset() - hoehe - 11) //schon da?
        weiter(3);
      else {
        var verhaeltnis = (browserhoehe() - hoehe) / (browserbreite() - breite);
               bewege(positionX() + 5, 
               Math.round(positionY() + 5*verhaeltnis));
        //ID1 = window.setTimeout("animation()", 100); //Weiter in einer Zehntelsekunde
        ID1 = window.setTimeout("animation()", 500); //Weiter in einer halben Sekunde
      }
      break;

    case 3:  //Permanente Anzeige rechts unten
      bewege(browserbreite() + XOffset() - breite - 11, 
             browserhoehe()  + YOffset() - hoehe - 11);
      ID1 = window.setTimeout("animation()", 100); //Position auch beim Scrollen beibehalten
      break;
  
  }
}

function weiter(nr) {  //nächste Phase der Animation
  phase = nr;
  window.clearTimeout(ID1);
  animation();
}

function ende() {  //Animation beenden
  verstecke();
  window.clearTimeout(ID1);
  window.clearTimeout(ID2);
}

