function DHTML_menus() { 
  this.menus = [];
  this.setWidthValues = MENUS_setWidths;
  this.setHeightValues = MENUS_setHeights;
  this.writeMenus = MENUS_writeMenus;
  this.concatSubMenus = MENUS_concatSubMenus;
  this.doLayOut = MENUS_doLayOut;
}

var srch = (window.location.search && location.search.toString().indexOf('menu=')+1) ? location.search.split('menu=')[1] : 0;
var w = window;
var d = DHTML_menus;
var ua = (window.ua) ? window.ua : window;
d.button_left = (w.MENUS_left) ? w.MENUS_left: 0;
d.button_top = (w.MENUS_top) ? w.MENUS_top : 45;
d.button_top = 290;
d.button_top = 45;
d.activemenus = [];
d.currentmenu = null;
d.currentitem = null;
d.menukiller = null;
d.maxwidth = 985;

var p = DHTML_menus.prototype;
p.skip = (w.MENUS_skip) ? w.MENUS_skip : new Array(0);
p.arrowimg = (w.MENUS_arrowFile) ? w.MENUS_arrowFile : 'IMGHome/arrow.gif';
p.itemheight = 17;
p.itemwidth = 140;
p.itemoffsetLeft = 20;
p.itemoffsetTop = 0;
p.overWriteDefaultMenu = (w.MENUS_overWriteDefaultMenu) ? w.MENUS_overWriteDefaultMenu : false;
p.btnMsoverBgColor = (w.MENUS_btnMsOvrBg) ? w.MENUS_btnMsOvrBg : '#e7e7e7';
p.btnMsoutBgColor = (w.MENUS_btnMsOutBg) ? w.MENUS_btnMsOutBg : '#ffffff';
p.itemMsoverBgColor = (w.MENUS_itmMsOvrBg) ? w.MENUS_itmMsOvrBg : '#e7e7e7';
p.itemMsoutBgColor = (w.MENUS_itmMsOutBg) ? w.MENUS_itmMsOutBg : '#ffffff';
p.subitemMsoverBgColor = (w.MENUS_subItmMsOvrBg) ? w.MENUS_subItmMsOvrBg : '#ffffff';
p.subitemMsoutBgColor = (w.MENUS_subItmMsOutBg) ? w.MENUS_subItmMsOutBg : '#e7e7e7';
p.itemMsoverTextColor = (w.MENUS_selTxtColor) ? w.MENUS_selTxtColor : '#333333';
p.itemMsoutTextColor = (w.MENUS_txtColor) ? w.MENUS_txtColor : '#333333';
p.selectedmenu = (srch) ? parseInt(srch) : null;
p.selecteditem = (srch) ? parseInt(srch.split('_')[1]) : null;

function MENUS_setHeights(){this.heights=arguments}
function MENUS_setWidths(){this.widths=(arguments.length==1)? arguments[0] : arguments;}

function MENUS_concatSubMenus(idx) {
  var s = '';
  s += '<div class="menu" id="xsubmenu'+idx+'" style="position:absolute">';
  for(var i=0;i<XLinks[idx].length;i++) s += '<div class="'+((i==0)?'menuSubItmStart':'menuSubItm')+'" id="xm'+idx+'i'+i+'" style="position:absolute"><nobr><a href="'+XLinks[idx][i]+'" target="_parent">'+XLabels[idx][i]+'</a></nobr></div>';//menuItm
  s += '</div>';
  return s;
}

