/*global $,gettext,ngettext */ function EL(tagName, attrs) { var el = document.createElement(tagName); if (attrs) for(var key in attrs) if (key === 'style' && typeof attrs[key] === 'object') Object.assign(el.style, attrs[key]); else if (key === 'innerHTML') el.innerHTML = attrs[key]; else if (key === 'appendTo' && (attrs.appendTo instanceof HTMLElement || attrs.appendTo instanceof ShadowRoot)) attrs.appendTo.append(el); else if (key === 'prependTo' && (attrs.prependTo instanceof HTMLElement || attrs.prependTo instanceof ShadowRoot)) attrs.prependTo.prepend(el); else if (key === 'insertBefore' && attrs.insertBefore instanceof HTMLElement) attrs.insertBefore.before(el); else if (key === 'insertAfter' && attrs.insertAfter instanceof HTMLElement) attrs.insertAfter.after(el); else if (key.startsWith("on")) el.addEventListener(key.substring(2), attrs[key], false); else if (key.startsWith(":")) el[key.substring(1)] = attrs[key]; else if (key === 'checked' && 'checked' in el) el.checked = attrs.checked; else if (key === 'selected' && 'selected' in el) el.selected = attrs.selected; else if (key === 'multiple' && 'multiple' in el) el.multiple = attrs.multiple; else el.setAttribute(key, attrs[key]); if (arguments[2] instanceof Array) var args = arguments[2], i = 0; else var args = arguments, i = 2; for(;i