try {
  if (!$) {
    function $ (id) {
      return document.getElementById(id);
    }
  }
} catch (e) {
    function $ (id) {
      return document.getElementById(id);
    }
}

var itemsArray = new Array();

var timeoutarray = new Array();
var ns4 = (document.layers)? true:false
var ie4 = (document.all)? true:false
var ns6 = (document.getElementById && !document.all)?true:false;

function fadeOutCategory(thingNr,x){
  if (document.getElementById(thingNr)) {
      x-=10;
      if (ns4) {
        timeoutarray[thingNr] = setTimeout('document.layers["'+thingNr+'"].visibility="hide"',100)
      } else {
        thing = document.getElementById(thingNr)
        if (x>0) {
          timeoutarray[thingNr] = setTimeout("fadeOutCategory('"+thingNr+"',"+x+");",20);
        } else {
          for (var i = 0; i < itemsArray.length; i++) {
            var it = itemsArray[i];
            if (it[0] == thing) {
              it[1].className = 'undermenu';
            }
          }
        }
      }
  }
}

function fadeIn(thingNr,x){
    if (document.getElementById(thingNr)) {
        clearTimeout(timeoutarray[thingNr]);

          for (var i = 0; i < itemsArray.length; i++) {
            var it = itemsArray[i];
            if (it[0] == document.getElementById(thingNr)) {
              it[1].className = 'undermenu active';
            }
          }
    }
}

var CategoryMenu = function () {

  this.openTime = null;
  this.timer = null;

  itemsArray = new Array();
  itemsArray[itemsArray.length] = new Array(document.getElementById('categoryGreen'), document.getElementById('undermenuGreen'));
  itemsArray[itemsArray.length] = new Array(document.getElementById('categoryRed'), document.getElementById('undermenuRed'));
  itemsArray[itemsArray.length] = new Array(document.getElementById('categoryMarine'), document.getElementById('undermenuMarine'));
  itemsArray[itemsArray.length] = new Array(document.getElementById('categoryYellow'), document.getElementById('undermenuYellow'));
  itemsArray[itemsArray.length] = new Array(document.getElementById('categoryGray'), document.getElementById('undermenuGray'));



  for (var i = 0; i < itemsArray.length; i++) {
    this.addEvents(itemsArray[i][0]);
    this.addEvents(itemsArray[i][1], itemsArray[i][0]);
  }

};

CategoryMenu.prototype.addEvents = function (obj, obj2) {
  var p = this;
  obj.onmouseover = function () {
    if (obj2) {
      fadeIn(obj2.id, 0);
    } else {
      fadeIn(obj.id, 0);
    }
    
  };
  obj.onmouseout = function () {
    if (obj2) {
      fadeOutCategory(obj2.id, 80);
    } else {
      fadeOutCategory(obj.id, 80);
    }
  }
};

CategoryMenu.prototype.open = function (obj) {
  if (this.timer) {
    window.clearTimeout(this.timer);
  }
  if (this.openTime) return;
  for (var i = 0; i < itemsArray.length; i++) {
    var it = itemsArray[i];
    if (it[0] == obj || it[1] == obj) {
      it[1].className = 'undermenu active';
    } else {
      it[1].className = 'undermenu';
    }
  }
};

CategoryMenu.prototype.close = function (obj) {
  var p = this;
  this.openTime = new Date();
  this.timer = window.setTimeout(function (){p.doClose(obj)}, 500);
};

CategoryMenu.prototype.doClose = function (obj) {
  this.openTime = null;
  this.timer = null;
  for (var i = 0; i < this.items.length; i++) {
    var it = this.items[i];
    if (it[0] == obj || it[1] == obj) {
      it[0].className = '';
      it[1].className = 'undermenu';
    }
  }
};


