var synlig = "undefined";
var visHjelp = 1;
//var forrigeHjelp = 1;
//skjulBokinfo settes til 0 når musa går inn i bokinfoboksen. Settes til 1 når den forlates.
//var skjulBokinfo = 1;
var tipsIndex=0;
// Original JavaScript code by Duncan Crombie: dcrombie@chirp.com.au
// Please acknowledge use of this code by including this header.
var tmpArgs;
var ftb=0;
var stil;
var orgCclVerdi;
var harEndretCclVerdi = 0;
var kurvArr= new Array();
var timer;
var bikky = document.cookie;
var isIE = navigator.appVersion.indexOf("MSIE")>0 && navigator.userAgent.indexOf("Opera") == -1;

var agt=navigator.userAgent.toLowerCase();
var version = parseInt(navigator.appVersion)
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
// Note: Opera and WebTV spoof Navigator.  We do strict client detection.
// If you want to allow spoofing, take out the tests for opera and webtv.
var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
		   && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
		   && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
var is_nav2 = (is_nav && (is_major == 2));
var is_nav3 = (is_nav && (is_major == 3));
var is_nav4 = (is_nav && (is_major == 4));
var is_nav4down = (is_nav &&(is_major <= 4));
var is_ie3    = (isIE && (is_major < 4));
var is_ie4    = (isIE && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
var is_ie5    = (isIE && (agt.indexOf("msie 5")!=-1) );
var is_ie4up  = (isIE && (is_major >=4)  && (agt.indexOf("msie") !=-1) );
var is_ie5up  = (isIE && !is_ie3 && !is_ie4);

var is_ie5orless    = (isIE && is_major < 3) || (is_ie3 || is_ie4 || is_ie5);
var is_Konqueror = (agt.indexOf("Konqueror")!= -1);
		
var isOpera = navigator.userAgent.indexOf("Opera")>0 || navigator.appName == "Opera";
var isO5 = isOpera && version >=4;
var isGecko = navigator.userAgent.indexOf("Gecko")>0 && version>=5;
var oAr;
var cookie="";
var xtracookie="";
var mmU="";
var ieSjanser="undefined";

//Simulerer document.all i browsere som ikke skjønner det.
//Lånt fra Javascript Bible, 4th edition, av Danny Goodman

if (!document.all) 
{
	Node.prototype.__defineGetter__("all", function() {
		if (document.getElementsByTagName("*").length) {
			switch (this.nodeType) {
				case 9:
					return document.getElementsByTagName("*");
					break;
				case 1:
					return this.getElementsByTagName("*");
					break;
			}
		}
		return ""
	})
	Node.prototype.__defineSetter__("all",function() {})

}

function slaaAv()
{
	SetCookie("visHjelp",0);
	visHjelp = 0;
	return 0;
}
function slaaPaa ()
{
	SetCookie("visHjelp",1);
	visHjelp = 1;
	return 1;
}

var DHTML = (document.getElementById || document.all || document.layers);
			
function jumpSelectPage(select,size,frame) 
{
	i = select.selectedIndex;
	if (i > 0 || size != 0) {
		frame.location = select.options[i].value;
	}
}				
function velgSide(form) 
{
	if (form.dummysok.value != "") {
		window.location=form.dummysok.value;
	}
	
	return false;
}
function fillEntry(select,entry) 
{
	i = select.selectedIndex;
	if (i > 0) 
	{
		entry.value = select.options[i].value;
	}
}				
var state=1;
function subm(form, key) {
	if (state != 0 && (key == 13 || key == 65293)) 
	{
		form.submit();
	} else {
		state=1;
	}
}

function fO (elemId)
{
	if (elemId != "")
	{
		if (document.getElementById)
		{
			return document.getElementById(elemId);
		}
		else if(document.all)
		{
			return document.all[elemId];
		}
		else if(document.layers)
		{
			return document.layers[elemId];
		}
	} else {
		return ""
	}
}

function getWinYOffset(){
	if (is_ie4up)
	{
		if (document.body.scrollTop < 12)
		{
			return document.body.scrollTop + (12 - document.body.scrollTop);
		} else
		{
			return document.body.scrollTop;
		}
	}
	return window.pageYOffset+12; //Setter av plass til menyen øverst
	//Det er ikke nødvendig i IE for den klarer ikke å beholde menyen synlig.
}

function vHints()
{
	if (visHjelp) {
		var args=vHints.arguments;
		var kildeFelt=args[0];
		var tid=args[1];
		var antall=args[2];
		var navn='tips_' + tipsIndex + '_Hjelp';
		tipsIndex=tipsIndex + 1;
		if (tipsIndex > antall) 
		{
			tipsIndex = 0;
		}	
		v(navn,'v',kildeFelt,'','');
		v(navn,'hide',kildeFelt,tid);
	}			
}
function hj() {
	visHjelp=GetCookie("visHjelp");
//	alert("fant visHjelp:"+visHjelp);
	var args=hj.arguments;	
//alert('args:'+args);
		try {
			var task=args[1];
		} catch (e) {
			var task="";
		}

	if (visHjelp != 0 || task != "v") {
		//Tillater skjuling også hvis visning er slått av. (i tillfelle noe har klart å forbli åpne)
		try {
			var felt=args[0];
		} catch (e) {
			var felt="";
		}

		try {
			var kildeFelt=args[2];
		} catch (e) {
			var kildeFelt="";
		}
		try {
			var settX=args[3];
		} catch (e) {
			var settX="";
		}
		try {
			var yOffset=args[4];
		} catch (e) {	 
			var yOffset="";
		}
		v(felt,task,kildeFelt,settX, yOffset);

	}
}

function v()
{
//	alert('visHjelp: '+visHjelp);
//	if (visHjelp != 0 && ( is_ie5up || isOpera || isGecko) )
//	{
//		alert(v.arguments);		
isIE=navigator.appVersion.indexOf("MSIE")>0 && navigator.userAgent.indexOf("Opera") == -1;

		var args=v.arguments;
		try {
			var felt=fO(args[0]);
		} catch (e) {
			var felt="";
	//		alert("error"+e);
		}
		try {
			var task=args[1];
		} catch (e) {
			var task="";
		}

		try {
			var kildeFelt=fO(args[2]);
		} catch (e) {
			var kildeFelt="";
		}
		try {
			var settX=args[3];
		} catch (e) {
			var settX="";
		}
		try {
			var yOffset=args[4];
		} catch (e) {	 
			var yOffset="";
		}
		if (felt != "undefined" && felt != "" && kildeFelt != "undefined" && kildeFelt != "" && kildeFelt != null)
		{

			var pos = kildeFelt.offsetTop;
			var posX =kildeFelt.offsetLeft;
		
						
			var pElement = kildeFelt.offsetParent;
			try {
				var elementer=fO("content");
				var littoffset=elementer.scrollTop;
				var tmp="";
				while (pElement != document.body) {
					pos  += pElement.offsetTop;
					posX += pElement.offsetLeft;
					pElement = pElement.offsetParent
					tmp +=pElement;
				} 
			} catch (e) {

			}
			pos +=36;
			try {			
			stil=felt.style;
			} catch (e) {
				//	alert('feil\n'+e);
			}
			if (task == 'v')
			{
				//Må skjule den som ev. er synlig allerede.
				if (synlig != "undefined")
				{
					gammel = fO(synlig);
					if (gammel != "undefined" )
					{
						gammelstyle = gammel.style;
						gammelstyle.visibility='hidden';
						gammel.width="0px";
						gammelstyle.top=500;
						gammelstyle.display='none';
						gammelstyle.zindex=-10;

					}
					if (isIE && synlig == "asok") {
						try {
							var tabell = fO("pubsok");	
							if (tabell != "" && tabell != "undefined") {
								var tblstyle=tabell.style;
								tblstyle.marginLeft="1.5em";
								ftb =0;
							}	
						} catch (e) {
				//			alert("feil:"+e);
						}	
					}
				}
//alert("Exploder?"+navigator.appVersion + "isIE:"+isIE);
				if (!isIE) { 
					stil.position='fixed';
				} else { 	
					//TODO: Denne må rettes hvis IE en gang får støtte for skikkelig position:fixed.
					if (args[2] == "meny")
					{
						pos = getWinYOffset();
					}
					pos +=littoffset;
					pos -=18;
//				alert("IE:fikk posisjon satt:"+pos);
					stil.position='absolute';
					//Når explorer skal vise menyer som overlapper listebokser, vises disse synlig over alt annet, slik at disse må skjules i mellomtida.
					if (args[0] == "asok") {
						try {
							var tabell = fO("pubsok");	
							if (tabell != "" && tabell != "undefined") {
								var tblstyle=tabell.style;
								tblstyle.marginLeft="20em";

								ftb=1;
							}
						} catch (e) {
//							alert("feil:"+e);
						}				
					}
				}
//							pos = pos+yOffset;
				stil.top=pos;
				if (settX == 1)
				{
					stil.left=posX;
				}
//				alert("Plassert:"+stil.left+" / "+stil.top);
				stil.visibility='visible';
				stil.display='block';
				synlig = args[0];

			}
			else
			{	
				tmpArgs = args[0];
			//	alert('skjuler' + tmpArgs);
				/*Denne timeren lukker den åpne hjelpeteksten, selv om den blei starta for å lukke en annen. */
				if (timer != null)
				{
					window.clearTimeout(timer);
				}
				timer = setTimeout("skjulFelt()",args[3]);
			}
		}
	//	}
		return "";
}
function skjulFelt ()
{
	if (synlig == tmpArgs || tmpArgs == '')
	{
		stil.visibility='hidden';
		stil.display='none';
		if (isIE) {
			if (1) {
				try {
					var tabell = fO("pubsok");	
					if (tabell != "" && tabell != "undefined") {
						var tblstyle=tabell.style;
						tblstyle.marginLeft="1.5em";
						ftb =0;
					}	
				} catch (e) {
		//			alert("feil:"+e);
				}	
			}
		}
		synlig = "undefined";
	}
	return 1;
}
			
function byttBilde(img,url)
{
	if (document.images)
	{
		img.src = url
//		alert("img er:"+img);
	}
}

function bb(img,newimg, a, target)
{
	if (document.images)
	{
		var bilde=fO(img);
		if (bilde != "") {
			bilde.src = newimg;
			var url=fO(a);
			url.href=target;
		}		

	}
}

function compare(a,b)
{
	return  b - a;
}

function vp()
{		
	var args=vp.arguments; 
	var tmpTnr=args[0];
//			alert('tnr: '+tmpTnr);
	var skjema= fO('visEnPostSkjema');
	skjema.tnr.value=tmpTnr;	
	skjema.submit();	
	return true;
}
function vkp()
{		
	//Viser kortformat
	var args=vkp.arguments; 
	var tmpTnr=args[0];
	var skjema= fO('visKortPostSkjema');
	skjema.tnr.value=tmpTnr;		
	skjema.submit();	
	return true;
}
function vt()
{
	var args=vt.arguments;
	var brukOg=args[0];
	var verdi=args[1];
	var skjema=fO('visTitlerSkjema');
	if (brukOg == 'og')
	{
		if (harEndretCclVerdi == 1)
		{
			skjema.cclsok.value = orgcclVerdi + ' og ' + verdi;
		} else {
			orgCclVerdi = skjema.cclsok.value;
			harEndretCclVerdi = 1;
			skjema.cclsok.value=skjema.cclsok.value + ' og '+ verdi;
		}
//		alert('verdi:'+skjema.cclsok.value);
	} else {
//			alert('else');
		skjema.cclsok.value=verdi;
		//			alert('verdi: '+skjema.cclsok.value);
	}
	skjema.submit();
	return true;
}
function slettListe(cookienavn, tabell)
{
	fjernBarn(tabell);
//	settCookieVal(cookienavn,"huskeliste","",1);
	SetCookie(cookienavn,null,null,null,false);
	return false;
}
function slettCookie(cookienavn) 
{
	var cookie=GetCookie(cookienavn);
	if (cookie != null)
	{
		var dato = new Date(70,01,01);
		SetCookie(cookienavn,'',dato,null,null,false);
	}
}
function inspect(elm) { 
  var str = "";
  for (var i in elm){
    str += i + ": " + elm.getAttribute(i) + "\n";
  }
}

//Henter en navngitt variabel fra en cookie. (null hvis den ikke finnes)
function hentCookieVal(cookie, variabel) 
{
	var kjeks = GetCookie(cookie);
	if (kjeks != null)
	{
		var firstChar, lastChar;
		//Finn variablen vi leiter etter
		firstChar = kjeks.indexOf(variabel);
		if(firstChar != -1)  {
			firstChar += variabel.length + 1;
			lastChar = kjeks.indexOf('}', firstChar);	
			if(lastChar == -1) lastChar = kjeks.length;
			//Finn verdien på variablen	
//			alert('returnerer kjeks'+kjeks+' firstChar '+firstChar+' lastChar:'+lastChar+'\nøkte med '+variabel.length); 
			return unescape(kjeks.substring(firstChar, lastChar));
		} else {
//			alert('fant ikke variabel:'+variabel+'\ni cookie:'+kjeks);
			return null
		}
	} else {
		return null
	}

}
function lefttrim() {
	//Matcher whitespace på begynnelsen av teksten og erstatter med ''.
    return this.replace(/^\s+/,'');
}
function righttrim() {
	//Matcher whitespace på slutten av teksten og erstatter med ''.

	return this.replace(/\s+$/,'');
}
function stringtrim() {
	//Matcher whitespace foran og bak teksten og erstatter med ''.
	return this.replace(/^\s+/,'').replace(/\s+$/,'');
}
String.prototype.ltrim = lefttrim;
String.prototype.rtrim = righttrim;
String.prototype.trim = stringtrim;


//Funskjon som returnerer et array av objects
//Hvert element har parametrene name og text.
function hentCookieArray(cookie)
{
	var kjeks = GetCookie(cookie);
//	alert('har henta kjeks:'+unescape(kjeks));
	var kjeksArray = new Array();	
	
	if (kjeks != null)
	{	


		var liste = kjeks.split("\{");
		var ant = 0;
		for (var i=0; i < liste.length; i++)
		{
			var t=new String(liste[i]);
			if (t != '') 
			{
				try {
					t=t.trim();
				} catch (e) {

				}
			}
			if (liste[i] != '' && t != '')
			{
//				alert(liste[i]);
				var firstChar = liste[i].indexOf('+') +1;
				var lastChar = liste[i].length-1;
				var verdiene = liste[i].substring(firstChar,lastChar);
				verdiene = verdiene.replace("\}", "");
				var navn = liste[i].substring(0,firstChar -1);
			//	alert('var:'+navn+'\nval:'+ unescape(verdiene));
				var el = new Object();
				el.name = navn;
				el.text = verdiene;
			
				kjeksArray[ant] = el;
	//			alert('kjeksArray\['+ant+'\]:'+kjeksArray[ant].name+'....'+kjeksArray[ant].text);
				ant += 1;
			}	
		}
		return kjeksArray;	
	} else {
		//Har ikke cookie fra før.
//		alert('kjeks er null');
		return kjeksArray;
	}

}
//Funksjon for å hente en verdi fra et array av objekter. Velger objektet med name == navn.

function hentArrayObjVerdi(obj,navn)
{
	
	for (var i =0; i < obj.length; i++)
	{
		if (obj[i].name == navn)
			return obj[i].text;
	}
	return ""
}
//Funksjon som lagrer en verdi på riktig plass i ett array.
function settArrayObjVerdi(obj,navn,verdi)
{
	for (var i =0; i < obj.length; i++)
	{
		if (obj[i].name == navn) 
		{
			obj[i].text = verdi;
			return obj[i].text;
		}
	}
	var el = new Object();
	el.name = navn;
	el.text = verdi;
	obj[i] = el;
	return obj[i].text;
}

//Trenger også funksjon for å lagre det arrayet som en cookie.
//Funksjon som gjør om array av objects til string som kan lagres som cookie.
function objArrTilString(array)
{
	var ant = array.length;
	var svar = "";
	for (var i=0; i < ant; i++)
	{
		if (array[i].name != null && array[i].text != null)
		{
			svar += "\{";
			svar += array[i].name;
			
			svar += "+";
			svar += array[i].text;
			svar += "\}+";

		}
	}
	return svar;
}
function settCookieVal(cookie,variabel,verdi,erstatt)
{
	var liste = null;
		
//Hent eksisterende cookie -> array
	var kjeksArray = hentCookieArray(cookie);
	if (erstatt == 0)
	{
		//Hvis vi skal legge til, må vi først hente hente variablens eksisterende verdi.	
		var liste = hentArrayObjVerdi(kjeksArray,variabel);
	//	alert('liste var fra før:'+unescape(liste)+'\nverdi er:'+verdi);
			
		if (liste == null || liste == "null" || liste == "")
		{
			liste = "";
		} else {
			if (unescape(liste).indexOf(verdi) != -1)
			{
				 return "";	
			} else {
				liste += "@@@";
			}
		}
		liste += escape(verdi);			
//		alert('cookiestring:'+liste);
	} else {
		//Skal bare erstatte med ny verdi.
		liste = escape(verdi);
	}	

	//Legg oppdatert variabel tilbake i array
	var svar = settArrayObjVerdi(kjeksArray,variabel, liste);
	//Lag string versjon av array
	var res = objArrTilString(kjeksArray);
		//Lagre string for å erstatte cookie.
//	alert('skal lagre cookie:'+cookie+'res:'+res);
	SetCookie(cookie,res, null, null,null,false);

//	var svar = hentCookieVal(cookie, variabel);
//	alert ('svar:'+svar);
	return verdi;

}


//Fjerner alle undernoder fra et element. Tar en streng som parameter.
function fjernBarn(item)
{
 	try {
  		var node = fO(item);
  		if (node != null) 
  		{
			if (isOpera) {
				node.innerHTML="";
			} else {
				var kopi=node.cloneNode(false);
		//		alert("kopi:"+kopi);
				var far=node.parentNode;
			//	alert("far:"+far);
				far.removeChild(node);
				far.appendChild(kopi);
			} 
			if (0) {
				var nodeArray = node.childNodes;
				var ant=nodeArray.length;
				for (var i=ant-1;i>=0; i--) {
					var tmp=node.removeChild(nodeArray[i]);

				}
 			} 
  		}
 	} catch (e) {
// 		alert("fjerner barn feilet:"+e);
 	}

}
//function hsk(mmU, cookie, text)
function hsk(text)
{
	if (is_ie5orless) {
		//Vil sansynligvis kræsje, spør om brukeren virkelig vil fortsette.
		if (ieSjanser == "undefined") {		
			try {
				ieSjanser=GetCookie(ieSjanser);
			}  catch (e) {
				ieSjanser= "undefined"
			}
		}
//		alert(ieSjanser);
		if (ieSjanser == 0) {
			return 
		} else if (ieSjanser == "undefined" || ieSjanser == null) {		
			if (confirm(sprTekst("Denne funksjonaliteten er ikke støttet i Internet Explorer 5 eller eldre, er du sikker på at du ønsker å fortsette?"))) {
				SetCookie("ieSjanser", 1);
				ieSjanser=1;
			} else {
				ieSjanser=0;
				return 
			}
		}
	}
	var svar = settCookieVal(cookie,"huskeliste",text,0);
	//For å være sikker på at alle er med, sletter vi de, og lager de på nytt
	//TODO:finn en mer effektiv måte å gjøre det på
	try {
		fjernBarn("husktabell");
	} catch (e) {
//	alert("fjernbarn feila:"+e);
}
//	alert('etter fjernbarn');
	//lager nytt innhold
	var ant = byggTabell(cookie,mmU);
	//lager url til mappami
	var url = 	lagLagreListeUrl(mmU,cookie, "huskeliste");
	//Viser knapp/lenke til mappami
	visLenkerITabell("husktabell",url,cookie);
	var tmp = lagTnrListe(cookie, "huskeliste").split(",");			
	//		alert('etter lagtnrliste');	
	var ant =tmp.length;
	if (tmp == "")
	{
		ant = 0;
	}
	//alert('tmp:'+tmp);
	oppdaterHLStatus("hls",ant);
	return 1;
}

function visHuskeliste()
{
	fjernBarn("husktabell");
	var tabell=fO("husktabell");
	try {
		var tr = document.createElement( "tr" );
		tr.setAttribute( "id", "huskover" );
		var td = document.createElement( "td" );

		var overskrift=document.createElement( "h3" );
		overskrift.setAttribute("id", "huskh3");
		var tekst=document.createTextNode(sprTekst("Utvalgsliste") );
		overskrift.appendChild(tekst);
//		overskrift.setAttribute("id", "husktekst" );
//		overskrift.setAttribute("style", "font:medium bold\;");
		td.appendChild(overskrift);
		tr.appendChild(td);
		tabell.appendChild(tr);
	} catch (e) {
//		alert(e);
	}
	var ant = byggTabell(cookie,mmU);
	//lager url til mappami
	if (mmU != '') 
	{
		var url = 	lagLagreListeUrl(mmU,cookie, "huskeliste");
		//Viser knapp/lenke til mappami	
	}	

	visLenkerITabell("husktabell",url,cookie);
//	alert("etter visLenkerITabell");
	
	oppdaterHLStatus("hls",ant);

	return 1;

}
function oppdaterHLStatus (objNavn,ant)
{
	fjernBarn(objNavn);
	var tmpObj = fO(objNavn);
//	alert('oppdaterer '+objNavn);
	if (ant != 0)
	{
		var tekst1 = document.createTextNode("( "+ant+" )");
	} else {
		var tekst1 = document.createTextNode("( 0 )");
	}	
	tmpObj.appendChild(tekst1);	
	
} 
//function slettAlle(cookie,tabellnavn) 
function slettAlle(tabellnavn) 
{
//	var xtracookie=cookie+"_id";
	var liste=hentCookieVal(xtracookie,"skjult");
//	alert('sletter xtracookie:'+xtracookie);
	slettListe(cookie,tabellnavn);
	oppdaterHLStatus('hls',0);
	liste=liste.split("@@@");
	var regexp= /\}/g
//	alert("liste"+liste+"lengde"+liste.length);
	for (var i=0; i< liste.length; i++)
	{
		var bildenavn=liste[i];
		var bilde=fO(bildenavn);
		if (bildenavn != "") 
		{
			try {
				bilde.style.visibility='visible';
			} catch (e) {
				
}
		}
	}
	SetCookie(xtracookie,"",null,null,null,false);
	v('huskdiv','hide','huskplass',500,0,1);

}
function byggTabell(cookie, mmU)
{
	//Hent verdier fra cookie
	//	alert('cookie:'+cookie);	
	var ant = 0;
	var tb = fO("husktabell");
	//Det bør sørges for at tabellen er tom

	var mittArray = hentCookieArray(cookie);

	var huskeliste = unescape(hentArrayObjVerdi(mittArray,"huskeliste"));
//	alert('huskeliste:'+huskeliste);
	if (huskeliste != null && huskeliste != "null" && huskeliste != "")
	{
//		alert('huskeliste:\n'+huskeliste);
		var listeArray = new Array();
		var tmpL = huskeliste.split("@@@");
		for (var i=0;i<tmpL.length;i++)
		{
			//lag ny rad
			var tnrOgTekstListe = tmpL[i].split(":::");
//			alert('ny rad:'+tnrOgTekstListe[0]+'og '+tnrOgTekstListe[1]);			
			nyRad('husktabell',tnrOgTekstListe[0], tnrOgTekstListe[1], cookie,mmU);		
			ant++;
		}
	}
	return ant;

}

