function dropdown( id, pid )
{

	this.id = id
	this.pid = pid
	this.timeout = ''
	this.childmenu = 0

	if ( id > 0 )
		this.menu = new getObj('menu_' + id )
	else
		this.menu = null

	this.display = display
	this.hide = hide
	this.hold = hold
	this.collapse = collapse
	this.addchild = addchild
	this.dropchild = dropchild
}

function addchild( id )
{
	if ( this.childmenu != id && this.childmenu > 0 )
	{
		this.dropchild()	
	}

	this.childmenu = id
}

function dropchild()
{
	if ( this.childmenu > 0 )
	{
		eval( 'show_menu_' + this.childmenu + '.collapse(false)' )
		eval( 'show_menu_' + this.childmenu + '.dropchild()' )	
	}

	this.childmenu = 0
}

function display()
{
	this.menu.style.visibility = 'visible'
	this.hold()
	eval( 'show_menu_' + this.pid + '.addchild(' + this.id + ')' )
}

function hold()
{
	if ( this.timeout != '' )
	{
		clearTimeout( this.timeout )
		this.timeout = ''
	}

	if ( this.pid > 0 )
	{
		eval( 'show_menu_' + this.pid + '.hold()' )
	}
}

function collapse( collapse_all )
{
	this.menu.style.visibility = 'hidden'

	if ( this.pid > 0 && collapse_all )
	{
		eval( 'show_menu_' + this.pid + '.collapse()' )
	}
}

function hide( collapse_all, _timeout )
{
	if ( collapse_all )
	{
		this.timeout = setTimeout( "show_menu_" + this.id + ".collapse( true )", _timeout )
	}
	else
	{
		this.timeout = setTimeout( "show_menu_" + this.id + ".collapse( false )", _timeout )
	}
}
