diff --git a/build/jquery.tokeninput.min.js b/build/jquery.tokeninput.min.js
index e5df300f..b561b233 100644
--- a/build/jquery.tokeninput.min.js
+++ b/build/jquery.tokeninput.min.js
@@ -1,2 +1 @@
-/*! jquery.tokeninput 2014-04-02 */
-!function(a){function b(a){return String(null===a||void 0===a?"":a)}function c(a){return b(a).replace(i,function(a){return h[a]})}var d={method:"GET",queryParam:"q",searchDelay:300,minChars:1,propertyToSearch:"name",jsonContainer:null,contentType:"json",excludeCurrent:!1,excludeCurrentParameter:"x",prePopulate:null,processPrePopulate:!1,hintText:"Type in a search term",noResultsText:"No results",searchingText:"Searching...",deleteText:"×",animateDropdown:!0,placeholder:null,theme:null,zindex:999,resultsLimit:null,enableHTML:!1,resultsFormatter:function(a){var b=a[this.propertyToSearch];return"
S&&f--,c.remove(),R=null,I(P),M=M.slice(0,f).concat(M.slice(f+1)),0==M.length&&P.attr("placeholder",h.placeholder),S>f&&S--,t(M,Q),N-=1,null!==a(b).data("settings").tokenLimit&&(P.show().val(""),I(P)),a.isFunction(e)&&e.call(Q,d)}function t(c,d){var e=a.map(c,function(c){return"function"==typeof a(b).data("settings").tokenValue?a(b).data("settings").tokenValue.call(this,c):c[a(b).data("settings").tokenValue]});d.val(e.join(a(b).data("settings").tokenDelimiter))}function u(){W.hide().empty(),T=null}function v(){W.css({position:"absolute",top:U.offset().top+U.outerHeight(!0),left:U.offset().left,width:U.width(),"z-index":a(b).data("settings").zindex}).show()}function w(){a(b).data("settings").searchingText&&(W.html(""+i(a(b).data("settings").searchingText)+"
"),v())}function x(){a(b).data("settings").hintText&&(W.html(""+i(a(b).data("settings").hintText)+"
"),v())}function y(a){return a.replace(Z,"\\$&")}function z(a,b){return a.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+y(b)+")(?![^<>]*>)(?![^&;]+;)","gi"),function(a,b){return""+i(b)+""})}function A(a,b,c){return a.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+y(b)+")(?![^<>]*>)(?![^&;]+;)","g"),z(b,c))}function B(c){if(a(b).data("settings").excludeCurrent){var d=a(b).data("tokenInputObject").getTokens(),e=[];d.length&&(a.each(c,function(c,f){var g=!0;a.each(d,function(c,d){return f[a(b).data("settings").propertyToSearch]==d[a(b).data("settings").propertyToSearch]?(g=!1,!1):void 0}),g&&e.push(f)}),c=e)}return c}function C(c,d){if(d=B(d),d&&d.length){W.empty();var e=a("").appendTo(W).mouseover(function(b){D(a(b.target).closest("li"))}).mousedown(function(b){return o(a(b.target).closest("li").data("tokeninput")),Q.change(),!1}).hide();a(b).data("settings").resultsLimit&&d.length>a(b).data("settings").resultsLimit&&(d=d.slice(0,a(b).data("settings").resultsLimit)),a.each(d,function(d,f){var g=a(b).data("settings").resultsFormatter(f);g=A(g,f[a(b).data("settings").propertyToSearch],c),g=a(g).appendTo(e),g.addClass(d%2?a(b).data("settings").classes.dropdownItem:a(b).data("settings").classes.dropdownItem2),0===d&&a(b).data("settings").autoSelectFirstResult&&D(g),a.data(g.get(0),"tokeninput",f)}),v(),a(b).data("settings").animateDropdown?e.slideDown("fast"):e.show()}else a(b).data("settings").noResultsText&&(W.html(""+i(a(b).data("settings").noResultsText)+"
"),v())}function D(c){c&&(T&&E(a(T)),c.addClass(a(b).data("settings").classes.selectedDropdownItem),T=c.get(0))}function E(c){c.removeClass(a(b).data("settings").classes.selectedDropdownItem),T=null}function F(){var c=P.val();c&&c.length&&(R&&q(a(R),f.AFTER),c.length>=a(b).data("settings").minChars?(w(),clearTimeout(K),K=setTimeout(function(){G(c)},a(b).data("settings").searchDelay)):u())}function G(c){var d=c+H(),e=O.get(d);if(e)a.isFunction(a(b).data("settings").onCachedResult)&&(e=a(b).data("settings").onCachedResult.call(Q,e)),C(c,e);else if(a(b).data("settings").url){var f=H(),g={};if(g.data={},f.indexOf("?")>-1){var i=f.split("?");g.url=i[0];var j=i[1].split("&");a.each(j,function(a,b){var c=b.split("=");g.data[c[0]]=c[1]})}else g.url=f;if(g.data[a(b).data("settings").queryParam]=c,g.type=a(b).data("settings").method,g.dataType=a(b).data("settings").contentType,a(b).data("settings").crossDomain&&(g.dataType="jsonp"),a(b).data("settings").excludeCurrent){var k=a(b).data("tokenInputObject").getTokens(),l=a.map(k,function(c){return"function"==typeof a(b).data("settings").tokenValue?a(b).data("settings").tokenValue.call(this,c):c[a(b).data("settings").tokenValue]});g.data[a(b).data("settings").excludeCurrentParameter]=l.join(a(b).data("settings").tokenDelimiter)}g.success=function(e){O.add(d,a(b).data("settings").jsonContainer?e[a(b).data("settings").jsonContainer]:e),a.isFunction(a(b).data("settings").onResult)&&(e=a(b).data("settings").onResult.call(Q,e)),P.val()===c&&C(c,a(b).data("settings").jsonContainer?e[a(b).data("settings").jsonContainer]:e)},h.onSend&&h.onSend(g),a.ajax(g)}else if(a(b).data("settings").local_data){var m=a.grep(a(b).data("settings").local_data,function(d){return d[a(b).data("settings").propertyToSearch].toLowerCase().indexOf(c.toLowerCase())>-1});O.add(d,m),a.isFunction(a(b).data("settings").onResult)&&(m=a(b).data("settings").onResult.call(Q,m)),C(c,m)}}function H(){var c=a(b).data("settings").url;return"function"==typeof a(b).data("settings").url&&(c=a(b).data("settings").url.call(a(b).data("settings"))),c}function I(a){setTimeout(function(){a.focus()},50)}if("string"==typeof d||"function"==typeof d){a(b).data("settings").url=d;var J=H();void 0===a(b).data("settings").crossDomain&&"string"==typeof J&&(a(b).data("settings").crossDomain=-1===J.indexOf("://")?!1:location.href.split(/\/+/g)[1]!==J.split(/\/+/g)[1])}else"object"==typeof d&&(a(b).data("settings").local_data=d);a(b).data("settings").classes?a(b).data("settings").classes=a.extend({},e,a(b).data("settings").classes):a(b).data("settings").theme?(a(b).data("settings").classes={},a.each(e,function(c,d){a(b).data("settings").classes[c]=d+"-"+a(b).data("settings").theme})):a(b).data("settings").classes=e;var K,L,M=[],N=0,O=new a.TokenList.Cache,P=a('').css({outline:"none"}).attr("id",a(b).data("settings").idPrefix+b.id).focus(function(){return a(b).data("settings").disabled?!1:((null===a(b).data("settings").tokenLimit||a(b).data("settings").tokenLimit!==N)&&x(),void U.addClass(a(b).data("settings").classes.focused))}).blur(function(){u(),a(b).data("settings").allowFreeTagging&&m(),a(this).val(""),U.removeClass(a(b).data("settings").classes.focused)}).bind("keyup keydown blur update",l).keydown(function(c){var d,e;switch(c.keyCode){case g.LEFT:case g.RIGHT:case g.UP:case g.DOWN:if(0===this.value.length)d=V.prev(),e=V.next(),d.length&&d.get(0)===R||e.length&&e.get(0)===R?c.keyCode===g.LEFT||c.keyCode===g.UP?q(a(R),f.BEFORE):q(a(R),f.AFTER):c.keyCode!==g.LEFT&&c.keyCode!==g.UP||!d.length?c.keyCode!==g.RIGHT&&c.keyCode!==g.DOWN||!e.length||p(a(e.get(0))):p(a(d.get(0)));else{var h=null;c.keyCode===g.DOWN||c.keyCode===g.RIGHT?(h=a(W).find("li").first(),T&&(h=a(T).next())):(h=a(W).find("li").last(),T&&(h=a(T).prev())),D(h)}break;case g.BACKSPACE:if(d=V.prev(),0===this.value.length)return R?(s(a(R)),Q.change()):d.length&&p(a(d.get(0))),!1;1===a(this).val().length?u():setTimeout(function(){F()},5);break;case g.TAB:case g.ENTER:case g.NUMPAD_ENTER:case g.COMMA:if(T)o(a(T).data("tokeninput")),Q.change();else{if(a(b).data("settings").allowFreeTagging){if(a(b).data("settings").allowTabOut&&""===a(this).val())return!0;m()}else if(a(this).val(""),a(b).data("settings").allowTabOut)return!0;c.stopPropagation(),c.preventDefault()}return!1;case g.ESCAPE:return u(),!0;default:String.fromCharCode(c.which)&&setTimeout(function(){F()},5)}});h.placeholder&&P.attr("placeholder",h.placeholder);var Q=a(b).hide().val("").focus(function(){I(P)}).blur(function(){return P.blur(),Q}),R=null,S=0,T=null,U=a("").addClass(a(b).data("settings").classes.tokenList).click(function(b){var c=a(b.target).closest("li");c&&c.get(0)&&a.data(c.get(0),"tokeninput")?r(c):(R&&q(a(R),f.END),I(P))}).mouseover(function(c){var d=a(c.target).closest("li");d&&R!==this&&d.addClass(a(b).data("settings").classes.highlightedToken)}).mouseout(function(c){var d=a(c.target).closest("li");d&&R!==this&&d.removeClass(a(b).data("settings").classes.highlightedToken)}).insertBefore(Q),V=a("").addClass(a(b).data("settings").classes.inputToken).appendTo(U).append(P),W=a("").addClass(a(b).data("settings").classes.dropdown).appendTo("body").hide(),X=a("").insertAfter(P).css({position:"absolute",top:-9999,left:-9999,width:"auto",fontSize:P.css("fontSize"),fontFamily:P.css("fontFamily"),fontWeight:P.css("fontWeight"),letterSpacing:P.css("letterSpacing"),whiteSpace:"nowrap"});Q.val("");var Y=a(b).data("settings").prePopulate||Q.data("pre");a(b).data("settings").processPrePopulate&&a.isFunction(a(b).data("settings").onResult)&&(Y=a(b).data("settings").onResult.call(Q,Y)),Y&&Y.length&&a.each(Y,function(a,b){n(b),k(),P.attr("placeholder",null)}),a(b).data("settings").disabled&&j(!0),"function"==typeof a(b).data("settings").onReady&&a(b).data("settings").onReady.call(),this.clear=function(){U.children("li").each(function(){0===a(this).children("input").length&&s(a(this))})},this.add=function(a){o(a)},this.remove=function(b){U.children("li").each(function(){if(0===a(this).children("input").length){var c=a(this).data("tokeninput"),d=!0;for(var e in b)if(b[e]!==c[e]){d=!1;break}d&&s(a(this))}})},this.getTokens=function(){return M},this.toggleDisabled=function(a){j(a)},l();var Z=new RegExp("[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\-]","g")},a.TokenList.Cache=function(b){var c,d,e={},f=0;c=a.extend({max_size:500},b),d=function(){e={},f=0},this.add=function(a,b){f>c.max_size&&d(),e[a]||(f+=1),e[a]=b},this.get=function(a){return e[a]}}}(jQuery);
\ No newline at end of file
+!function(t){function e(t){return String(null===t||void 0===t?"":t)}function n(t){return e(t).replace(d,function(t){return l[t]})}var a={method:"GET",queryParam:"q",searchDelay:300,minChars:1,propertyToSearch:"name",jsonContainer:null,contentType:"json",excludeCurrent:!1,excludeCurrentParameter:"x",prePopulate:null,processPrePopulate:!1,hintText:"Type in a search term",noResultsText:"No results",searchingText:"Searching...",deleteText:"×",animateDropdown:!0,placeholder:null,theme:null,zindex:999,resultsLimit:null,enableHTML:!1,resultsFormatter:function(t){var e=t[this.propertyToSearch];return""+(this.enableHTML?e:n(e))+""},tokenFormatter:function(t){var e=t[this.propertyToSearch];return""+(this.enableHTML?e:n(e))+"
"},tokenLimit:null,tokenDelimiter:",",preventDuplicates:!1,tokenValue:"id",allowFreeTagging:!1,allowTabOut:!1,autoSelectFirstResult:!1,onResult:null,onCachedResult:null,onAdd:null,onFreeTaggingAdd:null,onDelete:null,onReady:null,idPrefix:"token-input-",disabled:!1},s={tokenList:"token-input-list",token:"token-input-token",tokenReadOnly:"token-input-token-readonly",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",focused:"token-input-focused",disabled:"token-input-disabled"},i={BEFORE:0,AFTER:1,END:2},o={BACKSPACE:8,TAB:9,ENTER:13,ESCAPE:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,NUMPAD_ENTER:108,COMMA:188},l={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},d=/[&<>"'\/]/g,r={init:function(e,n){var s=t.extend({},a,n||{});return this.each(function(){t(this).data("settings",s),t(this).data("tokenInputObject",new t.TokenList(this,e,s))})},clear:function(){return this.data("tokenInputObject").clear(),this},add:function(t){return this.data("tokenInputObject").add(t),this},remove:function(t){return this.data("tokenInputObject").remove(t),this},get:function(){return this.data("tokenInputObject").getTokens()},toggleDisabled:function(t){return this.data("tokenInputObject").toggleDisabled(t),this},setOptions:function(e){return t(this).data("settings",t.extend({},t(this).data("settings"),e||{})),this},destroy:function(){if(this.data("tokenInputObject")){this.data("tokenInputObject").clear();var t=this,e=this.parent();return e.empty(),t.show(),e.append(t),t}}};t.fn.tokenInput=function(t){return r[t]?r[t].apply(this,Array.prototype.slice.call(arguments,1)):r.init.apply(this,arguments)},t.TokenList=function(e,a,l){function d(a){return t(e).data("settings").enableHTML?a:n(a)}function r(n){t(e).data("settings").disabled="boolean"==typeof n?n:!t(e).data("settings").disabled,z.attr("disabled",t(e).data("settings").disabled),q.toggleClass(t(e).data("settings").classes.disabled,t(e).data("settings").disabled),G&&k(t(G),i.END),V.attr("disabled",t(e).data("settings").disabled)}function u(){return null!==t(e).data("settings").tokenLimit&&H>=t(e).data("settings").tokenLimit?(z.hide(),void y()):void 0}function c(){if(M!==(M=z.val())){var t=q.width()-z.offset().left-q.offset().left;Q.html(n(M)||n(l.placeholder)),z.width(Math.min(q.width(),Math.max(t,Q.width()+30)))}}function g(){var n=t.trim(z.val()),a=n.split(t(e).data("settings").tokenDelimiter);t.each(a,function(n,a){if(a){t.isFunction(t(e).data("settings").onFreeTaggingAdd)&&(a=t(e).data("settings").onFreeTaggingAdd.call(V,a));var s={};s[t(e).data("settings").tokenValue]=s[t(e).data("settings").propertyToSearch]=a,h(s)}})}function p(n){var a=t(t(e).data("settings").tokenFormatter(n)),s=n.readonly===!0;s&&a.addClass(t(e).data("settings").classes.tokenReadOnly),a.addClass(t(e).data("settings").classes.token).insertBefore(K),s||t(""+t(e).data("settings").deleteText+"").addClass(t(e).data("settings").classes.tokenDelete).appendTo(a).click(function(){return t(e).data("settings").disabled?void 0:(v(t(this).parent()),V.change(),!1)});var i=n;return t.data(a.get(0),"tokeninput",n),B=B.slice(0,U).concat([i]).concat(B.slice(U)),U++,T(B,V),H+=1,null!==t(e).data("settings").tokenLimit&&H>=t(e).data("settings").tokenLimit&&(z.hide(),y()),a}function h(e){var n=l.onAdd;if(H>0&&l.preventDuplicates){var a=null;if(q.children().each(function(){var n=t(this),s=t.data(n.get(0),"tokeninput");return s&&s.id===e.id?(a=n,!1):void 0}),a)return f(a),K.insertAfter(a),void z.focus()}(null==l.tokenLimit||HU&&i--,n.remove(),G=null,j(z),B=B.slice(0,i).concat(B.slice(i+1)),0==B.length&&z.attr("placeholder",l.placeholder),U>i&&U--,T(B,V),H-=1,null!==t(e).data("settings").tokenLimit&&(z.show().val(""),j(z)),t.isFunction(s)&&s.call(V,a)}function T(n,a){var s=t.map(n,function(n){return"function"==typeof t(e).data("settings").tokenValue?t(e).data("settings").tokenValue.call(this,n):n[t(e).data("settings").tokenValue]});a.val(s.join(t(e).data("settings").tokenDelimiter))}function y(){$.hide().empty(),W=null}function C(){$.css({position:"absolute",top:q.offset().top+q.outerHeight(!0),left:q.offset().left,width:q.width(),"z-index":t(e).data("settings").zindex}).show()}function b(){t(e).data("settings").searchingText&&($.html(""+d(t(e).data("settings").searchingText)+"
"),C())}function w(){t(e).data("settings").hintText&&($.html(""+d(t(e).data("settings").hintText)+"
"),C())}function E(t){return t.replace(X,"\\$&")}function x(t,e){return t.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+E(e)+")(?![^<>]*>)(?![^&;]+;)","gi"),function(t,e){return""+d(e)+""})}function D(t,e,n){return t.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+E(e)+")(?![^<>]*>)(?![^&;]+;)","g"),x(e,n))}function R(n){if(t(e).data("settings").excludeCurrent){var a=t(e).data("tokenInputObject").getTokens(),s=[];a.length&&(t.each(n,function(n,i){var o=!0;t.each(a,function(n,a){return i[t(e).data("settings").propertyToSearch]==a[t(e).data("settings").propertyToSearch]?(o=!1,!1):void 0}),o&&s.push(i)}),n=s)}return n}function F(n,a){if(a=R(a),a&&a.length){$.empty();var s=t("").appendTo($).mouseover(function(e){L(t(e.target).closest("li"))}).mousedown(function(e){return h(t(e.target).closest("li").data("tokeninput")),V.change(),!1}).hide();t(e).data("settings").resultsLimit&&a.length>t(e).data("settings").resultsLimit&&(a=a.slice(0,t(e).data("settings").resultsLimit)),t.each(a,function(a,i){var o=t(e).data("settings").resultsFormatter(i);o=D(o,i[t(e).data("settings").propertyToSearch],n),o=t(o).appendTo(s),o.addClass(a%2?t(e).data("settings").classes.dropdownItem:t(e).data("settings").classes.dropdownItem2),0===a&&t(e).data("settings").autoSelectFirstResult&&L(o),t.data(o.get(0),"tokeninput",i)}),C(),t(e).data("settings").animateDropdown?s.slideDown("fast"):s.show()}else t(e).data("settings").noResultsText&&($.html(""+d(t(e).data("settings").noResultsText)+"
"),C())}function L(n){n&&(W&&O(t(W)),n.addClass(t(e).data("settings").classes.selectedDropdownItem),W=n.get(0))}function O(n){n.removeClass(t(e).data("settings").classes.selectedDropdownItem),W=null}function A(){var n=z.val();n&&n.length&&(G&&k(t(G),i.AFTER),n.length>=t(e).data("settings").minChars?(b(),clearTimeout(N),N=setTimeout(function(){P(n)},t(e).data("settings").searchDelay)):y())}function P(n){var a=n+S(),s=_.get(a);if(s)t.isFunction(t(e).data("settings").onCachedResult)&&(s=t(e).data("settings").onCachedResult.call(V,s)),F(n,s);else if(t(e).data("settings").url){var i=S(),o={};if(o.data={},i.indexOf("?")>-1){var d=i.split("?");o.url=d[0];var r=d[1].split("&");t.each(r,function(t,e){var n=e.split("=");o.data[n[0]]=n[1]})}else o.url=i;if(o.data[t(e).data("settings").queryParam]=n,o.type=t(e).data("settings").method,o.dataType=t(e).data("settings").contentType,t(e).data("settings").crossDomain&&(o.dataType="jsonp"),t(e).data("settings").excludeCurrent){var u=t(e).data("tokenInputObject").getTokens(),c=t.map(u,function(n){return"function"==typeof t(e).data("settings").tokenValue?t(e).data("settings").tokenValue.call(this,n):n[t(e).data("settings").tokenValue]});o.data[t(e).data("settings").excludeCurrentParameter]=c.join(t(e).data("settings").tokenDelimiter)}o.success=function(s){_.add(a,t(e).data("settings").jsonContainer?s[t(e).data("settings").jsonContainer]:s),t.isFunction(t(e).data("settings").onResult)&&(s=t(e).data("settings").onResult.call(V,s)),z.val()===n&&F(n,t(e).data("settings").jsonContainer?s[t(e).data("settings").jsonContainer]:s)},l.onSend&&l.onSend(o),t.ajax(o)}else if(t(e).data("settings").local_data){var g=t.grep(t(e).data("settings").local_data,function(a){return a[t(e).data("settings").propertyToSearch].toLowerCase().indexOf(n.toLowerCase())>-1});_.add(a,g),t.isFunction(t(e).data("settings").onResult)&&(g=t(e).data("settings").onResult.call(V,g)),F(n,g)}}function S(){var n=t(e).data("settings");return"function"==typeof n.url?n.url.call(n):n.url}function j(t){setTimeout(function(){t.focus()},50)}if("string"==typeof a||"function"==typeof a){t(e).data("settings").url=a;var I=S();void 0===t(e).data("settings").crossDomain&&"string"==typeof I&&(t(e).data("settings").crossDomain=-1===I.indexOf("://")?!1:location.href.split(/\/+/g)[1]!==I.split(/\/+/g)[1])}else"object"==typeof a&&(t(e).data("settings").local_data=a);t(e).data("settings").classes?t(e).data("settings").classes=t.extend({},s,t(e).data("settings").classes):t(e).data("settings").theme?(t(e).data("settings").classes={},t.each(s,function(n,a){t(e).data("settings").classes[n]=a+"-"+t(e).data("settings").theme})):t(e).data("settings").classes=s;var N,M,B=[],H=0,_=new t.TokenList.Cache,z=t('').css({outline:"none"}).attr("id",t(e).data("settings").idPrefix+e.id).focus(function(){return t(e).data("settings").disabled?!1:((null===t(e).data("settings").tokenLimit||t(e).data("settings").tokenLimit!==H)&&w(),void q.addClass(t(e).data("settings").classes.focused))}).blur(function(){y(),t(e).data("settings").allowFreeTagging&&g(),t(this).val(""),q.removeClass(t(e).data("settings").classes.focused)}).bind("keyup keydown blur update",c).keydown(function(n){var a,s;switch(n.keyCode){case o.LEFT:case o.RIGHT:case o.UP:case o.DOWN:if(0===this.value.length)a=K.prev(),s=K.next(),a.length&&a.get(0)===G||s.length&&s.get(0)===G?n.keyCode===o.LEFT||n.keyCode===o.UP?k(t(G),i.BEFORE):k(t(G),i.AFTER):n.keyCode!==o.LEFT&&n.keyCode!==o.UP||!a.length?n.keyCode!==o.RIGHT&&n.keyCode!==o.DOWN||!s.length||f(t(s.get(0))):f(t(a.get(0)));else{var l=null;n.keyCode===o.DOWN||n.keyCode===o.RIGHT?(l=t($).find("li").first(),W&&(l=t(W).next())):(l=t($).find("li").last(),W&&(l=t(W).prev())),L(l)}break;case o.BACKSPACE:if(a=K.prev(),0===this.value.length)return G?(v(t(G)),V.change()):a.length&&f(t(a.get(0))),!1;1===t(this).val().length?y():setTimeout(function(){A()},5);break;case o.TAB:case o.ENTER:case o.NUMPAD_ENTER:case o.COMMA:if(W)h(t(W).data("tokeninput")),V.change();else{if(t(e).data("settings").allowFreeTagging){if(t(e).data("settings").allowTabOut&&""===t(this).val())return!0;g()}else if(t(this).val(""),t(e).data("settings").allowTabOut)return!0;n.stopPropagation(),n.preventDefault()}return!1;case o.ESCAPE:return y(),!0;default:String.fromCharCode(n.which)&&setTimeout(function(){A()},5)}});l.placeholder&&z.attr("placeholder",l.placeholder);var V=t(e).hide().val("").focus(function(){j(z)}).blur(function(){return z.blur(),V}),G=null,U=0,W=null,q=t("").addClass(t(e).data("settings").classes.tokenList).click(function(e){var n=t(e.target).closest("li");n&&n.get(0)&&t.data(n.get(0),"tokeninput")?m(n):(G&&k(t(G),i.END),j(z))}).mouseover(function(n){var a=t(n.target).closest("li");a&&G!==this&&a.addClass(t(e).data("settings").classes.highlightedToken)}).mouseout(function(n){var a=t(n.target).closest("li");a&&G!==this&&a.removeClass(t(e).data("settings").classes.highlightedToken)}).insertBefore(V),K=t("").addClass(t(e).data("settings").classes.inputToken).appendTo(q).append(z),$=t("").addClass(t(e).data("settings").classes.dropdown).appendTo("body").hide(),Q=t("").insertAfter(z).css({position:"absolute",top:-9999,left:-9999,width:"auto",fontSize:z.css("fontSize"),fontFamily:z.css("fontFamily"),fontWeight:z.css("fontWeight"),letterSpacing:z.css("letterSpacing"),whiteSpace:"nowrap"});V.val("");var J=t(e).data("settings").prePopulate||V.data("pre");t(e).data("settings").processPrePopulate&&t.isFunction(t(e).data("settings").onResult)&&(J=t(e).data("settings").onResult.call(V,J)),J&&J.length&&t.each(J,function(t,e){p(e),u(),z.attr("placeholder",null)}),t(e).data("settings").disabled&&r(!0),"function"==typeof t(e).data("settings").onReady&&t(e).data("settings").onReady.call(),this.clear=function(){q.children("li").each(function(){0===t(this).children("input").length&&v(t(this))})},this.add=function(t){h(t)},this.remove=function(e){q.children("li").each(function(){if(0===t(this).children("input").length){var n=t(this).data("tokeninput"),a=!0;for(var s in e)if(e[s]!==n[s]){a=!1;break}a&&v(t(this))}})},this.getTokens=function(){return B},this.toggleDisabled=function(t){r(t)},c();var X=new RegExp("[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\-]","g")},t.TokenList.Cache=function(e){var n,a,s={},i=0;n=t.extend({max_size:500},e),a=function(){s={},i=0},this.add=function(t,e){i>n.max_size&&a(),s[t]||(i+=1),s[t]=e},this.get=function(t){return s[t]}}}(jQuery);
\ No newline at end of file
diff --git a/src/jquery.tokeninput.js b/src/jquery.tokeninput.js
index 4b69d823..d9005928 100755
--- a/src/jquery.tokeninput.js
+++ b/src/jquery.tokeninput.js
@@ -642,7 +642,7 @@
return $this_token;
}
- // Add a token to the token list based on user input
+ // Add a token to the token list based on user input
function add_token (item) {
var callback = $(input).data("settings").onAdd;
@@ -652,7 +652,7 @@
token_list.children().each(function () {
var existing_token = $(this);
var existing_data = $.data(existing_token.get(0), "tokeninput");
- if(existing_data && existing_data[settings.tokenValue] === item[settings.tokenValue]) {
+ if(existing_data && existing_data.id === item.id) {
found_existing_token = existing_token;
return false;
}