/**
 * Script to get anchor links with class 'newwindow' to open in new window.
 * Also adds a warning text to the link title.
 *
 * Written by: Per Holmberg.
 */

function addEvent(node, type, listener) {

	if (node.addEventListener) {
		// W3C method
		node.addEventListener(type, listener, false);
		return true;		
		
	} else if (node.attachEvent) {
		// MSIE method
		node['e'+type+listener] = listener;
		node[type+listener] = function(){
			node['e'+type+listener](window.event);
		}
		node.attachEvent('on' + type, node[type+listener]);
		return true;
	}
	
	return false;
}

function getElementsByClassName(className, tag, parent) {

	parent = parent || document;

	var allTags = parent.getElementsByTagName(tag);
	var matchingElements = new Array();
	
	var regex = new RegExp("(^|\\s)" + className.replace(/\-/g, "\\-") + "(\\s|$)");	
	
	var element;
	for (var i=0; i<allTags.length; i++) {
		element = allTags[i];
		if (regex.test(element.className)) {
			matchingElements.push(element);
		}
	}
	
	return matchingElements;
	
}

function newWindowLinks() {

	if (!document.getElementsByTagName) return;
	
	var lang = document.documentElement.lang;
	
	var anchors = getElementsByClassName('newwindow', 'a');
	for (var i = 0; i < anchors.length; i++) {
		var anchor = anchors[i];
		anchor.target = '_blank';
		if (anchor.title == '') {
			anchor.title = anchor.textContent || anchor.innerText;
		}
		anchor.title += (lang != 'en' ? ' (öppnas i nytt fönster)' : ' (opens in new window)');
	}
	
}

addEvent(window, 'load', newWindowLinks);
