rem: this.on(eventName, function(e){ observable.fireEvent(eventName, e); }); 
add: return function(el, local, offsets, proposedXY){ el = Ext.get(el); offsets = offsets ? Ext.applyIf(offsets, os) : os;  var vw, vh, vx = 0, vy = 0; if(el.dom == document.body || el.dom == document){ vw = Ext.lib.Dom.getViewWidth(); vh = Ext.lib.Dom.getViewHeight(); }else{ vw = el.dom.clientWidth; vh = el.dom.clientHeight; if(!local){ var vxy = el.getXY(); vx = vxy[0]; vy = vxy[1]; } }  var s = el.getScroll();  vx += offsets.left + s.left; vy += offsets.top + s.top;  vw -= offsets.right; vh -= offsets.bottom;  var vr = vx+vw; var vb = vy+vh;  var xy = proposedXY || (!local ? this.getXY() : [this.getLeft(true), this.getTop(true)]); var x = xy[0], y = xy[1]; var w = this.dom.offsetWidth, h = this.dom.offsetHeight;   var moved = false;   if((x + w) > vr){ x = vr - w; moved = true; } if((y + h) > vb){ y = vb - h; moved = true; }  if(x < vx){ x = vx; moved = true; } if(y < vy){ y = vy; moved = true; } return moved ? [x, y] : false; }; 
context:         this.on(eventName, function(e){            observable.fireEvent(eventName, e);        });
meta: 2891	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/2891/d109eea1e59fbb030ac98e95f181f72da9611a48/ext-all-debug.js/buggy/gemma-web/src/main/webapp/scripts/ext/ext-all-debug.js