var req;
var isIE=false;
var db=0;
var forrige;
var forrigeRetning=1;
var hentesNaa="";
var queued="";
var queuedFelt="";
var antall=10;
var spraak="nor";
var dynurl = "/cgi-bin/hentdynamisk"; // The server-side script
var listeid="personer";
var listetype="liste";
var kvalifik="";
var websokurl="/cgi-bin/websok";
var dbpath="/usr/biblo/data";
var inputtype="felt";
var inputfelt="";
var fast="";
var verdi="";
var funkKall="";
var valgtIndex=0;
var retning=1;
var nEmneord="";
var blar=0;
var debug=0;
var antforslag=0;
var visfinnesi=0;
var samsokside=0;
var soketype="";
var sokeskjemanavn="sok";
var barevelgtekst=0;
var kryddertekster=new Array();
var options=new Array();
var currentSelect="";
var shiftkode=false;
function handleHttpResponse() {

  if (http.readyState == 4) {
	if (debug) {
		var sted=fO("nabocelle");
		sted.innerHTML+="state:"+http.readyState;
//		return;
	}
    if (http.responseText.indexOf('invalid') == -1) {
    	// Split the comma delimited response into an array

       //	results = http.responseText.split("@_@_@");
		//var tmp="";
		//for (var i=1;i<results.length-1;i++) {
		//	if (debug) {
		//		alert("Delres "+i+":"+results[i]);
		//	}
		//	if (results[i].indexOf("@_@_@") == -1)  {
		//		tmp=tmp+results[i];
		//	}
		//}
	
 	 	fyllListe(http.responseText);

	  	isWorking = false;   
		var statusinfofelt=fO("dynstatus");
		if (statusinfofelt != "" && statusinfofelt != null) {
			statusinfofelt.innerHTML="&nbsp\;";
			statusinfofelt.style.display="none";
		}
		//Sjekke om teksten er endret slik at det skal søkes en gang til.
		if (funkKall != "") {
			if (queued != "" && queued != hentesNaa) {
//				var tmpId=fO("tmpId");
//				alert("<br>Henter ny fordi:"+queued+" != "+hentesNaa+"\n"+funkKall);
	
	//			funkKall="oppdaterDynListe('"+queued+"','"+queuedFelt+"','"+listetype+"','"+kvalifik+"','"+dbpath+"',"+antall+",'"+fast+"')";
				setTimeout(funkKall,100);
			} else {
			//	alert("sjekka at vi ikke trengte å hente en gang til:\n"+verdi+", "+innfelt.value);
			}
		}		
    }
  } else if (http.readyState == 0)  {
	isWorking=false;
   }
}
function handleNextPageResponse() {
  if (http.readyState == 4) {
    if (http.responseText.indexOf('invalid') == -1) {
    	// Split the comma delimited response into an array
       	//results = http.responseText.split("@_@_@");
		//var tmp="";
		//for (var i=0;i<results.length;i++) {
		//	if (results[i].indexOf("@_@_@") == -1)  {
		//		tmp=tmp+results[i];
		//	}
		//}
 	 	//fyllListe(tmp);
		
		fyllListe(http.responseText);
	  	isWorking = false;   
		if (blar) {
			fylles=fO(inputfelt);
			try {
				var forslag=fO("forslag_"+valgtIndex);
				fylles.value=forslag.name;
				forslag.style.color="blue";
			} catch (e) {
			}
	
		}
    }
	var statusinfofelt=fO("dynstatus");
	if (statusinfofelt != "" && statusinfofelt != null) {
		statusinfofelt.innerHTML="&nbsp\;";
		statusinfofelt.style.display="none";
	}

  } else if (http.readyState == 0)  {
	isWorking=false;
   }
}
function visHttpResponse() {
  if (http.readyState == 4) {
 //   if (http.responseText.indexOf('invalid') == -1) {
    	// Split the comma delimited response into an array
		var tmp="";
		if (listetype == "treffliste") {
			tmp=http.responseText;
		} else {
		 	results = http.responseText.split("@_@_@");	
			for (var i=0;i<results.length;i++) {
				if (results[i].indexOf("@_@_@") == -1)  {
					tmp=tmp+results[i];
				}
			}
		}
 	 	visResultat(tmp);
		var statusinfofelt=fO("dynstatus");
		if (statusinfofelt != "" && statusinfofelt != null) {
			statusinfofelt.innerHTML="&nbsp\;";
			statusinfofelt.style.visibility="hidden";
		}
	  	isWorking = false;    

		document.body.style.cursor = 'default';
//    } else {
//		alert("Invalid:\n"+http.responseText);
//	}

	if (queued != "" && queued != forrige) {
		oppdaterDynListe(queuedFelt,listeid,listetype,kvalifik,dbpath,antall,fast,spraak);
	}
  } else if (http.readyState == 0)  {
		isWorking=false;
		document.body.style.cursor = 'default';
	} 
}
function fyllListe(items) {
	if (debug == 1) {
//		alert("fyllListe:\nlistetype:"+listetype+" listeid:"+listeid+"Items:"+items);
	}
	if (synlig != "undefined") {
	//Skjuler eventuelt et hjelpefelt	
		var tmpel=fO(synlig);
		if (tmpel != "") {
			tmpel.style.display="none";
			tmpel.style.visibility="hidden";
		}
	}
	if (listetype == "liste") {
		//Håndterer listeboks
	    var select = fO(listeid);
		for (var i = 1; i < items.length-1; i++) {
	        appendToSelect(select, items[i],
            document.createTextNode(items[i]));
		}
	} else if (listetype == "htmlliste"|listetype == "htmltabell") {
		//Håndtere div med lenker

		var visFelt=fO(listeid);
		visFelt.style.padding=0;
		if (visFelt != "" && visFelt != "undefined") {
					visFelt.innerHTML=items;

		if (0) {
			synlig=listeid;
			huskSynlig(listeid);
			justOpened=1;
			if (timer_kanlukkes != null) {
				window.clearTimeout(timer_kanlukkes);
			}
			timer_kanlukkes = setTimeout("kanLukke()",100);
		}
		}
	}
}
function visResultat(items) {
	var visFelt=fO("visecelle");
	if (visFelt != "" && visFelt != "undefined") {
		if (synlig != "undefined") {
		//Skjuler eventuelt et hjelpefelt	
			var tmpel=fO(synlig);
			if (tmpel != "") {
				tmpel.style.display="none";
				tmpel.style.visibility="hidden";
			}
		}
		if (debug==1) {
//			alert("Viser forslag:\n"+items);
		}
		visFelt.innerHTML=items;
		var statusfelt=fO("statusinfo"); //Skal skjules
		if (statusfelt != "" && statusfelt != "undefined") {
			statusfelt.innerHTML="";
		}
	}

}
// add item to select element the less
// elegant, but compatible way.
function appendToSelect(select, value, content) {
    var opt;
    opt = document.createElement("option");
    opt.value = value;
    opt.appendChild(content);
    select.appendChild(opt);
}

