var dsBanner = new Spry.Data.XMLDataSet("/xml/banner_top.php", "ResultSet/item", {useCache: false});
dsBanner.setColumnType("title", "html");
dsBanner.setColumnType("image", "image");
dsBanner.setColumnType("content", "html");
var gEffectInProgress = null;
var gPendingSetRowIDRequest = -1;

var dsBlockLinks = new Spry.Data.XMLDataSet(dsBlockLinkUrl, "ResultSet/item",{useCache:false});
dsBlockLinks.setColumnType("title", "html");
dsBlockLinks.setColumnType("image", "image");
dsBlockLinks.setColumnType("content", "html");

var dsBlocks = new Spry.Data.XMLDataSet(dsBlocksUrl, "ResultSet/item",{useCache:false});
dsBlocks.setColumnType("title", "html");
dsBlocks.setColumnType("image", "image");
dsBlocks.setColumnType("content", "html");

var dsNewItems = new Spry.Data.XMLDataSet(dsNewItemsUrl, "ResultSet/item",{useCache:false});
dsNewItems.setColumnType("title", "html");
dsNewItems.setColumnType("image", "image");
dsNewItems.setColumnType("content", "html");

function fadeInContent(notificationType, notifier, data)
{
	if (notificationType != "onPostUpdate")
		return;
	var effect = new Spry.Effect.Fade('inContSpry', { to: 100, from: 0, duration: 1000, finish: function() {
		// The region is now showing. Process any pending row change request.
		gEffectInProgress = null;
		if (gPendingSetRowIDRequest >= 0)
		{
			var id = gPendingSetRowIDRequest;
			gPendingSetRowIDRequest = -1;
			fadeOutContentThenSetRow(id);
		}
	}});
	effect.start();
}
Spry.Data.Region.addObserver('inContSpry', fadeInContent);
function fadeOutContentThenSetRow(rowID)
{

	if (gEffectInProgress)
	{
		gPendingSetRowIDRequest = rowID;
		return;
	}

	if (rowID == dsBanner.getCurrentRowID())
		return;

	gEffectInProgress = new Spry.Effect.Fade('inContSpry', { to: 0, from: 100, duration: 500, finish: function() {
		dsBanner.setCurrentRow(rowID);
	}});
	gEffectInProgress.start();
}
