function prepare_request() 
{
	var http_request = false;
	
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// See note below about this line
		}
	} 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) {
	  return false;
	}
	return http_request;
}

function perform_get(fname)
{
	var oRequest = prepare_request();
	if (oRequest){
	var sURL  = "http://"+self.location.hostname+'/'+fname+"&sess="+base64_encode(Math.random());
	
	oRequest.open("GET",sURL,false);
	oRequest.setRequestHeader("User-Agent",navigator.userAgent);
    oRequest.setRequestHeader('Cache-Control', 'must-revalidate');
	oRequest.send(null)
	if (oRequest.readyState == 4) {
         if (oRequest.status == 200) {
            return(oRequest.responseText); 
         } else {
            alert('There was a problem with the request.');
         }
      }
	}
}

function perform_post(fname, values)
{
	var oRequest = prepare_request();
	if (oRequest){
	var sURL  = "http://"+self.location.hostname+'/'+fname;
	
	oRequest.open("POST",sURL,false);
	oRequest.setRequestHeader("User-Agent",navigator.userAgent);
    oRequest.setRequestHeader('Cache-Control', 'must-revalidate');
    oRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=windows-1251');
	var val="";
    for (var i=0; i < values.length; i++) {
	val+='&'+values[i][0]+'='+values[i][1];
	}
	oRequest.send('rand_id=1'+val);
	
	if (oRequest.readyState == 4) {
         if (oRequest.status == 200) {
            return(oRequest.responseText); 
         } else {
            alert('There was a problem with the request.');
         }
      }
	}
}