// JavaScript Document

/** start the slideshow, to be added to the onload event of the body tag
 * @param start_frame 
 *		- the index of the first frame. If the first slide has an id of "slide1", 
 * 			this would be the number 1
 * @param end_frame
 * 		- the last index. If you have 5 frames, this would be the number 5
 * @param delay
 *		- the time, in miliseconds, to delay between each slide, 1000 = 1 second.
 * 			there is a buffer of 850 miliseconds to ease transitions, the delay
 * 			is how long in between transitions.
 * 		
 */
function start_slideshow(start_frame, end_frame, delay) {
	setTimeout(switch_slides(start_frame,start_frame,end_frame, delay), delay);
}

function switch_slides(frame, start_frame, end_frame, delay) {
	return (function() {
		Effect.Fade('slide' + frame);
		if (frame == end_frame) { 
			frame = start_frame; 
		} else { 
			frame = frame + 1; 
		}
		setTimeout("Effect.Appear('slide" + frame + "');", 850);
		setTimeout(switch_slides(frame, start_frame, end_frame, delay), delay + 850);
	})
}

jQuery(document).ready(function(){
	document.num_slides = jQuery('.slide:last').attr('id');
	document.num_slides = parseInt(document.num_slides.substring(5,document.num_slides.length));
	
});

function next_slide(){
	var current_slide = jQuery('.slide:visible').attr('id');
	
	var current_slide_num = parseInt(current_slide.substring(5,current_slide.length));
	
	var next_slide_num = 1;
	
	if(current_slide_num == document.num_slides){
		next_slide_num = 1;
	}else{
		next_slide_num = current_slide_num + 1;
	}
	
	var szCurrentSlide = 'slide' + current_slide_num;
	var szNextSlide = 'slide' + next_slide_num;
	
	Effect.Fade(szCurrentSlide);
	
	setTimeout("Effect.Appear('" + szNextSlide + "');", 850);
	setTimeout("slide_clean('" + next_slide_num + "');", 900);	
	
}

function prev_slide(){
	var current_slide = jQuery('.slide:visible').attr('id');
	
	var current_slide_num = parseInt(current_slide.substring(5,current_slide.length));
	
	if(current_slide_num == 1){
		next_slide_num = document.num_slides;
	}else{
		next_slide_num = current_slide_num - 1;
	}
	
	var szCurrentSlide = 'slide'+current_slide_num;
	var szPrevSlide = 'slide'+next_slide_num;
	
	Effect.Fade(szCurrentSlide);
	
	setTimeout("Effect.Appear('" + szPrevSlide + "');", 850);
	setTimeout("slide_clean('" + next_slide_num + "');", 900);	
}

function slide_clean(slide_num){
	jQuery('.slide').each(function(){
		if(jQuery(this).attr('id') != ('slide'+slide_num)){
			jQuery(this).css('display', 'none');
		}
	});
}
