<!--
// 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);
	}
}

//-->
