var CauseSlider = function() {
	var causeSlides, t,
		useTimer = true,
		currentCause = 0;

	function _startTimer() {
		clearTimeout(t);
		t = setTimeout(_showNextCause, 4000);
	}
	
	function _stopTimer() {
		clearTimeout(t);
		useTimer = false;
	}
	
	function _showNextCause() {
		_showCause((currentCause + 1) % causeSlides.length);
	}
	
	function _showCause(n) {
		currentCause = n;
		causeSlides.filter(":visible").stop(true, true).fadeOut("normal", function() {
			causeSlides.eq(n).stop(true, true).fadeIn();
			if (useTimer) {
				_startTimer();
			}
		});
	}
	
	function _initialize() {
		causeSlides = $("#cause-details .cause-detail");
		_startTimer()
	}
	
	return {
		init: _initialize,
		stop: _stopTimer
	}
}();