function clearSelect(felt) {

    var select = fO(felt);
	if (select != "" && select != null) {
	    while (select.length > 0) {
	        select.remove(0);
    	}
	}
}
function clearDiv(feltnavn) {
	var felt=fO(feltnavn);
	felt.innerHTML="";
}
var isWorking = false;
function utsettDynListe(input,output,listdet,kval,dbpath,ant,fastsok,spraak,event) {
	var forrigeValgte;
	var forslag;
	var fylles=fO(input);
 //  alert("Skjer noe:"+fylles.value+ " event:"+event);
	if (event == 0 || fylles.value == "") return false;
	if (fylles.value.indexOf("tnr=") != -1) return false;
	if (fylles.value.indexOf("ff=") != -1) return false;

	if (window.event && window.event.keyCode) {
		code = window.event.keyCode;
//	alert("charkode:"+charkode);
	} else if (event.which) {
		code = event.which;
	} else {
		code = 0;
	}

	try {
		antforslag=fO("antforslag");
	} catch (e) {
//	   alert("fant ikke antall:");
	}
	if (code==40 && shiftkode == false && antforslag != 0) {
		//piltast-nedover
		if (retning <0) {
			valgtIndex++;
			retning=1;
		}

		if (valgtIndex > antforslag.innerHTML) {
			valgtIndex--;
			try {
				forrigeValgte=fO("forslag_"+valgtIndex);
				forrigeValgte.style.color="";
			} catch (e) {}
			//Skal til neste side
			inputtype="data";

			try {
				nEmneord=forrigeValgte.name;
			} catch (e) {
			   try {
				  nEmneord=forrigeValgte.text;
			   } catch (f) {}
			}
			blar=1;

			visEnSideDynamisk(nEmneord,"nabocelle","htmltabell",kval,dbpath,ant,1,fastsok,spraak);
			var inn=fO(inputfelt);
			valgtIndex=0;
			return false;
		}
	   try {
		  forslag=fO("forslag_"+valgtIndex);
		  var vises=forslag.style.display;
		  
		  while (vises === "none" && valgtIndex <=antforslag.innerHTML) {
			 valgtIndex++;
			 forslag=fO("forslag_"+valgtIndex);
			 vises=forslag.style.display;
			 
		  }
		  if (valgtIndex > antforslag.innerHTML) {
			valgtIndex=antforslag.innerHTML;
			try {
				forrigeValgte=fO("forslag_"+valgtIndex);
			   forrigeValgte.style.color="";
			} catch (e) {}
			//Skal til neste side
			inputtype="data";

			try {
				nEmneord=forrigeValgte.name;
			} catch (e) {
			   try {
				  nEmneord=forrigeValgte.text;
			   } catch (f) {}
			}
			blar=1;

			visEnSideDynamisk(nEmneord,"nabocelle","htmltabell",kval,dbpath,ant,1,fastsok,spraak);
			var inn=fO(inputfelt);
			valgtIndex=0;
			return false;
		}
		  fylles.value=forslag.innerHTML;
		  
	   } catch (e) { }
	   try {
		  forslag.style.color="blue";
	   } catch (e) {}
	   if (valgtIndex > 0) {
		  var t=valgtIndex-1;
		  
		  forrigeValgte=fO("forslag_"+t);
		  forrigeValgte.style.color="";
	   }
	   	   
		valgtIndex++;
	} else if (code==38 && shiftkode == false && antforslag != 0) {
		//Piltast-oppover
//		alert("pil-opp");
		if (retning >0) {
			valgtIndex--;
			retning=-1;
		}

		if (valgtIndex<=0) {
			//Skal til forrige side
			inputtype="data";
			forrigeValgte=fO("forslag_0");
			try {
				nEmneord=forrigeValgte.name;
			} catch (e) {
				try {
					nEmneord=forrigeValgte.text;
				} catch (e) {}
			}
			blar=1;
			visEnSideDynamisk(nEmneord,"nabocelle","htmltabell",kval,dbpath,ant,-1,fastsok, spraak);
			var inn=fO(inputfelt);

			valgtIndex=ant-1;
			return false;
//			valgtIndex=antforslag.innerHTML;
		} else {
			valgtIndex--;
		}
		fylles=fO(input);
		try {
		   var forslag=fO("forslag_"+valgtIndex);
		   var vises=forslag.style.display;
		   while (vises === "none" && valgtIndex >0) {
			  valgtIndex--;
			  forslag=fO("forslag_"+valgtIndex);
			  vises=forslag.style.display;
			  
		   }
		   
		   fylles.value=forslag.innerHTML;
		   forslag.style.color="blue";
		   if (valgtIndex < antforslag.innerHTML) {
			  var t=valgtIndex+1;
			  forrigeValgte=fO("forslag_"+t);
			  forrigeValgte.style.color="";
		   } else {
			  forrigeValgte=fO("forslag_0");
				forrigeValgte.style.color="";
		   }
		} catch (e) {}
	} else if (antforslag != 0 && code != 8 && code != 37 && code != 39 && code != 9) {
//	   alert("kode:"+code);
	   
	   var gammel=fO("nabocelle");
	   var gamlelenker=gammel.getElementsByTagName("a");
	   var funnetiforrige=0;
	   for (var l=0; l< gamlelenker.length;l++) {
		  
		  //	 alert("gamlelenker:"+gamlelenker[l].title);	
		  var gammeltekst=gamlelenker[l].title.toLowerCase();
		  if (gammeltekst != "") {
			 if (gammeltekst.indexOf(fylles.value.toLowerCase()) != -1) {
				funnetiforrige=1;
				gamlelenker[l].style.display="inline";
			 } else {
				gamlelenker[l].style.display="none";
			 }
		  }
	   }
	   if (funnetiforrige == 0) {
		  //		var t=fO("nabocelle");
		  valgtIndex=0;
		  funkKall="oppdaterDynListe('"+input+"','"+output+"','"+listdet+"','"+kval+"','"+dbpath+"',"+ant+",'"+fastsok+"','"+spraak+"')";
		  inputtype="felt";
		  fast=fastsok;
		  inputfelt=input; //Settes her, ikke av oppdaterDynListe fordi den også brukes steder/tider nå den ikke skal endres.
		  setTimeout(funkKall,500);
	   }
	} else {
//	   alert("skulle ikke hente noen");
	}
	return false;
}
function dnt(oppslag) {
   visEnSideDynamisk(oppslag,'nabocelle','htmltabell');
}
function visEnSideDynamisk(input, output, listdet, oppslag, dbpath, ant,retning,fastsok,spraak) {
	listeid=output;
	listetype=listdet;
//alert("viser en side::"+input+":"+output+":"+listdet+":"+oppslag+"inputtype:"+inputtype+"jobber:"+isWorking);
	if (inputtype == "felt") {
		var naboliste=fO(input);
		if (retning < 0) {
			verdi=naboliste.options[0].value;
		} else {
			var tmp=naboliste.options.length - 1;
			verdi=naboliste.options[tmp].value;
		}
	} else {
		verdi=input;
	}

	if (!isWorking && http) {
		if (inputtype == "felt") {
			clearSelect(input);
		}
//		if (verdi.length > 1 && (verdi != forrige || forrigeRetning != retning)) {
//	alert("verdi:"+verdi+"\nviser:inputfelt:"+inputfelt+"\n input:"+input+" output:"+output+" listdet:"+listdet+"\nkvalfik:"+kvalifik+" oppslag:"+oppslag+" ant:"+ant+" retning:"+retning);
			var statusinfofelt=fO("dynstatus");
			if (statusinfofelt != "" && statusinfofelt != null) {
				statusinfofelt.innerHTML=sprTekst("Henter liste")+" "+verdi;
				statusinfofelt.style.visibility="visible";
//				alert("Viser status og skal hente tabell");
			}
			var sendes=dynurl+"?mode=htmltabell&websokurl="+websokurl+"&dbpath="+dbpath+"&oppslag="+oppslag+"&visandre="+ant+"&kval="+kvalifik+"&tekst=" + verdi+kvalifik +"&fastsok="+fastsok+"&antall="+antall+"&retning="+retning+"&slaaoppbest="+slaaoppbest+"&input="+inputfelt+"&visfinnesi="+visfinnesi+"&spraak="+spraak;
			if (debug == 1) {
				sendes= sendes+"&debug=1";
			}

			http.open("GET", sendes, true);
    		http.send(null);
    		http.onreadystatechange = handleNextPageResponse;
    		isWorking = true;
			forrige=verdi;

//		} else {
////			alert("verdi:"+verdi+" forrige:"+forrige);
//			isWorking=false;
//			try {
//				http.send(null);
//			} catch (e) {}
//			if (verdi.length == 0) {
//				var outputfelt=fO(listeid);
//				outputfelt.innerHTML="";							
//			}
//		}
	}

}
function fjernKval (strng) {

	var tmp=new String("");
	var absMaks=50;
	var teller=0;
	var j;
	var streng=new String(strng);
	var idx=streng.indexOf("/");
	while (idx != -1 && teller < absMaks) {
		tmp=streng.substring(0,idx);
		j=streng.length;
		tmp=tmp+streng.substring(idx+3,j);

		streng=tmp;
		teller++		
		idx=streng.indexOf("/");
	}
	return streng
}
function dynVisEn (tnr) {
	if (tnr != "" && !isWorking && http) {	
		var statusinfofelt=fO("dynstatus");
		if (statusinfofelt != "" && statusinfofelt != null) {
			statusinfofelt.innerHTML=sprTekst("Henter detaljert visning")+" "+verdi;
			statusinfofelt.style.visibility="visible";
		}
		http.open("GET", websokurl +"?embedded=1"+"&mode=p"+"&st=p&tnr="+tnr, true);
		http.onreadystatechange = visHttpResponse;
    	isWorking = true;
	 	forrige=verdi;
     	http.send(null);
		document.body.style.cursor = 'wait';
	}
}
function hentSkjema (nulltreff) {
	if (hentetSkjema == 1) {
		var visher=fO("avgrensdiv");
		visher.style.display="block";
		visher.style.visibility="visible";
	   if (antallhentet != 0) {
//		  synlig="avgrensdiv";
//		  huskSynlig("avgrensdiv");
	   }
		justOpened=1;
		hentetSkjema=1;
	   if (0) {
		if (timer_kanlukkes != null)
		{
			window.clearTimeout(timer_kanlukkes);
		}
		timer_kanlukkes = setTimeout("kanLukke()",100);
	   }
		return false;

	} else {
		if (http) {
			if (!isWorking) {
			   var dummyskjema=fO("tilpassform");
				var streng="";
				var ant=dummyskjema.elements.length;
				for (var i=0;i<ant;i++) {
					if (dummyskjema.elements[i].name != "mode") {
						var tmpstreng=dummyskjema.elements[i].name+"="+dummyskjema.elements[i].value;
						streng+="&"+tmpstreng;
					}
				}
			   if (nulltreff == 1) {
				  streng+="&nulltreff=1";
			   }
			   
				http.open("GET","?mode=hentSkjema"+streng,true);
				http.onreadystatechange=visSkjemaHttpResponse;
				isWorking=true;
				http.send(null);
				document.body.style.cursor = 'wait';
			} 
			return false;
		} else {
		//		alert("fant ikke skjema");
			return true;
		}
	}
}