function nyRad(tabellnavn, tnr, tekst, cookie, mmU)
{
	if (tnr != "")
	{
		var tabell = fO(tabellnavn);
		var tr = document.createElement( "tr" );
		var radid = "rad".concat(tnr);
		tr.setAttribute( "id", radid );
		tabell.appendChild(tr);
		//create cell
		var td1 = document.createElement( "td" );
		var knapp = document.createElement( "a" );
		var fjernMeg ="javascript:fjernFraListe(\'kurv"+tnr+"\',\'" +tabellnavn   +"\',\'"  +radid  +"\')\;";
//		fjernMeg.concat("return false\;");
//		alert('fjernefunksjon:'+fjernMeg);
		knapp.setAttribute("href", fjernMeg);
		knapp.setAttribute("return", "false");
		knapp.setAttribute("class", "mikro");

		var knappTekst = document.createTextNode(sprTekst("slett"));
		if (tekst == "")
		{
			tekst = sprTekst("Uten tittel").concat(" ("+tnr+")");
		}
		var tittelTekst = document.createTextNode(tekst);	
		knapp.appendChild(knappTekst);

		td1.appendChild(tittelTekst);
		tr.appendChild(td1);
		if (mmU != "") 
		{
			//Lenke til å reservere/holde av en tittel, vises ikke i Samsøk.
			var td2 = document.createElement( "td" );
			var resLenke = document.createElement( "a" );
			var resUri = mmU+"?jumpmode=reservering&tnr="+tnr;
			var resTekst = document.createTextNode(sprTekst("Reservér"));
			resLenke.setAttribute("href", resUri);
			resLenke.setAttribute("return", "false");
			resLenke.setAttribute("class", "larger1");			
			resLenke.appendChild(resTekst);		
			td2.appendChild(resLenke);
			tr.appendChild(td2);
		}

		var td3 = document.createElement( "td" );
		td3.appendChild(knapp);
		tr.appendChild(td3);
	}
}
function visLenkerITabell(tabellnavn,url, cookie)
{
	websok = cookie.split("_");
	websok = websok[0];	
//	alert('websok:'+websok);
	var tabell = fO(tabellnavn);
	var tnrliste = lagTnrListe(cookie, "huskeliste");
	if (tnrliste != "")
	{

	//	alert('tabellnavn:'+tabellnavn);
		var tnrsok =lagTnrSok(tnrliste);
		if (tnrsok != "") 
		{
			var tr = document.createElement( "tr" );
			tr.setAttribute( "id", "tomplukk" );
			var td = document.createElement( "td" );
			var tmp = document.createTextNode("");
			td.appendChild(tmp);
			tr.appendChild(td);
			var td2 = document.createElement( "td" );
			var lenke = document.createElement( "a" );
			var slettStreng = "javascript:slettAlle(\'"+tabellnavn+"\')\;";
			slettStreng.concat("return false\;");
	//		var slettStreng="alert('skal slette alle')";
			lenke.setAttribute("href", slettStreng);
			lenke.setAttribute("return","false");
//			alert(slettStreng);
			var lenketekst = document.createTextNode(sprTekst("Slett alle"));
			lenke.appendChild(lenketekst);
			td2.appendChild(lenke);
			tr.appendChild(td2);
			tabell.appendChild(tr);

		}
		if (cookie.indexOf('samsok') != -1)
		{
			//Url for enlinjes-visning i websøk
			var url1 = websok.concat("?mode=visSrwMini");	
			var tr1 = document.createElement( "tr" );
			tr1.setAttribute( "id", "enlinjetr" );
			var lenke1 = document.createElement( "a" );
			lenke1.setAttribute("href", url1);
			var lenketekst1 = document.createTextNode(sprTekst("Vis miniatyrbilder"));
			lenke1.appendChild(lenketekst1);
			var td1 = document.createElement( "td" );
			td1.appendChild(lenke1);
			tr1.appendChild(td1);
			tabell.appendChild(tr1);
		//Url for postvisning i samsøk (srw).
			var url2 = websok.concat("?mode=visSrwPoster");
			var tr2 = document.createElement( "tr" );
			tr2.setAttribute( "id", "postvistr" );
			var	 lenke2 = document.createElement( "a" );
			lenke2.setAttribute("href", url2);
			var lenketekst2 = document.createTextNode(sprTekst("Vis store bilder"));
			lenke2.appendChild(lenketekst2);
			var td2 = document.createElement( "td" );
			td2.appendChild(lenke2);
			tr2.appendChild(td2);
			tabell.appendChild(tr2);
		} else { 
		//Url for enlinjes-visning i websøk
			var url1 = websok.concat("?st=ccl&ccl=").concat(tnrsok);	
			var tr1 = document.createElement( "tr" );
			tr1.setAttribute( "id", "enlinjetr" );
			var lenke1 = document.createElement( "a" );
			lenke1.setAttribute("href", url1);
			var lenketekst1 = document.createTextNode(sprTekst("Enlinjes-visning"));
			lenke1.appendChild(lenketekst1);
			var td1 = document.createElement( "td" );
			td1.appendChild(lenke1);
			tr1.appendChild(td1);
			tabell.appendChild(tr1);
		//Url for postvisning i websøk.
			var url2 = websok.concat("?mode=visposter&checkTnrList=").concat(tnrliste);
			var tr2 = document.createElement( "tr" );
			tr2.setAttribute( "id", "postvistr" );
			var lenke2 = document.createElement( "a" );
			lenke2.setAttribute("href", url2);
			var lenketekst2 = document.createTextNode(sprTekst("Detaljert visning"));
			lenke2.appendChild(lenketekst2);
			var td2 = document.createElement( "td" );
			td2.appendChild(lenke2);
			tr2.appendChild(td2);
			tabell.appendChild(tr2);
	
		}
		if (url != "" && url != null )
		{
		//	Url for å lagre i MappaMi
			var tr = document.createElement( "tr" );
			tr.setAttribute( "id", "lagrehuskeliste" );
			var td = document.createElement( "td" );
			var lenke = document.createElement( "a" );
			lenke.setAttribute("href", url);
			var lenketekst = document.createTextNode(sprTekst("Lagre i MappaMi"));
			lenke.appendChild(lenketekst);
			td.appendChild(lenke);
			tr.appendChild(td);
			tabell.appendChild(tr);
		}	

		try {
			var tommeknapp=fO("tomplukk");
			tommeknapp.style="display:inline";
		} catch (e) {
			//I mozilla er denne readonly :/
	//	alert(e+"er readonly i mozilla");
		} 
	} else {
		try {
			var tommeknapp=fO("tomplukk");
			tommeknapp.style="display:none";
		} catch (e) {
//alert("vislenkeritabell feilet"+e);
			//I mozilla er denne readonly :/
			
		}
	}
}
function slettCookieVal(lokcookie, navn, verdi)
{
	var arr =hentCookieArray(lokcookie);
	var orgVal = unescape(hentArrayObjVerdi(arr,navn));
//	alert("hentet orgVal:"+orgVal);
	if (orgVal != null && orgVal != "null")
	{
		//Henter variablen som (kanskje bla.) inneholder tittelnummeret vi skal slette.
		var listeArray = new Array();
		var tmpL = orgVal.split("@@@");
		var resTekst = "";
		var funnetval="";
//		alert("sjekker etter"+verdi);
		for (var i=0;i<tmpL.length;i++)
		{		
//			alert("tester:"+tmpL[i]);
			if (tmpL[i] != verdi) 
			{
				//Skal tas vare på
				if (resTekst != "")
				{
					resTekst =	resTekst.concat("@@@");
				}
				resTekst =	resTekst.concat(tmpL[i]);
			}
		}
		var svar = settCookieVal(lokcookie,navn,resTekst,1);
	}
}
function fjernFraListe(tnr,tabellnavn,radid)
{

	//Fjern tnr fra cookien 
//	alert("skal fjerne:"+tnr+", "+tabellnavn+", "+radid);
	var regexp=/kurv/g
	var rensketTnr=tnr.replace(regexp,"");
	var arr =hentCookieArray(cookie);
	var orgVal = unescape(hentArrayObjVerdi(arr,"huskeliste"));
//	alert('skal slette '+rensketTnr+ ' fra liste:'+orgVal);
	if (orgVal != null && orgVal != "null")
	{
		//Henter variablen som (kanskje bla.) inneholder tittelnummeret vi skal slette.

	
		var listeArray = new Array();
		var tmpL = orgVal.split("@@@");
		var tnrOgTekstListe;		
		var resTekst = "";
		for (var i=0;i<tmpL.length;i++)
		{		

			tnrOgTekstListe = tmpL[i].split(":::");
			funnettnr = tnrOgTekstListe[0];
			tekst = tnrOgTekstListe[1];

			if (funnettnr != rensketTnr)
			{
				//Skal tas vare på
				if (resTekst != "")
				{
					resTekst =	resTekst.concat("@@@");
				}
		//		alert('skal med:'+funnettnr+':'+tekst+'ORG:'+tnr+':');
					resTekst =	resTekst.concat(funnettnr).concat(":::").concat(tekst);
			} else {
//				alert('skal ikke med:'+funnettnr+' (tekst:'+tekst+')');
			}
		}
//		alert('oppdatert cookievar før lagring:\n'+resTekst);
		//Lagrer oppdatert cookievariabel
		var svar = settCookieVal(cookie,"huskeliste",resTekst,1);
		//Fjern raden fra tabellen
		var tabell = fO(tabellnavn);
		var rad =  fO(radid);
		try {
			while (rad.hasChildNodes())
			{
				rad.removeChild(rad.firstChild);
			}
			tabell.removeChild(rad);		
			//Må fjerne og kanskje legge tilbake "lagrehuskeliste", "enlinjetr", "postvistr" og "utskrtr"
			if (mmU != '') 
			{
				var liste = "lagrehuskeliste enlinjetr postvistr tomplukk".split(" ");
			} else {
				var liste = "postvistr enlinjetr tomplukk".split(" ");
			}
			for (var i=0;i<liste.length;i++)
			{
				rad =  fO(liste[i]);
//	alert('henter rad:'+liste[i]);				
				if (rad != null) 
				{		
					while (rad.hasChildNodes())
					{
						rad.removeChild(rad.firstChild);
					}
					tabell.removeChild(rad);		
				}	
			}	
			var url = 	lagLagreListeUrl(mmU,cookie, "huskeliste");
			visLenkerITabell("husktabell", url,cookie);
			var tmp = lagTnrListe(cookie, "huskeliste").split(",");			
			var ant =tmp.length;
			if (tmp == "")
			{
				ant = 0;
			}
			oppdaterHLStatus("hls",ant);
			var bildetekst = tnr.split("...");
			var bilde=fO(tnr);
			bilde.style.visibility='visible';
			slettCookieVal(xtracookie,"skjult",tnr);
		} catch (e) {
// alert(e+rad);
		}
	} else {
//		alert('fikk null');
	}
}
function lagLagreListeUrl(mmU,cookie, listenavn)
{
	if (mmU != "") 
	{
		var tnrliste = lagTnrListe(cookie, listenavn);
		url = mmU.concat("?jumpmode=tilhuskeliste&tnr=").concat(tnrliste);
		return url;
	} else {
		return "";
	}
}
function visVisningslisteBoks(cookie, listenavn)
{
	var tnrliste = lagTnrListe(cookie, listenavn);
	
	url1 = cookie.concat("?st=ccl&ccl=").concat(tnrliste);	
	url2 = cookie.concat("?mode=visposter&checkTnrList=").concat(tnrliste);
	url3 = cookie.concat("?mode=visposter&utskriftopt=1&checkTnrList=").concat(tnrliste);
//	alert(url1);	
	var tabell = fO("husktabell");
	var seltr = document.createElement( "tr" );
	seltr.setAttribute( "id", "vishuskeliste" );
	var seltd = document.createElement( "td" );
	var skjema = document.createElement("form");
	var sel = document.createElement("select");
	sel.name = "vislistesel";
	sel.setAttribute("onChange", "document.location=vislistesel.options\[vislistesel.selectedIndex\].value");
	skjema.setAttribute("method", "get");
	//cookie har samme navn som websøket man er i.
	skjema.setAttribute("action", cookie);
	skjema.setAttribute("method", "get");


	var opt1=document.createElement("option");
	opt1.setAttribute("value", url1);
	opt1.setAttribute("text", "Vis alle");
	sel.appendChild(opt1);
	
	var opt2=document.createElement("option");
	opt2.setAttribute("value", url2);
	opt2.setAttribute("text", "Vis detaljert");
	sel.appendChild(opt2);

	var opt3=document.createElement("option");
	opt3.setAttribute("value", url3);
	opt3.setAttribute("text", "Vis detaljert \(utskriftsvennlig\)");
	sel.appendChild(opt3);
		
	skjema.appendChild(sel);
	seltd.appendChild(skjema);
	seltr.appendChild(seltd);
	tabell.appendChild(seltr);	

}


