var haloContainer;
var currentHalo;
var haloCount;
var haloTimer;
var haloSettings;

jQuery.fn.haloFade = function(settings) {
	settings = jQuery.extend({
		easeTime: 1500,								// in milliseconds
		slideDelay: 4000							// in milliseconds
	}, settings);
	return this.each(function(){
		haloContainer = $(this);
		haloCount = haloContainer.children().length;
		haloSettings = settings;
		currentHalo = 0;
		haloTimer = setTimeout("fadeNextHalo()", settings.slideDelay);
	});
}

var fadeNextHalo = function() {
	clearTimeout(haloTimer);
	var nextHalo = (currentHalo < haloCount - 1) ? currentHalo + 1 : 0;
	$('#haloSlide_'+currentHalo).fadeOut(haloSettings.easeTime / 2, function() {
		$('#haloSlide_'+nextHalo).fadeIn(haloSettings.easeTime / 2);
		currentHalo = nextHalo;
		haloTimer = setTimeout("fadeNextHalo()", haloSettings.slideDelay);
	});
}

