var INFO_MAX_DISPLAY_QUEUE = 100;
var INFO_MAX_DISPLAY_ARRAY = 2;
var INFO_ROLLING_HEIGHT = 20;
var INFO_ROLLING_SPEED = 50;
var INFO_ROLLING_SPEED_G = 5000;

var info_queue = new Queue();

var info_array = new Array();

var info_time = -1;

var info_display_array = new Array();

function InfoObject (url, title, summary, source, docdate) {
  this.url = url;
  this.title = title;
  this.summary = summary;
  this.source = source;
  this.docdate = docdate;
}

function UpdateInfoFeed (showArrName, feedArr, que, type) {
  if (feedArr.length > 0) {
    for (var i = feedArr.length -1 ; i >= 0; i--) {
      if (que.getSize() >= INFO_MAX_DISPLAY_QUEUE) {
        que.dequeue();
      }
      que.enqueue(feedArr[i]);
    }
  }
  var obj = document.getElementById(type+"_content");
  if (obj != null) {
    var text = obj.innerHTML;
    if (text.length == 0) {
      var command1 = showArrName + ' = UpdateInfoDisplay(' + showArrName + ', que, type)';
      eval(command1);
    }
  }
}

function UpdateInfoDisplay (showArr, que, type) {
  var showArr1 = showArr;
  if (que.getSize() > 0) {
    showArr1 = new Array();
    var count = 0;
    for (var i = 1; i < showArr.length; i++) {
      showArr1[count] = showArr[i];
      count++;
    }
    if (showArr.length == 0 && INFO_MAX_DISPLAY_ARRAY > 1) {
      showArr1[0] = que.dequeue();
      showArr1[1] = showArr1[0];
      count = count + 2;
    }
    for (var i = count; i < INFO_MAX_DISPLAY_ARRAY; i++) {
      showArr1[i] = que.dequeue();
    }
    showInfoDisplay(showArr1, type);
  }
  return showArr1;
}

function showInfoDisplay (showArr, type) {
  var dis = "";
  for (var i = showArr.length - 1; i >= 0; i--) {
    dis += "<a class=\"rollingtitle\" href=\""+showArr[i].url+"\" target=\"_blank\">"+showArr[i].title+"</a><br>";
  }
  var obj = document.getElementById(type+"_content");
  var isEmpty = false;
  if (obj != null) {
    if (obj.innerHTML.length == 0) {
      isEmpty = true;
    }
    obj.innerHTML = dis;
  }
  if (! isEmpty) {
    marqueeInfo(INFO_ROLLING_HEIGHT,INFO_ROLLING_SPEED,type);
  }
}

function marqueeInfo(height,speed,type){
  var scrollT;
  var ScrollBox = document.getElementById(type+"_scrollbox");
  if (ScrollBox != null) {
    if (navigator.userAgent.indexOf("Firefox") != -1) {
      ScrollBox.scrollTop = ScrollBox.scrollHeight;
    } else {
      ScrollBox.scrollTop = ScrollBox.style.pixelHeight;
    }
    function start(){
      scrollT = setInterval(scrolling,speed);
      ScrollBox.scrollTop -= 1;
    }
    function scrolling() {
      if(ScrollBox.scrollTop % height != 0) {
        ScrollBox.scrollTop -= 1;
      } else {
        clearInterval(scrollT);
      }
    }
    start();
  }
}

function refreshInfo(langCode) {
  ajax_loadContent('info_js','info_feed.html?lang='+langCode);
}

function triggerInfo(langCode) {
  info_display_array = UpdateInfoDisplay(info_display_array, info_queue, "info");
  if (info_queue.getSize() == 0) {
    refreshInfo(langCode);
  }
}

function showInfo(langCode) {
  ajax_loadContent('info_js','info_feed.html?lang='+langCode);
  setInterval("triggerInfo('"+langCode+"')",INFO_ROLLING_SPEED_G);
}
