Effect.SlideToLeft = function(element) {
	  element = $(element);
	  element.makeClipping();
	  return new Effect.Scale(element, 0,
		Object.extend({ scaleContent: false,
		  scaleY: true,
		  restoreAfterFinish: true,
		  afterFinishInternal: function(effect) {
			effect.element.hide().undoClipping();
		  }
		}, arguments[1] || { })
	  );
	};
	
	Effect.SlideFromLeft = function(element) {
	  element = $(element);
	  var elementDimensions = element.getDimensions();
	  return new Effect.Scale(element, 100, Object.extend({
		scaleContent: false,
		scaleY: true,
		scaleFrom: 0,
		scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
		restoreAfterFinish: true,
		afterSetup: function(effect) {
		  effect.element.makeClipping().setStyle({width: '0px'}).show();
		}, 
		afterFinishInternal: function(effect) {
		  effect.element.undoClipping();
		}
	  }, arguments[1] || { }));
	};
    
    start_slideshow(1, 4, 4000);
    
    function start_slideshow(start_frame, end_frame, delay) {
        setTimeout(switch_slides(start_frame,start_frame,end_frame, delay), delay);
    }
                            
    function switch_slides(frame, start_frame, end_frame, delay) {
        return (function() {
            Effect.SlideToLeft('slideshow' + frame);
            if (frame == end_frame) { frame = start_frame; } else { frame = frame + 1; }
            setTimeout("Effect.SlideFromLeft('slideshow" + frame + "');", 850);
            setTimeout(switch_slides(frame, start_frame, end_frame, delay), delay + 850);
        })
    }

