var imagechanger_currentSlide = 0;
var imagechanger_timeout;
imagechanger_step_timeout = 6000;
imagechanger_transitiontime = 400;
$(function(){

	// prepare navigation elements:
	$('.imagechanger_index').show();
	$('.imagechanger_index .element').each(function(){

		$(this).click(function(){
			imagechanger_showSlide($(this).index());
		});
		$(this).css('cursor', 'pointer');
	});

	// prepare slides:
	$('.slidelist .slide').each(function(){
		$(this).css('position', 'absolute');
		$(this).css('z-index', '10');
		if($(this).index() > 0){
			$(this).find('.image').fadeTo(0, 0);
			$(this).find('.cite').fadeTo(0, 0);
			$(this).css('z-index', '5');
		}
		$(this).show();
	});

	// initialize the auto stepper:
	imagechanger_timeout = setTimeout(imagechanger_showNextSlide, imagechanger_step_timeout);

});

function imagechanger_showSlide(slideIndex){

	// clear the running timeout:
	clearTimeout(imagechanger_timeout);

	// show the right slide, hide others:
	$('.slidelist .slide').each(function(){
		if($(this).index() == slideIndex){

			// bring me to front:
			$(this).css('z-index', '10');

			// show me:
			$(this).find('.image').fadeTo(imagechanger_transitiontime, 1);
			$(this).find('.cite').fadeTo(imagechanger_transitiontime, 1);

		} else {

			// put me to background:
			$(this).css('z-index', '5');

			// hide me:
			$(this).find('.image').fadeTo(imagechanger_transitiontime, 0);
			$(this).find('.cite').fadeTo(imagechanger_transitiontime, 0);

		}
	});

	// update the element navigation:
	$('.imagechanger_index .element').each(function(){
		if($(this).index() == slideIndex){
			$(this).addClass('element_active');
		} else {
			$(this).removeClass('element_active');
		}
	});

	// update current index:
	imagechanger_currentSlide = slideIndex;

	// show next image after timeout:
	imagechanger_timeout = setTimeout(imagechanger_showNextSlide, imagechanger_step_timeout);

}

function imagechanger_showNextSlide(){
	var totalSlides = $('.slidelist .slide').length;
	if(imagechanger_currentSlide + 1 < totalSlides){
		imagechanger_showSlide(imagechanger_currentSlide + 1);
	} else {
		imagechanger_showSlide(0);
	}
}
