// <!-- Core QuickMenu Code -->
var qm_si,qm_lo,qm_tt,qm_ts,qm_la,qm_ic,qm_ff,qm_sks;
var qm_li=new Object();
var qm_ib='';
var qp="parentNode";
var qc="className";
var qm_t=navigator.userAgent;
var qm_o=qm_t.indexOf("Opera")+1;
var qm_s=qm_t.indexOf("afari")+1;
var qm_s2=qm_s&&qm_t.indexOf("ersion/2")+1;
var qm_s3=qm_s&&qm_t.indexOf("ersion/3")+1;
var qm_n=qm_t.indexOf("Netscape")+1;
var qm_v=parseFloat(navigator.vendorSub);

function qm_create(sd,v,ts,th,oc,rl,sh,fl,ft,aux,l)
{
  var w="onmouseover";
  var ww=w;
  var e="onclick";

  if (oc)
  {
    if (oc.indexOf("all")+1 || (oc=="lev2"&&l>=2) )
    {
      w=e;
      ts=0;
    }

    if (oc.indexOf("all")+1 || oc=="main")
    {
      ww=e;
      th=0;
    }
  }

  if (!l)
  {
    l=1;
    sd=document.getElementById("qm"+sd);

    if (window.qm_pure)
      sd=qm_pure(sd);

    sd[w]=function(e)
    {
      try
      {
        qm_kille(e)
      }
      catch (e)
      {}
    };

    if (oc!="all-always-open")
      document[ww]=qm_bo;

    if (oc=="main")
    {
      qm_ib+=sd.id;

      sd[e]=function(event)
      {
        qm_ic=true;
        qm_oo(new Object(),qm_la,1);
        qm_kille(event)
      };
    }

    sd.style.zoom=1;

    if (sh)
      x2("qmsh",sd,1);

    if (!v)
      sd.ch=1;
  }
  else if (sh)
    sd.ch=1;

  if (oc)
    sd.oc=oc;

  if (sh)
    sd.sh=1;

  if (fl)
    sd.fl=1;

  if (ft)
    sd.ft=1;

  if (rl)
    sd.rl=1;

  sd.th=th;
  sd.style.zIndex=l+""+1;
  var lsp;
  var sp=sd.childNodes;

  for (var i=0;i<sp.length;i++)
  {
    var b=sp[i];

    if (b.tagName=="A")
    {
      lsp=b;
      b[w]=qm_oo;

      if (w==e)
        b.onmouseover=function(event)
        {
          clearTimeout(qm_tt);
          qm_tt=null;
          qm_la=null;
          qm_kille(event);
        };

      b.qmts=ts;

      if (l==1&&v)
      {
        b.style.styleFloat="none";
        b.style.cssFloat="none";
      }
    }
    else if (b.tagName=="DIV")
    {
      if (window.showHelp&&!window.XMLHttpRequest)
        sp[i].insertAdjacentHTML("afterBegin","<span class='qmclear'>&nbsp;</span>");

      x2("qmparent",lsp,1);
      lsp.cdiv=b;
      b.idiv=lsp;

      if (qm_n&&qm_v<8&&!b.style.width)
        b.style.width=b.offsetWidth+"px";

      new qm_create(b,null,ts,th,oc,rl,sh,fl,ft,aux,l+1);
    }
  }
};

function qm_bo(e)
{
  e=e||event;

  if (e.type=="click")
    qm_ic=false;

  qm_la=null;
  clearTimeout(qm_tt);
  qm_tt=null;
  var i;

  for (i in qm_li)
  {
    if (qm_li[i]&&!((qm_ib.indexOf(i)+1)&&e.type=="mouseover"))
      qm_tt=setTimeout("x0('"+i+"')",qm_li[i].th);
  }
};

function qm_co(t)
{
  var f;

  for (f in qm_li)
  {
    if (f!=t&&qm_li[f])
      x0(f);
  }
};

