var running;

function startTicker()
{
    // Define run time values

    theCurrentStory     = -1;
    theCurrentLength    = 0;

    // Locate base objects

    if (document.getElementById)
    {
        theImageObject      = document.getElementById("imageAnchor");
        theTickerObject     = document.getElementById("tickerAnchor");
        theTextObject       = document.getElementById("textAnchor");

        runTheTicker();
        return true;
    }
    else
    {
        document.write("<style>.ticki{display:none;}.ticko{border:0px; padding:0px;}</style>");
        return true;
    }
}

// Ticker main run loop

function runTheTicker()
{
    if (theTickerStatus == "started")
    {
        if ( running )
            clearTimeout ( running );

        var myTimeout;

        // Go for the next story data block

        if(theCurrentLength == 0)
        {
            theCurrentStory++;
            theCurrentStory      = theCurrentStory % theItemCount;
            theStorySummary      = theSummaries[theCurrentStory].replace(/&quot;/g,'"');

            if ( theSiteLinks[theCurrentStory] != '' )
            {
                theTargetLink        = theSiteLinks[theCurrentStory];
                theTextObject.href   = theTargetLink;
            }

            thePrefix 	         = '<span style="font-weight: bold;">' + theLeadString + "</span>";

            theTextObject.innerHTML = thePrefix + '<span id="text_span">_</span>';

            theTextNode = document.getElementById ( 'text_span' ).firstChild;
        }

        // Stuff the current ticker text into the anchor

        var text = theStorySummary.substring(0,theCurrentLength) + whatWidget();

        theTextNode.nodeValue = text;

        // Modify the length for the substring and define the timer

        if(theCurrentLength != theStorySummary.length)
        {
    	    theCurrentLength++;
    	    myTimeout = theCharacterTimeout;
        }
        else
        {
    	    theCurrentLength = 0;
    	    myTimeout = theStoryTimeout;
        }

        // Call up the next cycle of the ticker

        running = setTimeout("runTheTicker()", myTimeout);
    }
}

// Widget generator

function whatWidget()
{
    if(theCurrentLength == theStorySummary.length)
        return theWidgetNone;

    return theWidgetOne;
}

// ticker anhalten

function stopTheTicker()
{
    theTickerStatus = "stopped";

    theImageObject.innerHTML =   '<a href="#" onclick="restartTheTicker()" title="startet den Ticker" accesskey="x" onfocus="restartTheTicker()" onkeypress="restartTheTicker()">'
                               + '<img src="/static/img/tool23_icons/tick_icon_trans.gif" class="play" alt="Ticker starten" />&nbsp;</a>';

    theTextObject.innerHTML  =  thePrefix + theStorySummary;
}

// ticker wieder anwerfen

function restartTheTicker()
{
    theTickerStatus = "started";

    theImageObject.innerHTML =   '<a href="#" onclick="stopTheTicker()" title="h&auml;lt den Ticker an" accesskey="x" onfocus="stopTheTicker()" onkeypress="stopTheTicker()">'
                               + '<img src="/static/img/tool23_icons/tick_icon_trans.gif" class="pause" alt="Ticker anhalten" />&nbsp;</a>';
    runTheTicker();
}
