rem: new Effect.Scale(element, 0, { sync: true, transition: moveTransition }), new Effect.MoveBy(element, moveY, moveX, { sync: true, transition: scaleTransition }) ], options); 
add: new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: scaleTransition, restoreAfterFinish: true}), new Effect.MoveBy(element, moveY, moveX, { sync: true, transition: moveTransition }) ], Object.extend({ beforeStartInternal: function(effect) { Element.makePositioned(effect.effects[0].element); Element.makeClipping(effect.effects[0].element); }, afterFinishInternal: function(effect) { var el = effect.effects[0].element; var els = el.style; Element.hide(el); Element.undoClipping(el); Element.undoPositioned(el); els.top = oldTop; els.left = oldLeft; els.height = oldHeight; els.width = oldWidth; Element.setInlineOpacity(el, oldOpacity); } }, options) ); 
context: Effect.Shrink = function(element) {  element = $(element);  var options = arguments[1] || {};    var originalWidth = element.clientWidth;  var originalHeight = element.clientHeight;  element.style.overflow = 'hidden';  Element.show(element);  var direction = options.direction || 'center';  var moveTransition = options.moveTransition || Effect.Transitions.sinoidal;  var scaleTransition = options.scaleTransition || Effect.Transitions.sinoidal;  var opacityTransition = options.opacityTransition || Effect.Transitions.none;    var moveX, moveY;    switch (direction) {    case 'top-left':      moveX = moveY = 0;      break;    case 'top-right':      moveX = originalWidth;      moveY = 0;      break;    case 'bottom-left':      moveX = 0;      moveY = originalHeight;      break;    case 'bottom-right':      moveX = originalWidth;      moveY = originalHeight;      break;    case 'center':        moveX = originalWidth / 2;      moveY = originalHeight / 2;      break;  }    new Effect.Parallel(    [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: opacityTransition }),      new Effect.Scale(element, 0, { sync: true, transition: moveTransition }),      new Effect.MoveBy(element, moveY, moveX, { sync: true, transition: scaleTransition }) ],    options);}
meta: 3283	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/3283/9867ca01ad65827d23c0bf6cc14d8a64137e927d/effects.js/buggy/tracks/public/javascripts/effects.js