(function($){$.fn.tokenInput=function(url,options){var settings=$.extend({url:url,hintText:"Type in a search term",noResultsText:"No results",searchingText:"Searching...",searchDelay:300,minChars:1,tokenLimit:null,jsonContainer:null,method:"GET",contentType:"json",queryParam:"q",onResult:null},options);settings.classes=$.extend({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"},options.classes);return this.each(function(){var list=new $.TokenList(this,settings)})};$.TokenList=function(input,settings){var POSITION={BEFORE:0,AFTER:1,END:2};var KEY={BACKSPACE:8,TAB:9,RETURN:13,ESC:27,LEFT:37,UP:38,RIGHT:39,DOWN:40,COMMA:188};var saved_tokens=[];var token_count=0;var cache= new $.TokenList.Cache;var timeout;var input_box=$('').css({outline:"none"}).focus(function(){if(settings.tokenLimit==null||settings.tokenLimit!=token_count)show_dropdown_hint()}).blur(function(){hide_dropdown()}).keydown(function(event){var previous_token;var next_token;switch(event.keyCode){case KEY.LEFT:case KEY.RIGHT:case KEY.UP:case KEY.DOWN:if(!$(this).val()){previous_token=input_token.prev();next_token=input_token.next();if(previous_token.length&&previous_token.get(0)===selected_token|| next_token.length&&next_token.get(0)===selected_token)if(event.keyCode==KEY.LEFT||event.keyCode==KEY.UP)deselect_token($(selected_token),POSITION.BEFORE);else deselect_token($(selected_token),POSITION.AFTER);else if((event.keyCode==KEY.LEFT||event.keyCode==KEY.UP)&&previous_token.length)select_token($(previous_token.get(0)));else if((event.keyCode==KEY.RIGHT||event.keyCode==KEY.DOWN)&&next_token.length)select_token($(next_token.get(0)))}else{var dropdown_item=null;if(event.keyCode==KEY.DOWN||event.keyCode== KEY.RIGHT)dropdown_item=$(selected_dropdown_item).next();else dropdown_item=$(selected_dropdown_item).prev();if(dropdown_item.length)select_dropdown_item(dropdown_item);return false}break;case KEY.BACKSPACE:previous_token=input_token.prev();if(!$(this).val().length){if(selected_token)delete_token($(selected_token));else if(previous_token.length)select_token($(previous_token.get(0)));return false}else if($(this).val().length==1)hide_dropdown();else setTimeout(function(){do_search(false)},5);break; case KEY.TAB:case KEY.RETURN:case KEY.COMMA:if(selected_dropdown_item){add_token($(selected_dropdown_item));return false}break;case KEY.ESC:hide_dropdown();return true;default:if(is_printable_character(event.keyCode))setTimeout(function(){do_search(false)},5);break}});var hidden_input=$(input).hide().focus(function(){input_box.focus()}).bind("change_url",function(event,url){settings.url=url}).blur(function(){input_box.blur()});var selected_token=null;var selected_dropdown_item=null;var token_list= $("