var req;

function report_error( err ){
	alert(err);
}

function processReqChange(){
	if( req.readyState == 4 ){
		if( req.status == 200 ){
			if( req.responseXML ){
				res = req.responseXML.documentElement;
				if( res ){
					var method = res.getElementsByTagName('method')[0].firstChild.data;
					var arguments = res.getElementsByTagName('arguments');
					if( arguments ){
						if( (arguments[0] && arguments[0].firstChild ) ){
							arguments = arguments[0].firstChild.data;
						}else{
							arguments = '';
						}
					}
					if( ! arguments ){
						arguments = '';
					}
					try{
//						alert('cmd=\r'+method);
						var cmd = method+'('+arguments+')';
						eval(cmd);
					}catch(err){
						report_error(err);
					}
				}else{
					alert('There was a problem retreiving the XML data: \nStatus:'+req.statusText+'\nResponse:\n' + req.responseText);
				}
			}else{
				alert('There was a problem parsing the XML data: \nStatus:'+req.statusText+'\nResponse:\n' + req.responseText);
			}
		}
	}
}

function getRequest(url){
	if( window.ActiveXObject ){
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		req = new XMLHttpRequest();
	}
	if( req ){
		req.onreadystatechange = processReqChange;
		req.open("GET",url,true);
		req.send(null);
	}else{
		alert('Browser is not supported!');
		
	}
}
function postRequest(url,data){
	if( window.ActiveXObject ){
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		req = new XMLHttpRequest();
	}
	if( req ){
		req.open("POST",url,true);
//		req.setRequestHeader('content-type','text/xml');
		req.setRequestHeader('content-type','application/x-www-form-urlencoded');
		req.onreadystatechange = processReqChange;
		req.send('data='+data);
	}
}
