(function(n,H,A){function B(d,b){function f(x){x=new I(x,b);x.b.insertBefore(k);x.b.css("maxWidth",a.c.width());a.a.push(x);B&&k.val("");t(!0);m.hide();e||k.focus();g()}function p(e,b){e.remove();var c=a.a.indexOf(e);a.a.splice(c,1);e===q&&(q=A);g();t(!0);b&&(-1===b?h(a.a[c-1]):1===b&&h(a.a[c]));s()}function g(){for(var e=[],k=0;k').click(function(a){var e=n(a.target).closest("input, .tagbox-token, .tagbox-wrapper");e.is(".tagbox-token")?n(a.target).is("a")?p(e.data("token")):h(e.data("token")):u();k.focus()}).insertBefore(a.input);b.className&&w.addClass(b.className);c.on("invalid",function(e){e.preventDefault();a.c.addClass("invalid")});var F=c.attr("placeholder"),k=n('').attr({autocomplete:c.attr("autocomplete"),spellcheck:c.attr("spellcheck"),
autocapitalize:c.attr("autocapitalize"),placeholder:F}).on("keyup keydown blur update change",t).on("keypress",function(a){if(13===a.keyCode&&k.val())return a.preventDefault(),!1}).on("blur",function(){setTimeout(function(){a.f||m.hide();w.removeClass("focus")},50);c.triggerHandler("blur")}).on("keydown",function(e){var c=k.val().length==k[0].selectionStart,w=0===k[0].selectionEnd,d=e.keyCode,g=!1;if(e.ctrlKey||e.metaKey)g=!0;if(37===d){if(q)return q===a.a[0]?u():h(a.a[a.a.indexOf(q)-1]),g;w&&a.a.length&&
h(a.a[a.a.length-1])}if(39===d){if(q)return q===a.a[a.a.length-1]?u():h(a.a[a.a.indexOf(q)+1]),g;c&&a.a.length&&h(a.a[0])}if(q&&(46===d||8===d))return p(q,8===d?-1:1),g;if(8===d&&w&&a.a.length)return h(a.a[a.a.length-1]),g;if(m.visible){if(38===d)return m.o(),g;if(40===d)return m.n(),g;if(39==d&&c||13==d||9==d)return m.visible&&((e=m.m())?f(e):b.allowNew&&k.val()&&f(b.createNew(k.val()))),g}else if(k.val()&&13==d)return g;if(a.a.length===b.maxItems&&9!=e.keyCode)return k.val(""),g;setTimeout(s,10)}).on("focus",
function(){w.addClass("focus");c.triggerHandler("focus");s()}).appendTo(w),G=n("").appendTo(w).css({position:"absolute",left:-1E5,width:"auto",display:"inline-block",whiteSpace:"nowrap",fontSize:c.css("fontSize"),fontFamily:c.css("fontFamily"),fontWeight:c.css("fontWeight"),fontVariant:c.css("fontVariant"),letterSpacing:c.css("letterSpacing")}),m=a.r=new K(a,b);m.b.appendTo(b.dropdownContainer);if(c.val())for(var C=b.items,D=c.val().split(b.delimiter),E,y=0;y×').data("token",f),g=b.tokenFormat;f.value="string"==typeof d?d:d[b.valueField];f.item=d;"string"==typeof g?("string"==typeof d&&(d={value:d}),p.children("span").html(g.replace(/\{\{([^}]*)\}\}/g,function(b,
f){return d[f]}))):p.children("span").html(g(d));f.remove=function(){p.data("token",null);p.remove();f.item=null;f.b=null};f.select=function(){p.addClass("selected")};f.e=function(){p.removeClass("selected")}}function K(d,b){function f(a,e){h&&h.e();s&&s.removeClass("selected");"number"!==typeof a&&(a=v.indexOf(a));0<=a?(h=v[a],h.select(),clearTimeout(t),e?t=setTimeout(function(){p(h.b)},80):p(h.b)):(h=!1,s&&s.addClass("selected"));u=a}function p(a){var e=a.offset().top-l.offset().top;0>e?l.scrollTop(e+
l.scrollTop()):e>l.innerHeight()-a.outerHeight()&&l.scrollTop(e+l.scrollTop()-l.innerHeight()+a.outerHeight())}var g=this,h,u,v,l=g.b=n('').css({maxHeight:b.maxHeight}).hide();if(b.allowNew)var s=n('').prependTo(l).on("mousedown",function(){d.f=!0}).on("mouseup",function(){d.f=!1}).on("click",function(){d.j(b.createNew(g.h))});g.l=function(a){l.offset();var e=a.offset(),c=l.parent().offset();l.parent().is("body")&&
(c={top:0,left:0});l.css({top:e.top-c.top+a.height()+1,left:e.left-c.left,width:a.outerWidth()})};g.show=function(){l.show();g.visible=!0};g.hide=function(){l.hide();g.visible=!1};g.m=function(){if(h)return h.item};g.n=function(){u===v.length-1?b.allowNew&&g.h||0===v.length?f(-1):f(0):f(u+1)};g.o=function(){0===u?b.allowNew&&g.h?f(-1):f(v.length-1):(-1===u&&(u=v.length),f(u-1))};var t;g.p=function(a){s&&((g.h=a)?s.show().text(b.newText.replace(/\{\{txt\}\}/g,a)):s.hide())};g.q=function(a){l.find(".tagbox-list").empty();
v=[];if(0').text(b.emptyText).appendTo(l.find(".tagbox-list")),f(-1);g.show()}}function L(d,b){var f=this.b=n('');
b.itemClass&&f.addClass(b.itemClass);this.item=d;var p=b.rowFormat;"string"==typeof p?("string"==typeof d&&(d={value:d}),f.html(p.replace(/\{\{([^}]*)\}\}/g,function(b,f){return d[f]}))):f.html(p(d));this.select=function(){f.addClass("selected")};this.e=function(){f.removeClass("selected")}}var J=function(){function d(a){return a.replace(/[\[\]\{\}\(\)\^\$\.\*\+\|]/g,function(a){return"\\"+a})}function b(a){return/[a-z]/.test(a)?n:/[A-Z]/.test(a)?h:/[0-9]/.test(a)?v:/[\/\-_\.]/.test(a)?l:s}function f(a,
c,f){a=b(a);return t[a][b(c)]+0.4*t[a][b(f)]}function p(a,c,b){if(0===c.length)return 100*b/a.length;if(0===a.length||!a.slice(b).match(RegExp(("^.*"+d(c.split("").join("~~K~~"))+".*$").split("~~K~~").join(".*"),"i")))return-1;for(var g=c.charAt(0),k=-1,l;bk)for(k=h,l=[b],m=m.g||[],h=0;h