function MENUS_writeMenus() {
  var d = document;
  var arrow = '<div class="menuArrow" style="position:absolute"><img src="'+this.arrowimg+'" width="16" height="7" border="0" alt="" /></div>';
  var arrowStr = submenuStr = '';
  for(var i=0;i < MLinks.length;i++) {
    var persist = (window.MENUS_persist && MLinks[i].indexOf('javascript') == -1 && MLinks[i].indexOf('?') != -1) ? '&menu='+i : '';
    var s = s2 = "";
    s += '<div class="'+((i==0)?'menuBtnStart':'menuBtn')+'" id="m'+i+'" style="position:absolute"><nobr>'+MLabels[i]+'</nobr></div>\n';
    if(ILinks[i].length != 0) {
      s += '<div class="menu" id="menu'+i+'" style="position:absolute">';
      for(var j=0;j < ILinks[i].length;j++) {
        var persist = (window.MENUS_persist && ILinks[i][j].indexOf('javascript') == -1 && ILinks[i][j].indexOf('?') != -1 && ILinks[i][j].indexOf('persist=false') == -1) ? '&menu='+i+'_'+j : '';
        if(ILinks[i][j].toString().indexOf('javascript:subMenu(')+1) {
          var idx = parseInt(ILinks[i][j].toString().split('subMenu(')[1]);
          submenuStr = this.concatSubMenus(idx);
          arrowStr = arrow;
          s2 += submenuStr;
        } else {
          arrowStr = submenuStr = '';
        }
        var lnk = '<a href="'+ILinks[i][j]+persist+'" target="_parent">'+ILabels[i][j]+'</a>'+arrowStr;
        s += '<div class="'+((j==0)?'menuItmStart':'menuItm')+'" id="m'+i+'i'+j+'" style="position:absolute"><nobr>'+lnk+'</nobr></div>\n';
      }
    }
    s += '</div>\n';
    s += s2;
    d.open();
    d.write(s);
    d.close();
  }
}

function MENUS_buttonSetup(parent,idx,top,left,width,height,lnk) {
  var o;
  o = document.getElementById('m'+idx);
  o.active = (MLabels[idx]) ? true : false;
  o.selected = (parent.selectedmenu == idx);
  o.menuclass = parent;
  o.style.top = top;
  o.style.left = DHTML_menus.button_left;
  o.style.width = width;
  o.style.height = height;
  o.style.backgroundColor = (o.selected) ? o.menuclass.btnMsoutBgColor : o.menuclass.btnMsoverBgColor;
  o.onmouseover = MENUS_activate;
  o.onmouseout = MENUS_deactivate;
  if(lnk.indexOf('javascript:void(0)')== -1) {
    o.style.cursor = (window.Event) ? 'pointer' : 'hand';
    o.onclick = Function('window.top.location.href="'+lnk.toString()+'";');
  } else {
    o.style.cursor = 'default';
  }
  return o;
}

function MENUS_menuSetup(rootmenu,parent,id,top,left,issub) {
  var o;
  o = document.getElementById(id);
  o.rootmenu = rootmenu;
  o.parent = parent;
  o.menuclass = o.parent.menuclass;
  o.kill = MENUS_kill;
  o.onmouseover = MENUS_msover;
  o.issub = issub;
  o.onmouseout =  MENUS_deactivate;
  o.style.top = top;
  o.style.left = left;
  o.style.visibility = 'hidden';
  o.items = o.getElementsByTagName('div');
  o.minitemwidth = o.menuclass.itemwidth;
  o.minwidth = o.minitemwidth;
  return o;
}

function MENUS_itemSetup(idx,parent,id,top,left,minwidth,height,islastitem) {
  var o,cl,s,selected;
  o = document.getElementById(id);
  o.lnk = o.getElementsByTagName('a')[0];
  o.parent = parent;
  o.parent.items[o.parent.items.length] = o;
  o.menuclass = parent.menuclass;
  cl = o.menuclass;
  if(o.lnk.href.toString().indexOf('javascript:subMenu(')+1) {
    o.submenu = document.getElementById('xsubmenu'+parseInt(o.lnk.href.split('subMenu(')[1]));
  }
  s = (o.parent.issub) ? 'sub' : '';
  o.bgoutcolor =  eval('cl.'+s+'itemMsoutBgColor');
  o.bgovercolor = eval('cl.'+s+'itemMsoverBgColor');
  o.itemovercolor = cl.itemMsoverTextColor;
  o.itemoutcolor = cl.itemMsoutTextColor;
  selected = parent.parent.selected && idx == cl.selecteditem;
  o.lnk.style.color = (selected) ? cl.itemMsoverTextColor : cl.itemMsoutTextColor;
  o.style.top = top;
  o.style.backgroundColor = o.bgoutcolor;
  o.onmouseover = ITEM_msover;
  o.style.cursor = o.lnk.style.cursor = (window.Event) ? 'pointer' : 'hand';
  o.onclick = Function('window.top.location.href="'+o.lnk.href.toString()+'";');
  w = (window.Event) ? o.lnk.offsetWidth+(cl.itemoffsetLeft*2) : o.offsetWidth+cl.itemoffsetLeft;
  o.parent.minitemwidth = Math.max(w,o.parent.minitemwidth);
  if(islastitem == true)  MENUS_reformat(o.parent,height);
  return o;
}

