// Tickermeldungen

// Es muessen alle drei Werte angegeben werden.

// Effekte fuer Start:
//   1: einrollen
//   2: blinken
// Effekte fuer Ende:
//   1: ausrollen
//   2: blinken

// var tickernews  = [
//     {msg : "Willkommen auf dem Prototyp der Seite www.magic-tours.de.", start : 1, end : 1},
// ]

// Tickerparameter
var ticker_start            = 500   // Wartezeit bis zur ersten Meldung

var ticker_effekt1_start_a      = 20    // Darstellungsgeschwindigkeit [ms]
var ticker_effekt1_start_b      = 7500  // Darstellungszeit der Meldung [ms]

var ticker_effekt2_start_max_blink  = 3 // Anzahl der Blinkdarstellungen
var ticker_effekt2_start_a      = 100   // Blinkgeschwindigkeit [ms]
var ticker_effekt2_start_b      = 2500  // Darstellungszeit der Meldung [ms]

var ticker_effekt1_ende_a       = 150    // Scrollgeschwindigkeit [ms]
var ticker_effekt1_ende_b       = 100   // Wartezeit bis zur naechsten Meldung [ms]

var ticker_effekt2_ende_max_blink   = 3 // Anzahl der Blinkdarstellungen
var ticker_effekt2_ende_a       = 100   // Blinkgeschwindigkeit [ms]
var ticker_effekt2_ende_b       = 1000  // Wartezeit bis zur naechsten Meldung [ms]

// Interne Variablen
var msgnr   = 0

// Aufruf der naechsten Meldung
function nextTicker()
{
    msgnr++;
    if(msgnr >= tickernews.length)
        msgnr = 0;
    setTimeout("showTicker(0)", 1000);
}

// Effekte fuer Meldungsende
function hideTicker(cnt)
{
    var ticker = document.getElementById("ticker");
    switch(tickernews[msgnr].end)
    {
        // Effekt 2
        case 2:
            ticker.firstChild.data = ((cnt % 2) == 1) ? tickernews[msgnr].msg : "";
            if(cnt > (2 * ticker_effekt2_ende_max_blink + 1))
                setTimeout("nextTicker(0)", ticker_effekt2_ende_b);
            else
                setTimeout("hideTicker(" + String(cnt + 1) + ")", ticker_effekt2_ende_a);

        break

        // Effekt 1
        default:
            ticker.firstChild.data = tickernews[msgnr].msg.substring(cnt, tickernews[msgnr].msg.length);
            if(cnt >= tickernews[msgnr].msg.length)
                setTimeout("nextTicker()", ticker_effekt1_ende_b);
            else
                setTimeout("hideTicker(" + String(cnt + 1) + ")", ticker_effekt1_ende_a);
    }
}

// Effekte fuer Meldungsanfang
function showTicker(cnt)
{
    var ticker = document.getElementById("ticker");
    switch(tickernews[msgnr].start)
    {
        // Effekt 2
        case 2:
            ticker.firstChild.data = ((cnt % 2) == 1) ? "" : tickernews[msgnr].msg;
            if(cnt > (2 * ticker_effekt2_start_max_blink + 1))
                setTimeout("hideTicker(0)", ticker_effekt2_start_b);
            else
                setTimeout("showTicker(" + String(cnt + 1) + ")", ticker_effekt2_start_a);

        break

        // Effekt 1
        default:
            ticker.firstChild.data = tickernews[msgnr].msg.substring(0, cnt);
            if(cnt >= tickernews[msgnr].msg.length)
                setTimeout("hideTicker(0)", ticker_effekt1_start_b);
            else
                setTimeout("showTicker(" + String(cnt + 1) + ")", ticker_effekt1_start_a);
    }

//     ticker.selectionStart = ticker.firstChild.data.length - 2;
//     ticker.selectionEnd = ticker.firstChild.data.length - 1;
}

// Start des Tickers
function startTicker()
{
    // Standardmeldung
    document.getElementById("ticker").value = "Ticker wird geladen...";

    // Ticker starten
    setTimeout("showTicker(0)", ticker_start);
}

