var theItemCount;
var theCurrentStory;
var theCurrentLength;
var theCurrentTimeout;
var theStorySummary;
var theTargetLink;
var theCharacterTimeout;
var theStoryTimeout;
var theWidgetOne;
var theWidgetTwo;
var theStoryState;

// --- Only run for V4 browsers
function startTicker() {
  
  var theBrowserAgent = navigator.userAgent.toLowerCase();
  var theBrowserVersion = parseInt(navigator.appVersion);
  var isIE =  (((theBrowserAgent.indexOf("msie") != -1) || (theBrowserAgent.indexOf("firefox") != -1)) && (theBrowserAgent.indexOf("opera") == -1));
  
  if (theBrowserVersion < 4 || !isIE)
  {
//    return;
  }

  // ------ Set up initial values
  var oItemCount = document.getElementById("ticker_ItemCount");
  if (oItemCount)
  {
    theItemCount = oItemCount.innerHTML;
    if (theItemCount != '0')
    {
      theCharacterTimeout = 40;
      theStoryTimeout = 3000;
      theWidgetOne =  "_";
      theWidgetTwo =  "-";
      theStoryState = 1;
      theCurrentStory = -1;
      theCurrentLength = 0;

      // ------ Begin the ticker
      runTheTicker();   
    }
  }
}

// --- The basic rotate function
function runTheTicker()
{
  if (theStoryState == 1)
  {
    setupNextStory();
  }

  if (theCurrentLength != theStorySummary.length)
  {
    drawStory();
  }
  else
  {
    closeOutStory();
  }
}

// --- Index to next story
function setupNextStory()
{
    
  theStoryState = 0;
  theCurrentStory++;
  theCurrentStory = theCurrentStory % theItemCount;
  theCurrentTimeout = theStoryTimeout;

  var oHotText = document.getElementById("ticker_HotText");
  var oMessage = document.getElementById("ticker_Message" + theCurrentStory);
  var oLink = document.getElementById("ticker_Link" + theCurrentStory);
  var oStoryTimeout = document.getElementById("ticker_Timeout" + theCurrentStory);

  if (oMessage) {
    theCurrentLength = 0;
    theStorySummary = oMessage.innerHTML;
  }
  
  if (oHotText && oLink)
  {
    theTargetLink = oLink.innerHTML;
    if (theTargetLink == "")
    {
        theTargetLink = "#";
    }
    oHotText.href = theTargetLink;
  }
  if (oStoryTimeout)
  {
    theCurrentTimeout = parseInt(oStoryTimeout.innerHTML);
  }
}

// --- Draw a teletype line
function drawStory()
{
  var oHotText = document.getElementById("ticker_HotText");
  if (oHotText)
  {
    var myWidget = ((theCurrentLength % 2) == 1) ? theWidgetOne : theWidgetTwo;
    oHotText.innerHTML = theStorySummary.substring(0,theCurrentLength) + myWidget;
  }
  theCurrentLength++;
  setTimeout("runTheTicker()", theCharacterTimeout);
}

// --- Finalise the item

function closeOutStory()
{
  var oHotText = document.getElementById("ticker_HotText");
  if (oHotText)
  {
    oHotText.innerHTML = theStorySummary;
  }
  theStoryState = 1;
  if (theCurrentTimeout != 0)
  {
    setTimeout("runTheTicker()", theCurrentTimeout);
  }
}