/*
This file and its contents are (c) Angus Turnbull, 2004-2005. All Rights Reserved.

Copying this entire file and using it on other websites is EXPRESSLY FORBIDDEN.
Instead, get a new copy of the "FreeStyle Menu" script from my site, which is what I use here,
and come up with an original design! The effects are either located in the "extras" file
shipped with the FreeStyle Menus, or at http://www.twinhelix.com/test/
*/


// An array of colours that will be applied to h4 tags.
var h4Cols = ['#FFFFFF', '#DDDDDD', '#BBBBBB', '#999999', '#777777', '#555555'];

// Main script.
var h4Arr = [];
function h4Setup()
{
 h4Arr = document.getElementsByTagName('h4');
 for (var h = 0; h < h4Arr.length; h++)
 {
  var h4 = h4Arr[h], text = h4.firstChild.nodeValue;
  h4.removeChild(h4.firstChild);
  h4.animNodes = [];
  for (var i = 0; i < text.length; i++)
  {
   var span = document.createElement('span');
   span.appendChild(document.createTextNode(text.substring(i, i+1)));
   h4.appendChild(span);
   h4.animNodes[h4.animNodes.length] = span;
  }
  h4.animCount = 0;
  h4.animTimer = setInterval('h4Anim(' + h + ')', 50);
 }
};
function h4Anim(h)
{
 var h4 = h4Arr[h], c = h4.animCount++, noAnim = 1;
 for (var i = 0; i < h4.animNodes.length; i++)
 {
  var s = h4.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 = h4Cols[Math.floor(frac * 0.99999 * h4Cols.length)];
  if (frac == 1)
  {
   s.style[marg] = '0';
   s.animDone = 1;
  }
  else s.style[marg] = 0.6*(1-frac) + 'em';
 }
 if (noAnim) clearInterval(h4.animTimer);
 h4.style.visibility = 'inherit';
};

if (document.documentElement)
{
 // Hide h4 elements for animation and trigger show on load.
 document.write('<style type="text/css"> h4 { visibility: hidden } </style>');
 var h4aOL = window.onload;
 window.onload = function()
 {
  if (h4aOL) h4aOL();
  h4Setup();
 }
}

var h3Cols = ['#FFFFFF', '#DDDDDD', '#BBBBBB', '#999999', '#777777', '#555555'];

// Main script.
var h3Arr = [];
function h3Setup()
{
 h3Arr = document.getElementsByTagName('h3');
 for (var h = 0; h < h3Arr.length; h++)
 {
  var h3 = h3Arr[h], text = h3.firstChild.nodeValue;
  h3.removeChild(h3.firstChild);
  h3.animNodes = [];
  for (var i = 0; i < text.length; i++)
  {
   var span = document.createElement('span');
   span.appendChild(document.createTextNode(text.substring(i, i+1)));
   h3.appendChild(span);
   h3.animNodes[h3.animNodes.length] = span;
  }
  h3.animCount = 0;
  h3.animTimer = setInterval('h3Anim(' + h + ')', 50);
 }
};
function h3Anim(h)
{
 var h3 = h3Arr[h], c = h3.animCount++, noAnim = 1;
 for (var i = 0; i < h3.animNodes.length; i++)
 {
  var s = h3.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 = h3Cols[Math.floor(frac * 0.99999 * h3Cols.length)];
  if (frac == 1)
  {
   s.style[marg] = '0';
   s.animDone = 1;
  }
  else s.style[marg] = 0.6*(1-frac) + 'em';
 }
 if (noAnim) clearInterval(h3.animTimer);
 h3.style.visibility = 'inherit';
};

if (document.documentElement)
{
 // Hide h3 elements for animation and trigger show on load.
 document.write('<style type="text/css"> h3 { visibility: hidden } </style>');
 var h3aOL = window.onload;
 window.onload = function()
 {
  if (h3aOL) h3aOL();
  h3Setup();
 }
}

var h2Cols = ['#FFFFFF', '#DDDDDD', '#BBBBBB', '#999999', '#777777', '#555555'];

// 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();
 }
}

var h5Cols = ['#FFFFFF', '#DDDDDD', '#BBBBBB', '#999999', '#777777', '#555555'];

// Main script.
var h5Arr = [];
function h5Setup()
{
 h5Arr = document.getElementsByTagName('h5');
 for (var h = 0; h < h5Arr.length; h++)
 {
  var h5 = h5Arr[h], text = h5.firstChild.nodeValue;
  h5.removeChild(h5.firstChild);
  h5.animNodes = [];
  for (var i = 0; i < text.length; i++)
  {
   var span = document.createElement('span');
   span.appendChild(document.createTextNode(text.substring(i, i+1)));
   h5.appendChild(span);
   h5.animNodes[h5.animNodes.length] = span;
  }
  h5.animCount = 0;
  h5.animTimer = setInterval('h5Anim(' + h + ')', 50);
 }
};
function h5Anim(h)
{
 var h5 = h5Arr[h], c = h5.animCount++, noAnim = 1;
 for (var i = 0; i < h5.animNodes.length; i++)
 {
  var s = h5.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 = h5Cols[Math.floor(frac * 0.99999 * h5Cols.length)];
  if (frac == 1)
  {
   s.style[marg] = '0';
   s.animDone = 1;
  }
  else s.style[marg] = 0.6*(1-frac) + 'em';
 }
 if (noAnim) clearInterval(h5.animTimer);
 h5.style.visibility = 'inherit';
};

if (document.documentElement)
{
 // Hide h5 elements for animation and trigger show on load.
 document.write('<style type="text/css"> h5 { visibility: hidden } </style>');
 var h5aOL = window.onload;
 window.onload = function()
 {
  if (h5aOL) h5aOL();
  h5Setup();
 }
}