
var item=new Array()
item[0]=""
item[1]=""


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 Array();


var hash = new Array();
function throb(item) {

  // If the hash array does not have an entry for this item, initialise it at 2
  if (!hash[item]) hash[item] = 2;

  // Send a fade command, using the hash array to tell us what parameters we should use
  fader[item].fade(Math.floor(hash[item] / 2), !(hash[item] % 2));

  // Call this function again for this same item after a certain amount of time
  setTimeout(function() { throb(item); }, (hash[item] % 2) ? 100 : 3000);

  // If we have exceeded the number of messages in this fader, start over again at 2
  if (++hash[item] > fader[item].msg.length * 2 - 1) hash[item] = 2;
}

fader[2] = new fadeObject('fade2', 'bbbbbb', '333333', 30, 30);
/*fader[2].msg[1] = "I just wanted to let you know how pleased we are with the new website and with your service. It's obvious that VAPS Technosoft takes great pride in the work and really care about their clients...<br /> <div><strong>- Cyn@Press</strong></div>";*/
fader[2].msg[1] = "I just wanted to let you know how pleased we are with the software and with your service. It's obvious that VAPS Technosoft takes great pride...<br /> <div><strong>- Baldwin</strong></div>";
fader[2].msg[2] = "I am writing to express my extreme gratitude for the excellent service your company has provided our company with over the last few months.<br /><div><strong>- MMC </strong></div>";
fader[2].msg[3] = "These guys are great. We used them for testing an application we created and was very impressed with their. Would recommended, and will use again.<br /><div><strong>- BMC</strong></div>";

fader[3] = new fadeObject('fade3', 'ffffff', 'ffffff', 30, 30);
/*fader[2].msg[1] = "I just wanted to let you know how pleased we are with the new website and with your service. It's obvious that VAPS Technosoft takes great pride in the work and really care about their clients...<br /> <div><strong>- Cyna@Tuess</strong></div>";*/
fader[3].msg[1] = "<p align='center'><a href='http://www.vapstech.com/' target='_blank' rel='nofollow'><img src='images/microsoft_offixo.jpg' alt='' width='175' height='120' border='0' /></a></p><p><strong>Project</strong>: <a href='http://www.vapstech.com/' target='_blank' rel='nofollow'>Media</a></p><p><strong>Description</strong>: Online publishing system for a leading Real.</p>";
fader[3].msg[2] = "<p align='center'><a href='http://www.vapstech.com' target='_blank' rel='nofollow'><img src='images/open_source_xii.jpg' alt='American Chamber of Commerce (ACCJ)' width='175' height='120' border='0' /></a></p><p><strong>Project</strong>: <a href='http://www.vapstech.com' target='_blank' rel='nofollow'>American Chamber of Commerce</a></p><p><strong>Description</strong>: CMS, Ad management, Articles, Members area.</p>";
fader[3].msg[3] = "<p align='center'><a href='http://www.vapstech.com/' target='_blank' rel='nofollow'><img src='images/superpilatis.jpg' alt='Software Development' width='175' height='120' border='0' /></a></p><p><strong>Project</strong>: <a href='http://www.vapstech.com/' target='_blank' rel='nofollow'>Control Systems.</a></p><p><strong>Description</strong>: Brochureware site</p>";

// Start this fader
setTimeout(function() { throb(2); }, 1000);
setTimeout(function() { throb(3); }, 1000);
