var rotators, rotatorHeadings, rotatorTexts, rotatorLinks;
var rotatorHeading, rotatorText, rotatorLink;
var topDiv = 0, secondDiv = 1;
var topZIndex = 100, midZIndex = 95; bottomZIndex = 90;
if (window.addEventListener) 
  window.addEventListener("load", init, true);
else if (window.attachEvent)
  window.attachEvent("onload", init);			
else window.onload = init;

function init() {
	rotators = new Array(document.getElementById("rotator0"), 
											 document.getElementById("rotator1"), 
											 document.getElementById("rotator2"));
	rotatorHeadings = new Array(document.getElementById("rotator0-text-heading").innerHTML, 
															document.getElementById("rotator1-text-heading").innerHTML, 
															document.getElementById("rotator2-text-heading").innerHTML);
	rotatorTexts = new Array(document.getElementById("rotator0-text").innerHTML, 
													 document.getElementById("rotator1-text").innerHTML, 
													 document.getElementById("rotator2-text").innerHTML);
	rotatorLinks = new Array(document.getElementById("rotator0-text-link").innerHTML, 
													 document.getElementById("rotator1-text-link").innerHTML, 
													 document.getElementById("rotator2-text-link").innerHTML);
	rotatorTextWrapper = document.getElementById("rotator-text-wrapper");
  rotatorHeading = document.getElementById("rotator-text-heading");
	rotatorText = document.getElementById("rotator-text");
	rotatorLink = document.getElementById("rotator-text-link");
	rotatorTextWrapper.fadeIn = fadeIn;
  for (var i = 0; i < rotators.length; i++) {
		object = rotators[i];
		object.fadeOut = fadeOut;
		object.opacity = 100;
		object = object.style;
		object.opacity = 1; 
		object.MozOpacity = (1.0); 
		object.KhtmlOpacity = (1.0); 
		object.filter = "alpha(opacity=100)";
	}
	setTimeout("rotators['" + topDiv + "'].fadeOut(20, toggleDiv, 40, toggleText)", 3200);
}
function toggleDiv() {
	clearInterval(rotators[topDiv].interval);
	toggleText();
	rotators[secondDiv].style.zIndex = topZIndex;
	rotators[topDiv].style.zIndex = bottomZIndex;
	topDiv = secondDiv;
	secondDiv = ++secondDiv % rotators.length;;
	for (var i = 0; i < rotators.length; i++) {
		rotators[i].style.zIndex = (
				i == topDiv ? topZIndex :
				i == secondDiv ? midZIndex :
				bottomZIndex
			);
	}
	rotators[topDiv].opacity = 100;
	object = rotators[topDiv].style;
	object.opacity = 1; 
	object.MozOpacity = (1.0); 
	object.KhtmlOpacity = (1.0); 
	object.filter = "alpha(opacity=100)";
	rotators[secondDiv].opacity = 100;
	object = rotators[secondDiv].style;
	object.opacity = 1; 
	object.MozOpacity = (1.0); 
	object.KhtmlOpacity = (1.0); 
	object.filter = "alpha(opacity=100)";
	setTimeout("rotators['" + topDiv + "'].fadeOut(20, toggleDiv, 30, toggleText)", 3200);	
}
function toggleText() {
	rotatorHeading.innerHTML = rotatorHeadings[secondDiv];
	rotatorText.innerHTML = rotatorTexts[secondDiv];
	rotatorLink.innerHTML = rotatorLinks[secondDiv];
}
function fadeIn(speed, action) {
	var command = "increaseOpac('" + this.id + "', toggleDiv)";
  this.interval = setInterval(command, (speed ? speed : 30));
}
function fadeOut(speed, action) {
	var command = "decreaseOpac('" + this.id + "', toggleDiv)";
  this.interval = setInterval(command, (speed ? speed : 30));
}
function increaseOpac(idx, action, threshold, thresholdAction) {
  var elem = document.getElementById(idx);
  if (elem) {
    elem.opacity++;
    if (threshold && thresholdAction && elem.opacity == threshold) {
			thresholdAction();
    }
    if (action && elem.opacity >= 100) {
			action();
    }
    else {
      var object = elem.style; 
      object.opacity = (elem.opacity / 100); 
      object.MozOpacity = (elem.opacity / 100); 
      object.KhtmlOpacity = (elem.opacity / 100); 
      object.filter = "alpha(opacity=" + elem.opacity + ")";
    }
  }
}
function decreaseOpac(idx, action, threshold, thresholdAction) {
  var elem = document.getElementById(idx);
  if (elem) {
    elem.opacity--;
    if (threshold && thresholdAction && elem.opacity == threshold) {
			thresholdAction();
    }
    if (action && elem.opacity <= 0) {
			action();
    }
    else {
      var object = elem.style; 
      object.opacity = (elem.opacity / 100); 
      object.MozOpacity = (elem.opacity / 100); 
      object.KhtmlOpacity = (elem.opacity / 100); 
      object.filter = "alpha(opacity=" + elem.opacity + ")";
    }
  }
}

				
				