function MENUS_doLayOut() {
  for(var i=0; i<this.menus.length; i++) {
    var skipmenu = 0;
    for(var j=0; j<this.skip.length; j++) {
      if(this.skip[j] == i) skipmenu = 1;
    }
    if(skipmenu) continue;
    this.widths[i] = (this.widths[i]) ? this.widths[i] : this.widths[0];
    this.heights[i] = (this.heights[i]) ? this.heights[i] : this.heights[0];
    var persist = (window.MENUS_persist && MLinks[i].indexOf('javascript') == -1 && MLinks[i].indexOf('?') != -1) ? '&menu='+i : '';
    var B = MENUS_buttonSetup(this,i,DHTML_menus.button_top,DHTML_menus.button_left,((window.Event) ? ((i==0) ? this.widths[i]-2 : this.widths[i]-1) : this.widths[i]),this.heights[i],MLinks[i]+persist);
    var itemwidth = this.itemwidth;
    var itemheight = this.itemheight;
    var itemtop = this.itemoffsetTop;
    var menuleft = DHTML_menus.button_left;
    if(ILinks[i] && ILinks[i].length != 0) {
      var M =  B.menu = MENUS_menuSetup(null,B,'menu'+i,DHTML_menus.button_top + this.heights[i],((i!=0) ? menuleft-1 : menuleft),0);
      M.items = [];
      for(var j=0;j != null;j++){
        var islastitem = (!document.getElementById('m'+i+'i'+(j+1))) ? 1 : 0;
        var id = 'm'+i+'i'+j;
        if(!document.getElementById(id)){j=null;break}
        var I =  MENUS_itemSetup(j,M,id,itemtop,0,itemwidth,itemheight,islastitem);
        if(I.lnk.href.toString().indexOf('javascript:subMenu(')+1){
          I.style.cursor = I.lnk.style.cursor = 'default';
          var idx = parseInt(I.lnk.href.split('subMenu(')[1]);
          var id = 'xsubmenu' + idx;
          var t = parseInt(M.style.top) + parseInt(I.style.top) + ((j==0)?0:1);
          var l = parseInt(M.style.left) + M.minitemwidth;
          var MM = MENUS_menuSetup(M,I,id,t,l,1);
          var top = 0;
          MM.items = [];
          for(var ii=0;ii !=null;ii++){
            var id = 'xm'+idx+'i'+ii;
            var nextid = 'xm'+idx+'i'+(ii+1);
            if(!document.getElementById(id)){ii=null;break}
            var islastitem = (document.getElementById(nextid)) ? 0 : 1;
            var II = MENUS_itemSetup(ii,MM,id,top,0,itemwidth,itemheight,islastitem);
            top += (top==0) ? itemheight-1 : itemheight;
          }
        }
        if(islastitem == true && (I.submenu)) MENUS_reformat(I.parent,itemheight);
        itemtop += (j==0) ? itemheight-1 : itemheight;
      }
    }
    B.style.visibility = 'visible';
    DHTML_menus.button_left += this.widths[i];
  }
}

