// Find all tags that match <a class="blame-revision" ...> and add events.var a = document.getElementsByTagName('a');for (var i = 0; i < a.length; i++) {if (a[i].className == 'blame-revision') {addEvent(a[i], 'mouseover', function() { mouseover(this) } );addEvent(a[i], 'mouseout', function() { mouseout(this) } );}}function addEvent(obj, type, func) {if (obj.addEventListener) {obj.addEventListener(type, func, false);return true;} else if (obj.attachEvent) {return obj.attachEvent('on'+type, func);} else {return false;}}function mouseover(a) {// Find the revision number within the hyperlink textvar m = /rev=(\d+)/.exec(a.href);var r = m[1];if (rev[r]) {var div = document.createElement('div');div.className = 'blame-popup';div.innerHTML = rev[r];a.parentNode.appendChild(div);}}function mouseout(a) {var div = a.parentNode.parentNode.getElementsByTagName('div');for (var i = 0; i < div.length; i++) {if (div[i].className = 'blame-popup') {div[i].parentNode.removeChild(div[i]);}}}