/////////////////////////////////////////////
//                                         //
//  script powered by: mpps (www.mpps.pl)  //
//                                         //
/////////////////////////////////////////////

window.onerror = null;
var topMargin = 0;
var topPos    = 0;
var slideTime = 900;
var ns6 = (!document.all && document.getElementById);
var ie4 = (document.all);
var ns4 = (document.layers);

function layerObject (id, left) {
	if (ns6) {
		this.obj = document.getElementById (id).style;
		this.obj.left = left;
		return this.obj;
	}
	else if (ie4 && document.all [id]) {
			this.obj = document.all [id].style;
			this.obj.left = left;
			return this.obj;
		}
	else if (ns4) {
		this.obj = document.layers [id];
		this.obj.left = left;
		return this.obj;
	}
}

function layerSetup () {
	floatLyr = new layerObject ('floatLayer', 0);
	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.layers ["floatLayer"].top;
		this.scrollTop = window.pageYOffset;
		mainTrigger ();
	}
	else if (ns6) {
		this.currentY  = parseInt (document.getElementById ('floatLayer').style.top);
		this.scrollTop = scrollY;
		mainTrigger ();
	}
	else if (ie4 && document.all ("floatLayer") != null) {
		this.currentY  = document.all ("floatLayer").style.pixelTop;
		this.scrollTop = document.body.scrollTop -376;	//dopisane w celu przesuniecia topu dla diva do gory o roznice poczatkowa
		mainTrigger ();
	}
}

function Max (a, b) {
	if (a > b) {
	return a
	}
	else {
	return b
	}
}

function mainTrigger () {
	var newTargetY = Max (this.scrollTop, this.topMargin + topPos);
	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.floatLayer.style.pixelTop = newY;
		if (ns4)document.layers ["floatLayer"].top = newY;
		if (ns6)document.getElementById ('floatLayer').style.top = newY + "px";
	}
}

function start () {
	if (ns6||ns4) {
		pageWidth = innerWidth;
		pageHeight = innerHeight;
		layerSetup ();
		floatObject ();
	}
	else if (ie4) {
		pageWidth = document.body.clientWidth;
		pageHeight = document.body.clientHeight;
		layerSetup ();
		floatObject ();
	}
}