﻿
function changeDirection(direction){
    var marquee = document.getElementById("mrq");
    marquee.direction = direction;
    
}
///////////////////////////////////////////
function changeStyle(id1,id2,on){
    var obj1 = document.getElementById(id1);
    var obj2 = document.getElementById(id2);
    if(on){
        obj1.className = obj1.className.replace("off","on");
        obj2.className = obj2.className.replace("off","on");
    }else{
         obj1.className = obj1.className.replace("on","off");
         obj2.className = obj2.className.replace("on","off");
    }
}
var direction = new Array();
var temporary = new Array();
var SCROLL_SIZE = "132";
////////////////////////////////////////////////////////////////////
//This do the real job (moves the ticker)
function move_ticker( tickerContent, speed, msg_start, msg_end, fname ) {
 
  var len = SCROLL_SIZE;
  var doc = document.getElementById("scroll");
  var dir = direction[fname];
  var mess =  document.getElementById(tickerContent).innerHTML;
    
  if (dir > 0) {
    if (1*msg_end >= mess.length) {
      mess = mess.substring(msg_start, mess.length) + mess.substring(0, msg_start);
      msg_start = 0;
      msg_end = 1*len;
    }
  } else {
    if (msg_start <= 0) {
      mess = mess.substring(1*msg_end, mess.length) + mess.substring(0, 1*msg_end);
      msg_start = mess.length - 1*msg_end;
      msg_end = mess.length;
    }
  }
  doc.value=mess.substring(msg_start, msg_end);
  msg_start+= dir;
  msg_end+= dir;
  window.setTimeout("move_ticker('"+tickerContent+"', "+speed+", "+msg_start+", "+msg_end+", '"+fname+"')", speed);
}

//This inits the ticker and starts the movement. Executed only once at startup time
function init_ticker(fname, tickerContent, speed, dir) {
   
    var len = SCROLL_SIZE;
    var content = document.getElementById(tickerContent);
    
    var mess = content.innerHTML;
     
    direction[fname] = dir;

  while (mess.length < 1*len) {
    mess = '' + mess + mess;
  }
 
  window.setTimeout("move_ticker('"+tickerContent+"', "+speed+", 0, "+len+", '"+fname+"')", speed);
}

//This switches the ticker´s state (stop or start)
function switch_ticker(fname) {
  if (direction[fname] != 0) {
    temporary[fname] = direction[fname];
    direction[fname] = 0;
  } else {
    direction[fname] = temporary[fname];
  }
}

//This restarts the movement after a stop
function start_ticker(fname) {
   direction[fname] = temporary[fname];
}

//This stops the ticker
function stop_ticker(fname) {
  temporary[fname] = direction[fname];
  direction[fname] = 0;
}

//This reverts the ticker´s direction
function revert_ticker(fname) {
  temporary[fname] = -temporary[fname];
  direction[fname] = -direction[fname];
}
