// JavaScript Document
//°°°°°°°°°°Die News
//tNews=new Array();
//tNews.push('1 Neu bei <a href="http://www.tutorials.de">tutorials.de</a>...noch nen Ticker!');
//tNews.push('2 Neu bei <a href="http://www.tutorials.de">tutorials.de</a>...noch nen Ticker!');
//tNews.push('3 Neu bei <a href="http://www.tutorials.de">tutorials.de</a>...noch nen Ticker!');

// Laufrichtung(up,down,left,right)
strDir      ='up';

// Delimiter zwischen den einzelnen News(nur bei left/right)
strDelimiter=' + + + ';

// Interval in ms
intInterval =100;

// Stop bei mouseover?true:false
blnStopHover=true;

// Falls Leeraum zwischen News...hier Wert erhoehen...minimum:1
intRepeat   = 2;

// Rahmen
strBorder   ='1px solid #818181';

// Breite
intWidth    =175;

// Höhe
intHeight   =60;

//Abstand Rahmen->Inhalt
intPadding  =4;

//Background-color
strBgc      ='#ffffff';

//Text-color
strTxtc     ='#ffffff';

//Textausrichtung
strAlign    ='left';

//Schritt pro Durchlauf(px)
intStep=1;


/* * * * * * * * * * * * * * * * * * D E R  T I C K E R * * * * * * * * * * * * * * * * * * * * * */

//IE ab V4?
IE=document.all&&!window.opera;

//DOM-Browser(ausser IE)
DOM=document.getElementById&&!IE;

//laeuft ab IE4 und in DOM-Browsern
if(DOM||IE)
{
     //Ermitteln, ob Ticker horizontal oder vertikal laufen soll
  blnDir=(strDir=='up'||strDir=='down')?true:false;

      //Bei horizontalem Ticker wird ein nobr-, ansonsten ein div-Tag verwendet
  strNobr=(blnDir)?'div':'nobr';

  //Trennzeichen zwischen den Einzelnen Eintraegen
  //bei horizontalem Ticker gemäss Angabe in Variale strDelimiter
  //Ansonsten Zeilenumbrueche
  strDelimiter=(blnDir)?'':strDelimiter;

  //String fuer Textausrichtung bei vertikalem Ticker
  strAlign=(blnDir)?'text-align:'+strAlign+';':'';

  //Variable zum Speichern des Intervals
  var objGo;
  //Variable zum Speichern der Position
  intPos=0;

  //String erzeugen fuer JS-Code, falls Ticker beim mouseover stoppen soll
  strStopHover=(blnStopHover)?'onmouseover="clearInterval(objGo)"onmouseout="objGo=setInterval(\'DM_ticken()\','+intInterval+')"':'';

  //Tickertext zu String zusammenfuegen
  strText=(blnDir)?tNews.join(strDelimiter)+strDelimiter:tNews.join(strDelimiter)+strDelimiter;
  strNews=strText;
  for(i=1;i<intRepeat;++i)
  {
    strNews+=strText;
  } // END FOR

//  alert(strNews);
  //TickerCode zu String zusammenfuegen
//  strTicker='<div class="TOPHotelTicker" style="'+strAlign+'overflow:hidden;">';
//  strTicker+='<div id="ticker"><table class="TOPHotelTicker">';
//  strTicker+=strNews;
//  strTicker+='</table></div>';
//  strTicker+='</div>';


  strTicker='<div class="TOPHotelTicker" style="position: relative; '+strAlign+'overflow:hidden; height:97.0px;'+
                  '"><'+strNobr+'><div id="ticker" style="position:relative;'+
                  ';"'+strStopHover+'><table class="TOPHotelTicker" border="0" cellpadding="0" cellspacing="0">'+strNews+'</table></div></'+strNobr+'></div>';

  //TickerCode im Dokument ausgeben
  document.write(strTicker);

      //Funktion, um Ticker ticken zu lassen
  function DM_ticken()
  {
    //Ticker-Objekt je nach Browser ermitteln
    objTicker=(IE)?document.all.ticker:document.getElementById('ticker');

    //Array fuer zu manipulierende Eigenschaften des Tickers je nach Richtung
    //Richtung=new Array(Pixelwert zur Aenderung der Position,Breite/Höhe des Tickers,zu andernder Positionswert);
    arrDir=new Array();
    arrDir['up']    =new Array(-1,objTicker.offsetHeight,'top');
    arrDir['down']  =new Array(1,objTicker.offsetHeight,'top');
    arrDir['left']  =new Array(1,objTicker.offsetWidth,'left');
    arrDir['right'] =new Array(-1,objTicker.offsetWidth,'left');

    //Ermitteln von Breite bzw. Höhe der anzuzeigenden Items
    dblOffset=arrDir[strDir][1]/intRepeat;

    //Neuen Positionswert ermitteln
    switch(strDir)
    {
      case'right':
          intPos=(Math.abs(intPos)>dblOffset)?0:intPos;break;
      case'left':
          intPos=(intPos>0)?-dblOffset:intPos;break;
      case 'up':
          intPos=(Math.abs(intPos)>dblOffset)?0:intPos;break;
      case 'down':
          intPos=(intPos>0)?-dblOffset:intPos;break;
    }
    //Neuen Positionswert zuweisen
    objTicker.style[arrDir[strDir][2]]=intPos + "px";

    //Positionswert hoch/heruntersetzen
    intPos+=intStep*arrDir[strDir][0];
  }

  //Erneut ticken lassen
  objGo=setInterval('DM_ticken()',intInterval);
}
