
addItemToList = function(selectedElement) {
	$('dealerName').value = Element.collectTextNodesIgnoreClass(selectedElement.firstChild, 'informal');
	$('dealerId').value = selectedElement.lastChild.innerHTML;
	$('dealerName').focus();
}

updateChoicesFromJson = function(instance) {

	var ret       = []; // Beginning matches
	var partial   = []; // Inside matches
	var entry     = instance.getToken();
	var count     = 0;

	for (var i = 0; i < instance.options.array.length &&
		ret.length < instance.options.choices ; i++) {

		var elem = instance.options.array[i];
		var elemName = elem.name;

		var foundPos = instance.options.ignoreCase ?
			elemName.toLowerCase().indexOf(entry.toLowerCase()) :
			elemName.indexOf(entry);

		while (foundPos != -1) {
			var elemAddressDiv = "";
			if (elem.address != "") {
				elemAddressDiv = "<div class='elemAddress'>" + elem.address + "</div>";
			}

			if (foundPos == 0 && elemName.length != entry.length) {
				ret.push("<li><div class='elemName'><strong>" + elemName.substr(0, entry.length) + "</strong>" +
					elemName.substr(entry.length) + "</div>" + elemAddressDiv + "<div style='display:none;height:0px;'>" + elem.id + "</div></li>");
				break;
			} else if (entry.length >= instance.options.partialChars && instance.options.partialSearch && foundPos != -1) {
				if (instance.options.fullSearch || /\s/.test(elemName.substr(foundPos-1,1))) {
					partial.push("<li><div class='elemName'>" + elemName.substr(0, foundPos) + "<strong>" +
						elemName.substr(foundPos, entry.length) + "</strong>" + elemName.substr(
						foundPos + entry.length) + "</div>" + elemAddressDiv + "<div style='display:none;height:0px;'>" + elem.id + "</div></li>");
					break;
				}
			}

			foundPos = instance.options.ignoreCase ?
			elemName.toLowerCase().indexOf(entry.toLowerCase(), foundPos + 1) :
			elemName.indexOf(entry, foundPos + 1);
		}
	}
        if (partial.length)
		ret = ret.concat(partial.slice(0, instance.options.choices - ret.length));
	
	return "<ul>" + ret.join('') + "</ul>";
}