<!--

// Netscape Resize Fix Functions

var lastet_ferdig=false;





//#####################################################################################

//

//# Finner ut hvilken browser du bruker. Nødvending for DOM metoder som skal benyttes 

//

//######################################################################################



if (document.all) {

  //alert("Internet Explorer Detected");

  var ie4 = true;

}

else if (document.layers) {

  //alert("Netscape Navigator Detected");

  var ns4 = true;

}

else if (document.getElementById) {

  //alert("Netscape 6 Detected");

  var ns6 = true;

}





//######################################################################################

//			Variabler for å styre bilde i bunn av menyen

//		

//			Linkref = "http://www.minside.no"

//			imageref = ".minfil.gif" (ligger da i "Bildekatalog")

//#######################################################################################



var linkref;

var imageref;





//########################################################################################

if (navigator.appName=="Netscape" && parseInt(navigator.appVersion)==4){

	var widthCheck = window.innerWidth;

	var heightCheck = window.innerHeight;

	window.onResize = resizeFix;

}

function resizeFix() {

		if (widthCheck != window.innerWidth || heightCheck != window.innerHeight)

		{

			var url_her=document.location.href;

			document.location.href = url_her;

		}

}



function MakeArray(n) {	

	for (var i=1;i<n;i++) {this[i]="";}	

	this.length=n;	return this;	

}



//###########################################################################################

//		

//		MenuContainer er metoden som bygger en "container" for menyen. Med andre ord en "rot

//

//###########################################################################################



function MenuConteiner(varName) 

{

//alert("menucontainer");

	this.FindObjId=new MakeArray(1);

	this.Rekusiv=false;

	this.A=A;

	this.FindObjId[0]=new Menu_items(0,0,"ALL","/","index.html",null,this); //denne sender til menuitem 1.

	this.Menu=this.FindObjId[0];

	this.varName=varName;

	this.search_string="";

	this.Selected_index=0;

	this.makeCGIString=makeCGIString;

	

}

var M=new MenuConteiner('M'); //Menucontainer 1 lages. 





function makeCGIString()

{

	this.search_string= this.FindObjId[0].giveStatus();

}



//###########################################################################################

//

//	"A" er funksjonen som bygger opp menyen fra parametere den får fra "create menu" ( i html dok )

//

//###########################################################################################



function A(id, p_id, Name, Filname, type)

{





	if (ns4 || ie4 || ns6)

	{

		var parnetObj=this.FindObjId[p_id];

		parnetObj.child.length=parnetObj.child.length+1;

		var nrChilds=parnetObj.child.length;



		var Path = '/' + Filname.substr(0, Filname.lastIndexOf("/")+1);

		Filname = Filname.substr(Filname.lastIndexOf("/")+1);

		

		var madeObjNow=new Menu_items(id, p_id, Name, Path, Filname, parnetObj, this)

		parnetObj.child[nrChilds]=madeObjNow;

		this.FindObjId[id]=parnetObj.child[nrChilds];

				

	}

}



//###########################################################################################

//

//	"Meny item henger sammen med "A" og er en "knapp". 

//

//###########################################################################################



function Menu_items(id, p_id, Name, Path, Filname,parentObj,MenuConteinerObj)

{

	this.id=id;

	this.p_id=p_id;

	this.Name=Name;

	this.Path=Path;

	this.Filname=Filname;

	this.parentObj=parentObj;

	this.MenuConteinerObj=MenuConteinerObj;

	this.child=new MakeArray(0);

	this.Expand=false;

	this.Show=false; 

	

	this.print=print;	

	this.expandMe=expandMe;

	this.collapsMe=collapsMe;

	this.hideDown=hideDown;

	this.showUp=showUp;

	this.giveStatus=giveStatus;

	this.isChildSelected=isChildSelected;

	this.isParentSelected=isParentSelected;



	

}

//###########################################################################################

//	Her følger en masse generelle funksjoner for Menyen. Expand / Collapse etc

//###########################################################################################



function isChildSelected(valgt)

{





	for (var i=1;i<this.child.length+1;i++) 

	{

		//alert(i);

		if (this.child[i].id==valgt) return true;

		if (this.child[i].isChildSelected(valgt)) return true;

	}

	return false;

}



