/*
	autor:	Krzysztof [DeBoL.project] Dębiński
*/

//	sciezka bazowa strony
var	homelen, home = document.URL ? document.URL : document.location;
if((homelen = home.lastIndexOf('/'))<=8) {
	home += '/';
	homelen = home.length;
} else
	homelen++;
home = home.substring(0, homelen);

//	dodanie obslugi zdarzenia
function	eventAdd(el, event, func) {
	if (el.attachEvent)
		el.attachEvent('on' + event, func);
	else
		el.addEventListener(event, func, false);
}

//	usuniecie zdarzenia
function	eventRemove(el, event, func) {
	if (el.detachEvent)
		el.detachEvent('on' + event, func);
	else
		el.removeEventListener(n, func, false);
}

//	ustawienie znacznikow meta po zaladowaniu AJAXem
function	initMeta() {
	if(!axMeta)
		return;
	if(axMeta.title)
		document.title = axMeta.title;
}

//	konwersja tagow A na ladowanie AJAX
function	axInit() {
	var	i, url, pid, o, tags = document.getElementsByTagName('A');
	if(!tags)
		return;
	for(var a=0, b = tags.length; a<b; a++) {
		o = tags.item(a);
		//	pomijamy przegladarke zdjec
		if(o.className=='thickbox' || o.className=='noajax')
			continue;
		//	pomijamy lacza specjalne lub poza strona
		if((o.href).substring(0, homelen) == home) {
			//	adres bez bazy
			url = (o.href).substring(homelen);
			//	spr, czy to nie odnosnik poziom nizej
			if(url.indexOf('/')>=0)
				continue;
		} else {
			url = o.href
			if(url.substring(0,11) == 'javascript:'
				|| url.substring(0,7) == 'http://'
				|| url.substring(0,8) == 'https://'
				|| url.substring(0,7) == 'mailto:')
				continue;
			else {
				url = o.href;
			}
		}

		//	szukamy nazwy podstrony (pomijajac argumenty)
		if((i = url.indexOf('?'))<0)
			i = url.length;
		//	inne niz .php porzucamy
		if(url.substring(i-4, i) != '.php')
			continue;

		//	mamy id strony / argumenty
		pid = url.substring(0, i-4);
		url = url.substring(i+1);

		o.href = "javascript:axLoad(" + (url ? "'" + pid + "','" + url + "'" : "'" + pid + "'") + ");";
	}
}

//	obiekt ajax
var	pageReq = false;
//	kontener na tresc
var	pageBox = false;

//	funkcja ladowania tresci ajaxem
function	axLoad(pid, arg) {
	//	kontener na tresc
	pageBox = document.getElementById('pax');
	if(!pageBox)
		return;
	//	obiekt ajax
	if (window.XMLHttpRequest)
		pageReq = new XMLHttpRequest();
	else if (window.ActiveXObject)
		pageReq = new ActiveXObject("Microsoft.XMLHTTP");
	if(!pageReq) {
		window.alert('Twoja przeglądarka nie obsługuje technologii AJAX!');
		return;
	}
	pageReq.onreadystatechange = function() {
		if(pageReq.readyState!=4)
			return;
		//window.alert(pageReq.responseText);
		if(pageReq.status!=200)
			window.alert('Wystąpił błąd ładowania danych! ('+pageReq.status+')');
		else if(pageBox) {
			pageBox.innerHTML = pageReq.responseText;
			//	nowe adresy
			axInit();
			//	inicjacja ew. przegladarki zdjec
			if(tb_init)
				tb_init('a.thickbox');
			//	wykonanie ew. javascript
			try {
				var s = pageBox.getElementsByTagName("script");    
				for(var i=0; i<s.length; i++)
					eval(s[i].text);
				//	przesuwamy do gory
				if(window.scrollTo)
					window.scrollTo(0,0);
			} catch(e) {}
		}
	};
	var	d = new Date();
	pageReq.open('GET', 'ajax.php?' + parseInt(d.getTime()/1000) + '&pid=' + pid + (arg ? '&' + arg : ''));
	pageReq.send(null);
}
