function lagCollapseMeny(hierarkiskID) {
	return "<a href=\"javascript:slettRadMeny('ltk_emneord_menytabellen','" + hierarkiskID + "')\"><img src=\"" + contextPath + "/_img/collapse.gif\" border=\"0\"/></a>";
}

function lagExpandMeny(hierarkiskID,level) {
	return "<a href=\"javascript:sendMeny('" + hierarkiskID + "','expandNode'," + level + ")\"><img src=\"" + contextPath + "/_img/expand.gif\" border=\"0\"/></a>";
}

function lagExpColMeny() {
	return "<img src=\"" + contextPath + "/_img/expcol.gif\" border=\"0\"/>";
}

function slettRadMeny(menytabellen,hierarkiskID) {
	menytabellen = document.getElementById("ltk_emneord_menytabellen");
	menytBody = document.getElementById("ltk_emneord_menytbody");
	/*
	Skifter til [+]-ikon
	*/
	var level = hierarkiskID.split('_').length;
	var imageSpan = document.getElementById('img_ltk_emneord_'+hierarkiskID);
	imageSpan.innerHTML=lagExpandMeny(hierarkiskID,level);

	/*
	Alle rader i menytabellen finner vi ved hjelp av metoden rows.
	*/
	var allerader = menytBody.childNodes;

	/*
	Vi lager et nytt array som fylles opp med alle radenes indexID
	Vi må gjøre det slik fordi vi ikke kan slette radene direkte.
	Antall rader i allerader påvirkes av slettingen og forrykker indexID.
	*/
	var disseSkalSlettesArray = new Array;

	for (var i=0; i<allerader.length; i++) {
		var row = allerader[i];
		if (row.nodeName == 'TR') {
			var rowIndex = row.rowIndex;
			var rowID = row.id;

			/*
			Skal slette alle noder som starter pa "emneordID";
			*/
			var pattern = eval('/^ltk_emneord_' + hierarkiskID + '_/');
			var found = rowID.match(pattern);
			// Merk "_" etter hierarkiskID. Denne er lagt på under eval noen linjer over for å
			// unngå å slette linjer i bunnen. F.eks. id=1 vil fjerne 1_12, 1_4_4 OG 13.
			// Ved å legge på "_" for siden å fjerne denne blir alt korrekt.
			if (found == 'ltk_emneord_' + hierarkiskID + "_" && 'ltk_emneord_' + hierarkiskID != rowID) {
				disseSkalSlettesArray[rowIndex] = row;
			}
		}
	}

	/*
	Så snur vi rekkefølgen på disseSkalSlettesArray. Sletter vi fra "bunnen" går
	det bra med indexID i menytabellen vi fjerner rader fra.
	*/
	var arrayReverse = disseSkalSlettesArray.reverse();
	for (variable in arrayReverse) {
		var row = disseSkalSlettesArray[variable];
		menytBody.deleteRow(row.rowIndex);
	}
}



function sendMeny(hierarkiskID,aksjon,level) {
	temp = hierarkiskID.split('_');
	level = temp.length;
	level = level-1;
	var emneordID = temp[level];
	currentRow = document.getElementById('ltk_emneord_' + hierarkiskID);
	var imageSpan = document.getElementById('img_ltk_emneord_' + hierarkiskID);
	var indentSpan = document.getElementById('indent_ltk_emneord_' + hierarkiskID);
	var indent = "";
	for (var x = 0; x < level; x++){
		indent = indent + lagExpColMeny();
	}
	var indentTekst = indent;
	var imageTekst = lagCollapseMeny(hierarkiskID);
	indentSpan.innerHTML=indentTekst;
	imageSpan.innerHTML=imageTekst;

    httpRequestComplaining("post", "emneord/velgemneord_utfor", true, setMeny, "emneordID=" + emneordID + "&hierarkiskID="+hierarkiskID+"&subaksjon=1&aksjon=" + aksjon);
}

