var searchReq = getXmlHttpRequestObject();
 
function checkKeys(evt) {
    if (typeof window.event != "undefined") evt = window.event;
    var keycode = evt.keyCode;
    var change = 0;
    var changed = 0;
    if (keycode == 40) {
	var t_obj = document.getElementById('ssg');
        var cs = t_obj.getElementsByTagName("div");
        for (var i = 0; i < cs.length; i++) {
            var choice = cs[i];
            if (change == 1) {
                choice.className = 'suggest_link_over';
                var change = 0;
                changed = 1;
		break;
            }
	    if (choice.className == 'suggest_link_over') { 
		choice.className = 'suggest_link';
		var change = 1;
	    }
	}
	if (changed == 0) { 
	    var choice = cs[0];
	    choice.className = 'suggest_link_over';
	}
    }
    if (keycode == 38) {
	var t_obj = document.getElementById('ssg');
        var cs = t_obj.getElementsByTagName("div");
        for (var i = 0; i < cs.length; i++) {
            var choice = cs[i];
            if (choice.className == 'suggest_link_over') {
                choice.className = 'suggest_link';
                var choice = cs[i - 1];
		choice.className = 'suggest_link_over';
		break;
	    }
	}
    }
    
    if (keycode == 13) {
	var t_obj = document.getElementById('ssg');
        var cs = t_obj.getElementsByTagName("div");
        for (var i = 0; i < cs.length; i++) {
	    var choice = cs[i];
            if (choice.className == 'suggest_link_over') {
		document.location = choice.title;
	    }
	}
    }
 
    if (keycode != 40 && keycode != 38 && keycode != 13) {
	setTimeout('prepareSearch()', 550);
    }
}
 
function createView(val) {
    document.getElementById('ssg').style.cssText = 'background-color: #FFFFFF;position: absolute;overflow: hidden;z-index: 150;width: 500px;border: solid 1px #CCCCCC;';
    if (val) { document.getElementById('ssg').innerHTML = val; }
}
 
function removeView() {
    if (document.getElementById('ssg')) { document.getElementById('ssg').style.cssText = 'display: none'; }
}
 
function getXmlHttpRequestObject() {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    } else if(window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        alert("no ajax support for old browsers");
    }
}
 
function searchSuggest(qu) {
    var q = document.getElementById('q').value;
    if (q == qu) {
	var qb = document.getElementById('q').value;
	if (qb.length >= 2) {
	    if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('q').value);
		searchReq.open("GET", 'suggest?q=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest; 
		searchReq.send(null);
	    }
	} else {
	    setTimeout('removeView()',550);
	}
    }
}
 
function handleSearchSuggest() {
    if (searchReq.readyState == 4) {
	createView(' ');
        var str = searchReq.responseText.split("\n");
        for(i=0; i < str.length - 1; i++) {
	    if (str[i].indexOf('uggestio') > -1) {
		var suggest = '&nbsp;' + str[i];
	    } else { 
		var stArr = str[i].split('|||');
		var suggest = '<a href="'+stArr[2]+'" style="text-decoration: none;"><div title="'+stArr[2]+'" onmouseover="suggestOver(this)" onmouseout="suggestOut(this)" class="suggest_link" title=\"';
		if (stArr[0] != 'null') {
		    suggest += stArr[0] + ' ';
		}
		suggest += stArr[1]+'\">';
		if (stArr[0] != 'null') {
		    suggest += '<span style="color: #000000;text-decoration: none;font-size: 11px;">' + stArr[0] + '</span> ';
		}
		if (stArr[1] != 'null') {
		    suggest += '<span style="color: green;text-decoration: none;font-size: 11px;">(' + stArr[1] + ')</span></div></a>';
		}
	    }
	    document.getElementById('ssg').innerHTML += suggest;
        }
    }
}
 
function prepareSearch () {
    var qu = document.getElementById('q').value;
    if (qu.length >= 2) { createView('&nbsp;<span style="color: #CCCCCC">Loading...</span>'); }
    setTimeout(function(){searchSuggest(qu)},350)
}
function suggestOver(div_value) {
    div_value.className = 'suggest_link_over';
}
 
function suggestOut(div_value) {
    div_value.className = 'suggest_link';
}
 
function setSearch(value) {
    document.getElementById('q').value = value;
    document.getElementById('ssg').innerHTML = '';
}
