/**
 * addLoadEvent
 * Adds event to window.onload without overwriting currently assigned onload functions.
 * @author Simon Willison http://simonwillison.net/
 */

function addLoadEvent(func) {
	if (window.onload == undefined) {// || typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		var oldonload = window.onload;
		window.onload = function(){
			if (oldonload) {
				oldonload();
			}
			func();
		}
	}
}

/**
 * Generate valid XHTML Strict links which open external windows
 */

function externalLinks() {
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") &&
		anchor.getAttribute("rel") == "external") {
			anchor.title += 'Opens in new window';
			anchor.onclick = function(){
				window.open(this.href);
				return false;
			}
		}
	}
}
addLoadEvent(externalLinks);