function hentSelect (id) {
	var visher=fO(id);
	if (http) {
		if (!isWorking) {
			var streng="";
			currentSelect=id;
			http.open("GET","hentdynamisk?mode=hentSelect&seltype="+id,true);
			http.onreadystatechange=visOppdatertSelect;
			isWorking=true;
			http.send(null);
			document.body.style.cursor = 'wait';
		} 
		return false;
	} else {
	//		alert("fant ikke skjema");
		return true;
	}

}
function visOppdatertSelect () {
	if (http.readyState == 4) {
		var visher=fO(currentSelect);
		var jsonTekst=http.responseText;
		try {
			eval(jsonTekst);
		} catch (e) {
			//alert(e+"\n"+jsonTekst);
		}		
		if (options != null) {
			var forsteEl=visher.options[0];
			visher.options.length=0;
			visher.options[0]=forsteEl;
			var ant=1;	
			for (var l in options) {
				var navn=options[l]["navn"];
				var verdi=options[l]["verdi"];
				visher.options[ant]=new Option(navn,verdi);
				ant++;				
			}
			visher.options[0].selected=true;
		}
	}
	document.body.style.cursor = "default";
	isWorking=0;
	return false;
}

function visSkjemaHttpResponse () {
	if (http.readyState == 4) {
		var visher=fO("avgrensdiv");
		visher.innerHTML=http.responseText;
		visher.style.display="block";
		document.body.style.cursor = "default";
		isWorking=0;

	   tellValgteBib();
	   leggtilEventerBib();
	   hentetSkjema=1;
	   if (0) {
		  synlig="avgrensdiv";
		  huskSynlig("avgrensdiv");
		  justOpened=1;
		  if (timer_kanlukkes != null)
		  {
			 window.clearTimeout(timer_kanlukkes);
		  }
		  timer_kanlukkes = setTimeout("kanLukke()",100);
	   }
	}
}
function visSamsokSvar (verdi, output) {
	listeid=output;
	listetype="treffliste";
	queued="";
isIE=navigator.appVersion.indexOf("MSIE")>0 && navigator.userAgent.indexOf("Opera") == -1;
	if (verdi != "") {
	var visFelt=fO("visesamcelle");
		if (visFelt != "" && visFelt != "undefined") {
			visFelt.innerHTML=sprTekst("SamSøk-treffliste")+"&nbsp\;&nbsp\;";
		}	
		if (isIE) {
			var obj="<a href=\"#\" onClick=\"var f=fO('visesamcelle')\;f.innerHTML=''\;return false\;\">"+sprTekst("Lukk")+"</a><br><iframe src=\""+verdi+"\" height=600 width=900></iframe>";
			visFelt.innerHTML=visFelt.innerHTML+obj;
		} else {
			var lukkmeg=document.createElement("a");
			var lukkKlikk="var f=fO('visesamcelle')\;f.innerHTML=''\;return false";
			lukkmeg.setAttribute("onclick", lukkKlikk);
			lukkmeg.setAttribute("href" ,"#");
			var lukkTekst=document.createTextNode(sprTekst("Lukk"));
			lukkmeg.appendChild(lukkTekst);
			visFelt.appendChild(lukkmeg);
			var br=document.createElement("br");
			visFelt.appendChild(br);
			var obj=document.createElement( "object" );
			obj.setAttribute("data", verdi);
			obj.setAttribute("type", "text/html");
			obj.setAttribute("height", "600");
			obj.setAttribute("width", "900");
			visFelt.appendChild(obj);		
		}
	//		http.open("GET",verdi, true);
//		http.onreadystatechange = samsokHttpResponse;
// 		isWorking = true;
//		forrige=verdi;
//		http.send(null);
//		document.body.style.cursor = 'wait';

	} else {
	//	isWorking=false;
	//	http.send(null);
	}
	return false;
}	
function oppdaterDynListe(input,output,listdet,kval,dbpath,ant,fastsok,spraak,altsok) {
 	if (inputtype == "felt") {
		var felt=fO(input);
    	verdi=felt.value;
	} else {
//		verdi = input;
		verdi=altsok;
		var tmpfelt=fO(inputfelt);
		var tmpverdi=fjernKval(verdi);
		if (tmpverdi.indexOf("tnr=") < 0) {
			tmpfelt.value=tmpverdi;
		}
	}
  
	if (queued != verdi && isWorking) {
		queued = verdi;
		queuedFelt=input;
	} 
	antall=ant;
	listeid=output;
	listetype=listdet;
	kvalifik=kval;	
	if (!isWorking && http) {
		if (listetype == "htmlliste" || listetype == "htmltabell") {
			clearSelect(output);	
			queued="";
			try {
			if (verdi.length > 2 && verdi != forrige) {
				hentesNaa=verdi;
				var statusinfofelt=fO("dynstatus");
				if (statusinfofelt != "" && statusinfofelt != null) {
					statusinfofelt.innerHTML=sprTekst("Jobber med")+" "+verdi;
					statusinfofelt.style.display="block";
				}
			//	var sendes=dynurl+"?mode=htmltabell&websokurl="+websokurl+"&dbpath="+dbpath+"&kval="+kval+"&tekst=" + encodeURIComponent(verdi)+"&fastsok="+fastsok +"&antall="+antall+"&slaaoppbest="+slaaoppbest+"&spraak="+spraak+"&input="+inputfelt+"&visfinnesi="+visfinnesi;
	var sendes=dynurl+"?mode=htmltabell&websokurl="+websokurl+"&dbpath="+dbpath+"&kval="+kval+"&tekst=" + encodeURIComponent(verdi)+"&fastsok="+fastsok +"&antall="+antall+"&slaaoppbest="+slaaoppbest+"&spraak="+spraak+"&input="+inputfelt+"&visfinnesi="+visfinnesi;
				if (debug == 1) {
					sendes+="&debug=1";
				} 
			
	    			http.open("GET", sendes , true);
    				http.send(null);
    				http.onreadystatechange = handleHttpResponse;
    				isWorking = true;
					forrige=verdi;
				

			} else {
				isWorking=false;
				http.send(null);
				if (verdi.length == 0) {
					var outputfelt=fO(listeid);
					outputfelt.innerHTML="";							
				}
			}
			} catch (e) {
//alert(e);	
				}
			try {
				var tmpvalgt=fO("forslag_"+valgtIndex);
				tmpvalgt.style.color="";
 	  		} catch (e) {}
		} else if (listetype == "liste") {
			clearSelect(output);	
			queued="";
			if (verdi.length > 1 && verdi != forrige) {
    			http.open("GET", dynurl +"?mode=hent"+"&kval="+kval  +"&dbpath="+dbpath +"&tekst=" + encodeURIComponent(verdi)+"&fastsok="+fastsok +"&antall="+antall+"&slaaoppbest="+slaaoppbest+"&spraak="+spraak, true);
    			http.onreadystatechange = handleHttpResponse;
    			isWorking = true;
				forrige=verdi;
    			http.send(null);
			} else {
				isWorking=false;
				http.send(null);
				if (verdi.length == 0) {
					var outputfelt=fO(listeid);
					outputfelt.innerHTML="";						
				}
			}
		} else if (listetype == "vis") {
			clearDiv(output);
			queued="";
			http.open("GET",dynurl, true);
   			http.send("mode=vis"+"&dbpath="+dbpath+"&kval="+kval + "&tekst=" +encodeURIComponent(verdi) +"&fastsok="+fastsok+"&antall=" +antall+"&slaaoppbest="+slaaoppbest+"&spraak="+spraak);
			http.onreadystatechange = visHttpResponse;
   			isWorking = true;
			forrige=verdi;


		} else if (listetype == "treffliste") {
			clearSelect(output);	
			queued="";
			isWorking=false;		
			if (verdi != "") {
				var statusinfofelt=fO("dynstatus");
				if (0 && statusinfofelt != "" && statusinfofelt != null) {
					statusinfofelt.innerHTML=sprTekst("Henter treffliste");
					statusinfofelt.style.display="block";
				}
		
				if (websokurl.indexOf("cgi-bin/bib") >=0) {
					var skjema=fO("pubsokskjema");
					skjema.submit();
					return false;
	//					http.open("GET", websokurl +"?embedded=1"+"&mode=sok&sm=visres&v_para1=on&v_para2=alle&v_para3=alle&v_visikkealle=on&v_tekst1="+encodeURIComponent(verdi), true);
				} else if (websokurl.indexOf("samsok") >=0) {
					if (barevelgtekst == 0) {
					   var skjema=fO(sokeskjemanavn);
					   skjema.v_fraforslag.value=1;
					   skjema.submit();
					}
					return false;
	//					http.open("GET", websokurl +"?embedded=1"+"&mode=sok&sm=visres&v_para1=on&v_para2=alle&v_para3=alle&v_visikkealle=on&v_tekst1="+encodeURIComponent(verdi), true);
				} else {
//					http.open("GET", websokurl +"embedded=1"+"&mode=vt"+"&dbpath="+dbpath+"&cclsok="+encodeURIComponent(verdi)  +"&st=p" +"&fastsok="+fastsok+"&antall="+antall+"&nabotreff=1&browsebegrep=1&spraak="+spraak, true);
					var f=fO(output);					
isIE=navigator.appVersion.indexOf("MSIE")>0 && navigator.userAgent.indexOf("Opera") == -1;
					if (isIE) {
						if (kval != "") {
							verdi = verdi + "/"+kval;
						}
//						var obj="<a href=\"#\" onClick=\"var f=fO('"+output+"')\;f.innerHTML=''\;return false\;\">"+sprTekst("Lukk")+"</a><br><iframe src=\""+websokurl +"?mode=vt"+"&dbpath="+dbpath+"&cclsok="+encodeURIComponent(verdi)  +"&st=p" +"&fastsok="+fastsok+"&antall="+antall+"&nabotreff=1&browsebegrep=1&spraak="+spraak+"\" height=600 width=900></iframe>";
						//document.location=websokurl+"?mode=vt"+"&dbpath="+dbpath+"&cclsok="+encodeURIComponent(verdi)  +"&st=p" +"&fastsok="+fastsok+"&antall="+antall+"&nabotreff=1&browsebegrep=1&spraak="+spraak;
document.location=websokurl+"?mode=vt"+"&dbpath="+dbpath+"&cclsok="+encodeURIComponent(verdi)  +"&st=p" +"&fastsok="+fastsok+"&nabotreff=1&browsebegrep=1&spraak="+spraak;
//						f.innerHTML=obj;
					} else {
						if (1) {
							if (kval != "") {
								verdi = verdi + "/"+kval;
							}
							//document.location= websokurl +"?mode=vt"+"&dbpath="+dbpath+"&cclsok="+encodeURIComponent(verdi)  +"&st=p" +"&fastsok="+fastsok+"&antall="+antall+"&nabotreff=1&browsebegrep=1&spraak="+spraak;
							document.location= websokurl +"?mode=vt"+"&dbpath="+dbpath+"&cclsok="+encodeURIComponent(verdi)  +"&st=p" +"&fastsok="+fastsok+"&nabotreff=1&browsebegrep=1&spraak="+spraak;

						} else {
						f.innerHTML="";
						var lukkmeg=document.createElement("a");
						var lukkKlikk="var f=fO('"+output+"')\;f.innerHTML=''\;return false";
						lukkmeg.setAttribute("onclick", lukkKlikk);
						lukkmeg.setAttribute("href" ,"#");
						var lukkTekst=document.createTextNode(sprTekst("Lukk"));
						lukkmeg.appendChild(lukkTekst);
						f.appendChild(lukkmeg);
						var br=document.createElement("br");
						f.appendChild(br);
						var obj=document.createElement( "object" );
						if (kval != "") {
							verdi = verdi + "/"+kval;
						}
						obj.setAttribute("data", websokurl +"?mode=vt"+"&dbpath="+dbpath+"&cclsok="+encodeURIComponent(verdi)  +"&st=p" +"&fastsok="+fastsok+"&antall="+antall+"&nabotreff=1&browsebegrep=1&spraak="+spraak);
						obj.setAttribute("type", "text/html");
						obj.setAttribute("height", "600");
						obj.setAttribute("width", "900");
						f.appendChild(obj);		
						}
					}
				}
		//		alert("Henter treffliste"+websokurl +"embedded=1"+"&mode=vt"+"&dbpath="+dbpath+"&ccl="+encodeURIComponent(verdi)  +"&st=p" +"&fastsok="+fastsok+"&antall="+antall);
    	//		http.onreadystatechange = visHttpResponse;
    	 //		isWorking = true;
	 	//		forrige=verdi;
     	//		http.send(null);
		//		document.body.style.cursor = 'wait';
				
				if (inputfelt != "" && inputfelt != "undefined") {
					var verdiliste =verdi.split("/");
					inputfelt.value=verdiliste[0];
				}			
			} else {
				isWorking=false;
				http.send(null);
					
			}

		}  else if (listetype == "trefflisteStavekont") {
			clearSelect(output);	
			queued="";
			if (verdi != "") {
				var statusinfofelt=fO("dynstatus");
				if (statusinfofelt != "" && statusinfofelt != null) {
					statusinfofelt.innerHTML=sprTekst("Henter treffliste");
					statusinfofelt.style.display="block";
				}
				if (1) {
					document.location=websokurl +"?mode=vt"+"&dbpath="+dbpath+"&cclsok="+encodeURIComponent(kval)  +"&st=p" +"&fastsok="+fastsok+"&antall="+antall+"&nabotreff=1&browsebegrep=1&spraak="+spraak;
				} else {
					http.open("GET", websokurl +"?mode=vt"+"&dbpath="+dbpath+"&cclsok="+encodeURIComponent(kval)  +"&st=p" +"&fastsok="+fastsok+"&antall="+antall+"&nabotreff=1&browsebegrep=1&spraak="+spraak, true);
			//		alert("Henter treffliste"+websokurl +"embedded=1"+"&mode=vt"+"&dbpath="+dbpath+"&ccl="+encodeURIComponent(verdi)  +"&st=p" +"&fastsok="+fastsok+"&antall="+antall);
    				http.onreadystatechange = visHttpResponse;
    	 			isWorking = true;
	 				forrige=verdi;
     				http.send(null);
					document.body.style.cursor = 'wait';
				}	
				if (inputfelt != "" && inputfelt != "undefined") {
					var verdiliste =verdi.split("/");
					inputfelt.value=verdiliste[0];
				}			
			} else {
				isWorking=false;
				http.send(null);
					
			}
	  
		}
 	} else {
		queued=verdi;
		queuedFelt=input;
	}
   return true;
}

