var fader = new Array(), fadeQ = new Array(); var textx = 0; 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]; function get_random() { var ranNum= Math.floor(Math.random()*18); return ranNum; } 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("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("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("fadeEng(" + number + ", " + del[0].message + ", " + del[0].direction + ");", 0); return false; } } if (!direction) { if (fader[number].def) { setTimeout("fadeEng(" + number + ", 0, true);", 0); } else document.getElementById(fader[number].id).innerHTML = " "; } } else setTimeout("fadeEng(" + number + ", " + message + ", " + direction + ");", 0); } /* ***** End: GreyWyvern's Buffered Text-fade Effect - v2.2 ******** */ /* ***** User defined fade objects and messages ******************** */ fader[0] = new fadeObj(0, 'fade0', 'dddddd', '000000', 20, 20, true); fader[0].message[0] = "always an superb service. Thanks

Rachel Bayliss (Sector: Oil & Mining), 02/04/2008 (37 days ago)"; fader[0].message[1] = "Oliver is excellent he has always sorted out any problems however difficult. He is a credit to your business.

Esther Marsden (Sector: Recruitment), 11/04/2008 (28 days ago)"; fader[0].message[2] = "He was great, very prompt and friendly :)

resourcer (Sector: Recruitment), 11/04/2008 (28 days ago)"; fader[0].message[3] = "Oliviers calmness and patience is a virtue....im delighted with the service we receive...thanks again.

Tracy Carpenter (Sector: Financial Services), 28/03/2008 (42 days ago)"; fader[0].message[4] = "The support engineer was really helpful and enjoyable to speak to

Emily Guest (Sector: Recruitment), 27/03/2008 (43 days ago)"; fader[0].message[5] = "Very helpful and professional manner

Phil Morris (Sector: Financial Services), 17/04/2008 (22 days ago)"; fader[0].message[6] = "As usual, a very friendly and efficient service.

Wendy Voss (Sector: Oil & Mining), 08/04/2008 (31 days ago)"; fader[0].message[7] = "excellent swift service

Malini Rajendran (Sector: Marketing / Media / PR), 26/03/2008 (44 days ago)"; fader[0].message[8] = "Paul, excellent support as usual. thank you for your kindness. Carlo

Carlo Boi (Sector: Charity), 10/04/2008 (29 days ago)"; fader[0].message[9] = "Great that this was done so quickly. Thank you!

Lisa Oeder (Sector: Charity), 01/04/2008 (38 days ago)"; fader[0].message[10] = "Again great patience shown Thankyou

Shirley Border (Sector: Utilities), 03/04/2008 (36 days ago)"; fader[0].message[11] = "Excellent. A Quick Response

Murali Mittagunta (Sector: Financial Services), 11/04/2008 (28 days ago)"; fader[0].message[12] = "Excellent service once again!

Paul Foley (Sector: Oil & Mining), 17/03/2008 (53 days ago)"; fader[0].message[13] = "Excellent as ever, thoughly nice chap.

Nick Olden (Sector: Oil & Mining), 26/03/2008 (44 days ago)"; fader[0].message[14] = "Nimal was very responsive and helpful! Thanks for fixing it so quickly!

Veronica Dendinger (Sector: Training ), 27/03/2008 (43 days ago)"; fader[0].message[15] = "Very helpful as always

Fiona Poole (Sector: Marketing / Media / PR), 20/03/2008 (50 days ago)"; fader[0].message[16] = "Brilliant service, thanks Richard.

Scott Gibson (Sector: Charity), 10/04/2008 (29 days ago)"; fader[0].message[17] = "James yet again has been a great help.

Cheryl Douglas (Sector: Marketing / Media / PR), 11/04/2008 (28 days ago)"; fader[0].message[18] = "Very good service, thank you for your quick responce and friendly staff (Matthew White assisted me).

Melissa Staer (Sector: Distribution), 17/03/2008 (53 days ago)"; fader[0].message[19] = "Brilliant service and the early call was much appreciated. Thanks James. Louise

Louise Mcdonnell (Sector: Financial Services), 09/04/2008 (30 days ago)"; document.getElementById(fader[0].id).style.color = "#123333" var running = 0 function fadeMain() { if (running == 1) { fade(0, textx, false); } else { running = 1; textx = get_random(); } textx++; if (textx > 19) {textx=0} fade(0, textx, true) setTimeout('fadeMain();',5000); } fadeMain();