/*
Based on: http://www.andrewsellick.com/30/simple-javascript-slide-show-using-scriptaculous
Hacked by Craig in 2008 to provide a stop function and run the effect in paralel etc
Released under the: Use it if ya like it and can make sense of it license
*/

function show_static_image(img, target){
	
	if(typeof(t) != 'undefined'){
		clearTimeout(t);
	}
	

	var currentSlide = $(target).firstDescendant();
	
	//crossfade ij the selected pic
	var elm = $(target)
	var currentSlide;
	if(elm.firstDescendant()) {
		currentSlide = elm.firstDescendant();
	} else {
		currentSlide = document.createElement('div');
		elm.appendChild(currentSlide);
	}
	var nextSlide = $(document.createElement('div'));
	nextSlide.className = 'static_image';
	nextSlide.style.backgroundImage = 'url('+img+')';
	nextSlide.setOpacity(0);
	elm.appendChild(nextSlide);
	new Effect.Parallel([new Effect.Fade(currentSlide,{sync:true}),
		new Effect.Appear(nextSlide,{sync:true})],
		{duration: 1, fps: 50, afterFinish : function() {Element.remove(currentSlide)}}
	);
	
	if($('slide-images') != null){
		$('slide-images').remove();	
	}

}


var delay = 6000;
var start_frame = 1;

function new_slideshow_init() {
	
	if($('slide-images') != null){
		
		var db = $('people_image_description_box');
		if(db != null){
			db.setOpacity(0);
		}
		
		//show slideshow & hide/remove start image
		new Effect.Parallel([new Effect.Fade($('first_image'),{sync:true}),new Effect.Appear($('slide-images'),{sync:true})],{duration: 1, fps: 50,afterFinish : function() {Element.remove('first_image')}});
		
		var lis = $('slide-images').getElementsByTagName('li');
		
		for( i=0; i < lis.length; i++){
			if(i!= start_frame){
				lis[i].style.display = 'none';
			}
		}
		end_frame = lis.length -1;
		
		
		//sort out the description form the image alt
		var buggy = $(lis[1]); //BUGFIX for IE to extend the element
		var new_desc = buggy.firstDescendant().readAttribute('alt');	 
		if(new_desc != null && db != null){
			new Effect.Opacity(db, {from: 0,to: 1,duration:1});
			db.update(new_desc);
		}
		start_slideshow(start_frame, end_frame, delay, lis);
	}
		
}



function start_slideshow(start_frame, end_frame, delay) {
	t = setTimeout(fadeInOut(start_frame,start_frame,end_frame, delay), delay);
}


function fadeInOut(frame, start_frame, end_frame, delay) {
	return (function() {
		if($('slide-images') != null){
			lis = $('slide-images').getElementsByTagName('li');
			
			if (frame == end_frame) { 
				nframe = 0; 
			} 
			else { 
				nframe = frame+1; 
			}
			lisFade = lis[frame];
			lisAppear = lis[nframe];
			
			//hide description box
			var db = $('people_image_description_box');	
			if(db != null){
				db.setOpacity(0);
			}
	
			//swap images
			new Effect.Parallel([new Effect.Fade(lisFade,{sync:true}), new Effect.Appear(lisAppear,{sync:true})], {duration: 1, fps: 50});
			
			//sort out the description form the image alt
			var new_desc = lisAppear.firstDescendant().readAttribute('alt');	
			
			if(new_desc != null && db != null){
				new Effect.Opacity(db, { from: 0.0, to: 1.0, duration: 1.0 });
				db.update(new_desc);
			}
	
			t = setTimeout(fadeInOut(nframe, start_frame, end_frame, delay), delay);
		}
	})
	
}


/*Event.observe(window, 'load', init, false);*/