function x0(id)
{
  var i;
  var a;
  var a;

  if((a=qm_li[id])&&qm_li[id].oc!="all-always-open")
  {
    do
    {
      qm_uo(a);
    } while((a=a[qp])&&!qm_a(a));

    qm_li[id]=null;
  }
};

function qm_a(a)
{
  if (a[qc].indexOf("qmmc")+1)
    return 1;
};

function qm_uo(a,go)
{
  if (!go&&a.qmtree)
    return;

  if (window.qmad&&qmad.bhide)
    eval(qmad.bhide);

  a.style.visibility="";
  x2("qmactive",a.idiv);
};

function qm_oo(e,o,nt)
{
  try
  {
    if (!o)
      o=this;

    if (qm_la==o&&!nt)
      return;

    if (window.qmv_a&&!nt)
      qmv_a(o);

    if (window.qmwait)
    {
      qm_kille(e);
      return;
    }

    clearTimeout(qm_tt);
    qm_tt=null;
    qm_la=o;

    if (!nt&&o.qmts)
    {
      qm_si=o;
      qm_tt=setTimeout("qm_oo(new Object(),qm_si,1)",o.qmts);
      return;
    }

    var a=o;

    if (a[qp].isrun)
    {
      qm_kille(e);
      return;
    }

    while ((a=a[qp])&&!qm_a(a))
    {
    }

    var d=a.id;
    a=o;
    qm_co(d);

    if (qm_ib.indexOf(d)+1&&!qm_ic)
      return;

    var go=true;

    while ((a=a[qp])&&!qm_a(a))
    {
      if (a==qm_li[d])
        go=false;
    }


    if (qm_li[d]&&go)
    {
      a=o;

      if ((!a.cdiv)||(a.cdiv&&a.cdiv!=qm_li[d]))
        qm_uo(qm_li[d]);

      a=qm_li[d];

      while ((a=a[qp])&&!qm_a(a))
      {
        if(a!=o[qp]&&a!=o.cdiv)
          qm_uo(a);
        else
          break;
      }
    }

    var b=o;
    var c=o.cdiv;

    if (b.cdiv)
    {
      var aw=b.offsetWidth;
      var ah=b.offsetHeight;
      var ax=b.offsetLeft;
      var ay=b.offsetTop;

      if (c[qp].ch)
      {
        aw=0;

        if (c.fl)
          ax=0;
      }
      else
      {
        if (c.ft)
          ay=0;

        if (c.rl)
        {
          ax=ax-c.offsetWidth;
          aw=0;
        }

        ah=0;
      }

      if (qm_o)
      {
        ax-=b[qp].clientLeft;
        ay-=b[qp].clientTop;
      }

      if (qm_s2&&!qm_s3)
      {
        ax-=qm_gcs(b[qp],"border-left-width","borderLeftWidth");
        ay-=qm_gcs(b[qp],"border-top-width","borderTopWidth");
      }

      if (!c.ismove)
      {
        c.style.left=(ax+aw)+"px";
        c.style.top=(ay+ah)+"px";
      }

      x2("qmactive",o,1);

      if (window.qmad&&qmad.bvis)
        eval(qmad.bvis);

      c.style.visibility="inherit";
      qm_li[d]=c;
    }
    else if (!qm_a(b[qp]))
      qm_li[d]=b[qp];
    else
      qm_li[d]=null;

    qm_kille(e);
  }
  catch (e)
  {};
};

function qm_gcs(obj,sname,jname)
{
  var v;

  if (document.defaultView&&document.defaultView.getComputedStyle)
    v=document.defaultView.getComputedStyle(obj,null).getPropertyValue(sname);
  else if (obj.currentStyle)
    v=obj.currentStyle[jname];

  if (v&&!isNaN(v=parseInt(v)))
    return v;
  else
    return 0;
};

function x2(name,b,add)
{
  var a=b[qc];

  if (add)
  {
    if (a.indexOf(name)==-1)
      b[qc]+=(a?' ':'')+name;
  }
  else
  {
    b[qc]=a.replace(" "+name,"");
    b[qc]=b[qc].replace(name,"");
  }
};

