add: var oldOnchange = e.onchange; if(typeof oldOnchange=="function") { e.onchange = function() { checker.call(this); oldOnchange.call(this); } } else e.onchange = checker; e.onblur = checker;  
context: function registerValidator(e) {    e.targetElement = findFollowingTR(e, "validation-error-area").firstChild.nextSibling;    e.targetUrl = function() {        return eval(this.getAttribute("checkUrl"));    };    var method = e.getAttribute("checkMethod");    if (!method) method = "get";    FormChecker.delayedCheck(e.targetUrl(), method, e.targetElement);    e.onchange = e.onblur = function() {        var target = this.targetElement;        FormChecker.sendRequest(this.targetUrl(), {            method : method,            onComplete : function(x) {                target.innerHTML = x.responseText;            }        });    }    e = null; // avoid memory leak}
meta: 3881	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/3881/896d84e9dce86ce3f4ba55af8523e985b282f3cc/hudson-behavior.js/buggy/war/resources/scripts/hudson-behavior.js