function createRequestObject() {
        var ro;
        var browser = navigator.appName;
        if(browser == "Microsoft Internet Explorer"){
                ro = new ActiveXObject("Microsoft.XMLHTTP");
        }else{
                ro = new XMLHttpRequest();
        }
        return ro;
}

var http = createRequestObject();
var http_request = false;

function sndReq(seID, eID, mod, sub, id, uid, refmod, dataout) {
        //document.getElementById(eID).innerHTML = 'Updating...'
        http.open('get', 'rpc.php?mod='+mod+'&sub='+sub+'&id='+id+'&uid='+uid+'&refmod='+refmod+'&eID='+eID+'&data='+dataout);
        http.onreadystatechange = handleResponse;
        http.send(null);
}

function handleResponse() {
        if(http.readyState == 4){
                var response = http.responseText;
                var update = new Array();

                if(response.indexOf('|') != -1) {
                        update = response.split('|');
                        if(document.getElementById(update[0])) {
                                document.getElementById(update[0]).innerHTML = update[1];
                        } else {
                                location.reload(true);
                        }
                }
        }
}



   
function makeRequest(url, parameters) {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/html');
			}
		} else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {

			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
			}
		}
	}
	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}
	http_request.onreadystatechange = alertContents;
	http_request.open('GET', url + parameters, true);
	http_request.send(null);
}

function alertContents() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			result = http_request.responseText;
			if(result.indexOf('|') != -1) {
				update = result.split('|');
				if(document.getElementById(update[0])) {
					document.getElementById(update[0]).innerHTML = update[1];
				} else {
					alert('1There was a problem with the request.');
				}
			} else {
				alert('2There was a problem with the request.');
			}
		} else {
			alert('3There was a problem with the request.');
		}
	}
}
   
function get(obj,output) {
	var getstr = "?eID=" + output + "&";	
	for (i=0; i<obj.getElementsByTagName("input").length; i++) {
		if (obj.getElementsByTagName("input")[i].type == "text") {
			getstr += obj.getElementsByTagName("input")[i].name + "=" + 
			obj.getElementsByTagName("input")[i].value + "&";
		}
		if (obj.getElementsByTagName("input")[i].type == "hidden") {
			getstr += obj.getElementsByTagName("input")[i].name + "=" + 
			obj.getElementsByTagName("input")[i].value + "&";
		}
		if (obj.getElementsByTagName("input")[i].type == "checkbox") {
			if (obj.getElementsByTagName("input")[i].checked) {
				getstr += obj.getElementsByTagName("input")[i].name + "=" + 
				obj.getElementsByTagName("input")[i].value + "&";
			} else {
				getstr += obj.getElementsByTagName("input")[i].name + "=&";
			}
		}
		if (obj.getElementsByTagName("input")[i].type == "radio") {
			if (obj.getElementsByTagName("input")[i].checked) {
				getstr += obj.getElementsByTagName("input")[i].name + "=" + 
				obj.getElementsByTagName("input")[i].value + "&";
			}
		}  
		if (obj.getElementsByTagName("input")[i].tagName == "SELECT") {
			var sel = obj.getElementsByTagName("input")[i];
			getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
		}
	}
	makeRequest('rpc.php', getstr);
}

function post(obj,output) {
	var getstr = "?eID=" + output + "&";	
	for (i=0; i<obj.getElementsByTagName("input").length; i++) {
		if (obj.getElementsByTagName("input")[i].type == "text") {
			getstr += obj.getElementsByTagName("input")[i].name + "=" + 
			obj.getElementsByTagName("input")[i].value + "&";
		}
		if (obj.getElementsByTagName("input")[i].type == "hidden") {
			getstr += obj.getElementsByTagName("input")[i].name + "=" + 
			obj.getElementsByTagName("input")[i].value + "&";
		}
		if (obj.getElementsByTagName("input")[i].type == "checkbox") {
			if (obj.getElementsByTagName("input")[i].checked) {
				getstr += obj.getElementsByTagName("input")[i].name + "=" + 
				obj.getElementsByTagName("input")[i].value + "&";
			} else {
				getstr += obj.getElementsByTagName("input")[i].name + "=&";
			}
		}
		if (obj.getElementsByTagName("input")[i].type == "radio") {
			if (obj.getElementsByTagName("input")[i].checked) {
				getstr += obj.getElementsByTagName("input")[i].name + "=" + 
				obj.getElementsByTagName("input")[i].value + "&";
			}
		}  
		if (obj.getElementsByTagName("input")[i].tagName == "SELECT") {
			var sel = obj.getElementsByTagName("input")[i];
			getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
		}
	}
	makePostRequest('rpc.php', getstr);
}