var app = navigator.appName; //document.write(navigator.userAgent)
var activeMenuHeaderId = null;
var activeMenuItemsId = null;
var timerId = -1;

if (app == "Microsoft Internet Explorer" && navigator.userAgent.indexOf("Opera") == -1) 
{
    /* Fiks for hoppende grafikk. IE glemmer ting.. */
    document.write("<style>.tabLanguage, .tabFontSize { border:0px solid red; }</style>")
}


function initializePage()
{
    addEventListener(document.body, "mouseover", hideMenu);
    addEventListener(document.getElementById("menuTjenester"), "mouseover", showMenu);
    addEventListener(document.getElementById("menuPolitikk"), "mouseover", showMenu);
    addEventListener(document.getElementById("menuFylket"), "mouseover", showMenu);
    addEventListener(document.getElementById("menuOmFylkeskommunen"), "mouseover", showMenu);
    
    if (readCookie("stfkLargeFont") == "true")
    {
        document.body.style.fontSize = "1.06em";
        document.body.id = "largeFontIE";
    }
    else
    {
        document.body.style.fontSize = "1.0em";
        document.body.id = "smallFontIE";
    }
}

function showMenu(evt)
{
   if (activeMenuHeaderId == null && activeMenuItemsId == null)
   {
      hide = false;
      
      if (evt == null)
         evt = event;
         
      var target = evt.target;
      if (evt.target == null)
         target = evt.srcElement;
      if (target.nodeType == 3)  // Safari bug
         target = target.parentNode;
         
      target = getAncestorWithId(target);
      var items = document.getElementById(target.id + "Items");
      var pos = getPosition(target);
      
      items.style.left = pos.x - 16 + "px";
      items.style.display = "block";
      activeMenuHeaderId = target.id;
      activeMenuItemsId = items.id;
      
      if (evt.stopPropagation)
         evt.stopPropagation();
      else
         evt.cancelBubble = true;
   }
}

function addEventListener(target,type,callback,captures)
{
	if (target.addEventListener)
	{
      // FF, Safari, etc.
	   target.addEventListener(type, callback, captures);
	}
	else
	{
	    if (target.attachEvent)
	    {
	       // IE
	       target.attachEvent('on' + type, callback, captures);
	    }
	    else
	    {
	       // IE 5 Mac ++
	       target['on'+type] = callback;
	    }
	}
}

function getAncestorWithId(elm)
{
   while (elm != null && elm.id == "")
      elm = elm.parentNode;
   return elm;
}

function getPosition(elm)
{
   var pos = new Object();
   pos.x = 0;
   pos.y = 0;
   if (elm.offsetParent)
   {
      while (elm.offsetParent)
      {
         pos.x += elm.offsetLeft;
         pos.y += elm.offsetTop;
         elm = elm.offsetParent;
      }
   }
   else
   {
      if (elm.x)
      {
         pos.x = elm.x;
         pos.y = elm.y;
      }
   }
   return pos;
}

function out(s)
{
   var div = document.createElement("div");
   div.innerText = s;
   document.body.appendChild(div);
}
function hideMenu(evt)
{
   if (activeMenuItemsId != null)
   {
      if (evt == null)
         evt = event;
      var target = evt.target;
      if (target == null)
         target = evt.srcElement;
      target = getAncestorWithId(target);
      if (target.id != activeMenuHeaderId && target.id != activeMenuItemsId)
      {
         document.getElementById(activeMenuItemsId).style.display = "none";
         activeMenuHeaderId = null;
         activeMenuItemsId = null;
      }
   }
}
function cancelEvent(evt)
{
   if (evt == null)
      event.cancelBubble = true;
   else
   if (evt.stopPropagation)
      evt.stopPropagation();
}

function toggleFontSize(evt)
{   
   //createCookie("stfkLargeFont","",-1);
   if (evt == null)
   {
      // Spesialbehandling av IE pga av bug i re-rendering etter endring av ID.
      if (document.body.id == "" || document.body.id.indexOf("smallFont") != -1)
      {
         document.body.style.fontSize = "1.06em";
         document.body.id = "largeFontIE";
         createCookie("stfkLargeFont","true");         
      }
      else
      {
         document.body.style.fontSize = "1.0em";
         document.body.id = "smallFontIE";
         createCookie("stfkLargeFont","false");         
      }
   }
   else
   {
      // Andre browsere er flinke...
      if (document.body.id == "largeFont")
        {
         document.body.id = "smallFont";
         createCookie("stfkLargeFont","true");
         }
      else
        {
         document.body.id = "largeFont";
         createCookie("stfkLargeFont","false");
         }
   }
      
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}



/* layout_ie.js */



/*
    Written by Jonathan Snook, http://www.snook.ca/jonathan
    Add-ons by Robert Nyman, http://www.robertnyman.com
*/

function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}
