function createRequestObject() {

    var ro;
    var browser = navigator.appName;
    var agent = navigator.userAgent;

    if (browser == "Microsoft Internet Explorer" && agent.indexOf("Opera")==-1){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }

	else {
        ro = new XMLHttpRequest();
    }

    return ro;

}

var http = createRequestObject();

function sndReq(query, method, url, noload) {

	if (!noload) {
		loading(1);
	}

	if (!method) method = 'get'

	if (!url) url = '/rpc/'
	query += '&r='+Math.round(9999999*Math.random());

	if (method == 'get') {
		url += '?'+query;
		query = null;
	}

	http.open(method.toUpperCase(), url);
	http.onreadystatechange = handleResponse;
	if (method == 'post') {
	    http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
	}
	http.send(query);

}

function handleResponse() {

    if(http.readyState == 4){

        var response = http.responseText;
        var update = new Array();

        if(response.indexOf('||' != -1)) {
            update = response.split('||');

			if (update[0] == "s") {
	            document.getElementById(update[1]).innerHTML = update[2];
			}

			else if (update[0] == "e") {
				eval(update[1]);
			}

        }
    }

	status = ''

}

function getFormValues(fobj) {

	var str = "";
	var valueArr = null;
	var val = "";
	var cmd = "";

	for(var i = 0;i < fobj.elements.length;i++) {
		ename = fobj.elements[i].name;
		if (ename) {
			etype = fobj.elements[i].type;
			if (etype == "select-one") {
				str += ename + "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";
			}
			else if (etype == "select-multiple") {
				selected = new Array();
				for (var j = 0; j < fobj.elements[i].options.length; j++) {
					if (fobj.elements[i].options[j].selected) {
						str += ename + "=" + escape(fobj.elements[i].options[j].value) + "&";
					}
				}
			}
			else if (etype == "radio") {
				radioVal = getRadioValue(fobj.elements[i]);
				if (radioVal) {
					str += ename + "=" + radioVal + "&";
				}	
			}
			else if (etype == "checkbox") {
				if (fobj.elements[i].checked) {
					str += ename + "=" + escape(fobj.elements[i].value) + "&";
				}
			}
			else {
				str += ename + "=" + escape(fobj.elements[i].value) + "&";
			}
		}
	}

	str = str.substr(0,(str.length - 1));

	return str;

}

function getRadioValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function getIndex(what,which) {
    for (var i=0;i < what.elements.length;i++)
        if (what.elements[i].name == which)
            return i;
    return -1;
}


function hideStatus() {
	window.status=''
	return true
}