var aSlides = new Array;
//var spinner = new Image();
//spinner.src = "images/home/spinner.gif";

function initSlideshow(source_xml) {
// 	var image_target = document.getElementById('slideshow_image');
// 	image_target.src = spinner.src;
	Element.addClassName('portfolio_slideshow', 'loading');

	var url = source_xml;
	var myAjax = new Ajax.Request(url, { method: 'get', onComplete: preloadSlideshow }); 
}

function preloadSlideshow(originalRequest) {
	var slideshow = originalRequest.responseXML;
	var slides = slideshow.getElementsByTagName('slide');
	for (i=0; i<slides.length; i++) {
		aSlides[i] = new Object;
		aSlides[i].imgfile = slides[i].getElementsByTagName('image').item(0).firstChild.nodeValue;
		aSlides[i].caption = slides[i].getElementsByTagName('caption').item(0).firstChild.nodeValue;
		aSlides[i].preloaded = false;
	}
	oPL = new ImagePreloader(aSlides[0].imgfile, 0, onPreload);
}

function onPreload(index, oImage, preloaded) {
	aSlides[index].src = oImage;
	aSlides[index].preloaded = preloaded;
	
	if (index == 0) {
		doSlideshow(0);
		oPL = new ImagePreloader(aSlides[index + 1].imgfile, index + 1, onPreload);
	} else if (index < (aSlides.length - 1)) {
		oPL = new ImagePreloader(aSlides[index + 1].imgfile, index + 1, onPreload);
	}
		
}

function doSlideshow(i) {
	Element.removeClassName('portfolio_slideshow', 'loading');
	
	if (i < aSlides.length) {
		if (aSlides[i].preloaded) {
			Element.hide('js_slideshow');
			//Element.hide('slideshow_image');
			//Element.hide('slideshow_caption');
			setTimeout('showSlide(' + i + ')', 10);
			
			if (i == aSlides.length - 1) {i = 0} else {i++;}
			setTimeout('doSlideshow(' + i + ')', 10000);
		} else {
			setTimeout('doSlideshow(' + i + ')', 1000);
		}
	}
	
}

function showSlide(i) {	
	var image_target = document.getElementById('slideshow_image');
	var caption_target = document.getElementById('slideshow_caption');
	
	imageSrc = aSlides[i].src;  	
	
	image_target.src = imageSrc.src;
	
	Element.show(caption_target);
	Element.update(caption_target, aSlides[i].caption);
	Effect.Appear('js_slideshow');
// 	Effect.Appear('slideshow_caption');
// 	Effect.Appear('slideshow_image');


}

