function ds2_build_service_url() {
	var url = document.location.href.split('/')[3].split('-'),
		menus_id = url[0],
		page_id = url[1];

	return "/" + menus_id + "-" + page_id + "-ds2e_svc-";
}

function ds2_error(req, url) {
	//alert("DS2: Blad fatalny.");
}

function ds2_make_args(args_array) {
	var str = '';
	for(var i = 0, len = args_array.length; i < len; i++) {
		str += encodeURIComponent(args_array[i]) + ",";
	}

	return str.substring(0, str.length - 1);
}

var ds2_xhr = null;
function ds2_invoke(service, method, args, fn) {
	var serviceUrl = ds2_build_service_url();

	var request;
	if(ds2_xhr == null) {
		request = (typeof(XMLHttpRequest) != 'undefined')? new XMLHttpRequest(): new ActiveXObject("Msxml2.XMLHTTP.3.0");
		ds2_xhr = request;
	} else
		request = ds2_xhr;

	var serviceArgs = service + "-" + method + "-" + ds2_make_args(args) + ".htm";

	request.open("GET", serviceUrl + serviceArgs, true);
	//alert(serviceUrl + serviceArgs);
	request.onreadystatechange = function() {
		if(request.readyState == 4 && request.status == 200) {
			fn(request);
		} else if(request.readyState == 4 && request.status != 200) {
			ds2_error(request, serviceUrl);
		}
	};

	request.send(null);
	return;
}