function isParentSelected(valgt)

{

	/*if (this.obj_id!=0) {

		var parentObj=M.FindObjId[this.id];

		if (parentObj.id==valgt) return true;

		if (parentObj.isParentSelected(valgt)) return true;

	}*/

	return false;

}



function giveStatus()

{

	var svar="";

	var status=0;

	if (this.Expand) status=2;

	//if (this.Show) status=status+1

	//0=don't show dont expand

	//1=show don't expand

	//2=Expand don't show ???

	//3=Expand and show

	if (this.Expand) svar="&id"+this.id+"=2";

	if (this.Show) svar="&id"+this.id+"=1";

	for (var i=1;i<this.child.length+1;i++) 

		svar+=this.child[i].giveStatus();

	return svar;

	

}

function expandMe(obj)

{

	if (obj!=null) {

		obj.Expand=true; 

		obj.Show=true;

		for (var i=1;i<obj.child.length+1;i++)

		{

			obj.child[i].Show=true;

		}

		Flush(obj.MenuConteinerObj);

	}

	

}

function expandMe2(obj)

{

	if (obj!=null) {

		obj.Expand=true; 

		obj.Show=true;

		for (var i=1;i<obj.child.length+1;i++)

		{

			obj.child[i].Show=true;

		}

	}

}

function hideDown()

{

	this.Show=false;

	this.Expand=false;

	for (var i=1;i<this.child.length+1;i++) this.child[i].hideDown();

}

function showUp()

{

	this.Show=true;

	this.Expand=true;

	if (this.parentObj!=null) this.parentObj.showUp();

}

function collapsMe(obj)

{

	obj.hideDown();

	obj.Show=true;

	Flush(obj.MenuConteinerObj);

}

function collapsMe2(obj)

{

	obj.hideDown();

	obj.Show=true;

}

function print(level)

{

	var svar="";

	if (this.Show || (this.parentObj!=null && this.parentObj.Expand==true))

	{

		svar=make_href(this,level)

	}

	var next=level+1;

	

	for (var i=1;i<this.child.length+1;i++) {

		if (this.child[i]!=null) svar+=this.child[i].print(next);

	}

	return svar;

}



//###########################################################################################

//	Her skrives knappene ut i HTML på riktig plass i DOM. 

//###########################################################################################





function layerWrite(id,text) {

//ID = DOM navn på node, text = innhold



	if (ns4) {

	//document.write (document.layers[id].innerHTML = text);

		var lyr = document.layers[id].document

		lyr.open()

		lyr.write(text)

		lyr.close()

	}

	else if (ie4) {

	//alert ("der");

	document.all[id].innerHTML = text

	//document.write (document.getElementById(id));

	//document.write (document.getElementById(id).innerHTML);

	}

	

	else if (ns6) {

	//alert ("ns6"); 

	document.getElementById(id).innerHTML = text

	//document.write (document.getElementById(id));

	//document.write (document.getElementById(id).innerHTML);

	 }  



	}



//###########################################################################################

// Temabilde funksjoner 

//###########################################################################################



function replaceBackslash(path){

		for (var i=1;i<path.length+1;i++) {

			path = path.replace(/\\/, "/");

		}

		return(path);

}



function setTemaImage(path){

		//var path = document.location.href;

		path = replaceBackslash(path);

		

		var splittet = path.split("/");

		var katalog = "bilde1";

		for(i=0;i<splittet.length;i++){

			if(splittet[i].toLowerCase() == "tema"){

				if((i + 2) < splittet.length){



					katalog = splittet[i+1];



					break;

				}

				break;

			}

		}



		var bildeUrl = BildeKatalog + katalog + ".gif";

		document.images["TemaBilde"].src = bildeUrl;



}

var her=location.pathname.toLowerCase();

function init() 

{	



       if (ns4 || ie4 || ns6)

        {

		//alert("initalizing undergoing");

		

                M.Rekusiv=true;

                create_items();

                expandMe2(M.FindObjId[0]);

                lastetFerdig=true;

                resizeFixMenu();

				// Added IF-test to check if "TemaBilde" exist on page. (Stian Haugen)

				if (document.images["TemaBilde"]) {

					setTemaImage(her);

				}

        }

}



