
_contentTimeout = 1000;

function contentInit( pContentMaker, pAuto, pImageName, pContentId )
{
	var lContentName;
	var lContentDescr;
	
	lContentName = eval( pContentMaker );
	
	if ( _NS4x && pContentId != '' )
		collapseDescription( pContentId );
	
	if ( typeof( pAuto ) != _UNDEFINED && pAuto )
		animate( lContentName, pImageName, pContentId );
	else
		goFirst( lContentName, pImageName, pContentId );
}

function collapseDescription( pContentId )
{
	var lIdx;
	var lHeight;
	var lLayer0;
	var lLayer;
	var lName;
	
	lLayer0 = getHTMLElement( pContentId + '0' );
	
	if ( lLayer0 )
	{
		lIdx = 0;
		lHeight = lLayer0.clip.height;
		
		while ( true )
		{
			lIdx++;
			lName = pContentId + lIdx;
			lLayer = getHTMLElement( lName );
			
			if ( lLayer )
			{
				lLayer.y = lLayer.y - lHeight;
				lHeight += lLayer.clip.height;
				
				hideLayer( lName );
			}
			else
				break;
		}
	}
}

function goFirst( pContentName, pImageName, pContentId )
{
	var lContent = eval( pContentName );
	var lFrameRef = getFrameRef( pContentName );
	var lFrame = eval( lFrameRef + '=0' );
	
	setContent( lContent, pImageName, lFrame, pContentId );
}

function goPrevious( pContentName, pImageName, pContentId )
{
	var lContent = eval( pContentName );
	var lFrameRef = getFrameRef( pContentName );
	var lFrame = eval( lFrameRef + '=(' + lFrameRef + ' - 1) % ' + lContent.length );
	
	if ( lFrame < 0 )
		goLast( pContentName, pImageName, pContentId );
	else
		setContent( lContent, pImageName, lFrame, pContentId );
}

function goNext( pContentName, pImageName, pContentId )
{
	var lContent = eval( pContentName );
	var lFrameRef = getFrameRef( pContentName );
	var lFrame = eval( lFrameRef + '=(' + lFrameRef + ' + 1) % ' + lContent.length );
	
	setContent( lContent, pImageName, lFrame, pContentId );
}

function goLast( pContentName, pImageName, pContentId )
{
	var lContent = eval( pContentName );
	var lFrameRef = getFrameRef( pContentName );
	var lFrame = eval( lFrameRef + '=' + (lContent.length - 1) );
	
	setContent( lContent, pImageName, lFrame, pContentId );
}

function animate( pContentName, pImageName, pContentId )
{
	var lContent;
	
	lContent = eval( pContentName );
	
	if ( lContent != null )
	{
		if ( !lContent.stop )
			goNext( pContentName, pImageName, pContentId );
			
		if ( lContent.length > 1 )
			eval( pContentName + '.timeout=setTimeout(\'animate("' + pContentName + '","' + pImageName + '","' + pContentId + '" )\', ' + _contentTimeout + ')');
	}
}

function setContent( pContent, pImageName, pFrame, pContentId )
{
	var lImage;
	var lContent;
	var lContentItem;
	
	pContentId = ( typeof( pContentId ) != _UNDEFINED ) ? pContentId:'';
	
	lContentItem = pContent[pFrame];
	
	if ( pImageName != '' )
	{
		lImage = eval( 'document.' + pImageName );
		
		if ( typeof( lImage ) != _UNDEFINED )
			lImage.src = lContentItem.src;
	}
	
	if ( pContentId != '' )
	{
		if ( _NS4x )
		{
			if ( !isNaN( pContent.currentFrame ) )
				hideLayer( pContentId + pContent.currentFrame );
			
			showLayer( pContentId + pFrame );
		}
		else
		{
			lContent = getHTMLElement( pContentId );
			setInnerHTML( lContent, lContentItem.description );
		}
		
		pContent.currentFrame = pFrame;
	}
}

function getFrameRef( pContentName )
{
	return pContentName + '.frame';
}

function stopAnimate( pContentName )
{
	var lContent = eval( pContentName );
	
	if ( lContent != null )
		lContent.stop = true;
}

function restartAnimate( pContentName )
{
	var lContent = eval( pContentName );
	
	if ( lContent != null )
		lContent.stop = false;
}

function openContent( pContentName )
{
	function getOption( pKey, pOptions )
	{
		return ( pOptions ) ? findValue( pKey + '=', pOptions, ';'):null;
	}
	
	var lContent;
	var lContentItem;
	var lHRef;
	
	lContent = eval( pContentName );
	lContentItem = lContent[lContent.currentFrame];
	lHRef = getOption( 'href', lContentItem.options );
	lOptions = getOption( 'options', lContentItem.options );
	
	if ( lHRef != null )
	{
		lOptions = iif( lOptions == null, 'name:target1;tips:resizable=yes', lOptions );
		
		openWindow( lHRef, lOptions );
	}
}

function setClock( pClockId, pTimeout )
{
	var lDate;
	
	var lElement;
	var lHTML;
	
	lElement = getHTMLElement( pClockId );
	
	if ( lElement )
	{
		lDate = new Date();
		
		lHTML = dateFormat( lDate );
		
		setInnerHTML( lElement, lHTML );
		
		if ( pTimeout )
			setTimeout( 'setClock("' + pClockId + '", true)', 1000 );
	}
}

function ContentItem( pSrc, pDescription, pOptions )
{
	var lImage = new Image();
	
	lImage.src = _imagesPath + pSrc;
	
	this.src = lImage.src;
	this.description = pDescription;
	this.options = pOptions;
}
