
// menu.js
// pulldown menu functions
// copyright(c): Daniel Kolman, 2000

var NN4 = (document.layers) ? 1 : 0;
var IE4 = (document.all) ? 1 : 0;
var ver4 = (NN4 || IE4) ? 1 : 0;
	
	function Menu_addDiv( d ) {
		var m = new Menu( d )
		m.parent = this
		return m
	}
	function Menu( div ) {
		this.div	= div
		this.parent	= null
		this.addDiv	= Menu_addDiv
		return this
	}

var current = null
var menuOn = false

	function initMenuSystem( mainmenu ) {
		current = new Menu( mainmenu )
		menuOn = true
	}
		
	function closeCurrent() {
		if( current.parent!=null ) {
			current.div.style.visibility = 'hidden'
			current = current.parent
		}
	}
	
	function closeAllSubmenus() {
		while( current.parent!=null ) closeCurrent()
	}
	
	function closeToSub( sub ) {
		while( ( current.div.id!=sub )&&( current.parent!=null ) ) closeCurrent();
		if( current.div.id!=sub ) return -1; // error!
			else return 0
	}

	function openSubDiv( divName, d ) {
		while( (!current.div.children( divName ))&&(current.parent!=null) ) closeCurrent();
		if( !current.div.children( divName ) ) return; // error!
			
		var cd = current.div.children( divName )
		place( cd, event, d )
		cd.style.visibility = 'visible'
		
		current = current.addDiv( cd )
	}
	
	function place( div, e, d ) {
		div.style.left = ((d)?(e.clientX- e.offsetX):(e.srcElement.offsetWidth))
		div.style.top  = ((d)?(e.clientY - e.offsetY +e.srcElement.offsetHeight+document.body.scrollTop):(e.srcElement.offsetTop))
	}
