rem: setTimeout(dojo.hitch(this, function(){ this.play(null, gotoStart); }), d); 
add: (function(){ var d = dojo; var ctr = 0; var _globalTimerList = []; var runner = { run: function(){} }; var timer = null; dojo._Animation.prototype._startTimer = function(){  if(!this._timer){ this._timer = dojo.connect(runner, "run", this, "_cycle"); ctr++; } if(!timer){ timer = setInterval(dojo.hitch(runner, "run"), this.rate); } };  dojo._Animation.prototype._stopTimer = function(){ dojo.disconnect(this._timer); this._timer = null; ctr--; if(!ctr){ clearInterval(timer); timer = null; } this._timer = null; };  var _makeFadeable = (d.isIE) ? function(node){   var ns = node.style; if(!ns.zoom.length && d.style(node, "zoom") == "normal"){    ns.zoom = "1";  }   if(!ns.width.length && d.style(node, "width") == "auto"){ ns.width = "auto"; } } : function(){};  dojo._fade = function(/*Object*/ args){     args.node = d.byId(args.node); var fArgs = d.mixin({ properties: {} }, args); var props = (fArgs.properties.opacity = {}); props.start = !("start" in fArgs) ? function(){ return Number(d.style(fArgs.node, "opacity")); } : fArgs.start; props.end = fArgs.end;  var anim = d.animateProperty(fArgs); d.connect(anim, "beforeBegin", d.partial(_makeFadeable, fArgs.node));  return anim; }  dojo.fadeIn = function(/*Object*/ args){        return d._fade(d.mixin({ end: 1 }, args)); }  dojo.fadeOut = function(/*Object*/ args){       return d._fade(d.mixin({ end: 0 }, args)); }  dojo._defaultEasing = function(/*Decimal?*/ n){  return 0.5 + ((Math.sin((n + 1.5) * Math.PI))/2); }  var PropLine = function(properties){ this._properties = properties; for(var p in properties){ var prop = properties[p]; if(prop.start instanceof d.Color){  prop.tempColor = new d.Color(); } } this.getValue = function(r){ var ret = {}; for(var p in this._properties){ var prop = this._properties[p]; var start = prop.start; if(start instanceof d.Color){ ret[p] = d.blendColors(start, prop.end, r, prop.tempColor).toCss(); }else if(!d.isArray(start)){ ret[p] = ((prop.end - start) * r) + start + (p != "opacity" ? prop.units||"px" : ""); } } return ret; } }  dojo.animateProperty = function(/*Object*/ args){                      args.node = d.byId(args.node); if(!args.easing){ args.easing = d._defaultEasing; }  var anim = new d._Animation(args); d.connect(anim, "beforeBegin", anim, function(){ var pm = {}; for(var p in this.properties){    var prop = (pm[p] = d.mixin({}, this.properties[p]));  if(d.isFunction(prop.start)){ prop.start = prop.start(); } if(d.isFunction(prop.end)){ prop.end = prop.end(); }  var isColor = (p.toLowerCase().indexOf("color") >= 0); function getStyle(node, p){  var v = ({height: node.offsetHeight, width: node.offsetWidth})[p]; if(v !== undefined){ return v; } v = d.style(node, p); return (p=="opacity") ? Number(v) : parseFloat(v); } if(!("end" in prop)){ prop.end = getStyle(this.node, p); }else if(!("start" in prop)){ prop.start = getStyle(this.node, p); }  if(isColor){  prop.start = new d.Color(prop.start); prop.end = new d.Color(prop.end); }else{ prop.start = (p == "opacity") ? Number(prop.start) : parseFloat(prop.start); }   } this.curve = new PropLine(pm); }); d.connect(anim, "onAnimate", anim, function(propValues){  for(var s in propValues){  d.style(this.node, s, propValues[s]);  }  }); return anim; } })(); 
context: 			setTimeout(dojo.hitch(this, function(){ this.play(null, gotoStart); }), d);
meta: 4497	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/4497/a68d9b151191f06f52ca95d3f1ce351f242146ce/fx.js/clean/_base/fx.js