/*
	JS-METODER FOR MENYEN
	Denne fila inneholder en samlig av metoder, som kan kalles opp for å vise 
	menyen.
	Innholdet i denne fila skal ikke endres med mindre siden skal 
	ha drastiske endringer. Endringer i denne delen krever gode kunnskaper
	om javascript, til tross for en del kommentarer.
*/

//Oppretter stilobjekter

//Oppretter konstanter
TIMEOUT = 5000;
FIRKANT_BREDDE = 870;
VINDU_BREDDE = document.body.clientWidth; 
VINDU_HOYDE = document.body.clientHeight;
menyKiller();


function naviger(side)
{
  window.location.href = "?pid=" + side;
}


//Metode for utskrift av meny
function skrivMeny()
{
	document.getElementById("meny").innerHTML = "";
	var rest = (FIRKANT_BREDDE % (menyNavn.length));
	var B = (FIRKANT_BREDDE / (menyNavn.length)) -2;
	
	for (i = 0; i < menyNavn.length; i++)
	{		
		if (i == 4)
      ekstra = 3;
    else
      ekstra = 0;
    innhole = "<div  class='menyelement' " + 
							"id='" + menyId[i] +  "' " +
							"style='width: " + (B + ekstra) + "px;";
		if (i==0)
		  innhole+=	"border: 0px; ";
      
		if (menyHandling[i]!="")
    {
      if (menyVg[i] != "0")
        innhole+= "cursor: pointer; 'onmouseout='killMeny=true;' ";
      else
        innhole+= "cursor: default; 'onmouseout='killMeny=true;' ";
  		innhole+= "onmouseover=\"killMeny=false;visUndermeny('" + menyId[i] + "')\" ";
      if (menyVg[i] == "1")
  		  innhole+= "onclick=\"killMeny=false;naviger('" + menyHandling[i] + "')\" ";
      else if (menyVg[i] == "2")
  		  innhole+= "onclick=\"killMeny=false;naviger('" + menyHandling[i].substring(5) + "')\" ";
      innhole+= ">" + 
  							menyNavn[i] +
  							"</div></a>";
    }
    else
    {
      innhole+= "' onmouseout='killMeny=true;' " +
  							"onmouseover=\"killMeny=false;visUndermeny('" + menyId[i] + "')\" " +
  							"onclick=\"killMeny=false;visUndermeny('" + menyId[i] + "')\" " +
  							">" + 
  							menyNavn[i] +
  							"</div></a>";
    }
		document.getElementById("meny").innerHTML += innhole;
  }
}


//Metode for å finne indeks til meny med gitt id
function finnMenyIndeks(id)
{
  for (i = 0; i < menyNavn.length; i++)
  {		
		if (menyId[i] == id)
		{
			return i;
		}
	}
	return -1;
}


