
function setLinkTargets(target, elements) {
        var i, j, anchors;

        for (i=0; i<elements.length; i++) {

                anchors = elements[i].getElementsByTagName("a");

                for (j=0; j<anchors.length; j++) {
                        if (getDomainName(anchors[j].href) != getDomainName(document.location.href))
                                anchors[j].target = target;
                }
        }
}


function getDomainName(url) {
        var schemeSuffix = "://";
        return url.substr(0, url.indexOf("/", url.indexOf(schemeSuffix) + schemeSuffix.length));
}

/*
Function Source:
http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
*/

function getElementsByClassName(className, tag, elm){
        var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
        var tag = tag || "*";
        var elm = elm || document;
        var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
        var returnElements = [];
        var current;
        var length = elements.length;
        for(var i=0; i<length; i++){
                current = elements[i];
                if(testClass.test(current.className)){
                        returnElements.push(current);
                }
        }
        return returnElements;
}

