function hint(str) {
  if (str.length == 0) {
    document.getElementById("search").innerHTML = "";
    document.getElementById("contents").style.display = "block";
    return;
  }
  if (window.XMLHttpRequest) {
    xmlhttp = new XMLHttpRequest();
  } else {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status == 200) {
      document.getElementById("search").innerHTML=xmlhttp.responseText;
        if (xmlhttp.responseText != "")
          document.getElementById("contents").style.display = "none";
    }
  }
  xmlhttp.open("GET","/?search="+encodeURIComponent(str),true);
  xmlhttp.send();
}