//Metode for visning av undermenyer
function visUndermeny(id)
{
	
  tilbakestillFarge();
	var vinduB = document.body.clientWidth; 
	var vinduH = document.body.clientHeight;
	var innB = FIRKANT_BREDDE;
	var innH = 600;
	var rest = (FIRKANT_BREDDE % (menyNavn.length));
	var breddePerDel = (FIRKANT_BREDDE / (menyNavn.length));
	
	menyStilObjekt = document.getElementById("undermeny").style;
	menyOverStilObjekt = document.getElementById(id).style;
	
	menyOverStilObjekt.backgroundColor = "rgb(255,255,255)";
  overNr = finnMenyIndeks(id);
	innhole = "";
	x = ((vinduB - innB) / 2) + ((overNr) * (breddePerDel-1)) ;
	y = ((vinduH - innH) / 2) + 100; 
	h=0;
	var b = (FIRKANT_BREDDE / (menyNavn.length)) -2;
	
	j=0;
	for (i = 0; i < undermenyNavn.length; i++)
	{
		if (undermenyOver[i] == id)
		{
			if (j++ != 0)
			  innhole += "<br />";
		  
      if (undermenyNavn[i] == "")
      {
        innhole += "<span style='color:white'>-</span>";
      }
      else
      {
  			innhole += "<a class='venstre' href='#' " +
  								 "onmouseover='killMeny=false;' " +
  								 "onmouseout='killMeny=true;' " +
  								 "onmousedown=\"naviger('" + undermenyHandling[i] + "')\" >" + 
  								 undermenyNavn[i] +
  								 "</a>";
      }
		}
	}
	if (j==0)
	{
	  menyFirkantObjekt = document.getElementById("menyfirkant").style;
	  menyFirkantObjekt.left = "-500px"; 
    menyFirkantObjekt = document.getElementById("undermeny").style;
	  menyFirkantObjekt.left = "-500px"; 
		return;
	}
	
	
	//dette er firkanten innholdet ligger inni
	menyStilObjekt.left = (x - 12) + "px"; 
  if (VINDU_HOYDE > 5)
    menyStilObjekt.top = 115 + "px";
  else
    menyStilObjekt.top = 120 + "px";
	menyStilObjekt.height = h + "px";
  if (id == menyId[4])
    menyStilObjekt.width = 178 + "px";
  else 
	  menyStilObjekt.width = 300 + "px";
	document.getElementById("undermeny").innerHTML = innhole;
	
	//dette er den firkanten som gir strek under
	firX = x-1;
	firY = y - 10; 
	firB = b;
	firH = (j * 14) + 18;
	menyFirkantObjekt = document.getElementById("menyfirkant").style;
	menyFirkantObjekt.left = firX + "px"; 
  if (VINDU_HOYDE > 5)
    menyFirkantObjekt.top = 108 + "px";
  else
	  menyFirkantObjekt.top = 113 + "px";
	menyFirkantObjekt.height = firH + "px";
  if (id == menyId[4])
  {
    menyFirkantObjekt.width = 178 + "px";
    document.getElementById("meny").style.backgroundColor = "rgb(255,255,255)";
  }
  else 
	menyFirkantObjekt.width = 300 + "px";
}



//Metode som lukker undermeny
function tomUndermeny(farge)
{
  document.getElementById("undermeny").innerHTML = "";
	tilbakestillFarge();
	
	menyFirkantObjekt = document.getElementById("menyfirkant").style;
	menyFirkantObjekt.left = "-10px"; 
	menyFirkantObjekt.top = "-10px";
	menyFirkantObjekt.heigth = "0px";
	menyFirkantObjekt.width = "0px";
}


//Metode som tilbakestiller fargen på menyoverskrifter
function tilbakestillFarge()
{
  for (i = 0; i < menyId.length; i++)
	  document.getElementById(menyId[i]).style.backgroundColor = "rgb(232,232,232)";
  document.getElementById("meny").style.backgroundColor = "rgb(232,232,232)";
}

//Metoder som hele tiden sjekker om undermenyen skal lukkes
var killMeny = false;
function menyKiller()
{
  if (killMeny)
  {
	  tomUndermeny(0);
  }
	setTimeout("menyKiller()", TIMEOUT);
}



//Metode for innlesning av meny
var menyNavn = new Array();
var menyId = new Array();
var menyHandling = new Array();
var menyVg = new Array();
var menyTeller = -1;
function leggTilMenyElement(innNavn, innId, innHand, innVg)
{
	menyNavn[++menyTeller] = innNavn;
  menyId[menyTeller] = innId;
  menyHandling[menyTeller] = innHand;
  menyVg[menyTeller] = innVg;
}



//Metode for innlesning av undermenyer
var undermenyNavn = new Array();
var undermenyHandling = new Array();
var undermenyOver = new Array();
var undermenyTeller = -1;
function leggTilMenyUnderElement(innOver, innInn, innHand)
{
	undermenyNavn[++menyTeller] = innInn;
  undermenyHandling[menyTeller] = innHand;
	undermenyOver[menyTeller] = innOver;
}


