$(document).ready( function() {
	
	var questions = {
		numQuestions: $("#questions LI").size(),
		currentQuestion: 0,
		frameDelay: 4000,
		transitionSpeed: 1500,
		maxHeight: $("#slideshow").height(),
		
		start: function() {
			questions.__center();
			$("#questions LI").eq(questions.currentQuestion).show();
			setTimeout( questions.next, questions.frameDelay);
		},
		
		next: function() {
			$("#questions LI").eq(questions.currentQuestion).fadeOut( questions.transitionSpeed, function() {
				if( ++questions.currentQuestion >= questions.numQuestions ) questions.currentQuestion = 0;
				questions.__center();
				$("#questions LI").eq(questions.currentQuestion).fadeIn(questions.transitionSpeed, function() {
					setTimeout( questions.next, questions.frameDelay);
				});
			});
		},
		
		__center: function() {
			try {
				var diff = questions.maxHeight - $("#questions LI").eq(questions.currentQuestion).outerHeight();
				$("#questions LI").eq(questions.currentQuestion).css({ paddingTop: parseInt(diff / 2) + 'px' });
			} catch(e) { /* IE throws an invalid argument for some reason... */ }
		}
	}
	
	questions.start();
	
});