Thanks, I used your tutorial and the mcplusa technote to come up with
the following three files, which can be put on an IIS/asp intranet
webserver.
basically uses a proxy page for the gsa, then xml's the xml
=============contents of sample form ============
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://
www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style>
-->
.suggest_link {
background-color: #FFFFFF;
padding: 2px 6px 2px 6px;
}
.suggest_link_over {
background-color: #3366CC;
padding: 2px 6px 2px 6px;
}
#search_suggest {
position: absolute;
background-color: #FFFFFF;
text-align: left;
border: 1px solid #000000;
margin-top: -20px;
}
</style>
<script language="javascript" src="
http://intranet/suggest_js.js"></
script>
<script language="javascript">
function OnSubmitForm()
{
document.f.action ="
http://gsa/search";
}
function getXmlHttpRequestObject() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if(window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert("upgradethatbrowser");
}
}
//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();
function searchSuggest()
{ if (searchReq.readyState == 4 || searchReq.readyState == 0)
{ var str = escape(document.getElementById('q').value);
searchReq.open("GET", '
http://intranet/proxy.asp?token=' + str,
true);
searchReq.onreadystatechange = handleSearchSuggest;
searchReq.send(null); } }
function handleSearchSuggest()
{ if (searchReq.readyState == 4)
{ var ss = document.getElementById('search_suggest')
ss.innerHTML = '';
var str = searchReq.responseText.split(",");
for(i=0; i < str.length - 1; i++)
{ var suggest = '<div onmouseover="javascript:suggestOver
(this);" ';
suggest += 'onmouseout="javascript:suggestOut(this);" ';
suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
suggest += 'class="suggest_link">' + str[i] + '</div>';
ss.innerHTML += suggest; } }}
//Mouse over function
function suggestOver(div_value) {
div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
div_value.className = 'suggest_link';
}
//Click function
function setSearch(value) {
document.getElementById('q').value = value;
document.getElementById('search_suggest').innerHTML = '';
}
</script>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
</head>
<body >
<form name="f" method="get" action="" >
<input type="text" name="q" OnKeyUp="searchSuggest('q')";>
<input type="submit" name="search" value="search" onclick="return
OnSubmitForm();">
<input type="hidden" name="entqr" value="3">
<input type="hidden" name="entsp" value="a">
<input type="hidden" name="site" value="default_collection">
<input type="hidden" name="ud" value="1">
<input type="hidden" name="sort" value="date:D:L:d1">
<input type="hidden" name="output" value="xml_no_dtd">
<input type="hidden" name="oe" value="UTF-8">
<input type="hidden" name="ie" value="UTF-8">
<input type="hidden" name="client" value="default_frontend">
<input type="hidden" name="proxystylesheet"
value="default_frontend">
</form>
<div id="search_suggest"></div>
</body>
</html>
==========contents of suggest_js.js=======================
download the
http://gsa/suggest_js and put it on your intranet
find ("/suggest') and replace with ("
HTTP://intranet/proxy.asp")
============contents of proxy.asp===================================
<%dim srcFile
srcFile = "
http://gsa/suggest?token=" & Request.querystring("q") &
Request.querystring("token") & "&max_matches=10"
'Get the JSON
Response.Buffer = True
Dim objXMLHTTP, xml
'Create an xmlhttp object
Set xml = Server.CreateObject("Microsoft.XMLHTTP")
xml.Open "GET", srcfile , False
xml.Send
Response.Write replace(replace(replace(xml.responseText,"[",""),chr
(34),""),"]","")
'Response.Write xml.responseText
set xml= Nothing%>
<script language="javascript" src="
http://intranet/suggest_js.js"></
script>