function FadeBox(div, transitionTime, pause, filter)
{
//	console.log("In FadeBox() with div: ", div);
	this.divName = div;
	this.div = dojo.byId(div);

	this.transitionTime = transitionTime;
	this.pause = pause;
	this.filter = filter;
	
	this.currentItem = 0;
	this.loadItems();
}

FadeBox.prototype.loadItems = function()
{
	var filter = this.filter;
//	var next = this.next;
			var obj = this;
	var request = {
		url: "fetch_fadeBoxContent.php?filter=" + filter,
		handleAs: "json",
		load: function(responseObject) {
			obj.items = responseObject.items;
			obj.maxItems = obj.items.length;
			obj.next();
			return true;
		},
		error: function() {
			console.log("Error on fadeBox fetch.");
		}
	};
	dojo.xhrGet(request);

}

FadeBox.prototype.fade = function(nextContent)
{
	var div = this.div;
	var divName = this.divName;
	var obj = this;
	var transition = this.transitionTime;
	dojo.fadeOut({
	node: divName,
	duration: transition,
	onEnd: function() {
		var dN = divName;
		var d = div;
		var o = obj;
		var t = transition;
		d.innerHTML = nextContent;
		dojo.fadeIn({
			node: dN,
			duration: t,
			onEnd: function() {
				o.done();
			}
		}).play();
		
	}
}).play();

}

FadeBox.prototype.next = function()
{
	var obj = this;

	obj.fade(obj.items[obj.currentItem]);
	obj.currentItem++;
	obj.currentItem %= obj.maxItems;
}

FadeBox.prototype.done = function()
{
	var obj = this;
	setTimeout(function(){obj.next()}, this.pause);
}
