//
// Impact AS ScrollFix Banner Toolkit (version 0.71, October 2005)
// 2004 - 2007 (c) Via Aurea, s.r.o.
// 
// http://www.viaaurea.cz/
// http://www.impact.as/
//

//
// iLayer nastavení
//
var VAsf_scrollEnable = true;
var VAsf_div = "banner-sky-scroll"    //název DIVu s bannerem

var VAsf_offsetX = 0;       // relativní posun X vůči obalujícímu relativnímu DIVu
var VAsf_offsetY = 0;       // relativní posun Y vůči obalujícímu relativnímu DIVu
var VAsf_screenTopMargin = 10; // okraj, který se má držet od horního kraje obrazovky
var VAsf_refresh = 500;     // rychlost časovače, dopr. 330 ms pokud se nepoužívá VAsf_delayed, jinak 100ms
var VAsf_delayed = 0;		// počet kroků zpoždění při scrollovní "gumový efekt"

//
// Globální proměnné a funkce
//
var VAsf_scrollObj;
var VAsf_topQueue = new Array(); 
var VAsf_firstPos = -1;


function VAsf_scrollX(){
	var x;
	if (self.pageXOffset){
		x = self.pageXOffset;
	}else if (document.documentElement && document.documentElement.scrollLeft){
		x = document.documentElement.scrollLeft;
	}else if (document.body){
		x = document.body.scrollLeft;
	}
	return x;
}

function VAsf_scrollY(){
	var y;
	if (self.pageYOffset){
		y = self.pageYOffset;
	}else if (document.documentElement && document.documentElement.scrollTop){
		y = document.documentElement.scrollTop;
	}else if (document.body){
		y = document.body.scrollTop;
	}
	return y;
}

function VAsf_getInnerWidth(){
	x = 0;
	if (self.innerWidth){
		x = self.innerWidth;
	}else if (document.documentElement && document.documentElement.clientWidth){
		x = document.documentElement.clientWidth;
	}else if (document.body){
		x = document.body.clientWidth;
	}
	return x;
}

function VAsf_getInnerHeight(){
	y = 0;
	if (self.innerHeight){
		y = self.innerHeight;
	}else if (document.documentElement && document.documentElement.clientHeight){
		y = document.documentElement.clientHeight;
	}else if (document.body){
		y = document.body.clientHeight;
	}
	return y;
}

function VAsf_findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
//			alert(obj.offsetTop);
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
//				alert(obj.offsetTop);
		}
	}
	return [curleft,curtop];
}


function VAsf_scrollRefresh(){
	var VAsf_topTmp = 0;
	
	if(!VAsf_scrollEnable) return;
	
	if (VAsf_firstPos < 0) {
		tmpArr = VAsf_findPos(VAsf_scrollObj);
		VAsf_firstPos = tmpArr[1];
	}
	
	var screenHeight = VAsf_getInnerHeight();
	var scrollY = VAsf_scrollY();
	
	if ((scrollY + VAsf_screenTopMargin) < (VAsf_firstPos + VAsf_offsetY)){
		VAsf_topTmp = VAsf_offsetY;
	}else{
		VAsf_topTmp = scrollY + VAsf_screenTopMargin - VAsf_firstPos;
	}
	
	VAsf_topQueue.push(VAsf_topTmp);
	if (VAsf_topQueue.length > VAsf_delayed){
		VAsf_topTmp = VAsf_topQueue.shift();
	}else{
		return;
	}
	
	VAsf_scrollObj.style.top = VAsf_topTmp + "px";
	// nasledujici konstrukce kvuli FF
/*		if (VAsf_old != VAsf_topTmp){
		VAsf_scrollObj.style.top = VAsf_old+"px";
		VAsf_scrollObj.style.top = VAsf_topTmp+"px";
	}
	VAsf_old = VAsf_topTmp;
*/	
}

function VAsf_scrollStop(obj){
	VAsf_scrollEnable = false;
}

function VAsf_scrollInit(divName){
			
	if(typeof(divName) == "undefined"){
		VAsf_scrollObj = document.getElementById(VAsf_div);
	}else{
		VAsf_scrollObj = document.getElementById(divName);
	}
	
	if (VAsf_scrollObj) {
		setInterval("VAsf_scrollRefresh()", VAsf_refresh); //mozilla scroll mouse wheel bug
		
		var VAsf_scrollOnScrollOld = (window.onscroll) ? window.onscroll : function () {};
		window.onscroll = function () {VAsf_scrollOnScrollOld(); VAsf_scrollRefresh()};
		
		var VAsf_scrollOnResizeOld = (window.onresize) ? window.onresize : function () {};
		window.onresize = function () {VAsf_scrollOnResizeOld(); VAsf_scrollRefresh()};
	}
}