
function Ticker(name, id, shiftBy, interval){
  this.name     = name;
  this.id       = id;
  this.shiftBy  = shiftBy ? shiftBy : 1;
  this.interval = interval ? interval : 100;
  this.runId    = null;
  this.div = document.getElementById(id);

  var node = this.div.firstChild;
  var next;

  while(node){
    next = node.nextSibling;
    if (node.nodeType == 3)
    this.div.removeChild(node);
    node = next;
  }

  this.left = 0;
  this.shiftLeftAt = this.div.firstChild.offsetWidth;
  this.div.style.height	= this.div.firstChild.offsetHeight;
  this.div.style.width = 2 * screen.availWidth;
  this.div.style.visibility = 'visible';
}

function startTicker(){
  this.stop();

  this.left -= this.shiftBy;

  if (this.left <= -this.shiftLeftAt){
    this.left = 0;
    this.div.appendChild(this.div.firstChild);
    this.shiftLeftAt = this.div.firstChild.offsetWidth;
  }

  this.div.style.left = (this.left + 'px');
  this.runId = setTimeout(this.name + '.start()', this.interval);
}

function stopTicker(){
  if (this.runId)
  clearTimeout(this.runId);
  this.runId = null;
}

function changeTickerInterval(newinterval){
  if (typeof(newinterval) == 'string')
  newinterval =  parseInt('0' + newinterval, 10);
  if (typeof(newinterval) == 'number' && newinterval > 0)
  this.interval = newinterval;
  this.stop();
  this.start();
}

Ticker.prototype.start = startTicker;
Ticker.prototype.stop = stopTicker;
Ticker.prototype.changeInterval = changeTickerInterval;

// style
document.open();
document.write('<style type=\"text/css\">');
document.write('.tickertext{vertical-align:middle;}');
document.write('.tickermain{position:relative;width:760px;height:14px;overflow:hidden;}');
document.write('.ticker{position:relative;visibility:hidden;left:0px;top:0px;vertical-align:middle;}');
document.write('</style>')
document.close();

// content
var textcontent;
var i = 0;
textcontent="";
for (i = 0; i <= 15; i++){
	if (news[i]==null) break;
	textcontent += '&nbsp;&nbsp;'+news[i]+'&nbsp;&nbsp;&nbsp;<b>++</b>&nbsp;'
}
m=textcontent;

var ticker = null;
var speed = 4;
var ts = speed*7;

function init(){
  ticker = new Ticker('ticker', 'tickerID', 1, ts);
  ticker.start();
}

document.open();
document.write('<div class="tickermain">');
document.write('<div class="ticker" id="tickerID" onMouseOver="ticker.stop();" onMouseOut="ticker.start();">');
document.write('<nobr>');
document.write(m+m+m+m+m+m+m+m);
document.write('</nobr>');
document.write('</div>');
document.write('</div>');
document.close();

init();
