var PrzeladujBlokBlok = '';
var PrzeladujBlokAc = false;
function PrzeladujBlok(url, blok) {
	if(PrzeladujBlokAc == false){
		PrzeladujBlokBlok = blok;
		if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = PrzeladujBlokReqChange;
			req.open("GET",url+((url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()), true);
			req.send(null);
			PrzeladujBlokAc = true;
		} else if (window.ActiveXObject) {
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = PrzeladujBlokReqChange;
				req.open("GET", url, true);
				req.send();
				PrzeladujBlokAc = true;
			}
		}
	} else {
		PrzekadujBlokKolejkaDodaj(url, blok);
	}
}

function PrzeladujBlokReqChange() {
	if (req.readyState == 4) {
		if (req.status == 200) {
		x=req.responseText;
			if(x){
				document.getElementById(PrzeladujBlokBlok).innerHTML = x;
				var scripts = [];
				var script_sources = x.split(/.*?<script.*?>/);
				counter = 0;
				for(var i=1; i < script_sources.length; i++){ scripts[counter] = script_sources[i].split(/<\/script>/)[0]; counter++; }
				for(var i=0; i < counter; i++){ eval(scripts[i]); }
				if(PrzekadujBlokKolejkaTablica.length == 0 && document.getElementById('PrzykrycieLadowanie')){
					document.getElementById('PrzykrycieLadowanie').style.display = 'none';
				}
			}
			delete(req);
			PrzeladujBlokAc = false;
		} else {
		alert("BŁĄD "+req.status);
		}
	}
}

var PrzekadujBlokKolejkaTablica = new Array();
var PrzekadujBlokKolejkaInterval = false;

function PrzekadujBlokKolejkaDodaj(url, blok){
	PrzekadujBlokKolejkaTablica.push(new Array(url, blok));
	if(PrzekadujBlokKolejkaInterval == false){
		PrzekadujBlokKolejkaInterval = setInterval('PrzekadujBlokKolejkaSprawdz()', 250);
	}
}

function PrzekadujBlokKolejkaSprawdz(){
	//alert("Kolkeja sprawdzam");
	if(PrzeladujBlokAc == false){
		var KolejkaElement = PrzekadujBlokKolejkaTablica.shift();
		//alert(KolejkaElement);
		PrzeladujBlok(KolejkaElement[0], KolejkaElement[1]);
		//alert("Kolkeja wykonuję");
		if(PrzekadujBlokKolejkaTablica.length == 0){
			clearInterval(PrzekadujBlokKolejkaInterval);
			PrzekadujBlokKolejkaInterval = false;
			//alert("Kolkeja koniec");
		}
	}
}

function findPos(obj) {
	var nleft = 0;
	var ntop = 0;
	if (obj.offsetParent) {
		nleft = obj.offsetLeft
		ntop = obj.offsetTop
		while (obj = obj.offsetParent) {
			nleft += obj.offsetLeft
			ntop += obj.offsetTop
		}
	}
	return [nleft,ntop];
}

var PrzeladujChmurkaAc = false;
var PrzeladujChmurkaElement;

