//<!--
// MenuJC Version 2.0
// See MenuJC ReadMe.txt for copyright, licensing, and usage information.
// Download package for this utility may be found at http://pages.prodigy.net/jchrist/code/.
document.write("<link rel='stylesheet' href='styles/menupurple.css'>");

function MenuOpts() {
 this.blank='<img src="images/blank.gif">';
 this.top = 0;
 this.levels=3; /* Num menu levels in .css */
 this.tabColors=2; /*Num defined in .css*/
 this.savedClass=null;
}
menu = new MenuOpts();

if (typeof(menus)=='undefined') menus=new Array();
function MenuItem(i) {
 this.id=i;
 this.text=new Array();
 this.ids=new Array();
 this.url=new Array();
 this.tip=new Array();
 this.target=new Array();
 this.sub=new Array();
 this.pass=new Array();
 this.onsite=new Array();
 this.expand=new Array();
 this.visit=new Array();
}
function AddMenu(i) { menus[menus.length] = new MenuItem(i); }

function AddMenuChoice(t,u,tip,tar,s,i,p) {
 var m=menus[menus.length-1];
 m.text[m.text.length]=((typeof(t)=='undefined')||(t==null)) ? '' : t;
 m.ids[m.ids.length]=((typeof(i)=='undefined')||(i==null)||(i=='')) ? m.text[m.text.length-1] : i;
 if (m.ids[m.ids.length-1]=='') alert("AddMenuChoice:Either text or id must be specified.");
 m.url[m.url.length]=((typeof(u)=='undefined')||(u=='')) ? null : u;
 u=m.url[m.url.length-1];
 m.onsite[m.onsite.length]=((u==null)||(u.substring(0,7)=='http://')||(u.substring(0,5)=='file:'))?false:true;
 m.tip[m.tip.length]=((typeof(tip)=='undefined')||(tip=='')) ? null : tip;
 m.target[m.target.length]=((typeof(tar)=='undefined')||(tar=='')) ? null : tar;
 m.sub[m.sub.length]=((typeof(s)=='undefined')||(s=='')) ? null : s;
 m.pass[m.pass.length]=((typeof(p)=='undefined')||(p==null)||(p=='')) ? false : p;
 m.expand[m.expand.length]=false;
 m.visit[m.visit.length]=0;
}

function AddTab(t,u,tip,tar,s,i,p) {
 if (typeof(menu.tabs)=='undefined') {
  menu.tabs=menus.length;
  AddMenu("tabs");
  menu.tab=0;
 }
 AddMenuChoice(t,u,tip,tar,s,i,p);
}

function FindMenu(m) {
 for (var i=0; (i<menus.length)&&(menus[i].id != m); i++) ;
 if (i==menus.length) i=null;
 return(i);
}

function FindMenuChoice(m,n) {
 for (var i=0; (i<menus[m].ids.length)&&(menus[m].ids[i]!=n); i++) ;
 if (i==menus[m].ids.length) i=null;
 return(i);
}

function SetTab(tab) {
 menu.tab=(typeof(tab)=='number')?tab:FindMenuChoice(menu.tabs,tab);
 if ((menu.tab==null)||(menu.tab<0)||(menu.tab>=menus[menu.tabs].ids.length)) alert("SetTab:"+tab+" is not a valid tab id.");
}

function MenuTop(t) {
 menu.top=FindMenu(t);
 if (menu.top==null) alert("MenuTop:"+t+" is not a valid menu id.");
}

function ExpandMenu() {
 for (var i=0; i<ExpandMenu.arguments.length; i++) {
  a=ExpandMenu.arguments[i];
  if (typeof(a)=='string') a=['',a];
  var m=((a[0]==null) || (a[0]=='')) ? menu.top : FindMenu(a[0]);
  if (m==null) alert("ExpandMenu:"+a[0]+" is not a valid menu id.");
  else {
   var n=FindMenuChoice(m,a[1]);
   if (n==null) alert("ExpandMenu:"+a[1]+" is not a valid menu choice.");
   else menus[m].expand[n] = true;
  }
 }
}

function MenuCurrent(c) {
 pass=window.location.search;
 x1=pass.indexOf("curmenu")+8;
 if (x1!=7) {
  x2=pass.indexOf(",",x1);
  m=parseInt(pass.substring(x1,x2));
  x1=x2+1;
  x2=pass.indexOf("&",x1);
  n=(x2==-1) ? parseInt(pass.substring(x1)) : parseInt(pass.substring(x1,x2));
  menu.current=[m,n];
 }
 else {
  if ((typeof(c)=='string') || (c[0]==null)) c = ['',c];
  m=(c[0]=='') ? menu.top : FindMenu(c[0]);
  if (m==null) alert("MenuCurrent:"+c[0]+" is not a valid menu id.");
  else {
   n=FindMenuChoice(m,c[1]);
   if (n==null) alert("MenuCurrent:"+c[1]+" is not a valid menu choice.");
   else menu.current=[m,n];
  }
 }
}

