function showhide(e){ if(document.getElementById(e).style.display!='none') hide(e); else show(e); }
function show(e){ if(document.getElementById(e).style.display=='none') document.getElementById(e).style.display = ''; }
function hide(e){ if(document.getElementById(e).style.display!='none') document.getElementById(e).style.display = 'none'; }

function ajax(str,val,repl,caller){
	var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
	var result;
	xmlhttp.open("GET",'/ajax/'+str+'?val='+val+'&symbol=1&target='+repl+'&caller='+caller+'&rand='+Math.floor(Math.random()*1000),true); 
	xmlhttp.onreadystatechange = function(){ 
		if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
			if(repl) result = document.getElementById(repl).innerHTML = xmlhttp.responseText;
		}
	} 
	xmlhttp.send(null);
	return result;
}

function ajaxSearch(obj,box,mode){
	if(!obj.value){
		hide(box);
		return;
	}
	el = document.getElementById(box);
	el.style.width = (obj.offsetWidth-10)+'px';
	el.style.left = obj.offsetLeft+'px';
	el.style.top = (obj.offsetTop+obj.offsetHeight-1)+'px';
	result = ajax('search'+(mode ? '/'+mode : ''),obj.value,box,obj.id);
	if(result != '') show(box);
	else hide(box);
}