// An array of colours that will be applied to h2 tags.var h2Cols = ['#FFFFFF', '#CDE1E7', '#9BC3CE', '#6AA4B6', '#38869D', '#066885'];// Main script.var h2Arr = [];function h2Setup(){ h2Arr = document.getElementsByTagName('h2'); for (var h = 0; h < h2Arr.length; h++) {  var h2 = h2Arr[h], text = h2.firstChild.nodeValue;  h2.removeChild(h2.firstChild);  h2.animNodes = [];  for (var i = 0; i < text.length; i++)  {   var span = document.createElement('span');   span.appendChild(document.createTextNode(text.substring(i, i+1)));   h2.appendChild(span);   h2.animNodes[h2.animNodes.length] = span;  }  h2.animCount = 0;  h2.animTimer = setInterval('h2Anim(' + h + ')', 50); }};function h2Anim(h){ var h2 = h2Arr[h], c = h2.animCount++, noAnim = 1; for (var i = 0; i < h2.animNodes.length; i++) {  var s = h2.animNodes[i], frac = Math.max(0, Math.min(1, (c-i)/10)),   marg = document.all && !window.opera ? 'marginRight' : 'marginLeft';  if (s.animDone) continue;  noAnim = 0;  s.style.color = h2Cols[Math.floor(frac * 0.99999 * h2Cols.length)];  if (frac == 1)  {   s.style[marg] = '0';   s.animDone = 1;  }  else s.style[marg] = 0.6*(1-frac) + 'em'; } if (noAnim) clearInterval(h2.animTimer); h2.style.visibility = 'inherit';};if (document.documentElement){ // Hide h2 elements for animation and trigger show on load. document.write('<style type="text/css"> h2 { visibility: hidden } </style>'); var h2aOL = window.onload; window.onload = function() {  if (h2aOL) h2aOL();  h2Setup(); }}
