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;Just wanted to let you know, out of all the things that could have been a problem with our office move, our network was not one of them. Thanks to you both for all your efforts and getting us up and running. I have had no problems with the email/computer/network stuff. Excellent work!&quot;</em></p></div><br/><div style='color: #4E8D32;'><p>Capital Region Financial Group, Ester</p></div>";
fader.msg[2] = "<div><p><em>&quot;Your tech is always so professional; to the point and quiet. He is your stealth tech! Very easy to work with over the phone and in person. You've got a great crew, now that we've had the pleasure of everyone's visitation. He just left, we tested everything: H-A-P-P-Y!&quot;</em></p></div><br/><div style='color: #4E8D32;'><p>CRFG, <br />Ester Swisher</p></div>";
fader.msg[3] = "<div><p><em>&quot;Your tech listened to the problems, worked quietly and thoroughly running down the list of items we were still having issues with. She sniffed out 2 important non-working items that were impeeding us from doing business off-site. She didn't let go of the issue until it was resolved and moved on down her list resolving some new install aftermath on the stations to smooth workflow. Your tech was definitely needed on site today to work out these kinks and now we are hopeful for smooth computering.&quot;</em></p></div><br/><div style='color: #4E8D32;'><p>Ester Swisher, <br />Capital Region Financial Group</p></div>";
fader.msg[4] = "<div><p><em>&quot;I love your executive summary reports on the health of our network. Since we outsource our IT maintenance and don't necessarily hear about every little detail that goes on behind the scenes, it is nice to see a visual report of what is being taken care of so we can concentrate on running the business.&quot;</em></p></div><br/><div style='color: #4E8D32;'><p>Ester Swisher, CRFG</p></div>";
fader.msg[5] = "<div><p><em>&quot;Over the last ten years, Squaretree has demonstrated a valuable understanding of our needs as an aid to local commerce.&quot;</em></p></div><br/><div style='color: #4E8D32;'><p>Gary Brewer, <br />Sacramento Metro Chamber</p></div>";
fader.msg[6] = "<div><p><em>&quot;Thank you for your note. Everything is working fine. Thanks again for jumping in on Saturday to get us up and running. It is refreshing to work with a professional IT firm!&quot;</em></p></div><br/><div style='color: #4E8D32;'><p>John Beatty, <br />Hester Roofing</p></div>";
fader.msg[7] = "<div><p><em>&quot;Thank you for all of your help, you've done a great job for us. It gives me great comfort to know that I can be anywhere anytime (with a network connection) and still do everything I'd do at my office with such ease.&quot;</em></p></div><br/><div style='color: #4E8D32;'><p>Kim Parker, <br />California Employers Association</p></div>";
fader.msg[8] = "<div><p><em>&quot;Your engineer was awesome. She came in today, moved all of our servers, put up with us moving office furniture around her and even set up a new desktop station. All this in well under the time she had quoted us. We are thrilled.&quot;</em></p></div><br/><div style='color: #4E8D32;'><p>Kim Parker, CEA</p></div>";
fader.msg[9] = "<div><p><em>&quot;Squaretree has taken great care of our computers /IT needs for the past 3 years the staff is the best I have worked with. I would highly recommend their services.&quot;</em></p></div><br/><div style='color: #4E8D32;'><p>Paul Borra, <br />Cargonet</p></div>";
fader.msg[10] = "<div><p><em>&quot;Just wanted to let you know I am SOOOOO happy now. My computer works like it should, thanks for your help!!!!&quot;</em></p></div><br/><div style='color: #4E8D32;'><p>Stacy Albarran, <br />Carlson Logistics</p></div>";
fader.msg[11] = "<div><p><em>&quot;THANK YOU!!!  I submitted the form from my laptop and it worked fine. One more year down.  You are the best and I’m hoping with you that 'we' (you) won’t have to do this difficult process again! &quot;</em></p></div><br/><div style='color: #4E8D32;'><p>Diane Bauer <br />Timberworks Construction</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);
}

