/* ***** Begin: GreyWyvern's Buffered Text-fade Effect - v2.2a ***** */

var fader = new Array(), fadeQ = new Array();
var RGB = new Array(256), k = 0, hex = ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];
for (var i = 0; i < 16; i++) for (var j = 0; j < 16; j++) RGB[k++] = hex[i] + hex[j];

var tempReg=null;


function fadeObj(number, id, colOff, colOn, spdIn, spdOut, def) {
  this.number = number;
  this.id = id;
  this.colOff = [parseInt(colOff.substr(0, 2), 16), parseInt(colOff.substr(2, 2), 16), parseInt(colOff.substr(4, 2), 16)];
  this.colOn = [parseInt(colOn.substr(0, 2), 16), parseInt(colOn.substr(2, 2), 16), parseInt(colOn.substr(4, 2), 16)];
  this.colNow = [parseInt(colOff.substr(0, 2), 16), parseInt(colOff.substr(2, 2), 16), parseInt(colOff.substr(4, 2), 16)];
  this.spdIn = spdIn;
  this.spdOut = spdOut;
  this.def = def;
  this.direction = false;
  this.active = false;
  this.message = new Array();
  this.messageNow = 0;
}

function fadeCmd(number, message, direction) {
  this.number = number;
  this.message = message;
  this.direction = direction;
}

function fade(number, message, direction) {
  if (fader[number].def && fader[number].messageNow == 0 && fader[number].direction) {
    fadeQ[fadeQ.length] = new fadeCmd(number, 0, false);
    fadeQ[fadeQ.length] = new fadeCmd(number, message, direction);
    message = 0;
    direction = false;
  } else fadeQ[fadeQ.length] = new fadeCmd(number, message, direction);
  setTimeout(function() { fadeBegin(number); }, 20);
}

function fadeBegin(number) {
  for (var x = 0; x < fadeQ.length; x++) {
    for (var y = x + 1; y < fadeQ.length; y++) {
      if (fadeQ[x].number == fadeQ[y].number && fadeQ[x].message == fadeQ[y].message && fadeQ[x].direction != fadeQ[y].direction) {
        fadeQ.splice(x, 1);
        fadeQ.splice(y - 1, 1);
      }
    }
  }
  if (!fader[number].active) {
    for (var x = 0; x < fadeQ.length; x++) {
      if (fadeQ[x].number == number && fadeQ[x].direction != fader[number].direction) {
        var del = fadeQ.splice(x, 1);
        setTimeout(function() { fadeEng(number, del[0].message, del[0].direction); }, 0);
        break;
      }
    }
  }
}

function fadeEng(number, message, direction) {
  if (!fader[number].active) {
    fader[number].active = true;
    fader[number].direction = direction;
    fader[number].messageNow = message;
    document.getElementById(fader[number].id).innerHTML = fader[number].message[message];
  }
  var iniCol = (direction) ? fader[number].colOff : fader[number].colOn;
  var endCol = (direction) ? fader[number].colOn : fader[number].colOff;
  var incCol = fader[number].colNow;
  var spd = (direction) ? fader[number].spdIn : fader[number].spdOut;
  for (var x = 0; x < 3; x++) {
    var incr = (endCol[x] - iniCol[x]) / spd;
    incCol[x] = (incr < 0) ? Math.max(incCol[x] + incr, endCol[x]) : Math.min(incCol[x] + incr, endCol[x]);
  }
  document.getElementById(fader[number].id).style.color = "#" + RGB[parseInt(incCol[0])] + RGB[parseInt(incCol[1])] + RGB[parseInt(incCol[2])];
  if (incCol[0] == endCol[0] && incCol[1] == endCol[1] && incCol[2] == endCol[2]) {
    fader[number].active = false;
    for (var x = 0; x < fadeQ.length; x++) {
      if (fadeQ[x].number == number) {
        var del = fadeQ.splice(x, 1);
        setTimeout(function() { fadeEng(number, del[0].message, del[0].direction); }, 0);
        return false;
      }
    }
    if (!direction) {
      if (fader[number].def) {
        setTimeout(function() { fadeEng(number, 0, true); }, 0);
      } else document.getElementById(fader[number].id).innerHTML = "&nbsp;";
    }
  } else setTimeout(function() { fadeEng(number, message, direction); }, 0);
}

/* ***** End: GreyWyvern's Buffered Text-fade Effect - v2.2a ******* */