function PrzeladujChmurke(url, el) {
	PrzeladujChmurkaElement = el;
	if(PrzeladujChmurkaAc == false){
		if (window.XMLHttpRequest) {
			reqChmurka = new XMLHttpRequest();
			reqChmurka.onreadystatechange = PrzeladujChmurkeReqChange;
			reqChmurka.open("GET",url+((url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()), true);
			reqChmurka.send(null);
			PrzeladujChmurkaAc = true;
		} else if (window.ActiveXObject) {
			reqChmurka = new ActiveXObject("Microsoft.XMLHTTP");
			if (reqChmurka) {
				reqChmurka.onreadystatechange = PrzeladujChmurkeReqChange;
				reqChmurka.open("GET", url, true);
				reqChmurka.send();
				PrzeladujChmurkaAc = true;
			}
		}
	}
}

function PrzeladujChmurkeReqChange() {
	if (reqChmurka.readyState == 4) {
		if (reqChmurka.status == 200) {
			var chmurkaDiv = document.getElementById('chmurkaarea');
			chmurkaDiv.style.display= 'block';
			chmurkaDiv.innerHTML = reqChmurka.responseText;
			var poz = findPos(PrzeladujChmurkaElement);
			chmurkaDiv.style.top = poz[1] - chmurkaDiv.offsetHeight + 'px';
			chmurkaDiv.style.left = poz[0] - 10 + 'px';
			delete(poz);
			delete(reqChmurka);
		} else {
			alert("BŁĄD #"+reqChmurka.status);
		}
	}
	PrzeladujChmurkaAc = false;
}

function ChmurkaDuzaZaladowano(scrolle, wyrownanie, typwyrownanie){
	var chmurkaduzasrodek = document.getElementById('chmurkaduzasrodek');
	var chmurkaduzaarea = document.getElementById('chmurkaduzaarea');
	chmurkaduzasrodek.style.display = 'block';
	
	chmurkaduzasrodek.style.top = Math.round((chmurkaduzaarea.offsetHeight - chmurkaduzasrodek.offsetHeight) / 2) + 'px';
	chmurkaduzasrodek.style.left = Math.round((chmurkaduzaarea.offsetWidth - chmurkaduzasrodek.offsetWidth) / 2) + 'px';
	
	document.getElementById('chmurkaduzaloading').style.display = 'none';
	for (var i=0; i<scrolle.length; i++) {
		CSBfleXcroll(scrolle[i]);
	}
	
	if(wyrownanie !== undefined){
		var wyrownajdo = document.getElementById(wyrownanie);
		var poz = findPos(wyrownajdo);
		var topPoz = (poz[1] + ((wyrownajdo.offsetHeight - chmurkaduzasrodek.offsetHeight)/2));
		if(topPoz < 0){ topPoz = 0; }
		var leftPoz = (poz[0] + ((wyrownajdo.offsetWidth - chmurkaduzasrodek.offsetWidth)/2));
		if(leftPoz < 0){ leftPoz = 0; }
		if(typwyrownanie == 'h' || typwyrownanie == 'hw' || typwyrownanie == undefined){
			chmurkaduzasrodek.style.top = topPoz+'px';
		}
		if(typwyrownanie == 'w' || typwyrownanie == 'hw' || typwyrownanie == undefined){
			chmurkaduzasrodek.style.left = leftPoz+'px';
		}
	}
}

function ChmurkaDuzaZamknij(){
	document.getElementById('chmurkaduzaloading').style.display = 'block';
	document.getElementById('chmurkaduzasrodek').style.display = 'none';
	document.getElementById('chmurkaduzaarea').style.display = 'none';
}

function PrzykrycieLadowaniePokaz(id, el){
	ladowanie.style.display="block";
	var dane = document.getElementById(id);
	var obj = dane;
	var nleft = 0;
	var ntop = 0;
	if (obj.offsetParent) {
		nleft = obj.offsetLeft
		ntop = obj.offsetTop
		while (obj = obj.offsetParent) {
			nleft += obj.offsetLeft
			ntop += obj.offsetTop
		}
	}
	ladowanie.style.left = nleft+'px';
	ladowanie.style.top = ntop+'px';
	ladowanie.style.height = dane.offsetHeight+'px';
	ladowanie.style.width = dane.offsetWidth+'px';
	var PrzykrycieLadowanieSrodek = document.getElementById('PrzykrycieLadowanieSrodek');
	if(el !== undefined){
		var elobj = document.getElementById(el);
		var elpoz = findPos(elobj);
		PrzykrycieLadowanieSrodek.style.top = elpoz[1] - ladowanie.offsetTop - 25 + Math.ceil(elobj.offsetHeight / 2) + 'px';
		PrzykrycieLadowanieSrodek.style.left = elpoz[0] - ladowanie.offsetLeft - 25 + Math.ceil(elobj.offsetWidth / 2) + 'px';
	} else {
		PrzykrycieLadowanieSrodek.style.top = Math.ceil(ladowanie.offsetHeight / 2) - 25 + 'px';
		PrzykrycieLadowanieSrodek.style.left = Math.ceil(ladowanie.offsetWidth / 2) - 25 + 'px';
	}
}