function skjulhjelp (felt) {
	var hjelpefelt=fO(felt);
	hjelpefelt.innerHTML="";
}
function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}
//Fyll ut liste basert på innhold i lista fra valgte url

function fangKey(e) {
   if (!e) e = window.event;
   try {
	  if( typeof( e.keyCode ) == 'number'  ) {
	     //DOM
	     e = e.keyCode;
	  } else if( typeof( e.which ) == 'number' ) {
	    //NS 4 compatible
  		 e = e.which;
  	  } else if( typeof( e.charCode ) == 'number'  ) {
  		 //also NS 6+, Mozilla 0.9+
 		 e = e.charCode;
 	  }
	  if (window.event.shiftKey) {
		 shiftkode=true;
	  } else {
		shiftkode=false;
	  }
	  if (e == 38 || e == 40) {
		if (shiftkode) {
		   return true;
		} else {
		   return false;
		}	
	  } 

	  
	} catch (e) {
	  
	}
}
function fangEvent(evt) {
	evt = (evt) ? evt : ((window.event) ? window.event : "")
    if (evt) {
		return evt;
	}
   return false;
}
function samsokHttpResponse() {
  if (http.readyState == 4) {
		var tmp="";
		var antDynamiskeSider=innholdsArray.length;
		innholdsArray[antDynamiskeSider]=http.responseText;
		var visFelt=fO("visesamcelle");
		if (visFelt != "" && visFelt != "undefined") {
			var statusfelt=fO("samsokstatus");
			if (statusfelt != "" && statusfelt != null)  {
				var lenketekst = document.createTextNode(sprTekst("Lukk SamSøk"));
				var span=document.createElement("span");
				var onklikk="var f=fO('visesamcelle')\;f.innerHTML=''\;f=fO('samsokstatus')\;f.innerHTML=''\;";
				span.setAttribute("onClick", onklikk);
				span.setAttribute("style", "color:blue\;");
				span.appendChild(lenketekst);	
				while (statusfelt.hasChildNodes())
				{
					statusfelt.removeChild(statusfelt.firstChild);
				}
				statusfelt.appendChild(span);
				if (antDynamiskeSider > 0) {
					onklikk="samsokTilbake("+samsokside+")\;";
					var knapp=document.createElement("button");
					knapp.setAttribute("onClick", onklikk);
					knapp.setAttribute("title", sprTekst("Tilbake"));
					var bilde=document.createElement("img");
					bilde.setAttribute("src", "/bilder/forrigebilde.gif");
					bilde.setAttribute("alt", sprTekst("Tilbake"));
					knapp.appendChild(bilde);
					statusfelt.appendChild(knapp);					
				}
			}
			visFelt.innerHTML=innholdsArray[antDynamiskeSider];
			var urlArray =visFelt.getElementsByTagName("a");
			var antUrler=urlArray.length;
			var currEl;
			var tekst="";
			var samsokklikk;
			for (var enurl=0;enurl < antUrler; enurl++) {
//				urlArray[i].href="TEST";
				currEl=urlArray[enurl];
				samsokklikk= "var event=fangEvent(event)\; samsokside++\;inputtype='undefined'\;visSamsokSvar('"+currEl.href+"','nabocelle')\;return false\;";
				currEl.setAttribute( "onClick", samsokklikk);
				tekst=tekst+currEl.href+"\n";	

			}
		}
	  	isWorking = false;    

		document.body.style.cursor = 'default';

  } else if (http.readyState == 0)  {
	isWorking=false;
	document.body.style.cursor = 'default'; 
	var statusinfofelt=fO("visesamcelle");
	if (statusinfofelt != "" && statusinfofelt != null) {
		statusinfofelt.innerHTML="&nbsp\;";
		statusinfofelt.style.visibility="hidden";
	}	
	}
}
function samsokTilbake (side) {
	if (innholdsArray.length >= side) {
		samsokside=side-1;
		var visFelt=fO("visesamcelle");
		if (visFelt != "" && visFelt != "undefined") {
			var statusfelt=fO("samsokstatus");
			if (statusfelt != "" && statusfelt != null)  {
				var lenketekst = document.createTextNode(sprTekst("Lukk SamSøk"));
				var span=document.createElement("span");
				var onklikk="var f=fO('visesamcelle')\;f.innerHTML=''\;f=fO('samsokstatus')\;f.innerHTML=''\;";
				span.setAttribute("onClick", onklikk);
				span.setAttribute("style", "color:blue\;");
				span.appendChild(lenketekst);	
				while (statusfelt.hasChildNodes())
				{
					statusfelt.removeChild(statusfelt.firstChild);
				}
				statusfelt.appendChild(span);
				var antDynamiskeSider=innholdsArray.length;
				if (antDynamiskeSider > 0) {
					onklikk="samsokTilbake("+samsokside+")\;";
					var knapp=document.createElement("button");
					knapp.setAttribute("onClick", onklikk);
					knapp.setAttribute("title", sprTekst("Tilbake"));
					var bilde=document.createElement("img");
					bilde.setAttribute("src", "/bilder/forrigebilde.gif");
					bilde.setAttribute("alt", sprTekst("Tilbake"));
					knapp.appendChild(bilde);
					statusfelt.appendChild(knapp);					
				}
			}
			visFelt.innerHTML=innholdsArray[side];
			var urlArray =visFelt.getElementsByTagName("a");
			var antUrler=urlArray.length;
			var currEl;
			var tekst="";
			var samsokklikk;
			for (var enurl=0;enurl < antUrler; enurl++) {
				currEl=urlArray[enurl];
				samsokklikk= "var event=fangEvent(event)\; inputtype='undefined'\;visSamsokSvar('"+currEl.href+"','nabocelle')\;return false\;";
				currEl.setAttribute( "onClick", samsokklikk);
				tekst=tekst+currEl.href+"\n";	

			}
		}
	}

}
function finnValgtKval (felt) {
return "";
}
function loggInnDynamisk (hva) {
	if (hva == "forslag") {
		var skjema=fO("dynforslaglogin");
	} else {
		var skjema=fO("dynlogin");
	}

	if (skjema != null) {
		var loc=skjema.action;
		if (hva == "forslag") {
			var pass=fO("forslagpassord");
			var passord=pass.value;
			var lnrfelt=fO("forslaglnr");
			var lnr=lnrfelt.value;
		} else {
			var pass=fO("passord");
			var passord=pass.value;
			var lnrfelt=fO("lnr");
			var lnr=lnrfelt.value;
		}
		if (!isWorking && http) {
		   
		   var sendes=loc;		
			  
			http.open("POST", sendes, true);
			http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			if (hva == "forslag") {
				http.onreadystatechange = handleForslagLoginHttpResponse;
			} else {
				http.onreadystatechange = handleLoginHttpResponse;
			}
			isWorking  = true;
			document.body.style.cursor = 'wait';
			http.send("mode=logintest&lnr="+lnr+"&passord="+passord);		
			skjema.style.display="none";
		}
	} else {
	}
	return false;
}
function handleLoginHttpResponse () {
	var viserSkjema=0;
	if (http.readyState == 4) {
    	if (http.responseText.indexOf('invalid') == -1) {
    		// Split the comma delimited response into an array
	   	  	isWorking = false;   
			var skjema=fO("dynlogin");		
			var ok=-1;
			var tekstliste=http.responseText.split("\n");
			for (var i=0;i<tekstliste.length;i++) {
				if (tekstliste[i].indexOf("OK") != -1) {
					ok=i;	
				} else if (tekstliste[i].indexOf("FEIL") != -1) {
					ok= -1;
					break;
				}
			}
			if (ok != -1) {
				var liste=tekstliste[ok].split("@_@_@");
				if (liste.length >=3) {
					var navn=liste[1];
					var epost=liste[2];
					if (navn != "" && epost != "") {
						//var resultat=document.createTextNode(" responsetekst: "+http.responseText);
						var tipsskjema=fO("tipsskjema");
						tipsskjema.style.display="block";
						skjema.style.display="none";
						tipsskjema.avsendernavn.value=navn;
						tipsskjema.avsender.value=epost;
						var eposttekst=fO("eposttekst");
						eposttekst.innerHTML=epost;
						tipsskjema.mottaker.focus();
						viserSkjema=1;
					} else {
						var resultat=document.createTextNode("Feil:"+http.responseText);
	//					skjema.appendChild(resultat);
					}
				} else {
					//var resultat=document.createTextNode("responseheader: "+http.getResponseHeader("Set-Cookie")+ " statustekst:"+http.statusText+ " responsetekst: "+http.responseText);
				//	skjema.appendChild(resultat);
				}
			}
		}
		if (viserSkjema == 0) {
			isWorking=false;
			loginFlnr();
//			skjema.style.display="block";
//			var resultat=document.createTextNode("Feil:"+http.responseText);
//			skjema.appendChild(resultat);
	
		}
    	document.body.style.cursor = 'default';
		isWorking=false;
  	} else if (http.readyState == 0)  {
    	document.body.style.cursor = 'default';
		isWorking=false;
   	}
}

