
function ajaxFunction(){
	var xmlHttp;
	try {
	  // Firefox, Opera 8.0+, Safari
	  xmlHttp=new XMLHttpRequest();
	}catch (e) {
	  // Internet Explorer
	  try {
		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
		  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {
		  alert("Your browser does not support AJAX!");
		  return false;
		}
	  }
	}
	return xmlHttp;
}


var i = 0;
var num = 1;
function rotate() {

	var request = ajaxFunction();
	
	request.onreadystatechange = function(){
		if (request.readyState == 4) {
			if (request.status == 200 || request.status == 304) {
				
				// Put the old images on the top layer
				var rotateRow = document.getElementById("rotateRow");
				var rotateRow2 = document.getElementById("rotateRow2");
				rotateRow.innerHTML = rotateRow2.innerHTML;
				
				// Get the new ones, and put them on the bottom layer
				var rotator = request.responseText; 
				rotateRow2.innerHTML = rotator; 
				
				// Start fading the top layer
				if (rotateRow.innerHTML == "") startFadeIn();
				else startFadeOut();
				
			}
		}
	}
	
	var r = Math.random();
    request.open("GET", "rotatorRow.php?version=" + num + "&rand=" + r, true);	
    request.send(null);

}

// Global so we can stop the interval anywhere
var fader;
var currentOpacity;

function startFadeIn() {
	clearInterval(fader);
	currentOpacity = 0;
	changeOpacity(currentOpacity, "rotateRow2");
	fader = setInterval("fadeIn()", 50);
}

function fadeIn() {
	currentOpacity += 5;
	changeOpacity(currentOpacity, "rotateRow2");
	if (currentOpacity >= 100) clearInterval(fader);
}

function startFadeOut() {
	clearInterval(fader);
	currentOpacity = 100;
	changeOpacity(currentOpacity, "rotateRow");
	fader = setInterval("fadeOut()", 50);
}

function fadeOut() {
	currentOpacity -= 5;
	changeOpacity(currentOpacity, "rotateRow");
	if (currentOpacity <= 0) clearInterval(fader);
} 

function changeOpacity(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + opacity + ")";
}

function init(ver){
	if (ver) num = ver;
	rotate();
	var timerID = setInterval("rotate()", 5000);
}
