/**
* Sweet Berries - Выпадающий список игр
*/
(function() {
'use strict';
function init() {
var inp = document.querySelector('input[name="s"]');
if (!inp || !window.sbSearch || !window.sbSearch.games) { return; }
var form = inp.form || inp.closest('.search-form');
if (!form) { return; }
form.style.position = 'relative';
var dd = document.createElement('div');
dd.className = 'sb-games-list';
dd.style.cssText = 'display:none;position:absolute;top:100%;left:0;right:0;max-height:450px;overflow-y:auto;background:#1a1a2e;border:1px solid #2a2a4e;border-radius:0 0 14px 14px;box-shadow:0 10px 40px rgba(0,0,0,0.7);z-index:100000;margin-top:4px;';
form.appendChild(dd);
inp.setAttribute('autocomplete', 'off');
var games = window.sbSearch.games;
function render(list) {
if (!list || !list.length) {
dd.innerHTML = '
Ничего не найдено 😔
';
return;
}
var html = '';
for (var i = 0; i < list.length; i++) {
var g = list[i];
html += ''
+ '🎮'
+ ''
+ '
' + g.name + '
'
+ '
' + g.count + ' гайдов
'
+ '
'
+ '→'
+ '';
}
dd.innerHTML = html;
}
function filter(q) {
q = q.toLowerCase().trim();
if (!q) { render(games.slice(0, 15)); return; }
var res = [];
for (var i = 0; i < games.length; i++) {
if (games[i].name.toLowerCase().indexOf(q) !== -1) {
res.push(games[i]);
}
}
render(res);
}
inp.addEventListener('input', function() {
filter(this.value);
dd.style.display = 'block';
});
inp.addEventListener('focus', function() {
filter(this.value);
dd.style.display = 'block';
});
document.addEventListener('click', function(e) {
if (e.target !== inp && !dd.contains(e.target)) dd.style.display = 'none';
});
inp.addEventListener('keydown', function(e) {
if (e.key === 'Escape') dd.style.display = 'none';
});
}
if (document.readyState === 'complete' || document.readyState === 'interactive') {
init();
} else {
document.addEventListener('DOMContentLoaded', init);
}
})();