var elements = $('all_slides').childElements();
var e = elements.size()/2;

var my_slide = { 
 startup: function() { 
     new PeriodicalExecuter(my_slide.cycle, 13) // change every X seconds 
 },
 cycle: function() { 
	var i = Math.floor(Math.random()*e)+1; // randomize me
	//new Effect.Move($("slide" + i + "img"), { y: 130, mode: 'absolute', transition: Effect.Transitions.full }),
    new Effect.Move($("slide" + i), { y: -60, x: 0, mode: 'absolute', transition: Effect.Transitions.full  }),
	new Effect.Move($("slide" + i + "img"), { y: 300, x: 500, mode: 'absolute', transition: Effect.Transitions.full }),
  	// middle
  	new Effect.Parallel([
		new Effect.Opacity($("slide" + i), { sync: true, from: 0, to: 1 }),
		new Effect.Opacity($("slide" + i + "img"), { sync: true, from: 0, to: 1 }),
     	new Effect.Move($("slide" + i),{ sync: true, y: 25, x: 0, mode: 'absolute' }), 
		new Effect.Move($("slide" + i + "img"), { sync: true, y: 25, x: 500, mode: 'absolute' })
  	], { 
     	duration: 2,
     	delay: 0,
		
		// down
	 	afterFinish: function() { 
  		new Effect.Parallel([
			new Effect.Opacity($("slide" + i), { sync: true, from: 1, to: 0 }),
			new Effect.Opacity($("slide" + i + "img"), { sync: true, from: 1, to: 0 }),
    		new Effect.Move($("slide" + i), { sync: true, y: 300, x: 0, mode: 'absolute' }),
			new Effect.Move($("slide" + i + "img"), { sync: true, y: 300, x: 500, mode: 'absolute' }) 
  		], { 
     		duration: 3,
     		delay: 7		
		})} // down
	}) // middle
 }
}
Event.observe(window, 'load', my_slide.cycle);
Event.observe(window, 'load', my_slide.startup);