function lagTnrListe(cookie, listenavn)
{
	var kjeksArr=hentCookieArray(cookie);
	var liste = unescape(hentArrayObjVerdi(kjeksArr,listenavn));
	var	tnrliste = "";
	if (liste != "null" && liste != null)
	{
		var tmpL = liste.split("@@@");
		var tnrOgTekstListe;		
		for (var i=0;i<tmpL.length;i++)
		{		
			if (tnrliste != "")
			{
				tnrliste = tnrliste.concat(",");
			}
			tnrOgTekstListe = tmpL[i].split(":::");
			tnrliste =tnrliste.concat(tnrOgTekstListe[0]);
		}
	}
	return tnrliste;
}

function lagTnrSok(tnrliste)
{
	var liste = tnrliste.split(",");
	var sok= "tnr=".concat(liste[0]);
	if (liste.length > 1)
	{
		for (var i=1;i<liste.length;i++)
		{
			sok = sok.concat("+eller+tnr=").concat(liste[i]);	
		}
	}
	return sok;
}


function sprTekst ()
{
	var args = sprTekst.arguments;
	var inn = args[0];
	try {
		if (window.websok4Spr[inn])
		{
			return websok4Spr[inn];
		} else {
			return inn;
		}
	} catch (e) {
	//	alert(e);	
		return  inn;
	}
}
function fyllTabellElement (i, objekt)
{

	var istr=i.toString();
	var elnavn=istr.concat("_b");
	var node= fO(elnavn);
//	alert("fyller nummer:"+elnavn+"\nOrginal:\n"+node.innerHTML+"\n:::html:\n"+objekt.bildehtml);
	node.innerHTML=objekt.bildehtml;

} 
function byttInnhold (fra, til)
{
	
	//Bytter plass på bildene
	var franavn=fra.concat("_b");
	var tilnavn=til.concat("_b");
//	alert("tilnavn:"+tilnavn +" franavn:"+franavn);
	var node= fO(franavn);
	var node2= fO(tilnavn);
	var tmp = node.innerHTML;
	node.innerHTML = node2.innerHTML;
	node2.innerHTML = tmp; 
	//Bytter plass på teksten
	 franavn=fra.concat("_t");
	 tilnavn=til.concat("_t");
	 node= fO(franavn);
	 node2= fO(tilnavn);
	 tmp = node.innerHTML;
	node.innerHTML = node2.innerHTML;
	node2.innerHTML = tmp; 
}