if (ns4)

{

//alert ("init ns4");

window.onload=init;

}





function findIDfromPath(obj) {

	var valgt=obj.id;

	for (var i=1;i<obj.child.length+1;i++) {

		if (her.indexOf(obj.child[i].Path.toLowerCase())>-1) 

		{

			valgt=findIDfromPath(obj.child[i]);

		}

	}

	return valgt;

}



function inither() 

{

        

		M.Selected_index=0;

        if (Selected_index)

        {

                if (Selected_index>-1)  M.Selected_index=Selected_index;

                else   {

					//alert("Finner path");

					 M.Selected_index=findIDfromPath(M.FindObjId[0]);

				}

					 

        }

        else

        {

				//alert("finner path2"); 

                M.Selected_index=findIDfromPath(M.FindObjId[0]);

        }

}

//window.onload=init;

//init();





//###########################################################################################

//	Det er her det grafiske i menyen bygges opp. Knapper. Tabell. Bredde etc.

//	Merk at det kun er tatt høyde for "4" levels. Flere nivåer må legges til

//###########################################################################################

function make_href(obj,level) {

	

	//alert("building paths");



	

	var href="";

	var extra2_start="";

	var extra2_end="";

	href='<a href="'+ProsjektKatalog + obj.Path.substr(1) + obj.Filname +'"';

	var ekstra="";

	// Variabel HREF :: En link som finner ut hvilken id som er klikket på. 

	if (obj.Filname==''){

		href='<a href="javascript:'+((!obj.Expand)?"expandMe":"collapsMe")+'('+obj.MenuConteinerObj.varName+'.FindObjId['+obj.id+']);"';

	}

		if (obj.child.length>0) 

	{

	//Variabel EKSTRA :: Har "Hovedknappen" i seg. 

		if (obj.p_id==0)

			ekstra+='<a href="javascript:'+((!obj.Expand)?"expandMe":"collapsMe")+'('+obj.MenuConteinerObj.varName+'.FindObjId['+obj.id+']);"><img src="' + BildeKatalog + ''+((obj.Expand)?"bigminus.gif":"bigpluss.gif")+'"  hspace=0 vspace=0 border=0></a>';

		else

			ekstra+='<a href="javascript:'+((!obj.Expand)?"expandMe":"collapsMe")+'('+obj.MenuConteinerObj.varName+'.FindObjId['+obj.id+']);"><img src="' + BildeKatalog + ''+((obj.Expand)?"smallminus.gif":"smallpluss.gif")+'" hspace=0 vspace=0 border=0></a>';

	}

	

	else

	//	ekstra+='';

	{

	//disse to linjene avgjør hva slags icon som skal vises om undermenyen HAR barn eller IKKE har barn. 

		if (obj.p_id!=0)

			//ekstra+='';	

			ekstra+='<img src="' + BildeKatalog + 'smallneutral.gif"  hspace=0 vspace=0  border=0 alt="This option has no submenues.">';	

		else

			ekstra+='<img src="' + BildeKatalog + 'bigneutral.gif" hspace=0 vspace=0  border=0 alt="This option has no submenues.">';	

	}

	//COLSPAN :: "Flytter" bortover menyen ( bestemmer innrykk. ( 1 & 5 gir alle alignet på samme rekke.)

	if (level==0)

		return '<tr><td colspan=1 align="right" valign="top">'+ekstra+'</td><td class="bigmeny" colspan=5 background="' + BildeKatalog + '/bar.gif">' +href + ' ' +  ((obj.id==obj.MenuConteinerObj.Selected_index)? 'id="SelectedTOP";' : 'id="NotSelectedTOP"') +' title="'+obj.Name+'">'+obj.Name+'</a></td></tr>';

	if (level==1)

		return '<tr><td colspan=1 align="right" valign="top">'+ekstra+'</td><td class="smallmeny" colspan=5 background="' + BildeKatalog + '/smallbarbg.gif">'+href + ' ' + ((obj.id==obj.MenuConteinerObj.Selected_index)? 'id="Selected";' : 'id="NotSelected"') +' title="'+obj.Name+'">'+obj.Name+'</a></td></tr>';	

	if (level==2)	

		return '<tr><td colspan=2 align="right" valign="top">'+ekstra+'</td><td class="smallmeny" colspan=4 background="' + BildeKatalog + '/smallbarbg.gif">'+href + ' ' +((obj.id==obj.MenuConteinerObj.Selected_index)? 'id="Selected";' : 'id="NotSelected"') +' title="'+obj.Name+'">'+obj.Name+'</a></td></tr>';

	if (level==3)	

		return '<tr><td colspan=3 align="right" valign="top">'+ekstra+'</td><td class="smallmeny" colspan=3 background="' + BildeKatalog + '/smallbarbg.gif">'+href + ' ' +((obj.id==obj.MenuConteinerObj.Selected_index)? 'id="Selected";' : 'id="NotSelected"') +' title="'+obj.Name+'">'+obj.Name+'</a></td></tr>';

	if (level==4)	

	//	return '<tr><td colspan=1 align="right" valign="top">'+ekstra+'<img src="' + BildeKatalog + 'transpix.gif" border=0 width=10 height=1></td><td>'+href +' ' + ((obj.id==obj.MenuConteinerObj.Selected_index)? 'id="Selected";' : 'id="NotSelected"') +' title="'+obj.Name+'">'+obj.Name+'</a></td></tr>';

		return '<tr><td colspan=4 align="right" valign="top">'+ekstra+'</td><td class="smallmeny" colspan=2 bgcolor="Silver">'+href + ' ' + ((obj.id==obj.MenuConteinerObj.Selected_index)? 'id="Selected";' : 'id="NotSelected"') +' title="'+obj.Name+'">'+obj.Name+'</a></td></tr>';

}



