
function ajaxGetXML(url, method, silent) {
	var req = ajaxGetGeneric(url, method)
	return req.responseXML; 
}

function ajaxGetText(url, method) {
	var req = ajaxGetGeneric(url, method)
	return req.responseText;
}

function ajaxRPC(url, silent) {
	arr = ajaxGetText(url, 'POST').split(" ");
	if (arr[0] == "ERR") {
		if (!silent) {
			if (arr[1])
				alert("XMLHTTPRequest Error: " + arr[1]);
			else
				alert("XMLHTTPRequest Error");
		}
		return "ERR"; 
	}
	if (arr[1])
		return arr[1];
	return "" 
}

function setElementOpacity(id, op) {
	document.getElementById(id).style.opacity = op/100
}

function resizeElementByViewport(id, xo, yo) {
	var viewportwidth;
	var viewportheight;
	if (typeof window.innerWidth != 'undefined') {
	    viewportwidth = window.innerWidth,
	    viewportheight = window.innerHeight
	} else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
		viewportwidth = document.documentElement.clientWidth,
	    viewportheight = document.documentElement.clientHeight
	} else {
		viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
	    viewportheight = document.getElementsByTagName('body')[0].clientHeight
	}
	var w = (viewportwidth + xo) + 'px'
	var h = (viewportheight + yo) + 'px'
	document.getElementById(id).style.height = h
	document.getElementById(id).style.width = w
}

function cloneElementSize(src, dst) {
	document.getElementById(dst).style.height = document.getElementById(src).style.height
	document.getElementById(dst).style.width = document.getElementById(src).style.width
}

// internal routines

function ajaxGetGeneric(url, method) {

	if (!method)
		method = "GET";

	var req = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP.3.0");

	req.open(method, url, false);

	req.setRequestHeader("If-Modified-Since","Sat, 1 Jan 2000 00:00:00 GMT");
	var d = new Date();
	var t = d.getTime();
	var thetimestring=t.toString(10);
	req.send(thetimestring);

	return req 

}