function Nav() {

  this.setup = function(hlt) {
  var p,a,c,l,i,t,o,act;
		p = document.getElementById('navItems');
		p.active = null;
		a = p.getElementsByTagName('div');
		act = -1;
		for(i=0; i<a.length; i++) { // execute on all (two) menu items
      		o = a[i]; // navT0, navT1
			c = document.getElementById('navM'+i); // navM0, navM1
			if(c) {
				l = c.getElementsByTagName('a');
				c.navP = o; // the calling div: one of navT0 .. nav T4
      			o.navC = c; // the id of the 2nd level menu: one of navM0 .. navM4
      			c.active = null;
				c.style.top = (p.offsetTop + p.offsetHeight-2)+'px';
				c.style.left = (p.offsetLeft + o.offsetLeft)+'px'; 
  	   			c.style.zIndex = i+5;
	      		c.onmouseout = this.eventHandler;
			}
			o.onmouseover = this.eventHandler;
			o.onmouseout = this.eventHandler;
		}
  }

  this.eventHandler = function(evt) {
  var c,e,t,src,tgt,cls;
		cls = 'className';

		c = function(o) { // looking for class name in up to five parent levels
			for(var i=0; i<5; i++) {
	        	if (o && o[cls] && o[cls].match(/^nav(T|M)$/) ) { return o; }
	        	if (o && o['parentNode']) { o = o['parentNode']; } else { return null; }
			}
			return null;
	    }

	    if (window.Event) { // 'window.Event' for Netscape Navigator
	       	event = evt;
	    	if (event.type=='mouseover') { src = c(event['relatedTarget']); tgt = c(event['currentTarget']); }
	    	else { src = c(event['currentTarget']); tgt = c(event['relatedTarget']); }
	    }
	    else { // for other browsers
	    	src = c(event.fromElement); tgt = c(event.toElement);
	    }
	    if(event.type=='mouseover' && tgt && tgt['parentNode'].active!=tgt) {
			if(tgt[cls]=='navT') 
			{ 
				if(src && src[cls] == 'navM') {document.nav.close(src.navP['parentNode'])} // 10Nov
				document.nav.msOverTtl(tgt['parentNode'],tgt); 
			}
		}
		else if(event.type=='mouseout') {
			if(src && tgt == null) {
				document.nav.close((src[cls]=='navT')?src['parentNode']:
									(src[cls]=='navM')?src.navP['parentNode']:
										src['parentNode']['parentNode'].navP['parentNode']);
			}
		}
		event.returnValue = false;
  }
  
  this.close = function(o) {
  var a,c;
    a = o.active;
    if(a) {
      if(a.navC) {
        c = a.navC;
        c.style.visibility = 'hidden';
      }
      if(!a.active) {
      	a['childNodes'][0].style['backgroundColor'] = '';
	    a['childNodes'][0].style['color'] = '#FFF3A8'; // inactive navT menu font color
	  }
      o.active = null;
      o.aId = null;
    }
  }
  this.msOverTtl = function(p,o) { // controls the top level menu items
    this.close(p);
    o['childNodes'][0].style['backgroundColor'] = '#0066FF'; //mouseover background color of main menu items (NavT)
    o['childNodes'][0].style['color'] = 'white'; // mouseover font color 
    if(o.navC) { o.navC.style.visibility = 'visible'; } // flip open submenu
    p.active = o;
    p.aId = o.id;
  }
}
document.nav = new Nav();
