function getXmlHttpRequestObject() {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    } else if(window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        alert("Your Browser Sucks!\nIt's about time to upgrade don't you think?");
    }
}
function initSuggestField(field) {
    var searchReq = getXmlHttpRequestObject();
  
  
    var sugwindow = document.createElement('div');
    sugwindow.className = 'search_suggest';
		var obj = field;
		var curtop = 0;
		var curleft = 0;
		while (obj.offsetParent)
			{
				curtop += obj.offsetTop;
				curleft += obj.offsetLeft;
				obj = obj.offsetParent;
			}

	sugwindow.style.left = curleft + 'px';
	sugwindow.style.top	 = curtop + 23 + 'px';
    document.body.appendChild(sugwindow); 
    
    field.onkeyup = function () {
        if(searchReq.readyState == 4 || searchReq.readyState == 0) {
			var str = encodeURIComponent(field.value); 
            searchReq.open("GET", 'inc/street.php?s=' + str, true);
            searchReq.onreadystatechange = handleSearchSuggest; 
            searchReq.send(null);
       }       
    }
    
    function ClickHandle()
	{
		field.value = this.innerHTML; 
		sugwindow.style.visibility = 'hidden';
	}

	function handleSearchSuggest() {
        if (searchReq.readyState == 4) {
            var str = searchReq.responseText.split("\n");
            if(str != '')
			{
			sugwindow.innerHTML = '';
            sugwindow.style.visibility = 'visible';
			sugwindow.style.width = '145px';
			sugwindow.style.height = '100px';
			sugwindow.style.overflow = 'scroll';
           	for(i=0; i < str.length; i++) {
                var suggest = document.createElement('a');
                suggest.appendChild(document.createTextNode(str[i]));
                suggest.className = 'suggest_link';
                suggest.href = 'javascript: void(0);';
                suggest.onclick = ClickHandle;
                sugwindow.appendChild(suggest);

	            }
			}
		else { sugwindow.style.visibility = 'hidden'; }
        }
    }


}
