function getFriendsList() { var xhr = new XMLHttpRequest(), doc = document, el = doc.selectSingleNode('//img[contains(@src, "/avatar.pl")]'), subtle = false; if (!el) return; // not logged in var url = 'http://my.opera.com/' + el.getAttribute('src').match(/\.com\/([^\/]+)\/avatar\.pl$/)[1] + '/xml/foaf/'; xhr.open('GET', url, false); xhr.overrideMimeType('text/xml'); xhr.send(null); if (xhr.readyState == 4) { var els = xhr.responseXML.selectNodes('//foaf:Person//foaf:nick/text()'), friends = []; for (var i = 0, l = els.length; i < l; i++) friends.push(els[i].data); for (var i = 0, e = doc.selectNodes('//div[contains(@class, "c-avatar")]/a[contains(@href, concat("/", "' + friends.join('", "/info/")) or contains(@href, concat("/", "') + '", "/info/"))]/' + (subtle ? '..' : 'ancestor::div[starts-with(@id, "comment")]')), L = e.length; i < L; i++) e[i].className += ' ujs-friend'; } }