rem: var oldTop = element.style.top; var oldLeft = element.style.left; return new Effect.MoveBy(element, 0, 20, { duration: 0.05, afterFinishInternal: function(effect) { new Effect.MoveBy(effect.element, 0, -40, { duration: 0.1, afterFinishInternal: function(effect) { new Effect.MoveBy(effect.element, 0, 40, { duration: 0.1, afterFinishInternal: function(effect) { new Effect.MoveBy(effect.element, 0, -40, { duration: 0.1, afterFinishInternal: function(effect) { new Effect.MoveBy(effect.element, 0, 40, { duration: 0.1, afterFinishInternal: function(effect) { new Effect.MoveBy(effect.element, 0, -20, { duration: 0.05, afterFinishInternal: function(effect) { Element.undoPositioned(effect.element); effect.element.style.left = oldLeft; effect.element.style.top = oldTop; 
add: var oldStyle = { top: element.getStyle('top'), left: element.getStyle('left') }; return new Effect.Move(element, { x:  20, y: 0, duration: 0.05, afterFinishInternal: function(effect) { new Effect.Move(effect.element, { x: -40, y: 0, duration: 0.1,  afterFinishInternal: function(effect) { new Effect.Move(effect.element, { x:  40, y: 0, duration: 0.1,  afterFinishInternal: function(effect) { new Effect.Move(effect.element, { x: -40, y: 0, duration: 0.1,  afterFinishInternal: function(effect) { new Effect.Move(effect.element, { x:  40, y: 0, duration: 0.1,  afterFinishInternal: function(effect) { new Effect.Move(effect.element, { x: -20, y: 0, duration: 0.05, afterFinishInternal: function(effect) { effect.element.undoPositioned(); effect.element.setStyle(oldStyle); 
context: Effect.Shake = function(element) {  element = $(element);  var oldTop = element.style.top;  var oldLeft = element.style.left;  return new Effect.MoveBy(element, 0, 20,     { duration: 0.05, afterFinishInternal: function(effect) {  new Effect.MoveBy(effect.element, 0, -40,     { duration: 0.1, afterFinishInternal: function(effect) {  new Effect.MoveBy(effect.element, 0, 40,     { duration: 0.1, afterFinishInternal: function(effect) {  new Effect.MoveBy(effect.element, 0, -40,     { duration: 0.1, afterFinishInternal: function(effect) {  new Effect.MoveBy(effect.element, 0, 40,     { duration: 0.1, afterFinishInternal: function(effect) {  new Effect.MoveBy(effect.element, 0, -20,     { duration: 0.05, afterFinishInternal: function(effect) {        Element.undoPositioned(effect.element);        effect.element.style.left = oldLeft;        effect.element.style.top = oldTop;  }}) }}) }}) }}) }}) }});}
meta: 3974	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/3974/af9adbf17404d887f31369756326b0109da7ae2b/effects.js/clean/root/static/js/effects.js