var xml;
var lastItem;
var itemIndex = 	0;
var prevItemIndex;


function faderLoaded(url){
	new Ajax.Request(url, {
	method: 'get',
	onSuccess: successFunc,
	onFailure: failureFunc
	});
	
	function successFunc(response){
		xml = 			response.responseXML;
		lastItem = 	xml.getElementsByTagName("image").length - 1;
		preloadImages();
		for(j=0;j<(lastItem+1);j++){
			//alert(j);
			addItem();
			itemIndex++;
		}
		transitionItemIn();
		setInterval("transitionItemOut()", 5000);
	}
	
	function failureFunc(response){
		var str = "";
		for(var objName in response){
			str += 	objName + " -> " + response[objName];
		}
		alert("AJAX Request failure: " + url + "\nResponse:\n" + str);
	}
	
}


function addItem(){
	var contentDiv = 		document.getElementById("fader_content");
	//contentDiv.innerHTML = 	"";
	var str = 		"";
	var i = 		itemIndex;
	var uri = 		xml.getElementsByTagName("image")[i].getAttribute('img');
	var title = 	xml.getElementsByTagName("image")[i].getAttribute('title');
	var url = 		xml.getElementsByTagName("image")[i].getAttribute('uri');
	str += 	'<div id="item' + i + '" class="item" style="display:none;z-index:0;">';
	str += 	'\n<img src="' + uri + '" alt="' + title + '" name="' + title + '" width="920" height="360" border="0" />';
	str += 	'\n<div id="anchortext' + i + '" class="anchortext">';
	str += 	'\n<a href="'+url+'">'+title+'</a>';
	str += 	'</div>';
	str += 	'</div>';
	contentDiv.innerHTML += 	str;
}


function transitionItemOut(){
	$("item" + prevItemIndex).fade({duration:1, delay:(0), from:1, to:1, afterFinish:removeItemAndShow});
	
	if(itemIndex>lastItem){
		document.getElementById("item"+prevItemIndex).style.zIndex = 1;
		document.getElementById("item"+0).style.display="none";
		document.getElementById("item"+0).style.zIndex = 99;
	}else{
		document.getElementById("item"+prevItemIndex).style.zIndex = 1;
		for(k=lastItem;k>-1;k--){
			if(k!=itemIndex&&k!=prevItemIndex){
				document.getElementById("item"+k).style.zIndex = 0;
			}
		}
		document.getElementById("item"+itemIndex).style.display="none";
		document.getElementById("item"+itemIndex).style.zIndex = 99;
	}
	
}

function removeItemAndShow(effect){
	transitionItemIn();
}

function transitionItemIn(){
	if(itemIndex > lastItem){
		itemIndex = 	0;
	}
	//addItem();
	
	var elemID = 			"item" + itemIndex;	
	//alert("transitioning" + elemID);

	//document.getElementById(elemID).style.zIndex = 99;
	prevItemIndex = 	itemIndex;
	itemIndex++;
	

	new Effect.Appear(elemID, {from:0, to:1, duration:1, delay:0});
}

function preloadImages(){
	for(var i = 0; i <= lastItem; i++){
		var uri = 		xml.getElementsByTagName("image")[i].getAttribute('img');
		MM_preloadImages(uri);
	}
}
