window.onerror = null;

var positionTop = 100;
var slideTime = 1200;

var ns6 = (!document.all && document.getElementById);
var ie4 = (document.all);
var ns4 = (document.layers);


function floatObject()
{
	if(ns4 || ns6)
		findHt = window.innerHeight;
	else if(ie4)
		findHt = document.body.clientHeight;
} 

function main()
{
	if(ns4)
	{
		this.currentY = document.layers["floatMenu"].top;
		this.scrollTop = window.pageYOffset;
		mainTrigger();
	}
	else if(ns6)
	{
		this.currentY = parseInt(document.getElementById('floatMenu').style.top);
		this.scrollTop = scrollY;
		mainTrigger();
	}
	else if(ie4)
	{
		this.currentY = floatMenu.style.pixelTop;
		this.scrollTop = document.body.scrollTop;
		mainTrigger();
	}
}

function mainTrigger()
{
	var dy = (this.scrollTop <= this.positionTop ? this.positionTop - this.scrollTop : 0);
	var newTargetY = this.scrollTop + dy;

	if( this.currentY != newTargetY )
	{
		if( newTargetY != this.targetY )
		{
			this.targetY = newTargetY;
			floatStart();
		}
		animator();
	}
}

function floatStart()
{
	var now = new Date();
	this.A = this.targetY - this.currentY;
	this.B = Math.PI / ( 2 * this.slideTime );
	this.C = now.getTime();
	
	if (Math.abs(this.A) > this.findHt)
	{
		this.D = this.A > 0 ? this.targetY - this.findHt : this.targetY + this.findHt;
		this.A = this.A > 0 ? this.findHt : -this.findHt;
	}
	else
		this.D = this.currentY;
}

function animator()
{
	var now = new Date();
	var newY = this.A * Math.sin( this.B * ( now.getTime() - this.C ) ) + this.D;
	newY = Math.round(newY);
	
	if(( this.A > 0 && newY > this.currentY ) || ( this.A < 0 && newY < this.currentY ))
	{
		if( ie4 )document.all.floatMenu.style.pixelTop = newY;
		if( ns4 )document.layers["floatMenu"].top = newY;
		if( ns6 )document.getElementById('floatMenu').style.top = newY + "px";
	}
}

function MM_reloadPage(init)	//reloads the window if Nav4 resized
{  
	if(init==true) with (navigator)
	{
		if((appName=="Netscape")&&(parseInt(appVersion)==4))
		{
			document.MM_pgW=innerWidth; 
			document.MM_pgH=innerHeight; 
			onresize=MM_reloadPage; 
			}
		}
		else if(innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH)
			location.reload();
}

function startMenu()
{
	if(ns6||ns4)
	{
		pageWidth = innerWidth;
		pageHeight = innerHeight;
		window.setInterval("main()", 10)
		floatObject();
	}
	else if(ie4)
	{
		pageWidth = document.body.clientWidth;
		pageHeight = document.body.clientHeight;
		window.setInterval("main()", 10)
		floatObject();
	}
}

MM_reloadPage(true);