function handleForslagLoginHttpResponse () {
	var viserSkjema=0;
	if (http.readyState == 4) {
    	if (http.responseText.indexOf('invalid') == -1) {
    		// Split the comma delimited response into an array
	   	  	isWorking = false;   
			var skjema=fO("dynforslaglogin");		
			var ok=-1;
			var tekstliste=http.responseText.split("\n");
			for (var i=0;i<tekstliste.length;i++) {
				if (tekstliste[i].indexOf("OK") != -1) {
					ok=i;	
				} else if (tekstliste[i].indexOf("FEIL") != -1) {
					ok= -1;
					break;
				}
			}
			if (ok != -1) {
				var liste=tekstliste[ok].split("@_@_@");
				if (liste.length >=3) {
					var navn=liste[1];
					var epost=liste[2];
					if (navn != "" && epost != "") {
						//var resultat=document.createTextNode(" responsetekst: "+http.responseText);
						var tipsskjema=fO("forslagskjema");
						tipsskjema.style.display="block";
						skjema.style.display="none";
						tipsskjema.forslagavsendernavn.value=navn;
						tipsskjema.forslagavsender.value=epost;
						var eposttekst=fO("forslageposttekst");
						eposttekst.innerHTML=epost;
						tipsskjema.forslag.focus();
						viserSkjema=1;
					} else {
						var resultat=document.createTextNode("Feil:"+http.responseText);
	//					skjema.appendChild(resultat);
					}
				} else {
					//var resultat=document.createTextNode("responseheader: "+http.getResponseHeader("Set-Cookie")+ " statustekst:"+http.statusText+ " responsetekst: "+http.responseText);
				//	skjema.appendChild(resultat);
				}
			}
		}
		if (viserSkjema == 0) {
			isWorking=false;

			loginForslagFlnr();
//			skjema.style.display="block";
//			var resultat=document.createTextNode("Feil:"+http.responseText);
//			skjema.appendChild(resultat);
		}
    	document.body.style.cursor = 'default';
		isWorking=false;
  	} else if (http.readyState == 0)  {
    	document.body.style.cursor = 'default';
		isWorking=false;
   	}
}