function qm_kille(e)
{
  if (!e)
    e=event;

  e.cancelBubble=true;

  if (e.stopPropagation&&!(qm_s&&e.type=="click"))
    e.stopPropagation();
}

function qa(a,b)
{
  return String.fromCharCode(a.charCodeAt(0)-(b-(parseInt(b/2)*2)));
};

function qm_pure(sd)
{
  if (sd.tagName=="UL")
  {
    var nd=document.createElement("DIV");
    nd.qmpure=1;
    var c;

    if (c=sd.style.cssText)
      nd.style.cssText=c;

    qm_convert(sd,nd);
    var csp=document.createElement("SPAN");
    csp.className="qmclear";
    csp.innerHTML="&nbsp;";
    nd.appendChild(csp);
    sd=sd[qp].replaceChild(nd,sd);
    sd=nd;
  }

  return sd;
};

function qm_convert(a,bm,l)
{
  if (!l)
    bm[qc]=a[qc];

  bm.id=a.id;
  var ch=a.childNodes;

  for (var i=0;i<ch.length;i++)
  {
    if (ch[i].tagName=="LI")
    {
      var sh=ch[i].childNodes;

      for (var j=0;j<sh.length;j++)
      {
        if (sh[j]&&(sh[j].tagName=="A"||sh[j].tagName=="SPAN"))
          bm.appendChild(ch[i].removeChild(sh[j]));

        if(sh[j]&&sh[j].tagName=="UL")
        {
          var na=document.createElement("DIV");
          var c;

          if (c=sh[j].style.cssText)
            na.style.cssText=c;

          if (c=sh[j].className)
            na.className=c;

          na=bm.appendChild(na);
          new qm_convert(sh[j],na,1);
        }
      }
    }
  }
};

// <!-- Add-On Code: Match Widths -->
/*
qmad.mwidths=new Object();

if (qmad.bvis.indexOf("qm_mwidths_a(b.cdiv,o);")==-1)
  qmad.bvis+="qm_mwidths_a(b.cdiv,o);";;
*/

function qm_mwidths_a(sub,item)
{
  var z;

  if ((z=window.qmv)&&(z=z.addons)&&(z=z.match_widths)&&!z["on"+qm_index(sub)])
    return;

  var ss;

  if (!item.settingsid)
  {
    var v=item;

    while ((v=v.parentNode))
    {
      if (v.className.indexOf("qmmc")+1)
      {
        item.settingsid=v.id;
        break;
      }
    }
  }

  ss=qmad[item.settingsid];

  if (!ss)
    return;

  if (!ss.mwidths_active)
    return;

  if (qm_a(item.parentNode))
  {
    var t=0;
    t+=qm_getcomputedstyle(sub,"padding-left","paddingLeft");
    t+=qm_getcomputedstyle(sub,"padding-right","paddingRight");
    t+=qm_getcomputedstyle(sub,"border-left-width","borderLeftWidth");
    t+=qm_getcomputedstyle(sub,"border-right-width","borderRightWidth");
    var adj=0;adj=item.getAttribute("matchwidthadjust");

    if (adj)
      adj=parseInt(adj);

    if (!adj||isNaN(adj))
      adj=0;

    sub.style.width=(item.offsetWidth-t+adj)+"px";
    var a=sub.childNodes;

    for (var i=0;i<a.length;i++)
    {
      if (a[i].tagName=="A")
        a[i].style.whiteSpace="normal";
    }
  }
};

function qm_getcomputedstyle(obj,sname,jname)
{
  var v;

  if (document.defaultView&&document.defaultView.getComputedStyle)
    v=document.defaultView.getComputedStyle(obj,null).getPropertyValue(sname);
  else if (obj.currentStyle)
    v=obj.currentStyle[jname];

  if (v&&!isNaN(v=parseInt(v)))
    return v;
  else
    return 0;
};
