var start = true;
var rtl = false;
var speed = 1;
var tickerPos = 0;
var ticker;
var tempArr = new Array;
var reload = 0;

function tickerStart(id){
  var supported = false;

  /*
   * get ticker values:
   * content [0]
   * content width [1]
   * ticker width [2]
  */
  tickerValueArr = getTickerContent(id);

  var spacer = "<div style='width:"+ tickerValueArr[2] +"px;height:5px;float:left;'>&nbsp;</div>";

  var content = "<div id='tickerInline'>";
  content += tickerValueArr[0];
  content += "</div>";

  contentWidth = tickerValueArr[1] + 2 * tickerValueArr[2];

  ticker.scrollLeft = 0;

  // Ticker HTML
  // Firefox
  if (navigator.userAgent.indexOf("Firefox")!=-1 || navigator.userAgent.indexOf("Safari")!=-1) {
    ticker.innerHTML = "<div id='tickerScroll' style='width:"+ contentWidth +"px;'><table cellspacing='0' cellpadding='0' width='100%'><tr><td nowrap='nowrap'><span style='padding:0;' ID='TICKER_BODY' width='100%'>&nbsp;</span></td></tr></table></div>";
    supported = true;
  }
  // IE
  if (navigator.userAgent.indexOf("MSIE")!=-1 || navigator.userAgent.indexOf("Opera")!=-1) {
    ticker.innerHTML = "<div id='tickerScroll' style='width:"+ contentWidth +"px;'><div nowrap='nowrap' style='width:100%;'><span style='padding:0;' ID='TICKER_BODY' width='100%'>&nbsp;</span></div></div>";
    supported = true;
  }
  if(!supported){
    ticker.innerHTML = "<div id='tickerScroll' style='width:"+ contentWidth +"px;'><div nowrap='nowrap' style='width:100%;'><span style='padding:0;' ID='TICKER_BODY' width='100%'>&nbsp;</span></div></div>";
  }
  else{
    ticker.scrollLeft = rtl ? ticker.scrollWidth - tickerValueArr[2] : 0;
    document.getElementById("TICKER_BODY").innerHTML = content;
    tickerShow();
  }

}

function getTickerContent(id){
  returnArr = new Array;
  copyArr = new Array;
  ticker = document.getElementById("newsTicker" + id);
  tickerArr = document.getElementById("ticker" + id).getElementsByTagName("li");
  var tickerWidth = ticker.offsetWidth;
  var doubleTickerWidth = tickerWidth + tickerWidth;
  var tickerContentWidth = 0;
  var tickerContent = "";

  //css
  ticker.style.overflow = "hidden";
  ticker.style.height = "26px";

  for(var i = 0; i < tickerArr.length; i++){
    tickerArr[i].style.cssFloat = "left";
    tickerArr[i].style.styleFloat = "left";
    link = tickerArr[i].getElementsByTagName("a");
    for(var j = 0; j < link.length; j++){
      link[j].style.cssFloat = "left";
      link[j].style.styleFloat = "left";
    }
    tickerContentWidth += tickerArr[i].offsetWidth;
    tickerContent += tickerArr[i].innerHTML;
    if(i < tickerArr.length){
      tickerContent += "<span>+++</span>";
      tickerContentWidth += 4;
    }
    reload = tickerContentWidth;
  }

  copyArr = copyTickerContent(doubleTickerWidth, tickerContentWidth, tickerContentWidth, tickerContent, tickerContent, tempArr);

  tickerContentWidth = copyArr[0];
  tickerContent = copyArr[1];

  returnArr[0] = tickerContent;
  returnArr[1] = tickerContentWidth;
  returnArr[2] = tickerWidth;

  //double
  returnArr[0] += returnArr[0];
  tickerContentWidthHalf = returnArr[1];
  returnArr[1] += returnArr[1];

  return returnArr;
}

function copyTickerContent(doubleTickerWidth, tickerContentWidth, tickerContentWidthSingle, tickerContent, tickerContentSingle, tempArr){
  if(doubleTickerWidth > tickerContentWidth){
    tickerContent += tickerContentSingle;
    tickerContentWidth += tickerContentWidthSingle;
    tempArr[0] = tickerContentWidth;
    tempArr[1] = tickerContent;
    copyTickerContent(doubleTickerWidth, tickerContentWidth, tickerContentWidthSingle, tickerContent, tickerContentSingle, tempArr);
  }

  return tempArr;
}

function tickerShow(){
  if(start) ticker.scrollLeft += speed * (rtl ? -1 : 1);
  if(ticker.scrollLeft == reload) ticker.scrollLeft = 0;
  if(rtl && ticker.scrollLeft <= 0) ticker.scrollLeft = ticker.scrollWidth - ticker.offsetWidth;
  if(!rtl && ticker.scrollLeft >= ticker.scrollWidth - ticker.offsetWidth) ticker.scrollLeft = 0;
  window.setTimeout("tickerShow()", 30);
}