function loginFlnr () {
	var skjema=fO("dynlogin");
	if (skjema != null) {
		var loc=skjema.action;
		var pass=fO("passord");
		var passord=pass.value;
		var lnrfelt=fO("lnr");
		var lnr=lnrfelt.value;
		if (!isWorking && loginHttp) {
			
			loginHttp.open("POST", "flnraccess", true);
	
			try {
				loginHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			} catch (e) {}
			loginHttp.onreadystatechange = handleLoginFlnrHttpResponse;
			loginHttp.send("mode=login&lnr="+lnr+"&passord="+passord);
			isWorking  = true;
			document.body.style.cursor = 'wait';
			skjema.style.display="none";
		}
	//Fikk ikke henta riktige detaljer, så vi viser innloggingskjemaet på nytt.
	} else {

	}
}
function loginForslagFlnr () {
	var skjema=fO("dynforslaglogin");
	if (skjema != null) {
		var loc=skjema.action;
		var pass=fO("forslagpassord");
		var passord=pass.value;
		var lnrfelt=fO("forslaglnr");
		var lnr=lnrfelt.value;
		if (!isWorking && loginHttp) {
			
			loginHttp.open("POST", "flnraccess", true);
	
			try {
				loginHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			} catch (e) {}
			loginHttp.onreadystatechange = handleLoginForslagFlnrHttpResponse;
			loginHttp.send("mode=login&lnr="+lnr+"&passord="+passord);
			isWorking  = true;
			document.body.style.cursor = 'wait';
			skjema.style.display="none";
		}
	//Fikk ikke henta riktige detaljer, så vi viser innloggingskjemaet på nytt.
	} else {

	}
}

