/***************************************************************************
/Copyright tpwd (tpwd.pt) 2008
/Contact: tiago@tpwd.pt
/
/Slideshow effect for Mootools V1.2
/Usage: set the first set of variables, define your files and directories
/(this parte can be done on the destination file using php) and create a
/container div for the slides
/
/For further details please consult http://www.tpwd.pt/wax/
***************************************************************************/

var total, currentSlide, autoslide;
window.addEvent('domready', function() {

	total = images.length;
	var currentSlide = 0;
	var nextSlide = n();
	var assets = Asset.images(images, {
		onComplete: function () { initialize(); }
	});

	
	
	function initialize() {
		// CREATE ALL SLIDES, HIDE THEM AND INSERT THE FIRST IMAGE
		for (var index=total-1; index>=0; index--) {
			var top_pos = Math.round(assets[index].height * $(slidescontainer).getStyle('width').toInt() / assets[index].width / 2); //($size[1]*980)/$size[0]/2
			var newslide = new Element('div', {
				'class': 'slide',
				'styles': {
					'visibility': 'hidden',
					'opacity': '0',
					'display': 'block',
					'position': 'absolute'
				},
				'id': 'slide'+index,
				/* TEMP */
				'html': '<img src="'+images[index]+'" style="top: -'+top_pos+'px" />'
				/* TEMP END */
			}).inject(slidescontainer);
		}
		
		// FADE IN FIRST SLIDE
		$('slide0').fade(1);

		// AUTOSTART SLIDESHOW
		var autoslide = crossfade.periodical(waitDuration);
	}
	
	
	// CHECK THE TARGET SLIDE FOR CONTENT: INSERTS AND CROSSFADES  OR  CROSSFADES
	function checkSlide(target) {
		if (target==null) target = nextSlide;
		
		if (document.getElementById('slide'+target).innerHTML=="") insertImage(target,true);
		else crossfade();
	}


	// INSERT NEW IMAGE INTO IT'S SLIDE CONTAINER
	function insertImage(target,do_crossfade) {
		if ($('slide'+target).getProperty('html') == '') newslide.injectInside(images[target]);
		if (do_crossfade) crossfade();
	}
	
	
	
	// RETURN THE NEXT AND PREVIOUS SLIDES' VALUE (USED TO LOOP THE SLIDESHOW AROUND)
	function n() { if (currentSlide<total-1) return currentSlide+1; else if (currentSlide==total-1) return 0; }
	function p() { if (currentSlide>0) return currentSlide-1; else if (currentSlide==0) return total-1; }
	
	
	// CROSSFADE IMAGES	
	function crossfade() {
		if (nextSlide!=0) {
			$('slide'+nextSlide).setStyles({'opacity': 1, 'visibility': 'visible'});
			$('slide'+currentSlide).fade(0);
		} else {
			$('slide'+nextSlide).fade(1);
			$('slide'+nextSlide).setStyles({'opacity': 0, 'visibility': 'hidden'});
		}
		currentSlide = nextSlide;
		nextSlide = n();
	}
	
});

