DOM_NN6 = (document.getElementById&&navigator.appName=="Netscape") ? true : false;
DOM_IE5 = (document.getElementById&&navigator.appName=="Microsoft Internet Explorer") ? true : false;
IE4 = (document.all&&!DOM_IE5) ? true : false;
NN4 = (document.layers) ? true : false;

infoLayers	= [];
//=======================================================


if( NN4 )
{
	getLayer = new Function( "name", "return document.layers[name];");
	hideLayer = new Function( "name", "getLayer(name).visibility='hide';");
	layerTopShift = new Function( "layerID", "return getLayer( layerID ).top - window.pageYOffset;");
}
else
{
	if(DOM_NN6||DOM_IE5)
		getLayer = new Function( "name", "return document.getElementById(name);");
	else
		getLayer = new Function( "name", "return document.all(name);");

	hideLayer = new Function( "name", "getLayer(name).style.visibility = 'hidden';");
	
	if( DOM_NN6 )
	    layerTopShift = new Function( "layerID", "return getLayer( layerID ).style.top.substring(0, getLayer( layerID ).style.top.indexOf('px')) - window.pageYOffset;");
	else
	    layerTopShift = new Function( "layerID", "return getLayer( layerID ).style.pixelTop - document.body.scrollTop;");
}


//=======================================================

function infoLayer( layerID )
{
    this.id		= layerID;
    this.index		= infoLayers.length;    
    this.shiftTimerID	= 0;
    this.scrollTimerID	= 0;
    this.topShift	= 160;
    this.hide		= hideInfoLayer;
    
    infoLayers[ this.index ]	= this;    
    infoLayers[ this.index ].shiftTimerID	= setInterval( 'testLayerShift(' + this.index +')' , 50 );
    
}
//=======================================================

function	testLayerShift( layerIndex )
{
    var layerObj	= infoLayers[ layerIndex ];
   
    if( layerTopShift( layerObj.id ) != layerObj.topShift )
    {
        if( layerObj.scrollTimerID == 0 )
		layerObj.scrollTimerID	=     setInterval ( 'scrollLayer(' + layerIndex + ')', 25 );
    }
    else
    {
	if( layerObj.scrollTimerID != 0 )
	{
	    clearInterval( layerObj.scrollTimerID );
	    layerObj.scrollTimerID	= 0;
	}
    }
}

//=======================================================

function	scrollLayer( layerIndex )
{
    var layerObj	= infoLayers[ layerIndex ];
    var delta		= layerTopShift( layerObj.id ) - layerObj.topShift;

    if( delta == 0 )
	return;

    if( delta > 0 )
    {
	delta	= ( (delta < 3 )? delta : 3 );
	if( NN4 )
	    getLayer( layerObj.id ).top	-= delta;
	else
	{
	    if( DOM_NN6 )
	    {
		delta	= getLayer( layerObj.id ).style.top.substring(0, getLayer( layerObj.id ).style.top.indexOf('px')) - delta;
		getLayer( layerObj.id ).style.top	=  delta + 'px';
	    }	    
	    else
		getLayer( layerObj.id ).style.pixelTop	-= delta;
	}
    }
    else
    {
	delta	= -delta;
	delta	= ( (delta < 3 )? delta : 3 );	
	if( NN4 )
	    getLayer( layerObj.id ).top	+= delta;
	else
	{
	    if( DOM_NN6 )
	    {		
		delta	= Math.floor(getLayer( layerObj.id ).style.top.substring(0, getLayer( layerObj.id ).style.top.indexOf('px'))) + delta;
		getLayer( layerObj.id ).style.top	=  delta + 'px';		
	    }
	    else
	        getLayer( layerObj.id ).style.pixelTop	+= delta;
	}
    }
}


function hideInfoLayer()
{
    hideLayer( this.id );    
    if( this.shiftTimerID != 0 )
    {
	clearInterval( this.shiftTimerID );
	this.shiftTimerID	= 0;
    }
    
    if( this.scrollTimerID != 0 )
    {
	clearInterval( this.scrollTimerID );
	this.scrollTimerID	= 0;
    }

}

function HideAdv()
{
	for( i=0; i<infoLayers.length; i++)
		if(infoLayers[i].id == 'adv' )
			infoLayers[i].hide();
}

if(getLayer('adv')!=null)
	infoLayer('adv');