// modified by wredniak gmail com
//
// version 2.3
//
// remote scripting library
// (c) copyright 2005 modernmethod, inc
// modified by wredniak a t gmail dot com
//
// w php na poczatku wrzucic - header('Content-Type: text/html; charset=iso-8859-2');

var sajax_request_type = "GET";
var sajax_failure_redirect = "";
var sajax_requests = new Array();

var load_image_src = '<img src="img/load.gif" width="16" height="16" border="0" title="Loading">';
var mposx;
var mposy

// nie wykorzystywane jeszcze
function sajax_cancel() {
	for (var i = 0; i < sajax_requests.length; i++) 
		sajax_requests[i].abort();
}

// inicjowanie
function sajax_init_object() {
	var A;
	var msxmlhttp = new Array(
		'Msxml2.XMLHTTP.5.0',
		'Msxml2.XMLHTTP.4.0',
		'Msxml2.XMLHTTP.3.0',
		'Msxml2.XMLHTTP',
		'Microsoft.XMLHTTP');
	for (var i = 0; i < msxmlhttp.length; i++) {
		try {
			A = new ActiveXObject(msxmlhttp[i]);
		} catch (e) {
			A = null;
		}
	}
	if(!A && typeof XMLHttpRequest != "undefined")
		A = new XMLHttpRequest();
	return A;
}

// przeslanie formularza jako get
// parametry:
// url - strona jaka ma byc wywolana
// where - wynik zostanie w klejony w obiekt o takim id
// args - dodatkowe pola w postaci '&zmienna=wartosc&zmienna2=wartosc2' (pamietaj o encodeURI)
function do_ajax_get(uri,where,args){
	var i, x, n;
	var uri;
	var post_data;

	insert_into_page(where,load_image_src + ' Proszę czekać...');
	if (uri.indexOf("?") == -1) 
		uri += "?";
	else
		uri += "&";
	uri += "&rsrnd=" + new Date().getTime();
	
	if (args != ""){
		uri = uri + "&"+ args;
	}
	post_data = null;
	x = sajax_init_object();
	if (x == null) {
		if (sajax_failure_redirect != "") {
			location.href = sajax_failure_redirect;
			return false;
		} else {
			return false;
		}
	} else {
		sajax_request_type = 'GET';
		x.open(sajax_request_type, uri, true);
		sajax_requests[sajax_requests.length] = x;
		x.onreadystatechange = function() {
			if (x.readyState != 4) 
				return;

			var status;
			var data;
			var txt = x.responseText.replace(/^\s*|\s*$/g,"");
			status = txt.charAt(0);
			data = txt.substring(2);
	
			if (status == "") {
				// let's just assume this is a pre-response bailout and let it slide for now
			} else if (status == "-"){
				alert("Error: " + data);
			} else if (status == "j"){
				eval(data);
			} else {
				insert_into_page(where,data);
			}
		}
	}
	x.send(post_data);
	delete x;
	return true;
}

// przeslanie formularza jako post
// parametry:
// url - strona jaka ma byc wywolana
// where - wynik zostanie w klejony w obiekt o takim id
// args - dodatkowe pola w postaci '&zmienna=wartosc&zmienna2=wartosc2' (pamietaj o encodeURI)
function do_ajax_post(uri,where,args){
	var i, x, n;
	var uri;
	var post_data;
	
	insert_into_page(where,load_image_src + ' Please wait...');
	if (uri.indexOf("?") == -1) 
		uri += "?";
	else
		uri += "&";
	post_data += "&rsrnd=" + new Date().getTime();			
	if (args != ""){
		post_data = post_data + "&"+ args;
	}
	x = sajax_init_object();
	if (x == null) {
		if (sajax_failure_redirect != "") {
			location.href = sajax_failure_redirect;
			return false;
		} else {
			return false;
		}
	} else {
		sajax_request_type = "POST";
		x.open(sajax_request_type, uri, true);
		// window.open(uri);

		sajax_requests[sajax_requests.length] = x;
		x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1");
		x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

		x.onreadystatechange = function() {
			if (x.readyState != 4) 
				return;
			var status;
			var data;
			var txt = x.responseText.replace(/^\s*|\s*$/g,"");
			status = txt.charAt(0);
			data = txt.substring(2);
			if (status == "") {
				// let's just assume this is a pre-response bailout and let it slide for now
			} else if (status == "-"){
				alert("Error: " + data);
			} else if (status == "j"){
				// zignorowac wszystko po #@#@
				data2 = data.substr(0,data.indexOf('#@#@')-1);
				eval(data2);
			} else {
				insert_into_page(where,data);
			}
		}
	}
	x.send(post_data);
	delete x;
	return true;
}

// wstawia zmienna w tresci strony
// parametry:
// where - id obiektu gdzie ma byc wstawione
// data - zawartosc do umieszcenia 
function insert_into_page(where,data){
	document.getElementById(where).innerHTML = data;
}

// przeslanie formularza jako get
// parametry:
// url - strona jaka ma byc wywolana
// where - wynik zostanie w klejony w obiekt o takim id
// [parameters] - dodatkowe pola odczytana i przekazane, muszą być w postaci
//      listy id z ktorych zostana pobrane wartosci 
//      (jesli istnieje <input name id='tess'> parametrem jest 'tess')
function ajax_get(url,where) {
	zmienne = '';
	args = arguments;
	for (i = 2; i < args.length; i++) {
		var wartosc = document.getElementById(args[i]).value;
		zmienne = zmienne + '&' + encodeURI(args[i]) + '=' + encodeURI(wartosc);
	}
	do_ajax_get(url,where,zmienne);
}

// przeslanie formularza jako post
// parametry:
// url - strona jaka ma byc wywolana
// where - wynik zostanie w klejony w obiekt o takim id
// [parameters] - dodatkowe pola odczytana i przekazane, muszą być w postaci
//      listy id z ktorych zostana pobrane wartosci 
//      (jesli istnieje <input name id='tess'> parametrem jest 'tess')
function ajax_post(url,where){
	zmienne = '';
	args = ajax_post.arguments;
	for (i = 2; i < args.length; i++) {
		var wartosc = document.getElementById(args[i]).value;
		zmienne = zmienne + '&' + encodeURI(args[i]) + '=' + encodeURI(wartosc);
	}
	do_ajax_post(url,where,zmienne);
}

// zmienia styl visivle obiektu o id obj
// [parameters] - zmienna na jaka ma byc ustawiona wartosc display
function LayerHideShow(obj){
	var args = arguments;
	visible = '';
	if (args.length>1)
		visible = args[1];
	var wskaznik = document.getElementById(obj);
	wskaznik.style.display = visible;
}

// przsuwa warstwe do okreslonej pozycji
// parametry:
// warstwa - id warstwy do przesuniecia
// x,y - nowe wspolrzedne
function LayerMove(warstwa,x,y){
	obj  = document.getElementById(warstwa);
	obj.style.left = x + 'px';
	obj.style.top = y + 'px';
}

// zwraca w zmiennych mposx, mposy
// parametry:
// el - wskaznik do obiektu (!! nie jest to nazwa id)
function getCoord(el) {
	y = 0;
	x = 0;
	while(el){
		y += el.offsetTop;
		x += el.offsetLeft;
		el = el.offsetParent;
	}
	mposy = y;
	mposx = x;
}

// zmienia ikone ladowania
function ajax_load_set(nowy_load){
	load_image_src = nowy_load;
}