if (document.images){

	var ttt=new Image()

	ttt.src='' + BildeKatalog + 'pluss2.gif';

	var ttt2=new Image()

	ttt2.src='' + BildeKatalog + 'pluss1.gif';

	var ttt3=new Image()

	ttt3.src='' + BildeKatalog + 'minus1.gif';

	var ttt4=new Image()

	ttt4.src='' + BildeKatalog + 'minus2.gif';

}



function Flush(objMenu)

{

	//denne lager en tabell med 4 nivåer. ( 4 x td i bredden klar til å ta i mot data. )

	objMenu.FindObjId[0].Show=false;

	var text='<table border="0" cellpadding="0" cellspacing="0" width=125>';

	text+='<tr><td width=20>&nbsp;</td><td width=20>&nbsp;</td><td width=20>&nbsp;</td><td width=20>&nbsp;</td><td width=20>&nbsp;</td><td width=250>&nbsp;</td>';

	text+='</tr>'+objMenu.FindObjId[0].print(-1)+'</table>';

	if (M.Selected_index==0)

	{

		var firstpage=true;

		var obj=objMenu.FindObjId[0].child;



		for (var i=1;i<obj.length+1;i++) {

			if (obj[i]!=null) 

			{

				if (obj[i].Expand) firstpage=false

			}

		}



		if (firstpage) 

		{	

			text+=' ';

		}

		if (imageref != null)

			text+='<p><a href="' + linkref + '"><img src="' + BildeKatalog + imageref + '" border=0></a>';

	}

	else

		if (imageref != null)

		text+='<p><a href="' + linkref + '"><img src="' + BildeKatalog + imageref + '" border=0></a>';



	//Hva pønsker denne kodesnutten på da?...

	layerWrite("alle",text);

	if (!firsttime && ie4)	layerWrite("alle",text);

	firsttime=true;

	//document.all["menyminus"].src=ttt3.src

}

var	firsttime=false;



//var M=new MenuConteiner("M");



//fikser menystørrelsen

function resizeFixMenu()

{

	if (ie4 || ns4 || ns6)

	{

		inither();



		if (M.Selected_index>0)

			var obj=M.FindObjId[M.Selected_index];

			if (obj!=null) 

			{

				obj.showUp();

				expandMe(obj);

				if (obj.child.lenght>0) 

				{

					obj.Expand=true;

				}

				else	

				{

					if (obj.parentObj!=null) obj.parentObj.Expand=true;

				}

			}

		Flush(M);

	}

}



//-->


