Effect.Orbit = Class.create(Effect.Base, {
	initialize: function(element) {
    this.element = $(element);
    this.start(arguments[1]);
  },
  setup: function() {
    this.element.makePositioned();
    this.originalLeft = parseFloat(this.element.getStyle('left') || '0');
    this.originalTop  = parseFloat(this.element.getStyle('top')  || '0');
  },
  update: function(position) {
  	var k = 20;
  	var rounds = 2;
  	if (position<0.2)
  		k *= position*5;
  	if (position>0.8)
  		k *= (1-position)*5;
  		
    this.element.setStyle({
      left: (k * Math.sin((1-position)*Math.PI*2*rounds) + this.originalLeft).round() + 'px',
      top:  (k * Math.cos(position*Math.PI*2*rounds) + this.originalTop ).round()  + 'px'
    });
  }
});
