// JavaScript Document
var ds1 = new Spry.Data.XMLDataSet("xml/legist.xml", "legists/legist");
var gEffectInProgress = null;
var gPendingSetRowIDRequest = -1;
function fadeInContent(notificationType, notifier, data)
{
	if (notificationType != "onPostUpdate")
		return;
	var effect = new Spry.Effect.Fade('description', { to: 100, from: 0, duration: 500, finish: function() {
		gEffectInProgress = null;
		if (gPendingSetRowIDRequest >= 0)
		{
			var id = gPendingSetRowIDRequest;
			gPendingSetRowIDRequest = -1;
			fadeOutContentThenSetRow(id);
		}
	}});
	effect.start();
}
Spry.Data.Region.addObserver('description', fadeInContent);
function fadeOutContentThenSetRow(rowID)
{
	if (gEffectInProgress)
	{
		gPendingSetRowIDRequest = rowID;
		return;
	}
	if (rowID == ds1.getCurrentRowID())
		return;
	gEffectInProgress = new Spry.Effect.Fade('description', { to: 0, from: 100, duration: 500, finish: function() {
		ds1.setCurrentRow(rowID);
	}});
	gEffectInProgress.start();
}
