
fade_done = false;
ajax_done = false;
img_url = "";
counter = 0;

var reloader;

var http  = getHTTPObject(); // We create the HTTP Object

function fadeInStartTimer()
{
	Effect.Appear('active_photo');
	
	if(!reloader)
		perslide = 0;
	else
		perslide = 7000;
	
	reloader = setTimeout("nextPhoto('next')", perslide);
}

// Load the next photo in the slideshow (Ajax function 3)
function nextPhoto(direction)
{
	if(document.getElementById('active_photo'))
	{
		fade_done = false;
		ajax_done = false;
		clearTimeout(reloader);
				
		// Fade out old picture
		Effect.Fade('active_photo',{afterFinish:finishFade});
		
		dt = new Date();
		http.open("GET", 'media_server.php?stamp='+dt+'&rank='+counter+'&dir='+direction, true);
		http.onreadystatechange = function() {
			if(http.readyState == 4)
			{								
				result = http.responseText.split("<!-- SEPERATOR -->");
				img_url = result[0];
				counter = result[1];
				
				ajax_done = true;
				showNew();
			}
		}
		http.send(null);
	}
}

function finishFade()
{
	fade_done = true;
	showNew();
}

function showNew()
{
	if(fade_done && ajax_done)
	{
		photoElm = document.getElementById('active_photo');
		photoElm.src = img_url;
		photoElm.onload = fadeInStartTimer;
		
		fade_done = false;
		ajax_done = false;
	}
}
