function fadeObject(id, c1, c2, s1, s2) {
  var self = this;
  this.id      = id;
  this.elem    = false;
  this.colour  = {
    stt: [parseInt(c1.substr(0, 2), 16), parseInt(c1.substr(2, 2), 16), parseInt(c1.substr(4, 2), 16)],
    end: [parseInt(c2.substr(0, 2), 16), parseInt(c2.substr(2, 2), 16), parseInt(c2.substr(4, 2), 16)],
    now: [parseInt(c1.substr(0, 2), 16), parseInt(c1.substr(2, 2), 16), parseInt(c1.substr(4, 2), 16)]
  };
  this.steps   = [s1, s2];
  this.dir     = false;
  this.active  = false;
  this.queue   = [];
  this.msg     = [];
  this.message = 0;
  function d2h(num) {
    num = Math.round(num);
    return ((num < 16) ? "0" : "") + num.toString(16);
  }
  this.fade = function(message, direction) {
    this.elem = this.elem || document.getElementById(this.id);
    this.queue.push([message, direction]);
    for (var x = 0; x < this.queue.length; x++) {
      for (var y = x + 1; y < this.queue.length; y++) {
        if (this.queue[x][0] == this.queue[y][0] && this.queue[x][1] != this.queue[y][1]) {
          this.queue.splice(x, 1);
          this.queue.splice(y - 1, 1);
        }
      }
    }
    if (!this.active) setTimeout(function() { self.fadeLoop(); }, 10);
  };
  this.fadeLoop = function() {
    if (!this.active && this.queue.length) {
      if (this.dir && this.message != this.queue[0][0]) this.queue.unshift([this.message, false]);
      var msg = this.queue.shift();
      if (this.msg[msg[0]]) {
        this.active = true;
        this.elem.innerHTML = this.msg[this.message = msg[0]];
        this.dir = msg[1];
      }
    }
    if (this.dir) {
      var c1 = this.colour.stt, c2 = this.colour.end, s = this.steps[0];
    } else var c1 = this.colour.end, c2 = this.colour.stt, s = this.steps[1];
    for (var x = 0, cnow = "", inc = 0; x < 3; x++) {
      this.colour.now[x] += inc = (c2[x] - c1[x]) / s;
      cnow += this.colour.now[x] = (inc < 0) ? Math.max(this.colour.now[x], c2[x]) : Math.min(this.colour.now[x], c2[x]);
    } this.elem.style.color = "#" + d2h(this.colour.now[0]) + d2h(this.colour.now[1]) + d2h(this.colour.now[2]);
    if (cnow == c2.join("")) {
      this.active = false;
      if (!this.queue.length) {
        if (!this.dir) {
          if (this.msg[0]) {
            this.queue.push([0, true]);
            setTimeout(function() { self.fadeLoop(); }, 10);
          } else this.elem.innerHTML = "&nbsp;";
        }
      } else setTimeout(function() { self.fadeLoop(); }, 10);
    } else setTimeout(function() { self.fadeLoop(); }, 10);
  };
  if (window.addEventListener) {
    window.addEventListener('load', function() { self.fade(0, true); }, false); 
  } else if (window.attachEvent)
    window.attachEvent('onload', function() { self.fade(0, true); });
}
/* ***** End ********************************/




var fader = new fadeObject('rotateMsgBox', 'ffffff', '000000', 100, 100);
fader.msg[0] = ""; // LEAVE THIS BLANK!
fader.msg[1] = "<div><p><em>&quot;There is no way we could have had the most profitable month and quarter in the history of the company without the application Squaretree built.&quot;</em></p></div><br/><div style='color: #4E8D32;'><p>David Meyers, <br />ConSol</p></div>";
fader.msg[2] = "<div><p><em>&quot;The efforts of your team have greatly aided CDF in achieving what we feel were nearly impossible tasks given the time allotted.&quot;</em></p></div><br/><div style='color: #4E8D32;'><p>Department of Forestry &amp; Fire Protection</p></div>";
fader.msg[3] = "<div><p><em>&quot;Our sincere thanks to Squaretree, Inc. for outstanding performance on this project.&quot; </em></p></div><br/><div style='color: #4E8D32;'><p>Employment Development Department, <br />State of California</p></div>";
fader.msg[4] = "<div><p><em>&quot;[Web Application Support] I really enjoy working with you, you have a great turn around and have excellent service! &quot;</em></p></div><br/><div style='color: #4E8D32;'><p>Kim Parris, <br />Central California Appellate Program</p></div>";
fader.msg[5] = "<div><p><em>&quot;From requirements gathering through development, we were extremely impressed with Squaretree's highly professional project management and superior commitment to quality.&quot;</em></p></div><br/><div style='color: #4E8D32;'><p>Lynn Conner, <br />Parasec</p></div>";
fader.msg[6] = "<div><p><em>&quot;Squaretree's remarkable development team made us confident from the start of the project that we would finally get the mission critical application we needed. Not only are they technically proficient, but they took the time to listen to us and thoroughly understand our organization. These elements came together to create a product even better than we had envisioned.&quot;</em></p></div><br/><div style='color: #4E8D32;'><p>Mike Sturdivant, PCBC</p></div>";
fader.msg[7] = "<div><p><em>&quot;Squaretree has an excellent eye for value through technology. The Squaretree team helped my organization deliver significant business process return through enabling software. The team helped us implement our IT project with phenomonal ease, and we are still reaping the benefits of their work here.&quot;</em></p></div><br/><div style='color: #4E8D32;'><p>Pelco</p></div>";
fader.msg[8] = "<div><p><em>&quot;[Squaretree's] commitment to quality service and customer satisfaction makes me very confident in their ability to deliver great results.&quot;</em></p></div><br/><div style='color: #4E8D32;'><p>Matt Pease, <br />Microsoft Corporation</p></div>";
fader.msg[9] = "<div><p><em>&quot;Our sincere thanks to Squaretree, Inc. for outstanding performance on this project.&quot; </em></p></div><br/><div style='color: #4E8D32;'><p>Employment Development Department, <br />State of California</p></div>";
fader.msg[10] = "<div><p><em>&quot;Squaretree exceeded expectations. We have an outstanding tool that we can use. We work with dozens of vendors and thousands of attendees. This is a very complicated piece of software that is incredibly easy to use. We can easily create any type of reports we need. Squaretree is able to update the software as our business changes.&quot; </em></p></div><br/><div style='color: #4E8D32;'><p>Mike Sturdivant, <br />PCBC (Pacific Coast Builders Conference)</p></div>";

var fadePosition = Math.floor(Math.random() * fader.msg.length)+1;
var fadeTimeinSeconds = 10;
var firstFade = true;

function nextFade()
{
	if (firstFade)
	{
		firstFade = false;
		fader.fade(0, false);
	}
	if (fadePosition >= fader.msg.length)
		fadePosition = 1;
	fader.fade(fadePosition, true);
	fadePosition++;
	setTimeout("nextFade();", fadeTimeinSeconds * 1000);
}

