Hey everyone,
I''ve created a new "core" effect for use with a project
I''m working on.
Thought some people might find it useful. It takes a CSS parameter that 
has top, right, left, and bottom parameters and adjusts them as 
specified; useful making adjustments to page layouts (ie, hide one 
element and adjust another''s margin to fill to void). I''ve not
tested it
a whole lot; it works with margins though (that''s what I''m
using it
for). Stick it in with the core effects at the top of effects.js. Then 
add your usage function into effects.js...I''ve included a "right
margin"
adjustment here. Seems to work as far as I can tell; if you find any 
major issues, let me know. I''m using 1.5 RC 4, FYI.
// call this function in your page
Effect.ChangeRightMargin(elems[i], 210);
// the secondary effect
Effect.ChangeRightMargin = function(element, to) {
    element = $(element);
    new Effect.Adjust(element, ''margin'', {toRight: to});
}
// the core effect
Effect.Adjust = Class.create();
Object.extend(Object.extend(Effect.Adjust.prototype, 
Effect.Base.prototype), {
  initialize: function(element, property) {
    this.element  = $(element);
    this.property = property;
    var options = Object.extend({
      toRight: null,
      toLeft: null,
      toTop: null,
      toBottom: null
    }, arguments[2] || {});
   
    this.originalRight  = parseFloat(Element.getStyle(this.element, 
property + ''-right'')  || ''0'');
    this.originalLeft   = parseFloat(Element.getStyle(this.element, 
property + ''-left'') || ''0'');
    this.originalTop    = parseFloat(Element.getStyle(this.element, 
property + ''-top'') || ''0'');
    this.originalBottom = parseFloat(Element.getStyle(this.element, 
property + ''-bottom'') || ''0'');
    this.start(options);
  },
  update: function(position) {
    rightd = (this.originalRight * (1-position)) + (this.options.toRight 
* position);
    leftd = (this.originalLeft * (1-position)) + (this.options.toLeft * 
position);
    topd = (this.originalTop * (1-position)) + (this.options.toTop * 
position);
    bottomd = (this.originalBottom * (1-position)) + 
(this.options.toBottom * position);
    this.makeAdjustment(rightd, leftd, topd, leftd);
  },
  makeAdjustment: function(rightd, leftd, topd, bottomd) {
    if(this.options.toRight != null) { this.element.style[this.property 
+ ''Right''] = rightd + "px"; }
    if(this.options.toLeft != null) { this.element.style[this.property+ 
''Left''] = leftd + "px"; }
    if(this.options.toTop != null) { this.element.style[this.property + 
''Top''] = topd + "px"; }
    if(this.options.toBottom != null) { this.element.style[this.property 
+ ''Bottom''] = bottomd + "px"; }
  }
});
-Jerod Venema