function setMeny() {
	/*
	Funksjonen mottar innholdet i en bean representert i et XML-dokument.
	Innholdet kommer som et resultat av et klikk på en pluss-gif.
	*/
    if (_ir_request.readyState == 4) {
        if (_ir_request.status == 200) {
            var doc = _ir_request.responseXML;
            if (doc) {
	            var root = doc.documentElement;
				getDocInfoMeny(doc);
			}
		}
        _ir_targetField = null;
    }
}


/* Get information about an XML document via a DOM Document object */
function getDocInfoMeny(doc){
	var root = doc.documentElement;
	var nds;
	var elementer;
//	var startRowID = currentRow.id;
	if(root.hasChildNodes( )) {
		nds=root.childNodes;
		var teller = 0;
		for (var i = 0; i < nds.length; i++){
			var nodenavn= nds[i].nodeName;
			if (nodenavn == 'EnkelLosemneBean') {
				var emneordID = hentVerdiMeny(nds[i],"id");
				var emneordNavn = hentVerdiMeny(nds[i],"name");
				var hierarkiskID = hentVerdiMeny(nds[i],"hierarkiskID");
				var hierarkiskNavn = hentVerdiMeny(nds[i],"hierarkiskNavn");0
				var discr = hentVerdiMeny(nds[i],"discr");
				var psi = hentVerdiMeny(nds[i],"identifier");
				var pID = hentVerdiMeny(nds[i],"pid");
				var level = hentVerdiMeny(nds[i],"level");
				--level;
				var harBarn = hentVerdiMeny(nds[i],"harBarn");
				var harTilknyttedeBeskrivelser = hentVerdiMeny(nds[i],"harTilknyttedeBeskrivelser");
//				alert(harTilknyttedeBeskrivelser);
				var checked = hentVerdiMeny(nds[i],"checked");
				var checkbox = '&nbsp';
				var checkedValue = "";
				if (checked=='true')
					checkedValue="checked";
//				if (discr==2) {
//					checkbox = '<input type="hidden" name="checkbox" value="' + emneordID + '">';
//					checkbox += '<input type="checkbox" onClick="sendTick(this)" name="emneordCheck" value="' + emneordID + '" ' +  checkedValue + '>';
//				}

				/*
				Oppretter raden
				*/
				var nyRad = document.createElement('tr');
				currentRow = currentRow.parentNode.insertBefore(nyRad,currentRow.nextSibling);

				// Setter id-atributten
				nyRad.setAttribute("id",'ltk_emneord_' + hierarkiskID);

				// Lager wraparound-celle
				var wrapAroundCell1 = nyRad.insertCell(-1);
				var wrapAroundCell2 = nyRad.insertCell(-1);
				var wrapAroundCell3 = nyRad.insertCell(-1);


				// Bestemmer + eller - (dvs. ingen ting)
				var verdi1 = hentVerdiMeny(nds[i],"leafNode");
				var level = hentVerdiMeny(nds[i],"level");
				level = parseInt(level);
				--level;
				var indent = "";
				for (var x = 0; x < level; x++)
				{
				   indent = indent + lagExpColMeny();
				}
				if (verdi1=="false") {
					verdi1 = lagExpandMeny(hierarkiskID,level);
				} else {
					verdi1 = lagExpColMeny();
				}

				// Nodenavn (kapitteloverskrift)
				feltnavn = "navn";
				var verdi2 = hentVerdiMeny(nds[i],feltnavn);

				var htmlTekst1 = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td valign=\"top\" nowrap style=\"padding-top:0;padding-right:2px\"><span id=\"indent_ltk_emneord_" + hierarkiskID + "\">";
				for (var x = 0; x < level; x++){
				   htmlTekst1 += lagExpColMeny();
				}
				htmlTekst1 += "</span><span id=\"img_ltk_emneord_" + hierarkiskID + "\">";
				if (harBarn == "true")
					htmlTekst1 += lagExpandMeny(hierarkiskID,level);
				else
					htmlTekst1 += lagExpColMeny();

				if (isNyStruktur) {
					htmlTekst1 += "</span></td><td valign=\"top\"><a href=\"javascript:visNyStruktur(" + emneordID +")\">" + emneordNavn + "</a></td>";
				} else {
					if (level == 2)
						htmlTekst1 += "</span></td><td valign=\"top\"><a href=\"javascript:visBeskrivelser("  +  emneordID +")\">" + emneordNavn + "</a></td>";
					else
						htmlTekst1 += "</span></td><td valign=\"top\">" + emneordNavn + "</td>";
				}
				htmlTekst1 += "</tr></table>";

				wrapAroundCell1.innerHTML=htmlTekst1;
				wrapAroundCell2.innerHTML=checkbox;
			}
		}
	}
}

