var ticker;

function startTicker()
{
    // Define run time values
    theCurrentStory     = -1;
    theCurrentLength    =  0;

    // Locate base objects
    if ( document.getElementById )
    {
        theImageObject      = document.getElementById( "imageAnchor" );
        theTextObject       = document.getElementById( "textAnchor" );

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


// Ticker main run loop
function runTheTicker()
{
    if ( theTickerStatus == 1 )
    {
        // Go for the next story data block
        if( theCurrentLength == 0 )
        {
            theCurrentStory++;
            theCurrentStory      = theCurrentStory % theItemCount;
            theStorySummary      = theSummaries[theCurrentStory].replace(/&quot;/g,'"');
            theTargetLink        = theSiteLinks[theCurrentStory];
            theTextObject.href   = theTargetLink;
            theTextObject.title  = theTargetLink;
            thePrefix 	         = '<span style="font-weight:bold">' + theLeadString + "</span>";
        }

        // Stuff the current ticker text into the anchor
        theTextObject.innerHTML = thePrefix +
                                  theStorySummary.substring(0,theCurrentLength) + whatWidget();

        // Modify the length for the substring and define the timer
        if( theCurrentLength != theStorySummary.length )
        {
    	    theCurrentLength++;
    	    var myTimeout = theCharacterTimeout;
        }
        else
        {
    	    theCurrentLength = 0;
    	    var myTimeout = theStoryTimeout;
        }

        // Call up the next cycle of the ticker
        ticker = setTimeout( "runTheTicker()", myTimeout );
    }
}


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

    else if( ( theCurrentLength % 2 ) == 1 )
      return theWidgetOne;

    else
      return theWidgetTwo;
}


// ticker anhalten
function stopTheTicker()
{
    theTickerStatus = 0;
    clearTimeout( ticker );

    theTickerContent = document.getElementById( "ticker_content" );

    theTickerContent.className = "static";

    var theTickerContentList = "";

    theTickerContentList = "<ul>";

    for( i = 0; i < theSummaries.length; i++ )
    {
      theTickerContentList  +=  "<li><a href='" + theSiteLinks[i] + "'>" + theSummaries[i] + "</a></li>";
    }

    theTickerContentList += "</ul>";

    theTickerContent.innerHTML = theTickerContentList;
}


// ticker wieder anwerfen
function restartTheTicker()
{
    theTickerStatus = 1;
    clearTimeout( ticker );

    theCurrentLength = 0;

    theTickerContent = document.getElementById( "ticker_content" );
    theTickerContent.className = "dynamic";

    theTickerContent.innerHTML = "";
    theTickerContent.innerHTML = "<a id='textAnchor' href='#' target='_top' onfocus='stopCurrentItem()' onblur='restartCurrentItem()' onmouseover='stopCurrentItem()' onmouseout='restartCurrentItem()'>&nbsp;</a>";

    // objekte wieder initialisieren
    theImageObject      = document.getElementById( "imageAnchor" );
    theTextObject       = document.getElementById( "textAnchor" );

    runTheTicker();
}

// stoppt die animation und zeigt die aktuelle Meldung ganz an
function stopCurrentItem()
{
  theTickerStatus = 0;
  clearTimeout( ticker );

  theTextObject.innerHTML = thePrefix +
                            theStorySummary;

}

// wirft die animatin wieder an
function restartCurrentItem()
{
    theTickerStatus = 1;
    clearTimeout( ticker );

    theCurrentLength = 0;
    runTheTicker();

}
