//----------------------------------------------
//Floating v1.2 Source By Bermann
//dobermann75@gmail.com
//----------------------------------------------

//new Floating(Àû¿ëÇÒ°³Ã¼ , XÃàµ¿ÀÛ¿©ºÎ, YÃàµ¿ÀÛ¿©ºÎ, XÃà¿©¹é , YÃà¿©¹é , ¹Ì²ô·¯Áö´Â¼Óµµ:ÀÛÀ»¼ö·Ïºü¸§..±âº»20 , ºü¸£±â:ÀÛÀ»¼ö·ÏºÎµå·¯¿ò..±âº»10);

function Floating(FloatingObj, left, top, MarginX, MarginY, Percentage, setTime) {
	this.FloatingObj = FloatingObj;
	this.left = left;
	this.top = top;
	this.MarginX = (MarginX) ? MarginX : 0;
	this.MarginY = (MarginY) ? MarginY : 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 () {
	if ((document.documentElement.scrollLeft + document.documentElement.scrollTop) > (document.body.scrollLeft + document.body.scrollTop)) {
		this.Body = document.documentElement;
	} else {
		this.Body = document.body;
	}

	var This = this;
	var FloatingObjLeft = (this.FloatingObj.style.left) ? parseInt(this.FloatingObj.style.left,10) : this.FloatingObj.offsetLeft;
	var FloatingObjTop = (this.FloatingObj.style.top) ? parseInt(this.FloatingObj.style.top,10) : this.FloatingObj.offsetTop;
	var DocLeft = this.Body.scrollLeft + this.MarginX;
	var DocTop = this.Body.scrollTop + this.MarginY;

	var MoveX = Math.abs(FloatingObjLeft - DocLeft);
	MoveX = Math.ceil(MoveX / this.Percentage);
	var MoveY = Math.abs(FloatingObjTop - DocTop);
	MoveY = Math.ceil(MoveY / this.Percentage);

	if (this.left == true) {
		if (FloatingObjLeft < DocLeft) {
			this.FloatingObj.style.left = FloatingObjLeft + MoveX + "px";
		} else {
			this.FloatingObj.style.left = FloatingObjLeft - MoveX + "px";
		}
	}

	if (this.top == true) {
		if (FloatingObjTop < DocTop) {
			this.FloatingObj.style.top = FloatingObjTop + MoveY + "px";
		} else {
			this.FloatingObj.style.top = FloatingObjTop - MoveY + "px";
		}
	}

	window.clearTimeout(this.setTimeOut);
	this.setTimeOut = window.setTimeout(function () { This.run(); }, this.setTime);
}