/*
==============================================================
 Script that adds mouse events on <LI> tag
 for Internet Explorer
==============================================================
*/

// Init
startList = function() {
  var menuID = "MssMainMenu";

  var IE7 = browserIsIE7();

  if(!browserIsIE() && !IE7)  //if not Internet explorer which is the only browser where the problem occurs
    return false;

    if (document.getElementById) {
      menuRoot = document.getElementById(menuID);
      
      if (true) //(!IE7)
        selectHide(menuID);
      
      if (!IE7)
        traverseChildrenUL(menuRoot, 1);
    }
}

// Finds the next <UL> tag
function traverseChildrenUL(node, level)
{

  var i;
  var childNode;

  for (i=0; i<node.childNodes.length; i++) {
    childNode = node.childNodes[i];
    if (childNode.nodeName=="UL") {
      traverseChildrenLI(childNode, level);
    }
  }
}

// Finds the next <LI> tag
function traverseChildrenLI(node, level)
{
  var i;
  var childNode;

  for (i=0; i<node.childNodes.length; i++) {
    childNode = node.childNodes[i];
    if (childNode.nodeName=="LI") {
      addEvents(childNode, level);
      if(level < 10)
        traverseChildrenUL(childNode, level + 1);
    }
  }
}

// Add mouse events on <LI> tag
function addEvents(node, level)
{
  node.onmouseover=function() {
    this.className+=" over" + level;
  }
  node.onmouseout=function() {
    this.className=this.className.replace(" over" + level, "");
  }
}

// Triggers startList-function on body load
if (window.attachEvent) window.attachEvent("onload", startList);



/*
==============================================================
 IE script to cover <select> elements with <iframe>s
==============================================================
*/
function selectHide(menuID)
{
  var j;
  var ieULs = document.getElementById(menuID).getElementsByTagName('ul');

  for (j=0; j<ieULs.length; j++)
  {
    //insert iframe to hide select dropdowns
    ieULs[j].innerHTML = (ieULs[j].innerHTML + '<div class="iFrameHiderDiv"></div><iframe name="IEBugHider" title="IEBugHider" style="filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)" class="iFrameHider" src="about:blank" scrolling="no" frameborder="0"></iframe>');
    var ieMat = ieULs[j].lastChild; //select iFrame in each UL
    ieMat.style.height = ieULs[j].offsetHeight + "px";
  }
}

function checkIt(detect, string)
{
  if ((detect.indexOf(string) + 1) && !(detect.indexOf('opera') + 1)) //hvis msie 6 eller mindre og ikke opera!!! :-)
    return true;
  return false;
}

/*--------------------------------------------------*/
//Internet explorer detect
function browserIsIE()
{
  var detect = navigator.userAgent.toLowerCase();
  return (checkIt(detect, 'msie') && !checkIt(detect, 'msie 7.0'));
}


function browserIsIE7()
{

  var detect = navigator.userAgent.toLowerCase();
  return (checkIt(detect, 'msie') && checkIt(detect, 'msie 7.0'));
}
