var gsc_basicmatch = /[a-z0-9]/i;
function gsc_getquery(elt, q)
{
q = ltrim(q);
q = q.replace('\s+', ' ');
if (q.length == 0 || !gsc_basicmatch.test(q)) {
gsc_emptyresults(elt);
return '';
}
if (elt.currentQuery && (elt.currentQuery == q || elt.tempQuery == q))
return '';
elt.currentQuery = q;
return q;
}
function gsc_hide(elt)
{
if (elt) elt.style.display = 'none';
}
function gsc_ishidden(elt)
{
return elt.style.display == 'none';
}
function gsc_show(elt)
{
if (elt) elt.style.display = 'block';
}
function gsc_emptyresults(elt)
{
if (!elt) return;
elt.innerHTML = '';
elt.numResults = 0;
elt.selectedIndex = 0;
elt.results = [];
gsc_hide(elt);
}
function gsc_addresult(elt, qElt, q, c, sel)
{
if (!elt) return;
if (sel) elt.selectedIndex = elt.numResults;
idx = elt.numResults;
elt.results[elt.numResults++] = q;
var _res = '';
_res += '
';
_res += '' + q + '';
if (c.length > 0)
_res += '' + c + '';
_res += '
';
elt.innerHTML += _res;
}
function gsc_mouseover(id, qId, idx)
{
elt = document.getElementById(id);
elt.selectedIndex = idx;
qElt = document.getElementById(qId);
qElt.focus();
gsc_highlightsel(elt);
}
function gsc_mouseout(id, idx)
{
elt = document.getElementById(id);
elt.selectedIndex = -1;
gsc_highlightsel(elt);
}
function gsc_mouseclick(id, qId, idx)
{
elt = document.getElementById(id);
qElt = document.getElementById(qId);
qElt.value = elt.results[idx];
// qElt.form.submit();
location.href="http://word.sc/" + qElt.value;
//location.href="http://word.sc/" + document.getElementById("qId").value;
return false;
}
function gsc_handleup(elt, qElt)
{
if (elt.numResults > 0 && gsc_ishidden(elt)) {
gsc_show(elt);
return;
}
if (elt.selectedIndex == 0)
return;
else if (elt.selectedIndex < 0)
elt.selectedIndex = elt.numResults - 1;
else
elt.selectedIndex--;
gsc_highlightsel(elt, qElt);
}
function gsc_handledown(elt, qElt)
{
if (elt.numResults > 0 && gsc_ishidden(elt)) {
gsc_show(elt);
return;
}
if (elt.selectedIndex == elt.numResults - 1)
return;
else if (elt.selectedIndex < 0)
elt.selectedIndex = 0;
else
elt.selectedIndex++;
gsc_highlightsel(elt, qElt);
}
function gsc_highlightsel(elt, qElt)
{
divs = elt.getElementsByTagName('div');
for (i = 0; i < divs.length; i++) {
if (i == elt.selectedIndex) {
divs[i].className = 'srs';
elt.tempQuery = elt.results[i];
if (qElt) {
qElt.value = elt.results[i];
if (qElt.createTextRange) {
r = qElt.createTextRange();
r.moveStart('character', elt.currentQuery.length);
r.moveEnd('character', qElt.value.length);
r.select();
}
}
}
else
divs[i].className = 'sr';
}
}
__query.onkeydown = function(e)
{
key = ajaxac_getkeycode(e);
switch (key) {
case 27: // escape
gsc_hide(__results);
return false;
break;
case 38: // up arrow
gsc_handleup(__results, __query);
return false;
break;
case 40: // down arrow
gsc_handledown(__results, __query);
return false;
break;
default:
__gsctimer.start();
}
return true;
}
__results.onload = function() { gsc_emptyresults(this); }
__results.onload();
__gsctimer = new ajaxac_countdowntimer('__gsctimer.ontimerexpire()', 350);
__gsctimer.ontimerexpire = function()
{
_q = gsc_getquery(__results, __query.value);
if (_q.length == 0)
return false;
try {
__gscfetch = ajaxac_createXMLHttp();
__gscfetch.open('get', '/index.php/getsuggestions' + '?' + 'q=' + encodeURIComponent(_q));
__gscfetch_xmlhttpsuccess = function()
{
_data = ajaxac_receivejsarray(__gscfetch.responseText);
gsc_emptyresults(__results);
if (_data.length > 0) {
for (i = 0; i < _data.length; i++) {
gsc_addresult(__results, __query, _data[i][0], _data[i][1], i == 0);
}
gsc_show(__results);
}
}
__gscfetch_onreadystatechange = function()
{
if (__gscfetch.readyState == 4) {
switch (__gscfetch.status) {
case 200: if (__gscfetch_xmlhttpsuccess) __gscfetch_xmlhttpsuccess(); break;
}
}
}
__gscfetch.onreadystatechange = __gscfetch_onreadystatechange;
__gscfetch.send(null);
}
catch (e) { }
return false;
}