/* General purpose ====================================================================== */
function getObject(elemID) {
  var elem = null;
  if (document.all) {
    elem = document.all(elemID);
  } else if (document.getElementById) {
    elem = document.getElementById(elemID);
  }
  return elem;
}

/* Blinking ============================================================================= */
var GlobalStyle = "normal";
var GlobalBlinkCount = 0;
function setStyle(elemID){
  var elem = null;
  if (document.all){
    elem = document.all(elemID);
  }else if (document.getElementById){
    elem = document.getElementById(elemID);
  }
  if (elem && elem.style){
    elem.style.fontStyle = GlobalStyle;
    return true;
  }else{
    return false;
  }
}

function Blink(){
  // toggle between normal and italic
  if ("normal" == GlobalStyle){
    GlobalStyle = "italic";
  }else{
    GlobalStyle = "normal";
  }
  
  GlobalBlinkCount = GlobalBlinkCount + 1;
  if (GlobalBlinkCount > 3)
  return;
  
  // loop over all possible elements on the page
  var i = 1;
  while (true == setStyle("cssBlink"+i.toString())){
    i++;
  }
  if (i > 1){
    // come again in 1 second
    window.setTimeout("Blink()",1000);
  }
}

function initWebPblHome() {
  if (true == setStyle("cssBlink1")){
    // only start timer when at least one element on the page
    window.setTimeout("Blink()",1000);
  }
}

/* Ticker =============================================================================== */
var CharMax = 65;
var arrTick = new Array({ Text: '1234567890', Length: 0, Offset: 0, Chars: 0 });
var seqHtml = '';
var countVisible = 0;

function fill(n) {
 var empty_chars = "";
 for(var i = 0; i < n; ++i){
   empty_chars += " ";
 }
 return(empty_chars);
}

//function show_ticker() {
//  if (0 != arrTick[0].Length) {
//    if (arrTick[0].Offset + 1 == arrTick[0].Length) {
//      arrTick[0].Offset = 0;
//      arrTick[0].Chars = 0;
//    } else {
//      if (arrTick[0].Chars < CharMax) {
//        if (arrTick[0].Chars < arrTick[0].Length) {
//          arrTick[0].Chars++;
//        } else {
//          arrTick[0].Offset++;
//        }
//      } else {
//        arrTick[0].Offset++;
//      }
//    }
//    document.getElementById("ticker").innerHTML = arrTick[0].Text.substr(arrTick[0].Offset, arrTick[0].Chars);
//    window.setTimeout("show_ticker()", 175);
//  }
//}

function show_ticker() {
  if (0 != arrTick[0].Length) {
    if (arrTick[0].Offset + 1 == arrTick[0].Length) {
      arrTick[0].Offset = 0;
      arrTick[0].Chars = 0;
      seqHtml = '';
      countVisible = 0;
    } else {
      if (countVisible < CharMax) {
        // keeping the offset and growing the text-length
        if (arrTick[0].Chars < arrTick[0].Length) {
          arrTick[0].Chars++;
          countVisible++;
          // an HTML-sequence is outputted at once (otherwise broken HTML)
          if ('<' == arrTick[0].Text[arrTick[0].Chars]) {
            do {
              arrTick[0].Chars++;
            } while ('>' != arrTick[0].Text[arrTick[0].Chars]);
            arrTick[0].Chars++;
          }
        } else {
          // move offset => thus scrolling the text
          arrTick[0].Offset++;
          if ('<' == arrTick[0].Text[arrTick[0].Offset]) {
            // an HTML-sequence is scrolled at once and appended to an insert-string
            do {
              seqHtml += arrTick[0].Text[arrTick[0].Offset];
              arrTick[0].Offset++;
              arrTick[0].Chars--;
            } while ('>' != arrTick[0].Text[arrTick[0].Offset]);
            seqHtml += arrTick[0].Text[arrTick[0].Offset];
            arrTick[0].Offset++;
            arrTick[0].Chars--;
          }
        }
      } else {
        // move offset => thus scrolling the text
        arrTick[0].Offset++;
        if ('<' == arrTick[0].Text[arrTick[0].Offset]) {
          // an HTML-sequence is scrolled at once and appended to an insert-string
          do {
            seqHtml += arrTick[0].Text[arrTick[0].Offset];
            arrTick[0].Offset++;
            arrTick[0].Chars--;
          } while ('>' != arrTick[0].Text[arrTick[0].Offset]);
          seqHtml += arrTick[0].Text[arrTick[0].Offset];
          arrTick[0].Offset++;
          arrTick[0].Chars--;
        }
      }
    }
    document.getElementById("ticker").innerHTML = seqHtml + arrTick[0].Text.substr(arrTick[0].Offset, arrTick[0].Chars);
    window.setTimeout("show_ticker()", 175);
  }
}

