/**	waiMenus.js
 *	written by: Jeremy Wyman (jgwyman@gmail.com)
 *	copyright: WA Interactive 2004-2006
**/
var WaiMenu = {
	'Loaded' : false,
	'CloseDelay' : 500,
	
	Init : function( ) {
		for ( var i = 1 ; ( eval('window.WaiMenu.Data' + i) && $('menuAnchor' + i) ) ; i++ ) {
			var aValues  = eval('WaiMenu.Data' + i) ;
			var oMenuAnchor = $('menuAnchor' + i) ;
			
			oMenuAnchor.oChildMenu  = WaiMenu.CreateMenu(aValues, i) ;
			oMenuAnchor.onmouseover = WaiMenu.OpenMenu ;
			oMenuAnchor.onmouseout  = WaiMenu.CloseMenu ;
		}
		
		WaiMenu.Loaded = true ;
	},
	
	OpenMenu : function( ) {
		if ( ! WaiMenu.Loaded ) return ;
		var iXPos = 0 ;
		var iYPos = 15 ;
		if ( document.all ) {
			iYPos = 15 ;
		}
		oSource = this ;
		
		while ( oSource != document.body ) {
			iXPos += oSource.offsetLeft ;
			iYPos += oSource.offsetTop ;
			oSource = oSource.offsetParent ;
		}
		
		this.oChildMenu.style.left = iXPos + 'px' ;
		this.oChildMenu.style.top  = iYPos + 'px' ;
		this.oChildMenu.bActive = true ;
		this.oChildMenu.style.zIndex = parseInt(Math.random() * 100) ;
		this.oChildMenu.style.display = 'block' ;
	},
	
	CloseMenu : function( ) {
		if ( ! WaiMenu.Loaded ) return ;
		this.oChildMenu.bActive = false ;
		this.oChildMenu.CloseDown() ;
	},
	
	CreateMenu : function( aValues , iMenuID ) {
		var oNewMenu = document.createElement('DIV') ;
		oNewMenu.id = 'WAIMenu' + iMenuID ;
		oNewMenu.bActive = false ;
		oNewMenu.CloseDown = WaiMenu.AttemptClose ;
		oNewMenu.onmouseover = WaiMenu.onMouseOver ;
		oNewMenu.onmouseout  = WaiMenu.onMouseOut ;
		if ( aValues.width ) {
			oNewMenu.style.width = aValues.width + 'px' ;
		}
		
		var oNewAnchor ;
		for (  var i = 0 ; i < aValues.length ; i++ ) {
			if ( aValues[i][1].length ) {
				oNewAnchor = document.createElement('A') ;
				oNewAnchor.href = aValues[i][1] ;
			} else {
				oNewAnchor = document.createElement('DIV') ;
			}
			
			if ( aValues[i][2] != 0 ) {
				oNewAnchor.className = 'toplevel' ;
			}
			
			oNewAnchor.oChildMenu = oNewMenu ;
			oNewAnchor.innerHTML = aValues[i][0] ;
			oNewAnchor.onmouseover = WaiMenu.onMouseOver ;
			oNewAnchor.onmouseout  = WaiMenu.onMouseOut ;
			oNewMenu.className = 'waimenu' ;
			oNewMenu.appendChild(oNewAnchor) ;
		}
		
		document.body.appendChild(oNewMenu) ;
		
		return oNewMenu ;
	},
	
	onMouseOver : function( ) {
		if ( this.oChildMenu ) {
			this.oChildMenu.bActive = true ;
		} else {
			this.bActive = true ;
		}
	},
	
	onMouseOut : function( ) {
		if ( this.oChildMenu ) {
			this.oChildMenu.bActive = false ;
			this.oChildMenu.CloseDown() ;
		} else {
			this.bActive = false ;
			this.CloseDown() ;
		}
	},
	
	AttemptClose : function( ) {
		setTimeout('WaiMenu.KillMenu("' + this.id + '")', WaiMenu.CloseDelay) ;
	},
	
	KillMenu : function( sMenuID ) {
		var oMenu = $(sMenuID) ;
		
		if ( ! oMenu.bActive ) {
			oMenu.style.zIndex = 1 ;
			oMenu.style.display = 'none' ;
		}
	}
} ;