function sortOrdord (en, to)
{
	try {
		if (en.ordord > to.ordord)
		{
			return 1;
		} else if ( en.ordord == to.ordord)
		{
			return sortTittel(en, to);
		} else {
			return -1;
		}
	} catch (e) {
		//do nothing
		return 0;
	}
}
function sortOrdordBakover (en, to)
{
	try {
		if (en.ordord > to.ordord)
		{
			return -1;
		} else if ( en.ordord == to.ordord)
		{
			return sortTittel(to, en);
		} else {
			return 1;
		}
	} catch (e) {
		//do nothing
		return 0;
	}
}
function sortTittel (en, to)
{
	try {
		if (en.tittel > to.tittel)
		{
			return 1;
		} else if ( en.tittel == to.tittel)
		{
			if (parseInt(en.i) > parseInt(to.i) )
			{
				return 1;
			} else if ( parseInt(en.i) <  parseInt(to.i))
			{
				return -1;
			}
			return 0
//			return sortAarIkkerek(en,to);
		} else {
			return -1;
		}
	} catch (e) {
		//do nothing
		return 0;
	}
}
function sortTittelBakover (en, to)
{
	try {
		if (en.tittel > to.tittel)
		{
			return -1;
		} else if ( en.tittel == to.tittel)
		{
			if (parseInt(en.i) > parseInt(to.i) )
			{
				return -1;
			} else if ( parseInt(en.i) <  parseInt(to.i))
			{
				return 1;
			}
			return 0;
//			return sortAarIkkerekBakover(en,to)
		} else {
			return 1;
		}
	} catch (e) {
		//do nothing
		return 0;
	}
}
function sortAar (en, to)
{
	try {
		if (parseInt(en.aar) > parseInt(to.aar))
		{
			return 1;
		} else if ( parseInt(en.aar) == parseInt(to.aar))
		{
			return sortTittel(en,to);
		} else {
			return -1;
		}
	} catch (e) {
		//do nothing
		return 0;
	}
}
function sortAarIkkerek(en,to)
{
	try {
		if (parseInt(en.aar) > parseInt(to.aar))
		{
			return 1;
		} else if ( parseInt(en.aar) == parseInt(to.aar))
		{
			if (parseInt(en.i) > parseInt(to.i) )
			{
				return 1;
			} else if ( parseInt(en.i) <  parseInt(to.i))
			{
				return -1;
			}
			return 0;
		} else {
			return -1;
		}
	} catch (e) {
		//do nothing
		return 0;
	}
}

