isIE = false;
isIE6 = false;

function browser_check()
  {
  if(navigator.userAgent.indexOf("MSIE")!=-1)
    {
    isIE = true;
    }
  if(navigator.appVersion.indexOf("MSIE 6.0")!=-1)
    {
    isIE6 = true;
    }
  }


browser_check();

function fix_fonts_linux(nodes_to_fix)
  {
  if(navigator.userAgent.match(/Linux/)&&!navigator.userAgent.match(/Opera/))
    {
    for(var bb=0;bb<nodes_to_fix.length;bb++)
      {
      var mainel = document.getElementById(nodes_to_fix[bb]);
      if(mainel)
        {
        var subels = mainel.getElementsByTagName('a');
        for(var aa=0;aa<subels.length;aa++)
          {
          subels[aa].style.fontSize = '10px';
          }
        }
      }
    try{document.getElementById('headlines').getElementsByTagName('h2')[0].style.fontSize = '10px';}catch(e){}
    }
  }

function createmenus(mainnav_container)
  {
  var mainmenu_el = document.getElementById(mainnav_container);
  for(var aa=0;aa<mainmenu_el.childNodes.length;aa++)
    {
    if(mainmenu_el.childNodes[aa].nodeType==1)
      {
      var submenu = getElementsByClassName('layer01','div',mainmenu_el.childNodes[aa])[0];
      mainmenu_el.childNodes[aa].onmouseover = show_submenu;
      if(isIE6)
        {
        mainmenu_el.childNodes[aa].style.padding = '1px';
        }
      mainmenu_el.childNodes[aa].onmouseout = function()
        {
        if(menu_timeout_id)
          {
          clearTimeout(menu_timeout_id);
          }
        menu_timeout_id = setTimeout(hide_callback,menu_timeout);
        };
      
      if(submenu)
        {
        var sublinks = submenu.getElementsByTagName('ul');
        for(var bb=0;bb<sublinks.length;bb++)
          {
          sublinks[bb].onmouseover = function ()
            {
            if(menu_timeout_id)
              {
              clearTimeout(menu_timeout_id);
              }
            };
          sublinks[bb].onmouseout = function ()
            {
            if(menu_timeout_id)
              {
              clearTimeout(menu_timeout_id);
              }
            menu_timeout_id = setTimeout(hide_callback,menu_timeout);
            };
          }
        }
      }
    }
  }

function show_submenu()
  {
  if(menu_timeout_id)
    {
    clearTimeout(menu_timeout_id);
    }
  hide_callback();
  for(var cc=0;cc<this.childNodes.length;cc++)
    {
    if(this.childNodes[cc].nodeType==1&&this.childNodes[cc].nodeName=='A')
      {
      this.childNodes[cc].style.background = '#117bbe';
      this.childNodes[cc].style.color = '#fff';
      }
    }
  var submenu = getElementsByClassName('layer01','div',this)[0];
  if(submenu)
    {
//    alert(submenus);
    submenu.style.display = 'block';
    submenu.style.top = (getY(this) - 8) + 'px';
    submenu.style.left = (getX(this) + 165) + 'px';

    }
  }

function hide_callback()
  {
  for(var aa=0;aa<menu_containers.length;aa++)
    {
    var mainmenu_el = document.getElementById(menu_containers[aa]);
    for(var bb=0;bb<mainmenu_el.childNodes.length;bb++)
      {
      if(mainmenu_el.childNodes[bb].nodeType==1)
        {
        var submenu = getElementsByClassName('layer01','div',mainmenu_el.childNodes[bb])[0];
        if(submenu)
          {
          submenu.style.display = 'none';
          }
        for(var cc=0;cc<mainmenu_el.childNodes[bb].childNodes.length;cc++)
          {
          if(mainmenu_el.childNodes[bb].childNodes[cc].nodeType==1&&mainmenu_el.childNodes[bb].childNodes[cc].nodeName=='A')
            {
            mainmenu_el.childNodes[bb].childNodes[cc].style.background = 'none';
            mainmenu_el.childNodes[bb].childNodes[cc].style.color = '#344149';
            }
          }
        }
      }
    }
  }

function getX( element )
  {
  var ret = 0;
  while( element!=null)
    {
    ret += element.offsetLeft;
    element = element.offsetParent;
    }
  return ret;
  }


function getY( element )
  {
  var ret = 0;
  while( element!=null)
    {
    ret += element.offsetTop;
    element = element.offsetParent;
    }
  return ret;
  }



/*
  Developed by Robert Nyman, http://www.robertnyman.com
  Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/
var getElementsByClassName = function (className, tag, elm){
  if (document.getElementsByClassName) {
    getElementsByClassName = function (className, tag, elm) {
      elm = elm || document;
      var elements = elm.getElementsByClassName(className),
        nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
        returnElements = [],
        current;
      for(var i=0, il=elements.length; i<il; i+=1){
        current = elements[i];
        if(!nodeName || nodeName.test(current.nodeName)) {
          returnElements.push(current);
        }
      }
      return returnElements;
    };
  }
  else if (document.evaluate) {
    getElementsByClassName = function (className, tag, elm) {
      tag = tag || "*";
      elm = elm || document;
      var classes = className.split(" "),
        classesToCheck = "",
        xhtmlNamespace = "http://www.w3.org/1999/xhtml",
        namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
        returnElements = [],
        elements,
        node;
      for(var j=0, jl=classes.length; j<jl; j+=1){
        classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
      }
      try  {
        elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
      }
      catch (e) {
        elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
      }
      while ((node = elements.iterateNext())) {
        returnElements.push(node);
      }
      return returnElements;
    };
  }
  else {
    getElementsByClassName = function (className, tag, elm) {
      tag = tag || "*";
      elm = elm || document;
      var classes = className.split(" "),
        classesToCheck = [],
        elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
        current,
        returnElements = [],
        match;
      for(var k=0, kl=classes.length; k<kl; k+=1){
        classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
      }
      for(var l=0, ll=elements.length; l<ll; l+=1){
        current = elements[l];
        match = false;
        for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
          match = classesToCheck[m].test(current.className);
          if (!match) {
            break;
          }
        }
        if (match) {
          returnElements.push(current);
        }
      }
      return returnElements;
    };
  }
  return getElementsByClassName(className, tag, elm);
};
