var Rotation = {
    Automate: function() {
	Rotation.Animate($$('#image-rotation p.active-image')[0].next('p') || $$('#image-rotation p.active-image')[0].up('#image-rotation').down('p'));
    },
    Animate: function(toShow) {
        var toHide = toShow.up('#image-rotation').down('p.active-image');
        if (toHide && toShow) {
            new Effect.Opacity(toHide, {
	            from:1,
	            to:0,
	            queue: { position:'front', limit: 2, scope: 'animation' },
	            duration: 0.75,
                    afterFinish: function(ev) {
                    toHide.removeClassName('active-image');
                    new Effect.Appear( toShow, {
                        duration: 0.5,
                        queue: { position:'end', limit: 2, scope: 'animation' },
                        afterSetup: function() { toHide.hide(); },
                        afterFinish: function(ev) { toShow.addClassName('active-image'); }
                    });
                }
            });
        }
    }  
}
Event.observe(window, 'load', function(event) {
    if ($('image-rotation')) {
	new PeriodicalExecuter(Rotation.Automate, 10);
    };
});