function MENUS_reformat(o,h) {
  o.style.zIndex = 100;
  var a = o.items;
  var d = DHTML_menus;
  var r = parseInt(o.style.left) + o.minitemwidth;
  if(!o.issub && r > d.maxwidth) o.style.left = d.maxwidth - (o.minitemwidth + 5);
  for(var i=0;i<a.length;i++) {
    var x = a[i].style;
    x.width = o.minitemwidth;
    x.height = ((window.Event && (i==(a.length-1))) || a.length==1) ? 16 : 17;
    if(a[i].submenu) {
      var arrow = a[i].getElementsByTagName('div')[0];
      arrow = arrow.style;
      arrow.left = o.minitemwidth - 15;
      var s = a[i].submenu;
      s.style.left = ((parseInt(o.style.left) + o.minitemwidth + s.minitemwidth) > (d.maxwidth)) ?  (parseInt(s.rootmenu.style.left) - s.minitemwidth -1) : parseInt(o.style.left) + o.minitemwidth + 1;
    }
  }
  o.style.width = (window.Event) ? o.minitemwidth : o.minitemwidth+2;
  o.style.height = (window.Event) ? (a.length*h)-1 : (a.length*h)+1;
}

function MENUS_activate() {
  var a = DHTML_menus.activemenus;
  MENUS_killall();
  if(this.active) {
    this.style.backgroundColor = this.menuclass.btnMsoutBgColor;
    if(this.menu) {
      this.menu.style.visibility = 'visible';
      a[a.length] = this.menu;
    } else {
      a[a.length] = this;
    }
  }
}

function MENUS_killall() {
  var d = DHTML_menus;
  var a = d.activemenus;
  for(var i=0; i<a.length; i++){
    if(a[i].kill) {
      a[i].kill();
    } else {
      a[i].style.backgroundColor = (a[i].selected) ? a[i].menuclass.btnMsoutBgColor : a[i].menuclass.btnMsoverBgColor;
    }
    if(i == a.length - 1) a = new Array(0);
  }
  if(d.menukiller) clearTimeout(d.menukiller);
  d.menukiller = null;
}

function MENUS_deactivate() {
  DHTML_menus.menukiller = setTimeout("MENUS_killall()",50);
}

function MENUS_kill() {
  var d = DHTML_menus;
  var c = d.currentitem;
  if(c) ITEM_msout(c);
  var p = this.parent;
  if(p.parent) {
    ITEM_msout(p);
  } else {
    p.style.backgroundColor = (p.selected) ? p.menuclass.btnMsoutBgColor : p.menuclass.btnMsoverBgColor;
  }
  this.style.visibility = 'hidden';
}

function MENUS_msover() {
  var d = DHTML_menus;
  if(d.menukiller) clearTimeout(d.menukiller);
  d.menukiller = null;
}

function ITEM_msover() {
  var d = DHTML_menus;
  if(d.currentitem && d.currentitem.submenu != this.parent) ITEM_msout(d.currentitem);
  if(d.currentmenu && d.currentmenu != this.submenu && d.currentmenu != this.parent) {
    d.currentmenu.style.visibility = 'hidden';
    ITEM_msout(d.currentmenu.parent);
    d.currentmenu = null;
  }
  var s = this.submenu;
  if(s && s.style.visibility != 'visible') {
    s.style.visibility = 'visible';
    d.activemenus[d.activemenus.length] = this.submenu;
    d.currentmenu = this.submenu;
  }
  this.style.backgroundColor = this.bgovercolor;
  d.currentitem = this;
}

function ITEM_msout(o){
  if(o.submenu) o.submenu.style.visibility = "hidden";
  o.style.backgroundColor = o.bgoutcolor;
}

function subMenu() { return; }

if(window.MLinks) {
  var mbmenus = new DHTML_menus();
  with(mbmenus) {
    setHeightValues((w.MENUS_labelHeight)?w.MENUS_labelHeight:22);
    setWidthValues((w.MENUS_labelWidths)?w.MENUS_labelWidths:w.MENUS_imgwidths);
    menus.length = MLinks.length;
  }
}

window.name = "main";