function hentVerdiMeny(obj,feltnavn) {
	var collection = obj.getElementsByTagName(feltnavn);
	var verdi = '';
	if (collection.length > 0) {
		var felt = collection[0];
		if (felt.childNodes.length>0)
			verdi = felt.childNodes[0].nodeValue;
	}
	return verdi;
}


function visBeskrivelser(emneordID) {
    httpRequestComplaining("post", "ajaxutils_utfor", true, setBeskrivelser, "emneordID=" + emneordID + "&aksjon=visBeskrivelserMedEmneord");
}

function setBeskrivelser() {
    if (_ir_request.readyState == 4) {
        if (_ir_request.status == 200) {
            var beskrivelsene = _ir_request.responseText;
            var targetPoint = document.getElementById('ltk_mainbody');
            targetPoint.innerHTML=beskrivelsene;
            targetPoint = document.getElementById('ltk_sidebar');
            targetPoint.innerHTML='';
		}
        _ir_targetField = null;
    }
}







function regenererRadfarger(tBody) {
	var radene = tBody.childNodes;
	var rowOdd = true;
	var rowColor;
	var teller = 0;
	for (var i=0; i<radene.length; i++) {
		teller = teller + 1;
		var rad = radene[i];
		if (rad.nodeName == 'TR') {
			if (rowOdd==true) {
				rowColor = "#FFFFFF"
				rowOdd = false;
			} else {
				rowColor = "#F0F0F0";
				rowOdd = true;
			}
			if (ie) // Sjekken foretas i browsersjekk.js
				rad.setAttribute("bgcolor",rowColor,0);
			else
				rad.setAttribute("bgcolor",rowColor);
		}
	}
}

function behandleTicks(tBody,valgtEmneordID,isFjern) {
	var collection = tBody.getElementsByTagName('input');
	for (var i=0; i<collection.length;i++) {
		var felt = collection[i];
		if (felt.name == 'emneordCheck' && felt.value == valgtEmneordID) {
			if (isFjern)
				felt.checked=false;
			else
				felt.checked=true;
		}
	}
}


function settIndikatorDefault(valg,basisID,id_fane,frase,imageBase) {
	var indikator = document.getElementById(basisID);
	var tekst = document.getElementById(basisID + 'Tekst');
	if (!imageBase) {
		imageBase = '../_img/';
	}
	if (valg) {
		id_fane.style.cursor='wait';
		indikatorBackuptekst=tekst.innerHTML;
		tekst.innerHTML='<font color="green">' + frase + '</font>';
		indikator.src= imageBase + "ajax-loader.gif";
	} else {
		id_fane.style.cursor='default';
		indikator.src= imageBase + 'prikkprikkprikk.gif';
		tekst.innerHTML=indikatorBackuptekst;
	}
}




function setDefault() {
    if (_ir_request.readyState == 4) {
        if (_ir_request.status == 200) {
            var returtekst = _ir_request.responseText;
           	document.tjeneste.submit();
		}
        _ir_targetField = null;
    }
}

function setDefaultTjenestemal() {
    if (_ir_request.readyState == 4) {
        if (_ir_request.status == 200) {
            var returtekst = _ir_request.responseText;
           	document.tjenestemal.submit();
		}
        _ir_targetField = null;
    }
}

