codeForEvent(options,'beforeSetup')+ 
codeForEvent(this.options,'beforeSetup')+ 
  start: function(options) {    function codeForEvent(options,eventName){      return (        (options[eventName+'Internal'] ? 'this.options.'+eventName+'Internal(this);' : '') +        (options[eventName] ? 'this.options.'+eventName+'(this);' : '')      );    }    if(options.transition === false) options.transition = Effect.Transitions.linear;    this.options      = Object.extend(Object.extend({},Effect.DefaultOptions), options || {});    this.currentFrame = 0;    this.state        = 'idle';    this.startOn      = this.options.delay*1000;    this.finishOn     = this.startOn+(this.options.duration*1000);    this.fromToDelta  = this.options.to-this.options.from;    this.totalTime    = this.finishOn-this.startOn;    this.totalFrames  = this.options.fps*this.options.duration;        eval('this.render = function(pos){ '+      'if(this.state=="idle"){this.state="running";'+      codeForEvent(options,'beforeSetup')+      (this.setup ? 'this.setup();':'')+       codeForEvent(options,'afterSetup')+      '};if(this.state=="running"){'+      'pos=this.options.transition(pos)*'+this.fromToDelta+'+'+this.options.from+';'+      'this.position=pos;'+      codeForEvent(options,'beforeUpdate')+      (this.update ? 'this.update(pos);':'')+      codeForEvent(options,'afterUpdate')+      '}}');        this.event('beforeStart');    if(!this.options.sync)      Effect.Queues.get(typeof this.options.queue == 'string' ?         'global' : this.options.queue.scope).add(this);  },
4053	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/4053/e01dd753ba81c1113d36af3c1ebc92bb4c48cc54/effects.js/clean/src/effects.js