diff --git a/src/c3nav/site/static/site/js/c3nav.js b/src/c3nav/site/static/site/js/c3nav.js
index b42ca8c8..5ceedb08 100644
--- a/src/c3nav/site/static/site/js/c3nav.js
+++ b/src/c3nav/site/static/site/js/c3nav.js
@@ -212,10 +212,7 @@ c3nav = {
$.getJSON('/api/locations/?searchable', function (data) {
for (var i = 0; i < data.length; i++) {
var location = data[i];
- location.elem = $('
')
- .append($('
').text('place'))
- .append($('').text(location.title))
- .append($('').text(location.subtitle)).attr('data-id', location.id)[0].outerHTML;
+ location.elem = c3nav._build_location_html(location);
location.title_words = location.title.toLowerCase().split(/\s+/);
location.match = ' ' + location.title_words.join(' ') + ' ';
c3nav.locations.push(location);
@@ -231,8 +228,15 @@ c3nav = {
.on('click', '.location', c3nav._locationinput_click_suggestion);
$('html').on('focus', '*', c3nav._locationinput_global_focuschange);
},
+ _build_location_html: function(location) {
+ return $('')
+ .append($('').text('place'))
+ .append($('').text(location.title))
+ .append($('').text(location.subtitle)).attr('data-id', location.id)[0].outerHTML
+ },
_locationinput_set: function (elem, location) {
// set a location input
+ if (location && location.elem === undefined) location.elem = c3nav._build_location_html(location);
c3nav._locationinput_reset_autocomplete();
elem.toggleClass('selected', !!location).toggleClass('empty', !location)
.data('location', location).data('lastlocation', location).removeData('suggestion');