/*
	function findPos(obj) {
		var curleft = curright = curtop = 0;
		if (obj.offsetParent) {
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while (obj = obj.offsetParent) {
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}
		return [curleft,curtop];
	}

	function findHeight(obj) {
		var curheight = 0;
		curheight = obj.offsetHeight
		//alert(curheight);
		return curheight;
	}

   function displayWindow(w,tittel,id, variant) {
    var w, h, l, t;
    h = 1;
	var prikk = document.getElementById(id + 'Prikk');
	//alert("Prikk: " + prikk);
	var arr = findPos(prikk);
	//alert("arr[1]: " + arr[1]);
	moveTo = arr[1]-500;

	//alert("moveTo: " + moveTo);

	l = arr[0];
	if (arr[1]>200)
		t = arr[1]-200;
	else
		t = arr[1];

    if (!t)
	    t = screen.height/6;
	if (!l)
    	l = screen.width/4;

       // no title
    // displayFloatingDiv('windowcontent', '', w, h, l, t);

       // with title
    displayFloatingDiv(id, tittel, w, h, l, t, variant);
}
*/

function dummyFunction() {
    if (_ir_request.readyState == 4) {
        if (_ir_request.status == 200) {
            var respons = _ir_request.responseText;
            //alert(respons);
		}
        _ir_targetField = null;
    }
};


function visNyStruktur(id) {
	AjaxUtils.getNyLosstrukturBean(id, function (data) {
		skrivNyLosstruktur(data);
	});
}

function skrivNyLosstruktur(bean) {
	// Bygg opp innholdet i innholdsdiv
	var tekst = '';
	// Overskriften
	tekst += '<h1>' + bean.tittel + '</h1>';

	// Brødsmuler
//	tekst += '<div style="padding-bottom:7px"><table class="brodsmuler"><tr><td>Br&oslash;dsmuler:&nbsp;</td><td>';
	tekst += '<p>Du er her:&nbsp;';
	var lvbArr0 = bean.alleBrodsmuler;
	for (var x=0; x<lvbArr0.length; ++x) {
	// var lvbArr1 = bean.brodsmuler;
	if (x>0) tekst += '<br/>';
	var lvbArr1 = lvbArr0[x];
	for (var i=0; i<lvbArr1.length;++i) {
		var lvb = lvbArr1[i];
		tekst += '<a href="javascript:void visNyStruktur(' + lvb.label + ')">' + lvb.value + '</a>';
		if (i<lvbArr1.length-1)
			tekst += ' &gt; ';
	}
	}
	tekst += '</p>';
//	tekst += '</td></tr></table></div>';

	// Beskrivelsen
	tekst += '<div style="padding-bottom:12px">' + bean.beskrivelse + '</div>';

	// Overskrift nivå 2 (Undertemaer eller Emneord)
	if (bean.level == 1)
		tekst += 'Undertemaer:';
	else if (bean.level == 2)
		tekst += 'Emneord:';

	// Emneordene
	if (bean.level < 3) {
		tekst += '<div>';
		var lvbArr = bean.underliggende;
		for (var i=0; i<lvbArr.length;++i) {
			var lvb = lvbArr[i];
			tekst += '<a href="javascript:void visNyStruktur(' + lvb.label + ')">' + lvb.value + '</a>';
			if (i<lvbArr.length-1)
				tekst += ', ';
		}
		tekst += '</div>';
	}

	// Tjenestebeskrivelsene
	if (bean.tjenestebeskrivelserAsString) {
		tekst += '<div>Tjenestebeskrivelser:</div>';
		tekst += '<div>' + bean.tjenestebeskrivelserAsString + '</div>';
	}
	var innholdsfelt = document.getElementById('ltk_mainbody');
	var sidebar = document.getElementById('ltk_sidebar');
	if (sidebar) {
		sidebar.innerHTML='';
		sidebar.style.backgroundColor='white';
	}

	innholdsfelt.innerHTML=tekst;
}
