var bodyelement=document.getElementById("movediv_container");
var testdiv=document.getElementById("space");

function getY(e){
	var y=0;
	while(e){
		y+=e.offsetTop;
		e=e.offsetParent;
	}
	return y;
}

function isie(){
	var strBrwsr=navigator.userAgent.toLowerCase();
	if(strBrwsr.indexOf("msie")>=0 && strBrwsr.indexOf("mac")<0){
		return true;
	}
	else return false;
}

var initPos=getY(testdiv);
var lastPos=initPos;
var targetPos;
var ratio=0.2;
var viewportHeight;
var scrolly;
var btmOffset=170;
var documentHeight;

if(isie()) btmOffset=176;

function handleScroll(){
	documentHeight=document.body.scrollHeight;
	if(window.innerWidth){
		scrolly=window.pageYOffset;
		viewportHeight=window.innerHeight;
	}
	else if(document.documentElement&&document.documentElement.clientWidth){
		scrolly=document.documentElement.scrollTop;
		viewportHeight=document.documentElement.clientHeight;
	}
	else if(document.body.clientWidth){
		scrolly=document.body.scrollTop;
		viewportHeight=document.body.clientHeight;
	}
	else scrolly=0;
	targetPos=scrolly+initPos;
	//if(document.documentElement&&document.documentElement.scrollWidth){}
	
	if(targetPos>documentHeight-btmOffset){
		targetPos=documentHeight-btmOffset;
	}
	if(targetPos>scrolly+viewportHeight-testdiv.offsetHeight){
		targetPos=scrolly+viewportHeight-testdiv.offsetHeight;
		if(targetPos<initPos) targetPos=initPos;
	}
	
	lastPos=(lastPos+ratio*(targetPos-lastPos));
	
	bodyelement.style.top=lastPos+"px";
}

window.setInterval("handleScroll()", 20);
