(function() {

    function externalOpenWindow() {

        map(function(x) {
                connect(x, 'onclick', function(e) {
                        window.open(x.getAttribute('href'));
                        e.stop();
                    });
                connect(x, 'onkeypress', function(e) {
                        window.open(x.getAttribute('href'));
                        e.stop();
                    });

            },
            filter(function(x) {
                    if (x.getAttribute('rel') == 'external' &&
                        x.getAttribute('href')) {
                        return x;
                    }
                },
                document.getElementsByTagName('a'))
            );
    }
    
    connect(window, 'onload', externalOpenWindow);
})();
