!function(I){var o={method:"GET",contentType:"json",queryParam:"q",searchDelay:300,minChars:1,propertyToSearch:"name",jsonContainer:null,hintText:"Type in a search term",noResultsText:"No results",searchingText:"Searching...",deleteText:"×",animateDropdown:!0,tokenLimit:null,tokenDelimiter:",",preventDuplicates:!1,tokenValue:"id",prePopulate:null,processPrePopulate:!1,idPrefix:"token-input-",resultsFormatter:function(e){return"
"+e[this.propertyToSearch]+" "},tokenFormatter:function(e){return""+e[this.propertyToSearch]+"
"},onResult:null,onAdd:null,onDelete:null,onReady:null},F={tokenList:"token-input-list",token:"token-input-token",tokenDelete:"token-input-delete-token",selectedToken:"token-input-selected-token",highlightedToken:"token-input-highlighted-token",dropdown:"token-input-dropdown",dropdownItem:"token-input-dropdown-item",dropdownItem2:"token-input-dropdown-item2",selectedDropdownItem:"token-input-selected-dropdown-item",inputToken:"token-input-input-token"},P=0,O=1,A=2,z=8,_=13,q=27,B=37,E=38,V=39,W=40,G=108,H=188,t={init:function(e,t){var n=I.extend({},o,t||{});return this.each(function(){I(this).data("tokenInputObject",new I.TokenList(this,e,n))})},clear:function(){return this.data("tokenInputObject").clear(),this},add:function(e){return this.data("tokenInputObject").add(e),this},remove:function(e){return this.data("tokenInputObject").remove(e),this},get:function(){return this.data("tokenInputObject").getTokens()}};I.fn.tokenInput=function(e){return t[e]?t[e].apply(this,Array.prototype.slice.call(arguments,1)):t.init.apply(this,arguments)},I.TokenList=function(e,t,r){"string"===I.type(t)||"function"===I.type(t)?(r.url=t,k=S(),void 0===r.crossDomain&&(-1===k.indexOf("://")?r.crossDomain=!1:r.crossDomain=location.href.split(/\/+/g)[1]!==k.split(/\/+/g)[1])):"object"==typeof t&&(r.local_data=t),r.classes?r.classes=I.extend({},F,r.classes):r.theme?(r.classes={},I.each(F,function(e,t){r.classes[e]=t+"-"+r.theme})):r.classes=F;var n,i=[],s=0,c=new I.TokenList.Cache,u=I(' ').css({outline:"none"}).attr("id",r.idPrefix+e.id).focus(function(){null!==r.tokenLimit&&r.tokenLimit===s||r.hintText&&(f.html(""+r.hintText+"
"),D())}).blur(function(){x(),I(this).val("")}).keydown(function(e){var t,n;switch(e.keyCode){case B:case V:case E:case W:if(I(this).val())return n=null,(n=e.keyCode===W||e.keyCode===V?I(o).next():I(o).prev()).length&&j(n),!1;n=h.prev(),t=h.next(),n.length&&n.get(0)===p||t.length&&t.get(0)===p?e.keyCode===B||e.keyCode===E?y(I(p),P):y(I(p),O):e.keyCode!==B&&e.keyCode!==E||!n.length?e.keyCode!==V&&e.keyCode!==W||!t.length||T(I(t.get(0))):T(I(n.get(0)));break;case z:if(n=h.prev(),!I(this).val().length)return p?(C(I(p)),d.change()):n.length&&T(I(n.get(0))),!1;1===I(this).val().length?x():setTimeout(function(){R()},5);break;case _:case G:case H:return o?(v(I(o).data("tokeninput")),d.change()):v(null),!1;case q:return x(),!0;default:String.fromCharCode(e.which)&&setTimeout(function(){R()},5)}}),d=I(e).hide().val("").focus(function(){u.focus()}).blur(function(){u.blur()}),p=null,a=0,o=null,l=I("").addClass(r.classes.tokenList).click(function(e){var t,e=I(e.target).closest("li");e&&e.get(0)&&I.data(e.get(0),"tokeninput")?(e=e,(t=p)&&y(I(p),A),t===e.get(0)?y(e,A):T(e)):(p&&y(I(p),A),u.focus())}).mouseover(function(e){e=I(e.target).closest("li");e&&p!==this&&e.addClass(r.classes.highlightedToken)}).mouseout(function(e){e=I(e.target).closest("li");e&&p!==this&&e.removeClass(r.classes.highlightedToken)}).insertBefore(d),h=I(" ").addClass(r.classes.inputToken).appendTo(l).append(u),f=I("").addClass(r.classes.dropdown).appendTo("body").hide(),k=(I("
").insertAfter(u).css({position:"absolute",top:-9999,left:-9999,width:"auto",fontSize:u.css("fontSize"),fontFamily:u.css("fontFamily"),fontWeight:u.css("fontWeight"),letterSpacing:u.css("letterSpacing"),whiteSpace:"nowrap"}),d.val(""),r.prePopulate||d.data("pre"));function g(){null!==r.tokenLimit&&s>=r.tokenLimit&&(u.hide(),x())}function m(e){var t=r.tokenFormatter(e),t=I(t).addClass(r.classes.token).insertBefore(h),n=(I("
"+r.deleteText+" ").addClass(r.classes.tokenDelete).appendTo(t).click(function(){return C(I(this).parent()),d.change(),!1}),{id:e.id});n[r.propertyToSearch]=e[r.propertyToSearch],I.data(t.get(0),"tokeninput",e),i=i.slice(0,a).concat([n]).concat(i.slice(a)),a++,w(i,d),s+=1,null!==r.tokenLimit&&s>=r.tokenLimit&&(u.hide(),x())}function v(n){var e=r.onAdd;if(!n&&0
]*)("+t+")(?![^<>]*>)(?![^&;]+;)","g"),t.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+n+")(?![^<>]*>)(?![^&;]+;)","gi"),"$1 "))}function b(o,e){var i;e&&e.length?(f.empty(),i=I("").appendTo(f).mouseover(function(e){j(I(e.target).closest("li"))}).mousedown(function(e){return v(I(e.target).closest("li").data("tokeninput")),d.change(),!1}).hide(),I.each(e,function(e,t){var n=L(n=r.resultsFormatter(t),t[r.propertyToSearch],o);n=I(n).appendTo(i),e%2?n.addClass(r.classes.dropdownItem):n.addClass(r.classes.dropdownItem2),0===e&&j(n),I.data(n.get(0),"tokeninput",t)}),D(),r.animateDropdown?i.slideDown("fast"):i.show()):r.noResultsText&&(f.html(""+r.noResultsText+"
"),D())}function j(e){e&&(o&&(I(o).removeClass(r.classes.selectedDropdownItem),o=null),e.addClass(r.classes.selectedDropdownItem),o=e.get(0))}function R(){var a=u.val(),l=a.toLowerCase();l&&l.length&&(p&&y(I(p),O),l.length>=r.minChars?(r.searchingText&&(f.html(""+r.searchingText+"
"),D()),clearTimeout(n),n=setTimeout(function(){var n,e,t=l,o=a,i=o+S(),s=c.get(i);s?b(t,s):r.url?(s=S(),n={data:{}},-1n.max_size&&(o={},i=0),o[e]||(i+=1),o[e]=t},this.get=function(e){return o[e]}}}(jQuery);