/**
 * Ajax Connections
 */

function createRequestObject() {
	var requestObject;
	var browser    = navigator.appName;
	var userAgent  = navigator.userAgent;
	
	if (browser == 'Microsoft Internet Explorer' && browser.indexOf('Opera') == -1) {
		requestObject = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		requestObject = new XMLHttpRequest();
	}
	return requestObject;
}

var http = createRequestObject();

function sendRequest(action, parameters) {
	var rpcUrl = '/includes/rpc.php?action=' + action;
	
	if (parameters.length > 0) {
		var params = new Array();
		params = parameters.split('|');
		
		for (var i = 0; i < params.length; i++) {
			rpcUrl = rpcUrl + '&param' + i + '=' + params[i];
		}
	}
	
	http.open('post', rpcUrl);
	http.onreadystatechange = handleResponse;
	http.send(null);
}

function handleResponse() {
	if (http.readyState == 4 && http.status == 200) {
		var response  = http.responseText;
		var update    = new Array();
		var func;
		var params;

		if (response.indexOf('|' != -1)) {
			update = response.split('|');
			func   = update.shift();
			params = (update.length > 0) ? "'" + update.join("\', \'") + "'" : "";
			eval(func + '(' + params + ');');
		}
	}
}