function MenuManager (name, hasImages, hasActive, hasAlpha)
{
  this.id = 'menu-' + name;
  this.name = name;
  this.hasImages = hasImages;
  this.hasActive = hasActive;
  this.element = document.getElementById(this.id);
  this.ltie7 = $.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent);
  this.hasAlpha = true;
}
MenuManager.prototype.setCurrent = function (path)
{
  var subpath = '';
  var thiselement = this.element;
  var thisname = this.name;
  $.each(path, function (i, n){
    subpath += (subpath == '') ? n : '_' + n;
    var pathelements = $(thiselement).find('li.' + thisname + '-' + subpath);
    for (var j = 0; j < pathelements.length; j++)
    {
      var jqElm = $(pathelements[j]);
      jqElm.addClass('path');
      if (!jqElm.is('.map'))
      {
        jqElm.addClass('current');
      }
    }
  
  });
  if (this.hasImages)
  {
    var firstlevel = $('#' + this.id + ' > li.path');
    if (firstlevel.length)
    {
      var el = firstlevel.get(firstlevel.length - 1);
      el.imageWasSet = true;
      if (this.hasActive)
      {
        this.setImageHover(el, '-active', '-activehover', true);
      }
      else
      {
        this.setImageHover(el, '-hover', '-hover', true);
      }
    }
  }
}
MenuManager.prototype.setImageHovers = function ()
{
  var firstlevel = $('#' + this.id + ' > li');
  if (firstlevel.length)
  {
    for (var i = 0; i < firstlevel.length; i++)
    {
      var el = firstlevel.get(i);
      if (!el.imageWasSet)
      {
        this.setImageHover(firstlevel.get(i), '', '-hover', false);
      }
    }
  }
}

MenuManager.prototype.setImageHover  = function (el, normalsuffix, hoversuffix)
{
  var imgs = el.getElementsByTagName('img');
  if (imgs.length)
  {
    var oldimg = imgs[0];
    var imgsrc = oldimg.src.substring(0, oldimg.src.lastIndexOf('.'));
    var extension = oldimg.src.substring(oldimg.src.lastIndexOf('.'), oldimg.src.length);

    oldimg.jq = $(oldimg);
    if (this.ltie7 && this.hasAlpha)
    {
      oldimg.jq.css({
        backgroundImage: 'none',
        filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + imgsrc + normalsuffix + extension + '\', sizingMethod=\'scale\')'
      });
      oldimg.jq.hover(
        function () {
          this.jq.css({
            backgroundImage: 'none',
            filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + imgsrc + hoversuffix + extension + '\', sizingMethod=\'scale\')'
          })
        },
        function () {
          this.jq.css({
            backgroundImage: 'none',
            filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + imgsrc + normalsuffix + extension + '\', sizingMethod=\'scale\')'
          })
        }
      );
    }
    else
    {
      oldimg.jq.css({background: 'url(' + imgsrc + normalsuffix + extension + ') no-repeat'});
      oldimg.jq.hover(
        function () {
          this.jq.css({background: 'url(' + imgsrc + hoversuffix + extension + ') no-repeat'})
        },
        function () {
          this.jq.css({background: 'url(' + imgsrc + normalsuffix + extension + ') no-repeat'})
        }
      );
    }
    var t = setTimeout("var hoverimg = new Image; hoverimg.src = '" + imgsrc + hoversuffix + extension + "';", 1);;
    oldimg.src = '/images/icons/blank.gif';
    oldimg.alt = oldimg.title = '';
  }
}
