var _nStep		= 15;
var _nSpeed		= 2;
var _objs		= null;
var _objHgts	= null;
var _objDir		= null;

function CollapseStartUp( divID, arrObjs, arrObjHgts )
{
	var obj;
	var divContainer = document.getElementById( divID );

	_objs	 = arrObjs;
	_objHgts = arrObjHgts;
	_objDir	 = new Array( arrObjs.length );

	divContainer.style.visibility	= "hidden";
	divContainer.style.position		= "absolute";
	
	for( var i = 0; i < _objs.length; i++ )
	{
		obj			= document.getElementById( _objs[i] );
		_objHgts[i] = GetHeight( obj );
		_objDir[i]	= null;			
	} // end for( var i = 0; i < _objs.length; i++ )
	
	divContainer.style.visibility	= "visible";	
	divContainer.style.position		= "";	
} // end CollapseStartUp

function GetHeight( obj )
{
	var nHeight;

	obj.style.display		= "block";			
	nHeight					= parseInt( obj.offsetHeight );			
	obj.style.display		= "none";
	obj.style.height		= 0;
	
	return nHeight;
} // end GetHeight

function SetOpacity( obj, nOpacity )
{
	if( navigator.appName.indexOf( "Netscape" ) != -1 && parseInt( navigator.appVersion ) >= 5 )
	{
		obj.style.MozOpacity = nOpacity;
	} // end if( navigator.appName.indexOf( "Netscape" ) != -1 &&
	else if( navigator.appName.indexOf( "Microsoft" ) != -1 && parseInt( navigator.appVersion ) >= 4 )
	{
		obj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + ( nOpacity * 100 )+ ");";
	} // end else if( navigator.appName.indexOf( "Microsoft" ) != -1 && ...
	else if( navigator.appName.indexOf( "Safari" ) != -1 )
	{
		if( parseInt( navigator.appVersion ) <= 1.2 )
		{
			obj.style.KHTMLOpacity = nOpacity;
		} // end if( parseInt( navigator.appVersion ) <= 1.2 )
		else
		{
			obj.style.opacity = nOpacity;
		} // end else: if( parseInt( navigator.appVersion ) <= 1.2 )
	} // end else if( navigator.appName.indexOf( "Safari" ) != -1 )		
} // end SetOpacity

function Minimize( nIndex )
{
	if( _objDir[nIndex] == "+" )
	{
		return;
	} // end if( _objDir[nIndex] == "+" )
	
	var obj		= document.getElementById( _objs[nIndex] );
	var nHght	= parseInt( obj.style.height ); 
	
	SetOpacity( obj, ( nHght / _objHgts[nIndex] ) );

	if( nHght > 0 )
	{	
		nHght = nHght - _nStep;
		
		if( nHght <= 0 )
		{			
			obj.style.height	= 0;
			obj.style.display	= 'none';
		} // end if( nHght <= 0 )
		else
		{
			obj.style.height = nHght + "px";
			setTimeout( "Minimize( " + nIndex + " );", _nSpeed );
		} // end else: if( nHght <= 0 )
	} // end if( nHght > 0 )
} // end Minimize

function Maximize( nIndex )
{
	if( _objDir[nIndex] == "-" )
	{
		return;
	} // end if( _objDir[nIndex] == "-" )
	
	var obj			= document.getElementById( _objs[nIndex] );
	var nHght;
	var nRealHeight = parseInt( _objHgts[nIndex] );
	
	obj.style.display = 'block';
	nHght = parseInt( obj.style.height ); 
	
	SetOpacity( obj, ( nHght / nRealHeight ) );

	if( nHght <= ( nRealHeight - _nStep ) )
	{	
		nHght = nHght + _nStep ;
		obj.style.height = nHght + "px";				
		setTimeout( "Maximize( " + nIndex + " );", _nSpeed );
	} // end if( nHght <= ( nRealHeight - _nStep ) )
	else
	{
		obj.style.height = _objHgts[nIndex] + "px";	
	} // end else: if( nHght <= ( nRealHeight - _nStep ) )
} // end Maximize

function AnimatedShowAndHide( nIndex )
{
	obj	= document.getElementById( _objs[nIndex] );
	
	if( obj.style.display == 'block' )
	{
		_objDir[nIndex] = "-";
		Minimize( nIndex );
	} // end if( obj.style.display == 'block' )
	else
	{
		_objDir[nIndex] = "+";
		Maximize( nIndex );
	} // end else: if( obj.style.display == 'block' )
} // end AnimatedShowAndHide