var req;

function loadXMLDoc(url, data) {
if (window.XMLHttpRequest) {
	req = new XMLHttpRequest();
	req.onreadystatechange = processReqChange;
	req.open("POST", url, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(data);
}
else if (window.ActiveXObject) {
	req = new ActiveXObject("Microsoft.XMLHTTP");
	if (req){
		req.onreadystatechange = processReqChange;
		req.open("POST", url, true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send(data);
		}
	}
}

function processReqChange() {
var response, method, theAlert,theData;
if (req.readyState == 4) {
if (req.status == 200) {
response = req.responseXML.documentElement;
method = response.getElementsByTagName('method')[0].firstChild.data;
theAlert = response.getElementsByTagName('theAlert')[0].firstChild.data;
var resDiv;
theData = response.getElementsByTagName('updateItem');
for (var i = 0; i < theData.length; i++) {
var theItemID = theData[i].getElementsByTagName('itemID')[0].firstChild.data;
var theItemValue = theData[i].getElementsByTagName('itemValue')[0].firstChild.data;
resDiv = document.getElementById(theItemID);
resDiv.innerHTML = theItemValue;
}
if (theAlert != '0') { alert(theAlert); }
}
else { alert('Request Status: ' + req.status);}
}
}

function doCommand(responder, cmd, data) {
var url;
var request;
url = '/libs/responders/' + responder + '.php';
request = "cmd=" + cmd;
for (var i in data) {
request = request + "&data[]=" + encodeURIComponent(data[i]);
}
//alert(request);
loadXMLDoc(url, request);
}

function locateObj(obj) {
var curleft =0;
var curtop = 0;
if (obj.offsetParent) {
do {
curleft += obj.offsetLeft;
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
return [curleft,curtop];
}
}
function getToTop(id) {
var objto, ltop;
objto=document.getElementById(id);
ltop=locateObj(objto);
window.scrollTo(ltop[0], ltop[1]);
}