function handleLoginFlnrHttpResponse () {
	var viserSkjema=0;
	if (loginHttp.readyState == 4) {
    	if (loginHttp.responseText.indexOf('invalid') == -1) {
		  	isWorking = false;   
			var skjema=fO("dynlogin");		
			var ok=-1;
			var tekstliste=loginHttp.responseText.split("\n");
			for (var i=0;i<tekstliste.length;i++) {
				if (tekstliste[i].indexOf("OK") != -1) {
					ok=i;	
				}
			}
			if (ok != -1) {
				var liste=tekstliste[ok].split("@_@_@");
				if (liste.length >=3) {
					var navn=liste[1];
					var epost=liste[2];
				if (navn != "" && epost != "") {
						//var resultat=document.createTextNode(" responsetekst: "+loginHttp.responseText);
						var tipsskjema=fO("tipsskjema");
						tipsskjema.style.display="block";
						skjema.style.display="none";
						tipsskjema.avsendernavn.value=navn;
						tipsskjema.avsender.value=epost;
						var eposttekst=fO("eposttekst");
						eposttekst.innerHTML=epost;
						tipsskjema.mottaker.focus();
						viserSkjema=1;
					} else {
						var resultat=document.createTextNode("Feil:"+loginHttp.responseText);
						skjema.appendChild(resultat);
					}
				} else {
					var resultat=document.createTextNode("responseheader: "+loginHttp.getResponseHeader("Set-Cookie")+ " statustekst:"+loginHttp.statusText+ " responsetekst: "+loginHttp.responseText);
					skjema.appendChild(resultat);
				}
			}
		}

    	document.body.style.cursor = 'default';
		if (viserSkjema == 0) {
			skjema.style.display="block";
			alert(sprTekst("Feil - Kunne ikke logge inn\n Feil passord?"));	
		}
		isWorking=false;
  	} else if (loginHttp.readyState == 0)  {
    	document.body.style.cursor = 'default';
		isWorking=false;
   	}
}

function handleLoginForslagFlnrHttpResponse () {
	var viserSkjema=0;
	if (loginHttp.readyState == 4) {
    	if (loginHttp.responseText.indexOf('invalid') == -1) {
		  	isWorking = false;   

			var skjema=fO("dynforslaglogin");		
			var ok=-1;
			var tekstliste=loginHttp.responseText.split("\n");
			for (var i=0;i<tekstliste.length;i++) {
				if (tekstliste[i].indexOf("OK") != -1) {
					ok=i;	
				}
			}
			if (ok != -1) {
				var liste=tekstliste[ok].split("@_@_@");
				if (liste.length >=3) {
					var navn=liste[1];
					var epost=liste[2];
				if (navn != "" && epost != "") {
						//var resultat=document.createTextNode(" responsetekst: "+loginHttp.responseText);
						var tipsskjema=fO("forslagskjema");
						tipsskjema.style.display="block";
						skjema.style.display="none";
						tipsskjema.forslagavsendernavn.value=navn;
						tipsskjema.forslagavsender.value=epost;
						var eposttekst=fO("forslageposttekst");
						eposttekst.innerHTML=epost;
						tipsskjema.mottaker.focus();
						viserSkjema=1;
					} else {
						var resultat=document.createTextNode("Feil:"+loginHttp.responseText);
						skjema.appendChild(resultat);
					}
				} else {
					var resultat=document.createTextNode("responseheader: "+loginHttp.getResponseHeader("Set-Cookie")+ " statustekst:"+loginHttp.statusText+ " responsetekst: "+loginHttp.responseText);
					skjema.appendChild(resultat);
				}
			}
		}

    	document.body.style.cursor = 'default';
		if (viserSkjema == 0) {
			skjema.style.display="block";
			alert(sprTekst("Feil - Kunne ikke logge inn\n Feil passord?"));	
		}
		isWorking=false;
  	} else if (loginHttp.readyState == 0)  {
    	document.body.style.cursor = 'default';
		isWorking=false;
   	}
}

