<!--//

/* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 * Ticher Startseite
 * Name: ticker.js
 * Erstellungsdatum: 06.04.2006
 * Modifiziert: 06.04.2006
 * Author: http://www.tutorials.de
 * Modifier: sfluri(at)tankred.ch
 * Version: 2.0
 * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */

/* 
 * DIE  VARIABLEN
 */

// Die News
/*
tNews=new Array();
tNews.push('Neu bei <a href="http://www.tutorials.de">tutorials.de</a>...noch nen Ticker!');
tNews.push('Der Ticker tickt jetzt nicht mehr, sondern rollt :o)');
tNews.push('im Rahmen der allgemeinen Sparmassnahmen wurde der Code weiter dezimiert');
tNews.push('Update in der Morgend&auml;mmerung:jetzt tickt er auch in Tabellen!');
tNews.push('<b>Nachtrag: Nunmehr tickt er in alle Richtungen</b>');
*/

strDir ='up';                         // Laufrichtung(up,down,left,right)
strDelimiter= ' + + + ';              // Delimiter zwischen den einzelnen News(nur bei left/right)
intInterval = 25;                     // Interval in ms */
blnStopHover = true;                  // Stop bei mouseover?true:false */
intRepeat  = 2;                       // Falls Leeraum zwischen News...hier Wert erhoehen...minimum:1
strBorder ='none';                    // Rahmen
intWidth = 300;                       // Breite
intHeight = 180;                      // Höhe
intPadding = 0;                       // Abstand Rahmen->Inhalt
strBgc = '#ffffff';                   // Background-color
strTxtc = '#000000';                  // Text-color
strAlign = 'center';                  // Textausrichtung
intStep = 1;                          // Schritt pro Durchlauf(px)

/* 
 * DER TICKER
 */
 
IE = document.all && !window.opera;   // IE ab V4?
DOM = document.getElementById && !IE; // DOM-Browser(ausser IE)

// läuft 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=180;

    //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;
        }

    //TickerCode zu String zusammenfuegen
    strTicker='<div style="'+strAlign+'overflow:hidden;background-color:'+strBgc+
                    ';border:'+strBorder+';width:'+intWidth+'px;height:'+intHeight+'px;padding:'+intPadding+
                    'px;"><'+strNobr+'><span id="ticker"style="position:relative;color:'+strTxtc+';background-color:'+strBgc+
                    ';"'+strStopHover+'>'+strNews+'</span></'+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;

    //Positionswert hoch/heruntersetzen
    intPos+=intStep*arrDir[strDir][0];
    }
    //Erneut ticken lassen
    objGo=setInterval('DM_ticken()',intInterval);
  }
//-->