function sortAarBakover (en, to)
{

	try {
		if (parseInt(en.aar) > parseInt(to.aar))
		{
			return -1;
		} else if ( parseInt(en.aar) == parseInt(to.aar))
		{
		return sortTittelBakover(en,to);
		} else {
			return 1;
		}
	} catch (e) {
		//do nothing
//alert("catcher sortering");
		return 0;
	}
}
function sortAarIkkerekBakover(en,to)
{
	try {
		if (parseInt(en.aar) > parseInt(to.aar))
		{
			return -1;
		} else if ( parseInt(en.aar) == parseInt(to.aar))
		{
			if (parseInt(en.i) > parseInt(to.i) )
			{
				return -1;
			} else if  (parseInt(en.i) <  parseInt(to.i))
			{
				return 1;
			}
			return 0;
		} else {
			return 1;
		}
	} catch (e) {
		//do nothing
		return 0;
	}
}

function sorterArray (type)
{
	try {
		var maks=fO("anttreff").innerHTML;
//		lagOrgArray(maks);
	
		switch (type) {
			case "ordord":
				oAr.sort(sortOrdord);
				break;
			case "ordord-":
				oAr.sort(sortOrdordBakover);
				break;
			case "tittel":
				oAr.sort(sortTittel);
				break;
			case "tittel-":
				oAr.sort(sortTittelBakover);
				break;
			case "aar":
				oAr.sort(sortAar);
				break;
			case "aar-":
				oAr.sort(sortAarBakover);
				break;
			default:
				break;
		}
//		alert("Maksimum:"+maks);
		for (var i=0; i < maks; i++)
		{
			fyllTabellElement(i, oAr[i]);	
		} 
		//	Sørg for at ikonene som skal være skjulte fremdeles er det.
		var liste=hentCookieVal(xtracookie,"skjult");
		liste=liste.split("@@@");
	//	alert(liste);
		var regexp= /\}/g

		for (var i=0; i< liste.length; i++)
		{
			var bildenavn=liste[i];
			bildenavn.replace(regexp,"");
		//	alert(bildenavn);
			var bilde=fO(bildenavn);
			if (bildenavn != "" && bilde != null) 
			{
				bilde.style.visibility='hidden';
			}
		}		

	} catch (e) {
	//	alert("Error:\n"+e);
	}
	
}
function lagOrgArray ()
{
	var maksobj=fO("anttreff");
//	alert("maksobj:"+maksobj);
	if (maksobj != null && maksobj != "")
	{
//		alert(maksobj);
		var maks=maksobj.innerHTML;
		if (maks >= 0)
		{

			//		alert("Maks:"+maks);
			try {
			oAr= new Array();
			var ordordnavn, tittelnavn,aarnavn,htmlnavn,bildehtmlnavn,ordord,tittel,aar,html,bildehtml,istr;
			for (var i=0; i<maks; i++)
			{
				istr=i.toString();
			htmlnavn=istr.concat("_t");
			bildehtmlnavn=istr.concat("_b");
			tittelnavn=istr.concat("_ti");
			aarnavn=istr.concat("_ua");
			try {	
				var	tmphtml=fO(htmlnavn);
				html=tmphtml.innerHTML;			
			} catch (e) {
				html="";
			}
			try {	
				var tmpbildehtml=fO(bildehtmlnavn);
				bildehtml=tmpbildehtml.innerHTML;			
			} catch (e) {
				bildehtml="";
			}
			try {	
				var tmpordord=fO(ordordnavn);
				ordord=tmpordord.innerHTML;			
			} catch (e) {
				ordord="";
			}
			try {	
				var tmptittel=fO(tittelnavn);
				tittel=tmptittel.innerHTML;			
			} catch (e) {
				tittel="";
			}
			try {	
				var tmpaar=fO(aarnavn);
				aar=tmpaar.innerHTML;
				if (aar == "")
						aar=0;
			} catch (e) {
				aar=0;
			}
			
			oAr[i]= new celleObjekt(i, html,bildehtml,ordord,tittel,aar);
		}
		}
		catch (e) {
		}
	}
	}
}

