function addEvent(obj, evt, fn) {
    if (obj.addEventListener) {
        // W3C standard
        obj.addEventListener(evt, fn, false);
    }
    else if (obj.attachEvent) {
        // Internet Explorer
        obj.attachEvent('on' + evt, fn);
    }
    else {
        throw 'Cannot add event listener';
    }
}

function addOutboundTracking() {
    var links = document.getElementsByTagName('a');

    for (var i = 0; i < links.length; i++) {
        var link = links[i];
        var href = link.getAttribute('href');
        if (href.match(/^http/) && ! href.match(document.domain)) {
            addEvent(link, 'click', function() {
                pageTracker._trackPageview('/outgoing/' + this.getAttribute('href'));
            });
        }
    }
}

addEvent(window, 'load', addOutboundTracking);
