function Floating ( FloatingObj , MarginY , TopLimit , Percentage , setTime ) 
{
	
	this.FloatingObj = FloatingObj;
	
	this.MarginY = (MarginY) ? MarginY : 0;
	
	this.TopLimit = (TopLimit) ? TopLimit : 0;

	this.Percentage = (Percentage) ? Percentage : 20;
	
	this.setTime = (setTime) ? setTime : 10;
	
	this.FloatingObj.style.position = "absolute";
	
	this.Body = null;
	
	this.setTimeOut = null;
	
	this.Run();
}
Floating.prototype.Run = function () {
	
	this.Body = document.documentElement.scrollTop>document.body.scrollTop ? document.documentElement : document.body;
	
	var This = this;
	
	var FloatingObjTop = (this.FloatingObj.style.top) ? parseInt(this.FloatingObj.style.top,10) : this.FloatingObj.offsetTop;
	
	var DocTop = this.Body.scrollTop + this.MarginY;
	
	var MoveY = Math.abs(FloatingObjTop - DocTop);
	if ( DocTop > this.TopLimit ) 
	{
		
		if ( FloatingObjTop < DocTop ) 
		{
			
			this.FloatingObj.style.top = FloatingObjTop + Math.ceil( MoveY/this.Percentage ) + "px" ;
		
		} 
		else 
		{
			
			this.FloatingObj.style.top = DocTop + "px" ;
		
		}
	
	} 
	else 
	{
			
		this.FloatingObj.style.top = this.TopLimit + "px" ;
	
	}
	
	window.clearTimeout(this.setTimeOut);
	
	this.setTimeOut = window.setTimeout( function () { This.Run(); } , this.setTime );

}