code:
var keyadex = new Array(/[^oe]ad[^d]/i, /cn\.yimg\.com/i, /icast/i);
var keyadin = new Array(/[^\/]\/ad[^dj]/i, /[a-df-np-z]ad[^a-z=\/-]/i, /[^a-z\/,\s]ad[^dj]/i);
var blist = new Array();
var wlist = new Array(/mail\.yahoo/i);
var dbg = 0;
function IsAD?(str, flag)
{
var keyad;
if ( flag )
keyad = keyadex ;
else
keyad = keyadin ;
for (var i = 0; i < keyad.length; i) {
if (keyad[i].test(str)
}
return 0;
}
function filterex(e)
{
for (var i = 0; i < blist.length; i) {
if (blist[i].test(location.host)
true) { e.preventDefault(); return;}
}
var addr=e.element.getAttribute("src");
if (IsAD?(addr, 1)){
e.preventDefault();if (dbg) { alert("banex"+addr); return;}
}
if (dbg)
alert("threx"+addr);
}
function filterin(e)
{
for (var i = 0; i < wlist.length; i) {
if (wlist[i].test(location.host)
}
var tsc = e.element.text;
if ( IsAD?(tsc, 0) ) {
e.preventDefault();if (dbg) { alert("banin"+tsc); return;}
}
if (dbg)
alert("thrin "+tsc);
}
window.opera.addEventListener( 'BeforeExternalScript?', filterex, false);
window.opera.addEventListener( 'BeforeScript?', filterin, false);