			   function makeRequest(url, parameters, ret_funct, method, debug) {
				  var http_request = false;
				  if (window.XMLHttpRequest) { // Mozilla, Safari,...
					 http_request = new XMLHttpRequest();
					 if (http_request.overrideMimeType) {
						// set type accordingly to anticipated content type
						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 = function () {
				  if (debug) {ret_funct="document.write(data);"}
				  alertContents(ret_funct,http_request);
				  }
				  if (debug) {alert("sent parameters:" + parameters);}
				  
				  if (method=='GET') {
				  http_request.open(method, url + "?" + parameters, true);
				  http_request.send(null);
				  }
				  if (method=='POST') {
				  http_request.open(method, url, true);
				  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				  http_request.setRequestHeader("Content-length", parameters.length);
				  http_request.setRequestHeader("Connection", "close");
				  http_request.send(parameters);
				  }
			   }
			   
			   function alertContents(ret_funct,req) {
				  if (req.readyState == 4) {
					 if (req.status == 200) {
					 var data=req.responseText;
						eval(ret_funct);
					  //alert(result);
					 } else {
						alert('There was a problem with the request. code:' + req.status);
					 }
				  }
			   }
			   
			   function makeArray(data){
			   var array=eval( '(' + data + ')' );
			   return array;
			   }
			   
			   
			   function popupAlert(text) {
			   alert(text);
			   }
			   
			   function ajax_query(query,todo) {
			   params='query=' + query;
			   makeRequest("/ajax_query.php", params, todo, 'POST');
			   }
			   
			   function update_html_content(id,property,html) {
			   string='document.getElementById("' + id + '").' + property + '=\'' + html + '\';';
			   //alert(string);
			   eval(string);
				}
