Event.observe(window, 'load', function(){
    var slider = $$('.slider .nomargin');
    var pause = false;
    var current = 0;
	var previous = -1;
	
	// If there is more than one picture in the slideshow
    if (slider.size() > 1) 
	{
        slider.each(function(slide, index)
		{
			// Event handler onMouseOver
            slide.observe("mouseover", function(){
				// Pause rotation
                pause = true;
            });
			
			// Event handler onMouseOut
            slide.observe("mouseout", function(){
				// Unpause rotation
                pause = false;
            });
        });
		
		// Set rotation
        new PeriodicalExecuter(function(pe){
			// If not paused
            if (!pause) {
				previous = current;
				current = (current + 1) % slider.size();
				
				// For each slide
				slider.each(function(slide, index)
				{
					// If index different than previous and current
					if(index!=previous && index!=current)
					{
						// Set slide to invisible
//						slide.setOpacity(0);
						slide.setStyle({'display': 'none'});
//						slide.setStyle({'background-color': 'red'});
					}
					else
					{
						slide.setStyle({'display': 'inline'});
//						slide.setStyle({'background-color': 'green'});
					}

				});
				
				// Set current slide not visible
                slider[current].setOpacity(0);
				// Set current slide to left 
                slider[current].setStyle({
                    'left': 300 + 'px'
                });
				// Bring current slide on top
                slider[current].setStyle({
                    'zIndex': slider.size()
                });
				
				// Send previous slide to back
                slider[previous].setStyle({
                    'zIndex': slider.size() - 1
                });
                
				// Set rotation effect for current slide
                element = slider[current];
                new Effect.Parallel([new Effect.Opacity(element, {
                    sync: true,
                    from: 0,
                    to: 1
                }), new Effect.Move(element, {
                    sync: true,
                    x: 0,
                    y: 0,
                    mode: 'absolute'
                })], {
                    duration: 1
                });
            } 
        }, 5);
    }
});
