function ShowHideGroup(which,imgID)
{
  if (document.getElementById(which).style.display == '')
  {
    document.getElementById(which).style.display = 'none';
    document.getElementById(imgID).src = '/img/plus.gif';
  } 
  else 
  {
    document.getElementById(which).style.display = '';
    document.getElementById(imgID).src = '/img/minus.gif';
  } 
}

function searchValidate(form)
{
  if (form.search.value.length < 3)
  {
    alert('Søkeordet må inneholde minst 3 tegn.');
    form.search.focus();
    return false;
  }
  else
    return true;
  
}

function bon(which){which.className='buttonOn';}
function boff(which){which.className='button';}

function AddButtonMouseOvers()
{	
  var tags = document.body.getElementsByTagName('input');
  if (tags != null && tags.length > 0)
  {		
    for (var i=0; i<tags.length; i++)
    {			
      if (tags[i].type == 'button' || tags[i].type == 'submit')
      {
        tags[i].onmouseover = function(){bon(this);};
        tags[i].onmouseout = function(){boff(this);};
      }  
    }
  }
}

function validate(which)
{
  try
  {
    var tags = which.elements;
    if (tags != null && tags.length > 0)
    {		
      for (var i=0; i<tags.length; i++)
        if (tags[i].type == 'text' && tags[i].getAttribute('fieldtype') == 'email')
        {
          if (!checkEmail(tags[i].value))
          {
            alert('Ugyldig e-postadresse angitt.');
            tags[i].focus();  
            return false;
          }
        }
        else if (tags[i].className == 'must')
        {			
  //          alert(tags[i].type + ' ' + tags[i].title);
          if (tags[i].type == 'text' || tags[i].type == 'select-one' || tags[i].type == 'textarea')
          {
            if (tags[i].value == '' || tags[i].value == 'null')
            {
              if (tags[i].title != '')
                alert('Fyll ut felt "' + tags[i].title + '".');
              tags[i].focus();  
              return false;
            }
          }  
        }
    }
  }
  catch (error)
  {
  }
}

function AddNumericCheck()
{	
  var tags = document.body.getElementsByTagName('input');
  if (tags != null && tags.length > 0)
    for (var i=0; i<tags.length; i++)
      if (tags[i].type == 'text' && tags[i].getAttribute('fieldtype') == 'numeric')
        tags[i].onkeypress = function(e) {return isNumeric(false, e, this);};
      else if (tags[i].type == 'text' && tags[i].getAttribute('fieldtype') == 'numericneg')
        tags[i].onkeypress = function(e){return isNumeric(true, event, this);};
}

function FocusCheck()
{	
  var tags = document.body.getElementsByTagName('input');
  if (tags != null && tags.length > 0)
    for (var i=0; i<tags.length; i++)
      if (tags[i].type == 'text' && tags[i].getAttribute('focused') == '1')
      {
        tags[i].focus();
      }

  var tags = document.body.getElementsByTagName('textarea');
  if (tags != null && tags.length > 0)
    for (var i=0; i<tags.length; i++)
      if (tags[i].getAttribute('focused') == '1')
      {
        tags[i].focus();
      }
}

function DateCheck()
{	
  var tags = document.body.getElementsByTagName('input');
  if (tags != null && tags.length > 0)
    for (var i=0; i<tags.length; i++)
    {
//        alert(tags[i].fieldtype);
      if (tags[i].type == 'text' && tags[i].getAttribute('fieldtype') == 'date')
      {
        if (tags[i].className == 'must')
          tags[i].className = 'datemust';
        else
          tags[i].className = 'date';
        
        tags[i].onblur = function(){checkDate(this);};
        tags[i].onfocus = function(){dateFocus(this);};
      }
    }
}

function isNumeric(negOK, e, field)
{
	var val;
  if (!e)
    e = window.event;

	val = e.keyCode;

	if(typeof e.which != 'undefined') {
		val = e.which;
	}
	else {
		val = e.keyCode;
	}
  if (val == 44 && field.value.indexOf(',') > -1)
    return false;
  else if (negOK && val == 45 && field.value.indexOf('-') > -1)
    return false;
  else if (negOK && val == 45)
  {
    field.value = '-' + field.value;
    return false;
  }
//    alert(val);
	switch (val) {
		case 0:  //navigation keys in Mozilla
		case 8:  //backspace
		case 9:  //tab
		case 13: //enter
		case 63232: //up in Safari
		case 63233: //down in Safari
		case 63234: //left in Safari
		case 63235: //right in Safari
		case 63272: //delete in Safari
		case 63273: //home in Safari
		case 63275: //end in Safari
		case 44: //.
		case 48: //0
		case 49: //1
		case 50: //2
		case 51: //3
		case 52: //4
		case 53: //5
		case 54: //6
		case 55: //7
		case 56: //8
		case 57: //9
			return true;
		default:
			return false;    
	}
} 

function checkEmail(str) 
{
  var regEx = /^[\w\.\+-]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,6}$/;
  if (!regEx.test(str)) 
    return false;
  else
    return true;
}

var timerOn = false;
var menuID = 0;
var timerID = null;
var timerID2 = null;

function ShowSubmenu(whichmenuid, e, which)
{
  e = e || window.event;
  var target = e.srcElement || e.target;
  if (whichmenuid != menuID)
    HideSubmenus();
  menuID = whichmenuid;
  timerID2 = setTimeout("DisplaySubmenu(menuID)",200);
  stopTime();
  return false;
}

function HideSubmenus()
{
  clearTimeout(timerID2);
  menuID = 0;
  timerID2 = null;
  for (i=1;i<6;i++)
  try
  {
    document.getElementById('submenu' + i).style.display = 'none';
  }
  catch(error)
  {
  }
}

function DisplaySubmenu(whichmenuid)
{
  var whichbutton = document.getElementById('mm' + whichmenuid);
  var whichmenu = document.getElementById('submenu' + whichmenuid);
  try
  {
    whichmenu.style.left = whichbutton.offsetLeft+1 + 'px';
    whichmenu.style.position = 'absolute';
    whichmenu.style.top = '120px';
    whichmenu.style.display = '';
    whichmenu.style.zIndex = 1000;
  }
  catch(error)
  {
  }
}

function startTime(e, which) 
{
  if (!timerOn) 
  {
    timerID = setTimeout("HideSubmenus()", 100);
    timerOn = true;
  }
} 

function stopTime() 
{
  if (timerOn) 
  {
    clearTimeout(timerID);
    timerID = null;
    timerOn = false;
  }
}

function addLabelSupportSafari()
{
  if (navigator.userAgent.indexOf("Safari") > 0) 
  {
    var labels = document.getElementsByTagName("label");
    for (i = 0; i < labels.length; i++)
      labels[i].addEventListener("click", addLabelFocus, false);
  }                           
}
  
function addLabelFocus()
{
  var item = document.getElementById(this.getAttribute("for"));
  item.focus();
  if (item.getAttribute("type") == "radio")
  {
    var allRadios = document.getElementsByTagName("input");
    var radios = new Array();
    for (i = 0; i < allRadios.length; i++)
    {
      if (allRadios[i].getAttribute("name") == item.getAttribute("name"))
        radios.push(allRadios[i]);
    }
    for (i = 0; i < radios.length; i++)
    {
      if (radios[i]["checked"] && radios[i].getAttribute("id") != item.getAttribute("id"))
        radios[i]["checked"] = false;
    }
    item["checked"] = true;
  }
}