function WireUpFadingDivs(divID, timeout, fade_duration) {
    if (!divID)
        alert('WireUpFadingDivs: divID is null');
    if (!timeout)
        timeout = 3000;
    if (!fade_duration)
        fade_duration = 1000;

    var i = 0;
    $('#' + divID).attr('fade-index', '0');
    $('#' + divID + ' div.toFade').each(function () { $(this).addClass('fade-index-' + i++); });

    setTimeout("FadeToNextDiv('" + divID + "'," + timeout + "," + fade_duration + ")", timeout);
}

function FadeToNextDiv(divID, timeout, fade_duration) {
    var div = $('#' + divID);
    var divs = $('#' + divID + ' div.toFade');

    var n = divs.length;

    var i = parseInt(div.attr('fade-index'));
    var iNew = (i + 1) % n;
    var divOld = $('#' + divID + ' div.toFade.fade-index-' + i);
    var divNew = $('#' + divID + ' div.toFade.fade-index-' + iNew);

    divOld.css('z-index', '100');
    divNew.css('z-index', '101');

	divNew.fadeIn(fade_duration, function ()
	{
		FadeToNextDivComplete(divID, timeout, fade_duration, iNew, divOld);
	});
}

function FadeToNextDivComplete(divID, timeout, fade_duration, i, divOld) {
    $('#' + divID).attr('fade-index', i);
    divOld.css('display', 'none');

    setTimeout("FadeToNextDiv('" + divID + "'," + timeout + "," + fade_duration + ")", timeout);
}