function WriteMenu() {
 document.write('<div class=menuwrapper><div class=menutopr><div class=menutop>'+menu.blank+'</div></div><div class=menucontent>');
 MenuChoices(menu.top, 0);
 document.write('</div><div class=menubotr><div class=menubot>'+menu.blank+'</div></div></div>');
}

function MenuChoices(m,l) {
 if (l==menu.levels) l=0;
 for (var i=0; i<menus[m].ids.length; i++) {
  id="_"+m+"_"+i+"_"+menus[m].visit[i]; menus[m].visit[i]++;
  c=((typeof(menu.current)!='undefined')&&(m==menu.current[0])&&(i==menu.current[1]));
  s=(menus[m].sub[i]!=null);
  u=(menus[m].url[i]!=null);
  w='<div class=menu'+(((m==menu.top)&&!i)?'nodiv':'div'+l)+'>';
  w+='<div class=menubg'+(c?'selected':l);
  if ((u||s)&&!c) w+=' id=menuBG'+id+' onmouseover=OnMenu("'+id+'",'+m+','+i+') onmouseout=OffMenu("'+id+'",'+m+','+i+')';
  if (menus[m].tip[i]!=null) w+=' title="'+menus[m].tip[i]+'"';
  w+='>';
  if (s) w+='<div class=menuexpander'+((menus[m].expand[i]) ? 'x' : 'c')+' id=menuExp'+id+' onClick=MenuSub("'+id+'")>';
  w+=((u&&!c)?'<div class=menulink onClick=MenuGo('+m+','+i+')>':'<div class=menutext>')+menus[m].text[i]+'</div></div>';
  if (s) {
   w+='</div><div id=subMenu'+id+' class=submenu style="display:'+((menus[m].expand[i]) ? 'block">' : 'none">');
   document.write(w);
   n=FindMenu(menus[m].sub[i]);
   if (n==null) alert("MenuChoices:"+menus[m].sub[i]+" is not a valid menu id.");
   else MenuChoices(n, l+1);
   w='</div>';
  }
  w+='</div>';
  document.write(w);
 }
}

function WriteTabs() {
 tabs=menus[menu.tabs];
 for (var i=0; i<tabs.ids.length; i++) {
  w='<div class=tabbg'+i+'>';
  if ((i!=menu.tab) && (tabs.url[i]!=null)) w+='<div class=tablink onClick=MenuGo('+menu.tabs+','+i+')';
  else w+='<div class=tabtext';
  if (tabs.tip[i]!=null) w+=' title="'+tabs.tip[i]+'" onmouseover=OnTab('+i+') onmouseout=OffTab()';
  w+='>';
  if (tabs.text[i]!=null) w+=tabs.text[i]+menu.blank;
  w+='</div>';
  if ((i!=menu.tab) && (tabs.url[i]!=null)) w+='</div>';
  if (i==menu.tab) w+='<div id=tabactive'+((navigator.appName=='Netscape')?'moz':'')+'><div id=tabactive'+i+'>'+menu.blank+'</div></div>';
  w+='</div>';
  document.write(w);
 }
}
 
function MenuGo(m,i) {
 var url=menus[m].url[i];
 if (menus[m].pass[i]) {
  url+=(url.indexOf('?')==-1) ? '?' : '&';
  url+='curmenu='+m+','+i;
 }
 t=(menus[m].target[i]==null) ? '_self' : menus[m].target[i];
 base=document.getElementsByTagName('base')[0];
 window.open((((menus[m].onsite[i])&&(typeof(base)!='undefined'))?base.href:'')+url,t);
}

function MenuSub(id) {
 var i=document.getElementById('menuExp'+id);
 var s=document.getElementById('subMenu'+id);

 if (s.style.display == 'none') {
  i.className='menuexpanderx';
  s.style.display='block';
 }
 else {
  i.className='menuexpanderc';
  s.style.display='none';
 }
}

function OnMenu(id,m,i) {
 var e=document.getElementById('menuBG'+id);
 menu.savedClass = e.className;
 e.className = 'menubgover';
 if (menus[m].tip[i]!=null) window.status=menus[m].tip[i];
}
function OffMenu(id,m,i) {
 document.getElementById('menuBG'+id).className = menu.savedClass;
 menu.savedClass = null;
 window.status='';
}
function OnTab(i) {window.status=menus[menu.tabs].tip[i];}
function OffTab() {window.status='';}
//-->