//	Global
var timeout = null,
	res_array = {},	
	objId = '',
	str = '',
	len = 0,
	empt = 0,
	enable = 0,
	p_code = '';


//	functions
function getId(elem) {
	alert(elem);
}

function findObjectID(evt)	{
	var objectID = (evt.target) ? evt.target.id : ((evt.srcElement) ? evt.srcElement.id : null);
	if (objectID) alert(objectID);//return objectID;
}

function returnFalse() {
	return false;
}

function parentTop (objectId) {
	var object = document.getElementById(objectId);
	if (object.offsetTop)	{
		return object.offsetTop;
	}
	return false;
}

function parentLeft (objectId) {
	var object = document.getElementById(objectId);
	if (object.offsetLeft)	{
		return object.offsetLeft;
	}
	return false;
}

function parentWidth (objectId) {
	var object = document.getElementById(objectId);
	if (object.offsetWidth)	{
		return object.offsetWidth;
	}
	return false;
}

function parentHeight (objectId) {
	var object = document.getElementById(objectId);
	if (object.offsetHeight)	{
		return object.offsetHeight;
	}
	return false;
}

function hideResult() {
	var result_div = document.getElementById('resDiv');
	if (enable = 1) {
		result_div.innerHTML = '';
		result_div.style.display = 'none';
		res_array = null;
		enable = 0;
	}
}

function showResult() {
	var result_div = document.getElementById('resDiv'),
		top = parentTop(objId),
		left = parentLeft(objId),
		width = parentWidth(objId),
		res_str = '';
		enable = 1;		
		result_div.style.top = top + 23 + "px";
		result_div.style.left = left - 5 + "px";
		if (size == -1 || size == 0) {
			res_str += res_array[0];
			result_div.style.width = width + "px";
			result_div.style.height = 20 + "px";
		}
		if (size > 0 && size < 7) {
			height = size * 15 + 5;
			result_div.style.width = width + "px";
			result_div.style.height = height + "px";
			for (i = 0; i < size; i++) {
				res_str += res_array[i];
			}
		}
		if (size > 6) {
			result_div.style.width = width + "px";
			result_div.style.height = 120 + "px";
			for (i = 0; i < size; i++) {
				res_str += res_array[i];
			}
		}
		result_div.style.zIndex = 1000;
		result_div.style.overflow = 'auto';
		result_div.innerHTML = '' + res_str;
		result_div.style.display = 'block';
}

function selectRec(objId,name,type,code,index) {
	var	obj = document.getElementById(objId),
		obj_code = document.getElementById(objId + '_code'),
		postindex = document.getElementById('postindex');
	hideResult();
	if (index != '') {
		postindex.value = index;
	}
	obj.value = name + ' ' + type;
	obj_code.value = code;
}

function doLoadUp(str) {
	if (timeout) clearTimeout(timeout);
	timeout = setTimeout(function(){doLoad(str)}, 10);
}

function doLoad(str) {
	var q = { str: str, obj: objId, p_code: p_code, empt: empt };
	var req = new JsHttpRequest();
	req.onreadystatechange = function()	{
		if (req.readyState == 4) {
			res_array = req.responseJS.result;
			size = req.responseJS.size;
			showResult();
		}
	}
	req.caching = false;
	req.open('POST', '../backend_old.php', true);
	req.send({ q: q });
}

function focused(id) {
	hideResult();
	objId = id;
	if (id = 'state') p_code = '';
	if (id = 'city') {
		if (document.getElementById('state_code').value != '') p_code = document.getElementById('state_code').value;
		else p_code = '';
	}
	if (id = 'street') {
		if (document.getElementById('city_code').value != '') p_code = document.getElementById('city_code').value;
		else if (document.getElementById('state_code').value != '') p_code = document.getElementById('state_code').value;
		else p_code = '';
	}
}

function keyPressed() {
	var obj = document.getElementById(objId),
		code = document.getElementById(objId + '_code'),
		str = obj.value,
		len = obj.value.length;
	if (len > 2) doLoadUp(str);
	else {
		hideResult();
		code.value = '';
	}
}

function doubleClicked() {
	var len = '',
		empt = 1;
		doLoad();
}