// ***** Sample scroller #1
var scroll1 = new scrollObject("scr1", 450, 100, "up", 4000, 1.15);
    scroll1.block[0] = "The <em>experience</em> you need<br />The <em>quality</em> you deserve.";
    scroll1.block[1] = "Because your time is valuable.";
    scroll1.block[2] = "We are dedicated to outstanding customer service.";
    scroll1.block[3] = "We offer a full range of fee-based services, designed to give you the time you deserve to enjoy a more fulfilling lifestyle.";



// ***** Sample scroller #2
var scroll2 = new scrollObject("scr2", 468, 60, "left", 3000, 1.5);
    scroll2.block[0] = '<a href="http://www.greywyvern.com"><span style="font:bold 200% fantasy;">Visit GreyWyvern.com!</span></a>';
    scroll2.block[1] = '<a href="http://www.greywyvern.com/orca"><strong>Home of the Orca Scripts!</strong></a>';
    scroll2.block[2] = '<a href="http://www.greywyvern.com"><img src="http://www.greywyvern.com/img/jpg/bannerorca468x60.jpg" border="0"></a>';


/* *****
 * Instead of using the onload attribute of the <body> tag, you can
 * also start your scrollers this way.
 *
 */
window.onload = function() {
  scroll1.scroll();
  scroll2.scroll();
}




/* ********************************************************************
 * The Mighty ScrollObject
 *   - Don't edit this if you know what's good for ya!
 *
 */
function scrollObject(main, width, height, direct, pause, speed) {
  var self = this;
  this.main = main;
  this.width = width;
  this.height = height;
  this.direct = direct;
  this.pause = pause;
  this.speed = Math.max(1.001, Math.min((direct == "up" || direct == "down") ? height : width, speed));
  this.block = new Array();
  this.blockprev = this.offset = 0;
  this.blockcurr = 1;
  this.mouse = false;
  this.scroll = function() {
    if (!document.getElementById) return false;
    this.main = document.getElementById(this.main);
    while (this.main.firstChild) this.main.removeChild(this.main.firstChild);
    this.main.style.overflow = "hidden";
    this.main.style.position = "relative";
    this.main.style.width = this.width + "px";
    this.main.style.height = this.height + "px";
    for (var x = 0; x < this.block.length; x++) {
      var table = document.createElement('table');
          table.cellPadding = table.cellSpacing = table.border = "0";
          table.style.position = "absolute";
          table.style.left = table.style.top = "0px";
          table.style.width = this.width + "px";
          table.style.height = this.height + "px";
          table.style.overflow = table.style.visibility = "hidden";
        var tbody = document.createElement('tbody');
          var tr = document.createElement('tr');
            var td = document.createElement('td');
                td.innerHTML = this.block[x];
              tr.appendChild(td);
            tbody.appendChild(tr);
          table.appendChild(tbody);
      this.main.appendChild(this.block[x] = table);
    }
    if (this.block.length > 1) {
      this.main.onmouseover = function() { self.mouse = true; }
      this.main.onmouseout = function() { self.mouse = false; }
      setInterval(function() {
        if (!self.offset && self.scrollLoop()) self.block[self.blockcurr].style.visibility = "visible";
      }, this.pause);
    } this.block[this.blockprev].style.visibility = "visible";
  }
  this.scrollLoop = function() {
    if (!this.offset) {
      if (this.mouse) return false;
      this.offset = (this.direct == "up" || this.direct == "down") ? this.height : this.width;
    } else this.offset = Math.floor(this.offset / this.speed);
    if (this.direct == "up" || this.direct == "down") {
      this.block[this.blockcurr].style.top = ((this.direct == "up") ? this.offset : -this.offset) + "px";
      this.block[this.blockprev].style.top = ((this.direct == "up") ? this.offset - this.height : this.height - this.offset) + "px";
    } else {
      this.block[this.blockcurr].style.left = ((this.direct == "left") ? this.offset : -this.offset) + "px";
      this.block[this.blockprev].style.left = ((this.direct == "left") ? this.offset - this.width : this.width - this.offset) + "px";
    }
    if (!this.offset) {
      this.block[this.blockprev].style.visibility = "hidden";
      this.blockprev = this.blockcurr;
      if (++this.blockcurr >= this.block.length) this.blockcurr = 0;
    } else setTimeout(function() { self.scrollLoop(); }, 30);
    return true;
  }
}