//Objekt constructor til å ta vare på 
function celleObjekt(i,html, bildehtml, ordord,tittel, aar)
{
	
	this.html=html;
	this.bildehtml=bildehtml;
	this.ordord=ordord;
	this.tittel=tittel;
	this.aar=aar;
	this.i=i;
	
}

function bk (id) 
{
	if (is_ie5orless && ieSjanser != 1) {
		return
	}
	var el = fO(id);
	//var stil=el.style;		
	el.style.visibility='hidden';
//	var xtracookie=cookie+"_id";	
	settCookieVal(xtracookie,"skjult",id,0)
}
function statusFerdig() 
{
	try {
		var f=fO('status');
		f.innerHTML=sprTekst("Ferdig");
	} catch (e) {
	//	alert(e);
	}
}	
function skjulStatus()
{
	try {
		var f=fO('statusinfo');
		f.style.display='none';
	} catch (e) {
	}
}
function sF() 
{		
	try {
		var t=fO('pubsok_txt_0');
		if (t!=null && t != "")
		{
//			alert('t'+t);
			document.sok.pubsok_txt_0.focus();
		} else 
		{
			t=fO('avsok_txt_001');
//			alert('t:'+t);
			if (t!=null &&  t!= "")
			{
					document.sok.avsok_txt_001.focus();
			}
		}
	} catch (e) {

	}		

}

