var topMargin = 137 
var slideTime = 500
var ns6 = (!document.all && document.getElementById); 
var ie4 = (document.all);
var ns4 = (document.layers);
window.setInterval("main()", 10)

function floatObject() { 
	if (ns4 || ns6) {
	findHt = window.innerHeight; 
	} else if(ie4) {
	findHt = document.body.clientHeight;
	}
}

function main() { 
	if (ns4) { 
	this.currentY = document.box_pagemenu_parent.top; 
	this.scrollTop = window.pageYOffset;
	mainTrigger();
	} else if(ns6) {
	this.currentY = parseInt(document.getElementById('box_pagemenu_parent').style.top); 
	this.scrollTop = scrollY;
	mainTrigger(); 
	} else if(ie4) { 
	this.currentY = box_pagemenu_parent.style.pixelTop;
	this.scrollTop = document.body.scrollTop; 
	mainTrigger();
	} 
}

function mainTrigger() { 
	var newTargetY = this.scrollTop + this.topMargin 
	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 )box_pagemenu_parent.style.pixelTop = newY 
	if ( ns4 )document.box_pagemenu_parent.top = newY
	if ( ns6 )document.getElementById('box_pagemenu_parent').style.top = newY + "px" 
	} 
}