function handleHjelpHttpResponse () {
	if (hjelpHttp.readyState == 4) {
    	if (hjelpHttp.responseText.indexOf('invalid') == -1) {
    		// Split the comma delimited response into an array
		  	hjelpIsWorking = false;   
			var tekstliste=hjelpHttp.responseText.split("\n");
			var hjelpetekst="";
			var first=-1;
			if (tekstliste.length >0) {
				for (var i=0;i< tekstliste.length;i++) {
					if (tekstliste[i].indexOf("body")) {
						first=i+1;
						break;
					}
				}
				for (i=first;i<tekstliste.length;i++) {
					hjelpetekst=hjelpetekst+tekstliste[i]+"\n";
				}
				if (hjelpetekst != "") {
					hjelpetekst +="<br><a href=\# onClick=\"var f=fO('vistingher')\;f.innerHTML=''\;f.display='none'\;return false\;\">"+sprTekst("Lukk");
					hjelpeArray[aktivhjelp] =hjelpetekst;
					var far=fO("vistingher");
					far.style.position='absolute';
					far.innerHTML=hjelpetekst;				
					far.style.display="block";
					far.style.width="400px";
					far.style.top=hjelpPosY;
//					far.style.left=hjelpPosX;
					far.style.right=0;
					far.style.visibility="visible";
					synlig="vistingher";
					huskSynlig("vistingher");
					justOpened=1;
					if (timer_kanlukkes != null)
					{
						window.clearTimeout(timer_kanlukkes);
					}
					timer_kanlukkes = setTimeout("kanLukke()",100);
					var skjul="skjulelenke('vistingher')\;";
//					skalskjules=setTimeout(skjul,5000);
					skalvises=0;
					visesNaa=1;
				}
			}
		}
    	document.body.style.cursor = 'default';
		hjelpIsWorking=false;
  	} else if (http.readyState == 0)  {
    	document.body.style.cursor = 'default';
		isWorking=false;
   	} else {
	   document.body.style.cursor = 'default';
	}
}
function handleDynPostHttpResponse () {
	if (hjelpHttp.readyState == 4) {
    	if (hjelpHttp.responseText.indexOf('invalid') == -1) {
    		// Split the comma delimited response into an array
		  	hjelpIsWorking = false;   
			var jsonTekst=hjelpHttp.responseText;
			try {
				eval(jsonTekst);
			} catch (e) {
		//		alert(e+"\n"+jsonTekst);
			}		
			if (poster != null) {
				for (var l in poster) {
					tnr=poster[l].tnr;
					forhandsArray[tnr]=poster[l];
				}
				var post=forhandsArray[aktivhjelp];		
				lagForhandsvisning(forhandsArray[aktivhjelp]);
				var far=fO("vistingher");	
				//	hjelpetekst +="<br><a href=\# onClick=\"var f=fO('vistingher')\;f.innerHTML=''\;f.display='none'\;return false\;\">"+sprTekst("Lukk");
				far.style.position='absolute';
				far.style.width="400px";
				far.style.display="block";
				far.style.top=hjelpPosY;
				far.style.left=hjelpPosX;
				var skjul="skjulelenke('vistingher')\;";
				skalskjules=setTimeout(skjul,5000);
				skalvises=0;
				visesNaa=1;
			}
		
		}
    	document.body.style.cursor = 'default';
		hjelpIsWorking=false;
  	} else if (http.readyState == 0)  {
    	document.body.style.cursor = 'default';
		hjelpIsWorking=false;
   	}
}
function handleKrydderHttpResponse () {
//	
	if (http.readyState == 4) {
    	if (http.responseText.indexOf('invalid') == -1) {
    		// Split the comma delimited response into an array
		  	isWorking = false;   
			var jsonTekst=http.responseText;
			try {
				eval(jsonTekst);
			} catch (e) {
			//	alert(e+"\n"+jsonTekst);
			}		
		} else {

		//	alert("invalid:"+http.responseText);
		}
    	document.body.style.cursor = 'default';
		isWorking=false;
		var tmptekst="";

	//krydderteskter er arrayet som lages med eval(jsonTekst);
		for (var l in kryddertekster) {
			isbn=kryddertekster[l]["isbn"];
			hentetKrydder["_"+isbn]=kryddertekster[l]["beskrivelse"];
			tmptekst=tmptekst+ " "+isbn+ " "+ hentetKrydder["_"+isbn]+"\n";
			var finn="krydder_"+isbn;
			var celleSomFylles=fO(finn);
			if (celleSomFylles != null) {
				celleSomFylles.innerHTML =kryddertekster[l]["beskrivelse"];
			} else {
//				alert("Fant ikke noe sted å vise ("+finn+") vs "+kryddertekster[l].isbn+" \n"+kryddertekster[l].innhold);

			}
		}
  	} else if (http.readyState == 0)  {
    	document.body.style.cursor = 'default';
		isWorking=false;
   	}
}

function renTekst (streng) {
	var div=document.createElement("div");
	div.innerHTML=streng;
	if	(typeof div.innerText != "undefined") {
		return div.innerText;
	} else if (typeof div.ownerDocument != "undefined" && typeof div.ownerDocument.createRange != "undefined") {
		var range = div.ownerDocument.createRange();
		range.selectNodeContents(div);
		return range.toString();
	} else if (typeof div.textContent != "undefined") {
		return div.textContent;
	} else {
	   return streng;
	}

}

function lagForhandsvisning (post) {
	if (post != "") {
		var far=fO("vistingher");
		far.innerHTML="";
		var bildedetaljer=post.image;
		if (bildedetaljer != null) {
			var bilde=document.createElement("img");
			bilde.setAttribute("src",bildedetaljer.src);
			bilde.setAttribute("title",bildedetaljer.title);
			far.appendChild(bilde);
			var br=document.createElement("br");
			far.appendChild(br);
		}
//		var tabell=document.createElement("table");
		for (var i=0;i<post.groups.length;i++) {
			var group=post.groups[i];
			var linjer=group.linjer;
			if (group.ledetekst) {
				var radtittel=document.createElement("strong");		
				var ledetekst=document.createTextNode(group.ledetekst);
				radtittel.appendChild(ledetekst);
				radtittel.setAttribute("style","margin-right:2em");
				far.appendChild(radtittel);	
			}	
			isIE=navigator.appVersion.indexOf("MSIE")>0 && navigator.userAgent.indexOf("Opera") == -1;
			for (var j=0;j<linjer.length;j++) {
				if (linjer[j].fstreng) {
					var fStreng=document.createTextNode(" "+renTekst(linjer[j].fstreng));
			//		td.appendChild(fStreng);
					far.appendChild(fStreng);
				}
				if (linjer[j].href) {
					if (isIE) {
						var lenke=" <a href=\""+linjer[j].href+"\" ";
//						if (linjer[j].onClick) {
//							lenke=lenke+"onClick=\""+linjer[j].onClick+" return false\;\"";
//						}
						lenke=lenke+">"+renTekst(linjer[j].text)+"</a> ";
						
						far.innerHTML=far.innerHTML+lenke;
					} else {
						var lenke=document.createElement("a");
						lenke.setAttribute("href",linjer[j].href);
						var tekst=document.createTextNode(renTekst(linjer[j].text));
						lenke.appendChild(tekst);
//						if (linjer[j].onClick) {
//							lenke.setAttribute("onClick",linjer[j].onClick);
//						}
						far.appendChild(lenke);
					}
				}
				if (linjer[j].fstreng) {
					var fStreng=document.createTextNode(" "+renTekst(linjer[j].fstreng));
					far.appendChild(fStreng);
				}
//				var br=document.createElement("br");
	//			far.appendChild(br);
		//		rad.appendChild(td);		
			}
			br=document.createElement("br");
			far.appendChild(br);
//			tabell.appendChild(rad);
		}
//		far.appendChild(tabell);

	}
}
