javascript:/*%0A%20*%20select-search%20-%20maakt%20elke%20%3Cselect%3E%20met%20veel%20opties%20doorzoekbaar.%0A%20*%0A%20*%20Het%20originele%20%3Cselect%3E%20blijft%20in%20de%20DOM%20en%20blijft%20de%20bron%20van%20waarheid:%0A%20*%20het%20wordt%20enkel%20visueel%20verborgen.%20Selecteren%20gebeurt%20via%20selectedIndex%20+%0A%20*%20native%20input/change%20events,%20zodat%20de%20applicatie%20niets%20merkt%20van%20de%20ingreep.%0A%20*/%0A(function%20()%20%7B%0A%20%20'use%20strict';%0A%0A%20%20if%20(window.__selectSearchLoaded)%20%7B%0A%20%20%20%20if%20(typeof%20window.__selectSearchScan%20===%20'function')%20window.__selectSearchScan();%0A%20%20%20%20return;%0A%20%20%7D%0A%20%20window.__selectSearchLoaded%20=%20true;%0A%0A%20%20var%20MIN_OPTIONS%20=%2010;%0A%20%20var%20MAX_RENDER%20=%20200;%0A%20%20var%20uid%20=%200;%0A%0A%20%20/*%20----------------------------------------------------------------%20utils%20*/%0A%0A%20%20function%20normMap(s)%20%7B%0A%20%20%20%20var%20out%20=%20'',%20map%20=%20%5B%5D;%0A%20%20%20%20for%20(var%20i%20=%200;%20i%20%3C%20s.length;%20i++)%20%7B%0A%20%20%20%20%20%20var%20c%20=%20s.charAt(i).normalize('NFD').replace(/%5B%5Cu0300-%5Cu036f%5D/g,%20'').toLowerCase();%0A%20%20%20%20%20%20for%20(var%20j%20=%200;%20j%20%3C%20c.length;%20j++)%20%7B%20out%20+=%20c.charAt(j);%20map.push(i);%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20return%20%7B%20n:%20out,%20map:%20map%20%7D;%0A%20%20%7D%0A%0A%20%20function%20escapeHtml(s)%20%7B%0A%20%20%20%20return%20s.replace(/&/g,%20'&amp;').replace(/%3C/g,%20'&lt;').replace(/%3E/g,%20'&gt;');%0A%20%20%7D%0A%0A%20%20function%20tokenize(q)%20%7B%0A%20%20%20%20return%20normMap(q).n.split(/%5Cs+/).filter(function%20(t)%20%7B%20return%20t.length%20%3E%200;%20%7D);%0A%20%20%7D%0A%0A%20%20function%20debounce(fn,%20ms)%20%7B%0A%20%20%20%20var%20t%20=%20null;%0A%20%20%20%20return%20function%20()%20%7B%0A%20%20%20%20%20%20if%20(t)%20clearTimeout(t);%0A%20%20%20%20%20%20t%20=%20setTimeout(function%20()%20%7B%20t%20=%20null;%20fn();%20%7D,%20ms);%0A%20%20%20%20%7D;%0A%20%20%7D%0A%0A%20%20/*%20------------------------------------------------------------%20highlight%20*/%0A%0A%20%20function%20highlight(item,%20tokens)%20%7B%0A%20%20%20%20if%20(!tokens.length)%20return%20escapeHtml(item.label);%0A%20%20%20%20var%20ranges%20=%20%5B%5D;%0A%20%20%20%20for%20(var%20t%20=%200;%20t%20%3C%20tokens.length;%20t++)%20%7B%0A%20%20%20%20%20%20var%20tok%20=%20tokens%5Bt%5D,%20from%20=%200,%20idx;%0A%20%20%20%20%20%20while%20((idx%20=%20item.norm.n.indexOf(tok,%20from))%20!==%20-1)%20%7B%0A%20%20%20%20%20%20%20%20var%20start%20=%20item.norm.map%5Bidx%5D;%0A%20%20%20%20%20%20%20%20var%20end%20=%20item.norm.map%5Bidx%20+%20tok.length%20-%201%5D%20+%201;%0A%20%20%20%20%20%20%20%20ranges.push(%5Bstart,%20end%5D);%0A%20%20%20%20%20%20%20%20from%20=%20idx%20+%20tok.length;%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20if%20(!ranges.length)%20return%20escapeHtml(item.label);%0A%20%20%20%20ranges.sort(function%20(a,%20b)%20%7B%20return%20a%5B0%5D%20-%20b%5B0%5D;%20%7D);%0A%20%20%20%20var%20merged%20=%20%5Branges%5B0%5D.slice()%5D;%0A%20%20%20%20for%20(var%20r%20=%201;%20r%20%3C%20ranges.length;%20r++)%20%7B%0A%20%20%20%20%20%20var%20last%20=%20merged%5Bmerged.length%20-%201%5D;%0A%20%20%20%20%20%20if%20(ranges%5Br%5D%5B0%5D%20%3C=%20last%5B1%5D)%20last%5B1%5D%20=%20Math.max(last%5B1%5D,%20ranges%5Br%5D%5B1%5D);%0A%20%20%20%20%20%20else%20merged.push(ranges%5Br%5D.slice());%0A%20%20%20%20%7D%0A%20%20%20%20var%20html%20=%20'',%20pos%20=%200;%0A%20%20%20%20for%20(var%20m%20=%200;%20m%20%3C%20merged.length;%20m++)%20%7B%0A%20%20%20%20%20%20html%20+=%20escapeHtml(item.label.slice(pos,%20merged%5Bm%5D%5B0%5D));%0A%20%20%20%20%20%20html%20+=%20'%3Cmark%3E'%20+%20escapeHtml(item.label.slice(merged%5Bm%5D%5B0%5D,%20merged%5Bm%5D%5B1%5D))%20+%20'%3C/mark%3E';%0A%20%20%20%20%20%20pos%20=%20merged%5Bm%5D%5B1%5D;%0A%20%20%20%20%7D%0A%20%20%20%20return%20html%20+%20escapeHtml(item.label.slice(pos));%0A%20%20%7D%0A%0A%20%20/*%20-----------------------------------------------------------------%20css%20*/%0A%0A%20%20var%20CSS%20=%20%5B%0A%20%20%20%20':host%7Ball:initial;display:inline-block;vertical-align:middle;max-width:100%25%7D',%0A%20%20%20%20'*%7Bbox-sizing:border-box;font:inherit%7D',%0A%20%20%20%20'.box%7Bposition:relative;display:block;width:100%25%7D',%0A%20%20%20%20'input%7Bwidth:100%25;padding:2px%2022px%202px%204px;border:1px%20solid%20#767676;border-radius:2px;',%0A%20%20%20%20'background:#fff;color:#000;font:13px/1.4%20system-ui,-apple-system,%22Segoe%20UI%22,sans-serif;',%0A%20%20%20%20'height:100%25;min-height:22px%7D',%0A%20%20%20%20'input:focus%7Boutline:none;border-color:#0b57d0;box-shadow:0%200%200%201px%20#0b57d0%7D',%0A%20%20%20%20'.caret%7Bposition:absolute;right:6px;top:50%25;transform:translateY(-50%25);pointer-events:none;',%0A%20%20%20%20'border:4px%20solid%20transparent;border-top-color:#444;margin-top:2px%7D',%0A%20%20%20%20'ul%7Bposition:fixed;z-index:2147483647;margin:0;padding:2px%200;list-style:none;overflow-y:auto;',%0A%20%20%20%20'background:#fff;color:#000;border:1px%20solid%20#b0b0b0;border-radius:3px;',%0A%20%20%20%20'box-shadow:0%204px%2014px%20rgba(0,0,0,.22);',%0A%20%20%20%20'font:13px/1.5%20system-ui,-apple-system,%22Segoe%20UI%22,sans-serif;display:none%7D',%0A%20%20%20%20'ul.open%7Bdisplay:block%7D',%0A%20%20%20%20'li%7Bpadding:3px%208px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis%7D',%0A%20%20%20%20'li.active%7Bbackground:#0b57d0;color:#fff%7D',%0A%20%20%20%20'li.active%20mark%7Bbackground:#ffe08a;color:#000%7D',%0A%20%20%20%20'li.dis%7Bcolor:#999;cursor:default%7D',%0A%20%20%20%20'li.note%7Bcolor:#666;cursor:default;font-style:italic;padding-top:5px%7D',%0A%20%20%20%20'li.empty%7Bcolor:#666;cursor:default%7D',%0A%20%20%20%20'mark%7Bbackground:#ffe08a;color:inherit;padding:0%7D',%0A%20%20%20%20'.grp%7Bcolor:#777;font-size:11px;margin-left:6px%7D',%0A%20%20%20%20'li.active%20.grp%7Bcolor:#dbe6fb%7D'%0A%20%20%5D.join('');%0A%0A%20%20/*%20-------------------------------------------------------------%20enhance%20*/%0A%0A%20%20function%20enhance(select)%20%7B%0A%20%20%20%20var%20doc%20=%20select.ownerDocument;%0A%20%20%20%20var%20win%20=%20doc.defaultView%20%7C%7C%20window;%0A%20%20%20%20var%20id%20=%20'ss'%20+%20(++uid);%0A%0A%20%20%20%20var%20rect%20=%20select.getBoundingClientRect();%0A%20%20%20%20var%20wrap%20=%20doc.createElement('span');%0A%20%20%20%20wrap.className%20=%20'select-search-wrap';%0A%20%20%20%20if%20(rect.width)%20wrap.style.width%20=%20rect.width%20+%20'px';%0A%20%20%20%20if%20(rect.height)%20wrap.style.height%20=%20rect.height%20+%20'px';%0A%20%20%20%20select.parentNode.insertBefore(wrap,%20select.nextSibling);%0A%0A%20%20%20%20var%20root%20=%20wrap.attachShadow(%7B%20mode:%20'open'%20%7D);%0A%20%20%20%20var%20style%20=%20doc.createElement('style');%0A%20%20%20%20style.textContent%20=%20CSS;%0A%20%20%20%20var%20box%20=%20doc.createElement('span');%0A%20%20%20%20box.className%20=%20'box';%0A%20%20%20%20var%20input%20=%20doc.createElement('input');%0A%20%20%20%20input.type%20=%20'text';%0A%20%20%20%20input.setAttribute('role',%20'combobox');%0A%20%20%20%20input.setAttribute('aria-expanded',%20'false');%0A%20%20%20%20input.setAttribute('aria-autocomplete',%20'list');%0A%20%20%20%20input.setAttribute('aria-controls',%20id%20+%20'-list');%0A%20%20%20%20input.setAttribute('autocomplete',%20'off');%0A%20%20%20%20input.setAttribute('spellcheck',%20'false');%0A%20%20%20%20input.title%20=%20'Typ%20om%20te%20zoeken.%20Alt+klik%20zet%20het%20originele%20keuzemenu%20terug.';%0A%20%20%20%20var%20caret%20=%20doc.createElement('span');%0A%20%20%20%20caret.className%20=%20'caret';%0A%20%20%20%20var%20list%20=%20doc.createElement('ul');%0A%20%20%20%20list.id%20=%20id%20+%20'-list';%0A%20%20%20%20list.setAttribute('role',%20'listbox');%0A%20%20%20%20box.appendChild(input);%0A%20%20%20%20box.appendChild(caret);%0A%20%20%20%20root.appendChild(style);%0A%20%20%20%20root.appendChild(box);%0A%20%20%20%20root.appendChild(list);%0A%0A%20%20%20%20var%20prevStyle%20=%20select.getAttribute('style');%0A%20%20%20%20select.style.position%20=%20'absolute';%0A%20%20%20%20select.style.opacity%20=%20'0';%0A%20%20%20%20select.style.pointerEvents%20=%20'none';%0A%20%20%20%20select.style.width%20=%20(rect.width%20%7C%7C%201)%20+%20'px';%0A%20%20%20%20select.style.height%20=%20(rect.height%20%7C%7C%201)%20+%20'px';%0A%20%20%20%20select.dataset.ssEnhanced%20=%20'1';%0A%0A%20%20%20%20var%20items%20=%20%5B%5D,%20shown%20=%20%5B%5D,%20active%20=%20-1,%20open%20=%20false;%0A%0A%20%20%20%20function%20readOptions()%20%7B%0A%20%20%20%20%20%20items%20=%20%5B%5D;%0A%20%20%20%20%20%20for%20(var%20i%20=%200;%20i%20%3C%20select.options.length;%20i++)%20%7B%0A%20%20%20%20%20%20%20%20var%20o%20=%20select.options%5Bi%5D;%0A%20%20%20%20%20%20%20%20var%20label%20=%20(o.textContent%20%7C%7C%20'').replace(/%5Cs+/g,%20'%20').trim();%0A%20%20%20%20%20%20%20%20var%20grp%20=%20o.parentNode%20&&%20o.parentNode.tagName%20===%20'OPTGROUP'%0A%20%20%20%20%20%20%20%20%20%20?%20(o.parentNode.label%20%7C%7C%20'')%20:%20'';%0A%20%20%20%20%20%20%20%20items.push(%7B%0A%20%20%20%20%20%20%20%20%20%20index:%20i,%0A%20%20%20%20%20%20%20%20%20%20label:%20label,%0A%20%20%20%20%20%20%20%20%20%20group:%20grp,%0A%20%20%20%20%20%20%20%20%20%20disabled:%20o.disabled,%0A%20%20%20%20%20%20%20%20%20%20norm:%20normMap(grp%20?%20label%20+%20'%20'%20+%20grp%20:%20label)%0A%20%20%20%20%20%20%20%20%7D);%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20currentLabel()%20%7B%0A%20%20%20%20%20%20var%20o%20=%20select.options%5Bselect.selectedIndex%5D;%0A%20%20%20%20%20%20return%20o%20?%20(o.textContent%20%7C%7C%20'').replace(/%5Cs+/g,%20'%20').trim()%20:%20'';%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20syncFromSelect()%20%7B%0A%20%20%20%20%20%20readOptions();%0A%20%20%20%20%20%20if%20(!open)%20input.value%20=%20currentLabel();%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20position()%20%7B%0A%20%20%20%20%20%20var%20r%20=%20input.getBoundingClientRect();%0A%20%20%20%20%20%20var%20below%20=%20win.innerHeight%20-%20r.bottom%20-%206;%0A%20%20%20%20%20%20var%20above%20=%20r.top%20-%206;%0A%20%20%20%20%20%20var%20down%20=%20below%20%3E=%20160%20%7C%7C%20below%20%3E=%20above;%0A%20%20%20%20%20%20list.style.left%20=%20r.left%20+%20'px';%0A%20%20%20%20%20%20list.style.minWidth%20=%20r.width%20+%20'px';%0A%20%20%20%20%20%20list.style.maxWidth%20=%20Math.max(r.width,%20Math.min(560,%20win.innerWidth%20-%20r.left%20-%208))%20+%20'px';%0A%20%20%20%20%20%20list.style.maxHeight%20=%20Math.max(120,%20(down%20?%20below%20:%20above))%20+%20'px';%0A%20%20%20%20%20%20if%20(down)%20%7B%0A%20%20%20%20%20%20%20%20list.style.top%20=%20r.bottom%20+%202%20+%20'px';%0A%20%20%20%20%20%20%20%20list.style.bottom%20=%20'auto';%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20list.style.top%20=%20'auto';%0A%20%20%20%20%20%20%20%20list.style.bottom%20=%20(win.innerHeight%20-%20r.top%20+%202)%20+%20'px';%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20filter(q)%20%7B%0A%20%20%20%20%20%20var%20tokens%20=%20tokenize(q);%0A%20%20%20%20%20%20if%20(!tokens.length)%20return%20items.slice();%0A%20%20%20%20%20%20var%20starts%20=%20%5B%5D,%20rest%20=%20%5B%5D;%0A%20%20%20%20%20%20for%20(var%20i%20=%200;%20i%20%3C%20items.length;%20i++)%20%7B%0A%20%20%20%20%20%20%20%20var%20n%20=%20items%5Bi%5D.norm.n,%20ok%20=%20true;%0A%20%20%20%20%20%20%20%20for%20(var%20t%20=%200;%20t%20%3C%20tokens.length;%20t++)%20%7B%0A%20%20%20%20%20%20%20%20%20%20if%20(n.indexOf(tokens%5Bt%5D)%20===%20-1)%20%7B%20ok%20=%20false;%20break;%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20if%20(!ok)%20continue;%0A%20%20%20%20%20%20%20%20(n.indexOf(tokens%5B0%5D)%20===%200%20?%20starts%20:%20rest).push(items%5Bi%5D);%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%20starts.concat(rest);%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20render(q)%20%7B%0A%20%20%20%20%20%20var%20tokens%20=%20tokenize(q);%0A%20%20%20%20%20%20shown%20=%20filter(q);%0A%20%20%20%20%20%20var%20html%20=%20'';%0A%20%20%20%20%20%20if%20(!shown.length)%20%7B%0A%20%20%20%20%20%20%20%20html%20=%20'%3Cli%20class=%22empty%22%3EGeen%20resultaten%3C/li%3E';%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20var%20n%20=%20Math.min(shown.length,%20MAX_RENDER);%0A%20%20%20%20%20%20%20%20for%20(var%20i%20=%200;%20i%20%3C%20n;%20i++)%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20it%20=%20shown%5Bi%5D;%0A%20%20%20%20%20%20%20%20%20%20html%20+=%20'%3Cli%20role=%22option%22%20id=%22'%20+%20id%20+%20'-o'%20+%20i%20+%20'%22%20data-i=%22'%20+%20i%20+%20'%22'%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20(it.disabled%20?%20'%20class=%22dis%22%20aria-disabled=%22true%22'%20:%20'')%20+%20'%3E'%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20highlight(it,%20tokens)%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20(it.group%20?%20'%3Cspan%20class=%22grp%22%3E'%20+%20escapeHtml(it.group)%20+%20'%3C/span%3E'%20:%20'')%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20'%3C/li%3E';%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20if%20(shown.length%20%3E%20n)%20%7B%0A%20%20%20%20%20%20%20%20%20%20html%20+=%20'%3Cli%20class=%22note%22%3Enog%20'%20+%20(shown.length%20-%20n)%20+%20'%20resultaten,%20verfijn%20je%20zoekterm%3C/li%3E';%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20list.innerHTML%20=%20html;%0A%20%20%20%20%20%20shown%20=%20shown.slice(0,%20MAX_RENDER);%0A%20%20%20%20%20%20setActive(shown.length%20?%200%20:%20-1,%20false);%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20setActive(i,%20scroll)%20%7B%0A%20%20%20%20%20%20var%20nodes%20=%20list.querySelectorAll('li%5Bdata-i%5D');%0A%20%20%20%20%20%20for%20(var%20k%20=%200;%20k%20%3C%20nodes.length;%20k++)%20nodes%5Bk%5D.classList.remove('active');%0A%20%20%20%20%20%20active%20=%20i;%0A%20%20%20%20%20%20if%20(i%20%3C%200%20%7C%7C%20i%20%3E=%20nodes.length)%20%7B%0A%20%20%20%20%20%20%20%20input.removeAttribute('aria-activedescendant');%0A%20%20%20%20%20%20%20%20return;%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20nodes%5Bi%5D.classList.add('active');%0A%20%20%20%20%20%20input.setAttribute('aria-activedescendant',%20nodes%5Bi%5D.id);%0A%20%20%20%20%20%20if%20(scroll%20!==%20false)%20%7B%0A%20%20%20%20%20%20%20%20var%20li%20=%20nodes%5Bi%5D,%20top%20=%20li.offsetTop,%20bot%20=%20top%20+%20li.offsetHeight;%0A%20%20%20%20%20%20%20%20if%20(top%20%3C%20list.scrollTop)%20list.scrollTop%20=%20top;%0A%20%20%20%20%20%20%20%20else%20if%20(bot%20%3E%20list.scrollTop%20+%20list.clientHeight)%20list.scrollTop%20=%20bot%20-%20list.clientHeight;%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20openList(q)%20%7B%0A%20%20%20%20%20%20render(q%20===%20undefined%20?%20''%20:%20q);%0A%20%20%20%20%20%20list.classList.add('open');%0A%20%20%20%20%20%20input.setAttribute('aria-expanded',%20'true');%0A%20%20%20%20%20%20open%20=%20true;%0A%20%20%20%20%20%20position();%0A%20%20%20%20%20%20win.addEventListener('scroll',%20position,%20true);%0A%20%20%20%20%20%20win.addEventListener('resize',%20position);%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20closeList(restore)%20%7B%0A%20%20%20%20%20%20list.classList.remove('open');%0A%20%20%20%20%20%20input.setAttribute('aria-expanded',%20'false');%0A%20%20%20%20%20%20input.removeAttribute('aria-activedescendant');%0A%20%20%20%20%20%20open%20=%20false;%0A%20%20%20%20%20%20active%20=%20-1;%0A%20%20%20%20%20%20win.removeEventListener('scroll',%20position,%20true);%0A%20%20%20%20%20%20win.removeEventListener('resize',%20position);%0A%20%20%20%20%20%20if%20(restore%20!==%20false)%20input.value%20=%20currentLabel();%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20choose(i)%20%7B%0A%20%20%20%20%20%20var%20it%20=%20shown%5Bi%5D;%0A%20%20%20%20%20%20if%20(!it%20%7C%7C%20it.disabled)%20return;%0A%20%20%20%20%20%20select.selectedIndex%20=%20it.index;%0A%20%20%20%20%20%20input.value%20=%20it.label;%0A%20%20%20%20%20%20closeList(false);%0A%20%20%20%20%20%20fire(select,%20'input');%0A%20%20%20%20%20%20fire(select,%20'change');%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20fire(el,%20type)%20%7B%0A%20%20%20%20%20%20var%20ev;%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20ev%20=%20new%20Event(type,%20%7B%20bubbles:%20true,%20cancelable:%20false%20%7D);%0A%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20ev%20=%20doc.createEvent('HTMLEvents');%0A%20%20%20%20%20%20%20%20ev.initEvent(type,%20true,%20false);%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20el.dispatchEvent(ev);%0A%20%20%20%20%20%20var%20jq%20=%20win.jQuery%20%7C%7C%20win.$;%0A%20%20%20%20%20%20if%20(jq%20&&%20jq.fn%20&&%20typeof%20jq%20===%20'function')%20%7B%0A%20%20%20%20%20%20%20%20try%20%7B%20jq(el).trigger(type);%20%7D%20catch%20(e2)%20%7B%20/*%20stil%20*/%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20detach()%20%7B%0A%20%20%20%20%20%20obs.disconnect();%0A%20%20%20%20%20%20select.removeEventListener('change',%20onSelectChange);%0A%20%20%20%20%20%20win.removeEventListener('scroll',%20position,%20true);%0A%20%20%20%20%20%20win.removeEventListener('resize',%20position);%0A%20%20%20%20%20%20if%20(prevStyle%20===%20null)%20select.removeAttribute('style');%0A%20%20%20%20%20%20else%20select.setAttribute('style',%20prevStyle);%0A%20%20%20%20%20%20delete%20select.dataset.ssEnhanced;%0A%20%20%20%20%20%20select.dataset.nosearch%20=%20'1';%0A%20%20%20%20%20%20if%20(wrap.parentNode)%20wrap.parentNode.removeChild(wrap);%0A%20%20%20%20%7D%0A%0A%20%20%20%20/*%20--------------------------------------------------------%20listeners%20*/%0A%0A%20%20%20%20input.addEventListener('mousedown',%20function%20(e)%20%7B%0A%20%20%20%20%20%20if%20(e.altKey)%20%7B%0A%20%20%20%20%20%20%20%20e.preventDefault();%0A%20%20%20%20%20%20%20%20detach();%0A%20%20%20%20%20%20%20%20select.focus();%0A%20%20%20%20%20%20%20%20return;%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20if%20(!open)%20%7B%20e.preventDefault();%20input.focus();%20openList('');%20input.select();%20%7D%0A%20%20%20%20%7D);%0A%20%20%20%20input.addEventListener('focus',%20function%20()%20%7B%20if%20(!open)%20openList('');%20%7D);%0A%20%20%20%20input.addEventListener('input',%20function%20()%20%7B%20if%20(open)%20render(input.value);%20else%20openList(input.value);%20%7D);%0A%20%20%20%20input.addEventListener('blur',%20function%20()%20%7B%0A%20%20%20%20%20%20setTimeout(function%20()%20%7B%20if%20(open)%20closeList(true);%20%7D,%20120);%0A%20%20%20%20%7D);%0A%20%20%20%20input.addEventListener('keydown',%20function%20(e)%20%7B%0A%20%20%20%20%20%20var%20n%20=%20list.querySelectorAll('li%5Bdata-i%5D').length;%0A%20%20%20%20%20%20switch%20(e.key)%20%7B%0A%20%20%20%20%20%20%20%20case%20'ArrowDown':%0A%20%20%20%20%20%20%20%20%20%20e.preventDefault();%0A%20%20%20%20%20%20%20%20%20%20if%20(!open)%20%7B%20openList('');%20break;%20%7D%0A%20%20%20%20%20%20%20%20%20%20if%20(n)%20setActive((active%20+%201)%20%25%20n);%0A%20%20%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20%20%20case%20'ArrowUp':%0A%20%20%20%20%20%20%20%20%20%20e.preventDefault();%0A%20%20%20%20%20%20%20%20%20%20if%20(!open)%20%7B%20openList('');%20break;%20%7D%0A%20%20%20%20%20%20%20%20%20%20if%20(n)%20setActive((active%20-%201%20+%20n)%20%25%20n);%0A%20%20%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20%20%20case%20'Home':%20if%20(open%20&&%20n)%20%7B%20e.preventDefault();%20setActive(0);%20%7D%20break;%0A%20%20%20%20%20%20%20%20case%20'End':%20if%20(open%20&&%20n)%20%7B%20e.preventDefault();%20setActive(n%20-%201);%20%7D%20break;%0A%20%20%20%20%20%20%20%20case%20'PageDown':%20if%20(open%20&&%20n)%20%7B%20e.preventDefault();%20setActive(Math.min(n%20-%201,%20active%20+%2010));%20%7D%20break;%0A%20%20%20%20%20%20%20%20case%20'PageUp':%20if%20(open%20&&%20n)%20%7B%20e.preventDefault();%20setActive(Math.max(0,%20active%20-%2010));%20%7D%20break;%0A%20%20%20%20%20%20%20%20case%20'Enter':%0A%20%20%20%20%20%20%20%20%20%20if%20(open)%20%7B%20e.preventDefault();%20if%20(active%20%3E=%200)%20choose(active);%20else%20closeList(true);%20%7D%0A%20%20%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20%20%20case%20'Tab':%0A%20%20%20%20%20%20%20%20%20%20if%20(open%20&&%20active%20%3E=%200)%20choose(active);%20else%20if%20(open)%20closeList(true);%0A%20%20%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20%20%20case%20'Escape':%0A%20%20%20%20%20%20%20%20%20%20if%20(open)%20%7B%20e.preventDefault();%20e.stopPropagation();%20closeList(true);%20%7D%0A%20%20%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D);%0A%20%20%20%20list.addEventListener('mousedown',%20function%20(e)%20%7B%20e.preventDefault();%20%7D);%0A%20%20%20%20list.addEventListener('click',%20function%20(e)%20%7B%0A%20%20%20%20%20%20var%20li%20=%20e.target;%0A%20%20%20%20%20%20while%20(li%20&&%20li.tagName%20!==%20'LI')%20li%20=%20li.parentNode;%0A%20%20%20%20%20%20if%20(li%20&&%20li.hasAttribute('data-i'))%20choose(parseInt(li.getAttribute('data-i'),%2010));%0A%20%20%20%20%7D);%0A%0A%20%20%20%20function%20onSelectChange()%20%7B%20if%20(!open)%20input.value%20=%20currentLabel();%20%7D%0A%20%20%20%20select.addEventListener('change',%20onSelectChange);%0A%0A%20%20%20%20var%20resync%20=%20debounce(function%20()%20%7B%0A%20%20%20%20%20%20var%20q%20=%20open%20?%20input.value%20:%20null;%0A%20%20%20%20%20%20syncFromSelect();%0A%20%20%20%20%20%20if%20(open)%20render(q);%0A%20%20%20%20%7D,%2050);%0A%20%20%20%20var%20obs%20=%20new%20MutationObserver(resync);%0A%20%20%20%20obs.observe(select,%20%7B%20childList:%20true,%20subtree:%20true%20%7D);%0A%0A%20%20%20%20wrap.__selectSearchDetach%20=%20detach;%0A%20%20%20%20wrap.__selectSearchSelect%20=%20select;%0A%20%20%20%20syncFromSelect();%0A%20%20%7D%0A%0A%20%20/*%20----------------------------------------------------------------%20scan%20*/%0A%0A%20%20function%20eligible(s)%20%7B%0A%20%20%20%20return%20!s.multiple%20&&%20s.size%20%3C=%201%20&&%20!s.disabled%0A%20%20%20%20%20%20&&%20!s.dataset.ssEnhanced%20&&%20!s.hasAttribute('data-nosearch')%0A%20%20%20%20%20%20&&%20s.options.length%20%3E=%20MIN_OPTIONS;%0A%20%20%7D%0A%0A%20%20function%20scanDoc(doc)%20%7B%0A%20%20%20%20var%20selects%20=%20doc.querySelectorAll('select');%0A%20%20%20%20for%20(var%20i%20=%200;%20i%20%3C%20selects.length;%20i++)%20%7B%0A%20%20%20%20%20%20if%20(eligible(selects%5Bi%5D))%20%7B%0A%20%20%20%20%20%20%20%20try%20%7B%20enhance(selects%5Bi%5D);%20%7D%20catch%20(e)%20%7B%20/*%20laat%20de%20pagina%20met%20rust%20*/%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20var%20wraps%20=%20doc.querySelectorAll('.select-search-wrap');%0A%20%20%20%20for%20(var%20w%20=%200;%20w%20%3C%20wraps.length;%20w++)%20%7B%0A%20%20%20%20%20%20var%20sel%20=%20wraps%5Bw%5D.__selectSearchSelect;%0A%20%20%20%20%20%20if%20(sel%20&&%20!doc.contains(sel)%20&&%20wraps%5Bw%5D.parentNode)%20%7B%0A%20%20%20%20%20%20%20%20wraps%5Bw%5D.parentNode.removeChild(wraps%5Bw%5D);%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20var%20frames%20=%20doc.querySelectorAll('iframe,frame');%0A%20%20%20%20for%20(var%20f%20=%200;%20f%20%3C%20frames.length;%20f++)%20%7B%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20var%20fd%20=%20frames%5Bf%5D.contentDocument;%0A%20%20%20%20%20%20%20%20if%20(fd%20&&%20fd.body)%20%7B%20attach(fd);%20%7D%0A%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%20/*%20cross-origin%20*/%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20var%20attached%20=%20%5B%5D;%0A%20%20function%20attach(doc)%20%7B%0A%20%20%20%20if%20(attached.indexOf(doc)%20===%20-1)%20%7B%0A%20%20%20%20%20%20attached.push(doc);%0A%20%20%20%20%20%20new%20MutationObserver(debounce(function%20()%20%7B%20scanDoc(doc);%20%7D,%20120))%0A%20%20%20%20%20%20%20%20.observe(doc.documentElement,%20%7B%20childList:%20true,%20subtree:%20true%20%7D);%0A%20%20%20%20%7D%0A%20%20%20%20scanDoc(doc);%0A%20%20%7D%0A%0A%20%20function%20scan()%20%7B%20for%20(var%20i%20=%200;%20i%20%3C%20attached.length;%20i++)%20scanDoc(attached%5Bi%5D);%20attach(document);%20%7D%0A%20%20window.__selectSearchScan%20=%20scan;%0A%0A%20%20if%20(document.readyState%20===%20'loading')%20%7B%0A%20%20%20%20document.addEventListener('DOMContentLoaded',%20function%20()%20%7B%20attach(document);%20%7D);%0A%20%20%7D%20else%20%7B%0A%20%20%20%20attach(document);%0A%20%20%7D%0A%7D)();%0A