function init() {
	var cField = document.getElementById('cField');
	var pField = document.getElementById('pField');
	
	if (cField && pField) {
		cField.onkeyup = function(event) {
			getSuggest('company',event);
		}
		cField.onfocus = function() {
			document.getElementById('pDiv').style.display = "none";
		}
		pField.onkeyup = function(event) {
			getSuggest('product',event);
		}
		pField.onfocus = function() {
			document.getElementById('cDiv').style.display = "none";
		}
	}
}

function getSuggest(field,keyEvent) {
	keyEvent = (keyEvent) ? keyEvent : window.event;
	input = (keyEvent.target) ? keyEvent.target : keyEvent.srcElement;
	if (input.value && input.value.length>2) {
		getData("suggest.pl?q="+field+"&s="+input.value,field);
	} else {
		var resultDiv = document.getElementById(field.charAt(0)+"Div");
		resultDiv.style.display = "none";
		resultDiv.innerHTML = "";
	}
}

function getData(dataSource,field) {
	var request = false;
	if (window.XMLHttpRequest) {
		request = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		request = new ActiveXObject("Microsoft.XMLHttp");
	}
	if (request) {
		request.open("GET", dataSource, true);
		request.onreadystatechange = function() {
			if (request.readyState == 4 && request.status == 200) {
				var resultArray = eval(request.responseText);
				var resultDiv = document.getElementById(field.charAt(0)+"Div");
				resultDiv.innerHTML = "";
				for (var i=0; i<resultArray.length; i++) {
					if (resultArray[i][1]) resultDiv.innerHTML += "<a href='exp/"+resultArray[i][0]+"'>"+resultArray[i][1]+"</a>";
					else resultDiv.innerHTML += "<a href='exp/search.pl?"+field+"="+escape(resultArray[i][0])+"'>"+resultArray[i][0]+"</a>";
				}
				resultDiv.style.display = "block";
				delete request;
				request = null;
			}
		}
		request.send(null);
	}
}

window.onload = init;

