(function(window){"use strict";!window.addEventListener&&window.Element&&function(){function addToPrototype(name,method){Window.prototype[name]=HTMLDocument.prototype[name]=Element.prototype[name]=method}var registry=[];addToPrototype("addEventListener",function(type,listener){var target=this;registry.unshift({__listener:function(event){event.currentTarget=target;event.pageX=event.clientX+document.documentElement.scrollLeft;event.pageY=event.clientY+document.documentElement.scrollTop;event.preventDefault=function(){event.returnValue=false};event.relatedTarget=event.fromElement||null;event.stopPropagation=function(){event.cancelBubble=true};event.relatedTarget=event.fromElement||null;event.target=event.srcElement||target;event.timeStamp=+new Date;listener.call(target,event)},listener:listener,target:target,type:type});this.attachEvent("on"+type,registry[0].__listener)});addToPrototype("removeEventListener",function(type,listener){for(var index=0,length=registry.length;index input.sb-search-input");this._initEvents()}UISearch.prototype={_initEvents:function(){var self=this,initSearchFn=function(ev){ev.stopPropagation();self.inputEl.value=self.inputEl.value.trim();if(!classie.has(self.el,"sb-search-open")){ev.preventDefault();self.open()}else if(classie.has(self.el,"sb-search-open")&&/^\s*$/.test(self.inputEl.value)){ev.preventDefault();self.close()}};this.el.addEventListener("click",initSearchFn);this.el.addEventListener("touchstart",initSearchFn);this.inputEl.addEventListener("click",function(ev){ev.stopPropagation()});this.inputEl.addEventListener("touchstart",function(ev){ev.stopPropagation()})},open:function(){var self=this;classie.add(this.el,"sb-search-open");if(!mobilecheck()){this.inputEl.focus()}var bodyFn=function(ev){self.close();this.removeEventListener("click",bodyFn);this.removeEventListener("touchstart",bodyFn)};document.addEventListener("click",bodyFn);document.addEventListener("touchstart",bodyFn)},close:function(){this.inputEl.blur();classie.remove(this.el,"sb-search-open")}};window.UISearch=UISearch})(window);