function ajaxSearch(query) {
	var xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
  		alert ("Your browser does not support AJAX!");
  		return;
  	} 
  	if(document.getElementById("reportbox")){
  		document.getElementById("reportbox").innerHTML='<img src="images/rotator.gif" title="Searching..."/> <font size="-1">Searching...</font>';
  	} else {
	  	document.getElementById("searchresults").innerHTML='<img src="images/rotator.gif" title="Searching..."/> <font size="-1">Searching...</font>';
  	}

  	if(query==''){
  		var url="search.php";
		url=url+"?action=search"+savevalues();
		url=url+"&boxcount="+boxcount;
	
		sforma=document.forms.forma;
		url=url+'&nickname='+escape(sforma.nickname.value);
		url=url+'&sortby1='+escape(sforma.sortby1.options[sforma.sortby1.selectedIndex].value);
		url=url+'&sortby2='+escape(sforma.sortby2.options[sforma.sortby2.selectedIndex].value);
		url=url+'&s_category='+escape(sforma.s_category.options[sforma.s_category.selectedIndex].value);
		url=url+'&s_cbid='+escape(sforma.s_cbid.value);
		url=url+'&s_desc='+escape(sforma.s_desc.value);
		url=url+'&s_firstseen='+escape(sforma.s_firstseen.value);
		url=url+'&s_lastseen='+escape(sforma.s_lastseen.value);
	} else {
		url=query;
	};
	
	url=url+'&ajax=yes';
	
	xmlHttp.onreadystatechange=function () { 
		if (xmlHttp.readyState==4) { 
			document.getElementById("searchresults").innerHTML=xmlHttp.responseText;
		}
	};
	
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);

	return void(0);
}

function savevalues(){
	var s='';
	for (var i=1; i<=boxcount; i++) {
		var oper=document.getElementById("oper_"+i);
		if(oper!=null){
			operators[i]=oper.selectedIndex;
			s+='&oper_'+i+'='+escape(oper.options[oper.selectedIndex].value);
		} else {
			operators[i]=0;
		};
		
		var somefield=document.getElementById("field_"+i);
		if(somefield!=null){
			fieldsel[i]=somefield.selectedIndex;
			s+='&field_'+i+'='+escape(somefield.options[somefield.selectedIndex].value);
		} else {
			fieldsel[i]=0;
		};
		
		var somevalue=document.getElementById("val_"+i);
		if(somevalue!=null){
			values[i]=somevalue.value;
			s+='&val_'+i+'='+escape(values[i]);
		} else {
			values[i]='';
		};
		
	};
	return(s);
}

function restorevalues(){
	for (var i=1; i<boxcount; i++) {
		document.getElementById("oper_"+i).selectedIndex=operators[i];
		document.getElementById("field_"+i).selectedIndex=fieldsel[i];
		document.getElementById("val_"+i).value=values[i];
	};
}

function resetform(){
	document.getElementById("parametri").innerHTML='';
	boxcount=0;
	addbox();
	addbox();
	addbox();
	document.getElementById("s_cbid").value='';
	document.getElementById("s_desc").value='';
	document.getElementById("s_firstseen").value='';
	document.getElementById("s_lastseen").value='';
	document.getElementById("s_category").selectedIndex=0;
	document.getElementById("sortby1").selectedIndex=0;
	document.getElementById("sortby2").selectedIndex=0;
}

function savereport(qstr){
	var reply = prompt("Enter the name of the custom report", "")
	if((reply=="") || (!reply)) { return void(0); };
	
	var xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
  		alert ("Your browser does not support AJAX!");
  		return;
  	} 
  	document.getElementById("reportbox").innerHTML='<img src="images/rotator.gif" title="Saving report...">';
 	
  	var url="reports.php?action=quickadd&ajax=yes&name="+escape(reply)+"&query="+escape(qstr);
	
	xmlHttp.onreadystatechange=function () { 
		if (xmlHttp.readyState==4) { 
			document.getElementById("reportbox").innerHTML=xmlHttp.responseText;
			listreports();
		}
	};
	
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	return void(0);
}

function deletereport(rid, rname){
 if(confirm("Really delete the report '"+rname+"'?")){
	var xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
  		alert ("Your browser does not support AJAX!");
  		return;
  	} 
  	document.getElementById("reportbox").innerHTML='<img src="images/rotator.gif" title="Deleting report...">';
 	
  	var url="reports.php?action=quickdelete&ajax=yes&id="+rid+"&query="+escape(qstr);
	
	xmlHttp.onreadystatechange=function () { 
		if (xmlHttp.readyState==4) { 
			document.getElementById("reportbox").innerHTML=xmlHttp.responseText;
			listreports();
		}
	};
	
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
 };
 return void(0);
}

function listreports(){
 var xmlHttp=GetXmlHttpObject();
 if (xmlHttp==null) {
 	alert ("Your browser does not support AJAX!");
 	return;
 } 
 document.getElementById("quickreports").innerHTML=
 document.getElementById("quickreports").innerHTML+'<br/><img src="images/rotator.gif" title="Loading reports...">';

 var url="reports.php?action=listreports&ajax=yes";

 xmlHttp.onreadystatechange=function () { 
	if (xmlHttp.readyState==4) { 
		document.getElementById("quickreports").innerHTML=xmlHttp.responseText;
	}
 };

 xmlHttp.open("GET",url,true);
 xmlHttp.send(null);

 return void(0);
}

function hidetip(){
	document.getElementById("narrowtip").style.display='none';
	
 var xmlHttp=GetXmlHttpObject();
 if (xmlHttp==null) {
 	alert ("Your browser does not support AJAX!");
 	return;
 } 
 
 var url="reports.php?action=hide_narrow_tip&ajax=yes";

 xmlHttp.onreadystatechange=function () { 
	if (xmlHttp.readyState==4) { 
		document.getElementById("narrowtip").innerHTML='';
	}
 };

 xmlHttp.open("GET",url,true);
 xmlHttp.send(null);

 return void(0);
}