/* Open links from unknown domains in a new browser window */
var d = document;
function convertExternalLinks(link) {
    var domains = [window.location.hostname.split('www.').pop()];
    for (var i=0; i < d.links.length; i++) {
        var link = d.links[i];
        var href = link.getAttribute('href');
        if (link.getAttribute('target') != null || link.getAttribute('onClick') != null) {
            // Do not mark links with explicit target as external.
            // Neither do so on JS Links
            continue;
        }
        if (href.indexOf('http') == 0) {
            var is_external;
            for (var j=0; j < domains.length; j++) {
                var domain = domains[j];
                if (href.indexOf(domain) < 0) {
                    is_external = true;
                } else {
                    is_external = false;
                    break;
                }
            }
            if (is_external) {
                /* give class names
                var linkChildren = link.childNodes;
                var has_img = false;
                for (var k=0; k < linkChildren.length; k++) {
                    var linkChild = linkChildren.item(k);
                    if (linkChild.nodeName == 'IMG') {
                        has_img = true;
                        break;
                    }
                }
                if (has_img == false) {
                    //var old_classname = link.getAttribute('class');
                    //var new_classname = ' external-link';
                    //if (old_classname) new_classname = old_classname + new_classname;
                    //link.setAttribute('class', new_classname);
                    link.setAttribute('class', 'external-link');
                }
                */
                link.setAttribute('target', '_blank');
            }
        }
    }
}
window.onload = convertExternalLinks;
