/* global google */ (function (document, $) { function debounce(func, wait, immediate) { let timeout; return function () { const context = this; const args = arguments; const later = function () { timeout = null; if (!immediate) func.apply(context, args); }; const callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply(context, args); }; } $(document) .on('click', '.navbar-main .search', () => { $('.searchbox').toggleClass('show'); }) .on('click', '.searchbox .searchbox-mask', () => { $('.searchbox').removeClass('show'); }) .on('click', '.searchbox-close', () => { $('.searchbox').removeClass('show'); }) .on( 'keydown', '.searchbox-input', debounce(function () { const value = $(this).val(); try { const element = google.search.cse.element.getElement('searchresults-only0'); if (value.trim() === '') { element.clearAllResults(); } else { element.execute(value); } } catch (e) {} }, 300), ); })(document, jQuery);