String.prototype.htmlEntities = function() {
	var chars = new Array ('&','\"','<', '>', '\'');

	var entities = new Array ('amp', 'quot', 'lt', 'gt', '#39');

	newString = this;
	for (var i = 0; i < chars.length; i++)
	{
		myRegExp = new RegExp();
		myRegExp.compile(chars[i],'g')
		newString = newString.replace (myRegExp, '&' + entities[i] + ';');
	}
	return newString;
}

function epost(toplevelDomene, server, bruker) {
	var del1 = "lto:";
	var del2 = bruker;
	var del3 = "@"+server;
	var del4 = "."+toplevelDomene;
	var del5 = bruker+"@";
	var del6 = server+"."+toplevelDomene;

	var pos = document;
	while (pos.lastChild.nodeType == 1) pos = pos.lastChild;

	var link = document.createElement("a");
	link.setAttribute('href', "mai"+del1+del2+del3+del4);

	var tekst = document.createTextNode(del5+del6);
	link.appendChild(tekst);

	var pos = document;
	while (pos.lastChild.nodeType == 1 && pos.lastChild.lastChild.nodeType == 1) pos = pos.lastChild;
	pos.appendChild(link);
}

function epost_ikon(toplevelDomene, server, bruker) {
	var link = document.createElement("a");
	var del1 = "lto:";
	var del2 = bruker;
	var del3 = "@"+server;
	var del4 = "."+toplevelDomene;
	var del5 = bruker+"@";
	var del6 = server+"."+toplevelDomene;

	link.setAttribute('href', "mai"+del1+del2+del3+del4);

	var bilde = document.createElement('img');
	bilde.setAttribute('alt', del5 + del6);
	bilde.setAttribute('src', '/templates/sommar/grafikk/ikoner/email.png');

	link.appendChild(bilde);

	var pos = document;
	while (pos.lastChild.nodeType == 1 && pos.lastChild.lastChild.nodeType == 1) pos = pos.lastChild;
	pos.appendChild(link);
}

function kryssAv(avkrysningsboks, kryss) {
	if (avkrysningsboks == undefined) return false;

	var arr_cnt = avkrysningsboks.length;
	for (i = 0; i< arr_cnt; i++) {
		avkrysningsboks[i].checked = kryss;
	}
}

function hideMenu() {
	var meny = document.getElementById('menyspalte_v');
	meny.style.visibility = 'hidden';
	meny.style.width = 1+'px';
	document.getElementById('hovedspalte').style.width = 640+144+'px';
}

// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

// set the radio button with the given value as being checked
// do nothing if there are no radio buttons
// if the given value does not exist, all the radio buttons
// are reset to unchecked
function setCheckedValue(radioObj, newValue) {
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}

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")) {
			switch (anchor.getAttribute("rel")) {
				case "bilde":
					anchor.target = "_blank";
					break;
				case "popup":
					anchor.target = "_blank";
					break;
				case "ekstern":
					anchor.target = "_blank";
					anchor.className = "ekstern";
					break;
				default:
					break;
			}
		}

	}
}

function addEventFunction(element, sEvent, PFunction) {
	if (element) {
		if (element.addEventListener) {
			element.addEventListener(sEvent, PFunction, false);
		} else {
			element.attachEvent("on" + sEvent, PFunction);
		}
	}
}

function init() {
	var oninit_len = oninit_funksjona.length;
	for (i = 0; i < oninit_len; i++) {
		eval(oninit_funksjona[i]+'()');
	}
}

var oninit_funksjona = new Array();
oninit_funksjona[oninit_funksjona.length] = "externalLinks";