function throbFade1() {
	fade(1, Math.floor(throbStep1 / 2), (throbStep1 % 2) ? false : true);
	setTimeout("throbFade1();", (throbStep1 % 2) ? 2000 : 12000);
	if (++throbStep1 > fader[1].message.length * 2 - 1) throbStep1 = 0;
}

function throbFade2() {
	fade(2, Math.floor(throbStep2 / 2), (throbStep2 % 2) ? false : true);
	setTimeout("throbFade2();", (throbStep2 % 2) ? 2000 : 12000);
	if (++throbStep2 > fader[2].message.length * 2 - 1) throbStep2 = 0;
}
function throbFade3() {
	fade(3, Math.floor(throbStep3 / 2), (throbStep3 % 2) ? false : true);
	setTimeout("throbFade3();", (throbStep3 % 2) ? 2000 : 12000);
	if (++throbStep3 > fader[3].message.length * 2 - 1) throbStep3 = 0;
}
function throbFade4() {
	fade(4, Math.floor(throbStep4 / 2), (throbStep4 % 2) ? false : true);
	setTimeout("throbFade4();", (throbStep4 % 2) ? 2000 : 12000);
	if (++throbStep4 > fader[4].message.length * 2 - 1) throbStep4 = 0;
}

fader[10] = new fadeObj(10, 'fade10', '222222', 'EEEEEE', 40, 40, false);
fader[10].message[0] = "Reliability,  ";

fader[11] = new fadeObj(11, 'fade11', '222222', 'EEEEEE', 40, 40, false);
fader[11].message[0] = " Efficiency,  ";

fader[12] = new fadeObj(12, 'fade12', '222222', 'EEEEEE', 40, 40, false);
fader[12].message[0] = " Precision . . .  ";

fader[13] = new fadeObj(13, 'fade13', '222222', 'EEEEEE', 40, 40, false);
fader[13].message[0] = " Values of the Machine.";

fader[14] = new fadeObj(14, 'fade14', '222222', 'EEEEEE', 40, 40, false);
fader[14].message[0] = "Companies worldwide profit from the unique advantages that machines deliver.";

fader[15] = new fadeObj(15, 'fade15', '222222', 'EEEEEE', 40, 40, false);
fader[15].message[0] = "Now put one to work for you.";

fader[1] = new fadeObj(1, 'fade1', '333333', '777777', 40, 40, false);
fader[1].message[0] = "Do your project photos convey the quality of your <br />multi-million dollar warehouse?";
fader[1].message[1] = "Is your brochure completely outdated, <br />but you lack the time to write new content?";
fader[1].message[2] = "Does your website generate<br />more frustration than excitement?";
fader[1].message[3] = "Would you describe your marketing materials <br />as both 'engaging' <strong>and</strong> 'compelling'?";
/* fader[1].message[4] = "Do your clients regularly inquire in anticipation<br />of your <strong>next</strong> marketing campaign?"; */

fader[2] = new fadeObj(2, 'fade2', '333333', '777777', 40, 40, false);
fader[2].message[0] = "Isn't it time you redefined the market's view of your company?";
fader[2].message[1] = "Will your current marketing program<br />reach enough prospects to fulfill your leasing goals?";
fader[2].message[2] = "Have you reaped a high return on your marketing investment?";
fader[2].message[3] = "How do you stack up to your competition?";

fader[3] = new fadeObj(3, 'fade3', '333333', '777777', 40, 40, false);
fader[3].message[0] = "Is a realistic image of your development required before project approval?";
fader[3].message[1] = "Do you need a new brochure or memorable giveaways<br /> for an upcoming trade show?";
fader[3].message[2] = "Have you considered your website could be a powerful tool<br />to display your portfolio and encourage leads?";
fader[3].message[3] = "Is your logo out-of-date?";

fader[4] = new fadeObj(4, 'fade4', '333333', '777777', 40, 40, false);
fader[4].message[0] = "Would you send more direct mail campaigns if someone else<br />handled the project for you... from planning to delivery?";
fader[4].message[1] = "Do your postcards seem dull, smudged, or flimsy upon receipt?";
fader[4].message[2] = "Has a low-res image ever cheapened your thousand dollar ad campaigns?";
fader[4].message[3] = "Were you dissatisfied with the print quality of your last brochure,<br />but worried higher quality would break your budget?";




var throbStep1 = 0;
var throbStep2 = 0;
var throbStep3 = 0;
var throbStep4 = 0;



