diff --git a/app/controllers/conversations_controller.rb b/app/controllers/conversations_controller.rb
index 634ad307791350225dd7f75add682bce040ec66b..2a4008d230d77e009114eb354aa3620a4439e086 100644
--- a/app/controllers/conversations_controller.rb
+++ b/app/controllers/conversations_controller.rb
@@ -22,7 +22,6 @@ class ConversationsController < ApplicationController
   end
 
   def create
-    params[:contact_ids] = params[:as_values_contact_ids]
     person_ids = Contact.where(:id => params[:contact_ids].split(',')).map! do |contact|
       contact.person_id
     end
diff --git a/app/controllers/profiles_controller.rb b/app/controllers/profiles_controller.rb
index b293a0474d93e03cb1ef988761f297c1c485c177..641355bbca81f2fa2365e68e25633307ef7c272e 100644
--- a/app/controllers/profiles_controller.rb
+++ b/app/controllers/profiles_controller.rb
@@ -20,7 +20,7 @@ class ProfilesController < ApplicationController
   def update
     # upload and set new profile photo
     params[:profile] ||= {}
-    params[:profile][:tag_string] = (params[:as_values_tags]) ? params[:as_values_tags].gsub(',',' ') : ""
+    params[:profile][:tag_string] = (params[:tags]) ? params[:tags].gsub(',',' ') : ""
     params[:profile][:searchable] ||= false
     params[:profile][:photo] = Photo.where(:author_id => current_user.person.id,
                                            :id => params[:photo_id]).first if params[:photo_id]
diff --git a/app/controllers/tags_controller.rb b/app/controllers/tags_controller.rb
index d5bbd50d8523e07388615a1b4dac7d574a7b836b..05ff9a2fada5d1cbcc399c1e6a37884cb2bdcc96 100644
--- a/app/controllers/tags_controller.rb
+++ b/app/controllers/tags_controller.rb
@@ -13,18 +13,17 @@ class TagsController < ApplicationController
   
   def index
     params[:q].gsub!("#", "")
+    params[:limit] = !params[:limit].blank? ? params[:limit].to_i : 10
     if params[:q].length > 1
-      @tags = ActsAsTaggableOn::Tag.named_like(params[:q]).limit(params[:limit] || 10)
+      @tags = ActsAsTaggableOn::Tag.named_like(params[:q]).limit(params[:limit] - 1)
       @array = []
       @tags.each do |obj| 
         @array << { :name => ("#"+obj.name),
           :value => ("#"+obj.name)}
       end
 
-     if @array.empty?
-        @array << { :name => params[:q],
-          :value => ("#"+params[:q])}
-      end
+      @array << { :name => ('#' + params[:q]), :value => ("#" + params[:q])}
+      @array.uniq!
 
       respond_to do |format|
         format.json{
diff --git a/app/views/conversations/new.haml b/app/views/conversations/new.haml
index b98f771e094acd6b73befcbdecf577b9ec1d3958..76e1ec1228495c840deb979c5abd2f0035be0f5c 100644
--- a/app/views/conversations/new.haml
+++ b/app/views/conversations/new.haml
@@ -15,7 +15,7 @@
       minChars: 3,
       keyDelay: 0,
       startText: '',
-      emptyText: '#{t('.no_results')}',
+      emptyText: '#{t('no_results')}',
       preFill: [{ 'name' : "#{params[:name]}",
                  'value' : "#{params[:contact_id]}"}]
       });
diff --git a/app/views/profiles/_edit_public.html.haml b/app/views/profiles/_edit_public.html.haml
index b51f395bf916efcaf3c2b3e127a532c1256a2910..2967f4d610cfaaf88481fc968c438386abdb903d 100644
--- a/app/views/profiles/_edit_public.html.haml
+++ b/app/views/profiles/_edit_public.html.haml
@@ -22,12 +22,12 @@
       minChars: 2,
       keyDelay: 0,
       startText: "#{t('profiles.edit.your_tags_placeholder')}",
-      emptyText: '#{t('.no_results')}',
+      emptyText: '#{t('no_results')}',
       preFill: data
       });
 
     autocompleteInput.bind('keydown', function(evt){
-      if(evt.keyCode == 13 || evt.keyCode == 32){
+      if(evt.keyCode == 13 || evt.keyCode == 9 || evt.keyCode == 32){
         if( $('li.as-result-item.active').length == 0 ){
           $('li.as-result-item').first().click();
         }
diff --git a/config/locales/diaspora/en.yml b/config/locales/diaspora/en.yml
index cc37554deeb04d59cb1da16db36a98dbfb7aa4be..a71bd0faaff9e23652e2c71c1af5317709026793 100644
--- a/config/locales/diaspora/en.yml
+++ b/config/locales/diaspora/en.yml
@@ -31,6 +31,7 @@ en:
   previous: "previous"
   _comments: "Comments"
   all_aspects: "All Aspects"
+  no_results: "No Results Found"
 
 
   #for reference translation, the real activerecord english transations are actually
@@ -192,7 +193,6 @@ en:
       to: "to"
       subject: "subject"
       send: "Send"
-      no_results: "No Results Found"
     helper:
       new_messages: 
         zero: "no new messages"
diff --git a/public/javascripts/vendor/jquery.autoSuggest.js b/public/javascripts/vendor/jquery.autoSuggest.js
index 755b4ef127bb12730487dd3081902a2c96175a7e..bafd35cbcf6fba76827a4d07aba86d0029f12fa1 100644
--- a/public/javascripts/vendor/jquery.autoSuggest.js
+++ b/public/javascripts/vendor/jquery.autoSuggest.js
@@ -18,4 +18,355 @@
  *   http://www.opensource.org/licenses/mit-license.php
  *   http://www.gnu.org/licenses/gpl.html
  */
-eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(6($){$.2O.2P=6(7,2f){4 2g={1R:m,1o:"2Q 2H 31",2i:"1Y 2X 2Y",D:{},2h:"1Y 2G 2I 2J 35",Z:"1a",N:"1a",1y:"1a",2B:"q",15:m,2E:"",1e:m,1V:1,1C:2V,2t:G,2d:m,1I:m,20:G,R:6(){},1B:6(1q){},2w:6(1q){},1P:6(1q){1q.36()},1M:m,18:6(h){K h},2z:6(7){K 7},2u:6(7){},2m:6(){}};4 3=$.2q(2g,2f);4 14="26";4 12=0;5(2b 7=="h"){14="h";4 2C=7}s{4 2F=7;O(k 1E 7)5(7.1F(k))12++}5((14=="26"&&12>0)||14=="h"){K d.2W(6(x){5(!3.1R){x=x+""+29.2U(29.2Z()*30);4 1U="c-l-"+x}s{x=3.1R;4 1U=x}3.R.v(d);4 l=$(d);l.1X("34","33").F("c-l").1X("L",1U).b(3.1o);4 C=m;l.25(\'<1g A="c-1W" L="c-1W-\'+x+\'"></1g>\').25(\'<f A="c-1O" L="c-1O-\'+x+\'"></f>\');4 n=$("#c-1W-"+x);4 J=$("#c-1O-"+x);4 j=$(\'<1Z A="c-22" L="c-22-\'+x+\'"></1Z>\').E();4 I=$(\'<1g A="c-2L"></1g>\');4 p=$(\'<l 2S="2M" A="c-2c" 1z="2N\'+x+\'" L="c-2c-\'+x+\'" />\');4 u="";5(2b 3.D=="h"){4 1f=3.D.1t(",");O(4 i=0;i<1f.o;i++){4 1L={};1L[3.N]=1f[i];5(1f[i]!=""){17(1L,"27"+i)}}u=3.D}s{u="";4 1d=0;O(k 1E 3.D)5(3.D.1F(k))1d++;5(1d>0){O(4 i=0;i<1d;i++){4 16=3.D[i][3.N];5(16==37){16=""}u=u+16+",";5(16!=""){17(3.D[i],"27"+i)}}}}5(u!=""){l.b("");4 2e=u.3o(u.o-1);5(2e!=","){u=u+","}p.b(","+u);$("f.c-Q-z",n).F("1i").B("M")}l.28(p);n.1b(6(){C=G;l.1p()}).1v(6(){C=m}).28(j);4 P=3t;4 t="";4 3u=0;4 19=m;l.1p(6(){5($(d).b()==3.1o&&p.b()==""){$(d).b("")}s 5(C){$("f.c-Q-z",n).B("1i");5($(d).b()!=""){I.2k("2l",n.2x());j.1H()}}C=G;K G}).1i(6(){5($(d).b()==""&&p.b()==""&&u==""){$(d).b(3.1o)}s 5(C){$("f.c-Q-z",n).F("1i").B("M");j.E()}}).3m(6(e){1k=e.2a;3d=m;3e(e.2a){T 38:e.1m();1A("3n");V;T 3b:e.1m();1A("1T");V;T 8:5(l.b()==""){4 S=p.b().1t(",");S=S[S.o-2];n.2y().39(J.t()).B("M");5(J.t().3a("M")){p.b(p.b().1c(","+S+",",","));3.1P.v(d,J.t())}s{3.1B.v(d,J.t());J.t().F("M")}}5(l.b().o==1){j.E();t=""}5($(":2D",j).o>0){5(P){21(P)}P=23(6(){1D()},3.1C)}V;T 9:T 3f:19=G;4 U=l.b().1c(/(,)/g,"");5(U!=""&&p.b().1x(","+U+",")<0&&U.o>=3.1V){e.1m();4 1n={};1n[3.Z]=U;1n[3.N]=U;4 W=$("f",n).o;17(1n,"3l"+(W+1));l.b("")}T 13:19=m;4 r=$("f.r:24",j);5(r.o>0){r.1b();j.E()}5(3.2d||r.o>0){e.1m()}V;3k:5(3.20){5(3.1I&&$("f.c-Q-z",n).o>=3.1I){I.10(\'<f A="c-2j">\'+3.2h+\'</f>\');j.1H()}s{5(P){21(P)}P=23(6(){1D()},3.1C)}}V}});6 1D(){5(1k==3h||(1k>8&&1k<32)){K j.E()}4 h=l.b().1c(/[\\\\]+|[\\/]+/g,"");5(h==t)K;t=h;5(h.o>=3.1V){n.F("1N");5(14=="h"){4 1j="";5(3.15){1j="&1j="+2A(3.15)}5(3.18){h=3.18.v(d,h)}$.3i(2C+"?"+3.2B+"="+2A(h)+1j+3.2E,6(7){12=0;4 1l=3.2z.v(d,7);O(k 1E 1l)5(1l.1F(k))12++;1J(1l,h)})}s{5(3.18){h=3.18.v(d,h)}1J(2F,h)}}s{n.B("1N");j.E()}}4 1S=0;6 1J(7,Y){5(!3.1e){Y=Y.2o()}4 1r=0;j.10(I.10("")).E();O(4 i=0;i<12;i++){4 w=i;1S++;4 1w=m;5(3.1y=="1a"){4 H=7[w].1a}s{4 H="";4 1u=3.1y.1t(",");O(4 y=0;y<1u.o;y++){4 1z=$.3c(1u[y]);H=H+7[w][1z]+" "}}5(H){5(!3.1e){H=H.2o()}5(H.1x(Y)!=-1&&p.b().1x(","+7[w][3.N]+",")==-1){1w=G}}5(1w){4 11=$(\'<f A="c-2p-z" L="c-2p-z-\'+w+\'"></f>\').1b(6(){4 1h=$(d).7("7");4 1G=1h.w;5($("#c-Q-"+1G,n).o<=0&&!19){4 7=1h.2s;l.b("").1p();t="";17(7,1G);3.2u.v(d,1h);j.E()}19=m}).1v(6(){C=m}).3r(6(){$("f",I).B("r");$(d).F("r")}).7("7",{2s:7[w],w:1S});4 X=$.2q({},7[w]);5(!3.1e){4 1Q=2r 2n("(?![^&;]+;)(?!<[^<>]*)("+Y+")(?![^<>]*>)(?![^&;]+;)","3w")}s{4 1Q=2r 2n("(?![^&;]+;)(?!<[^<>]*)("+Y+")(?![^<>]*>)(?![^&;]+;)","g")}5(3.2t){X[3.Z]=X[3.Z].1c(1Q,"<2v>$1</2v>")}5(!3.1M){11=11.10(X[3.Z])}s{11=3.1M.v(d,X,11)}I.2K(11);2R X;1r++;5(3.15&&3.15==1r){V}}}n.B("1N");5(1r<=0){I.10(\'<f A="c-2j">\'+3.2i+\'</f>\')}I.2k("2l",n.2x());j.1H();3.2m.v(d)}6 17(7,w){p.b(p.b()+7[3.N]+",");4 z=$(\'<f A="c-Q-z" L="c-Q-\'+w+\'"></f>\').1b(6(){3.1B.v(d,$(d));n.2y().B("M");$(d).F("M")}).1v(6(){C=m});4 1s=$(\'<a A="c-1s">&2T;</a>\').1b(6(){p.b(p.b().1c(","+7[3.N]+",",","));3.1P.v(d,z);C=G;l.1p();K m});J.3q(z.10(7[3.Z]).3v(1s));3.2w.v(d,J.t())}6 1A(1K){5($(":2D",j).o>0){4 W=$("f",j);5(1K=="1T"){4 R=W.3s(0)}s{4 R=W.3j(":S")}4 r=$("f.r:24",j);5(r.o>0){5(1K=="1T"){R=r.3p()}s{R=r.t()}}W.B("r");R.F("r")}}})}}})(3g);',62,219,'|||opts|var|if|function|data||||val|as|this||li||string||results_holder||input|false|selections_holder|length|values_input||active|else|prev|prefill_value|call|num|||item|class|removeClass|input_focus|preFill|hide|addClass|true|str|results_ul|org_li|return|id|selected|selectedValuesProp|for|timeout|selection|start|last|case|i_input|break|lis|this_data|query|selectedItemProp|html|formatted|d_count||d_type|retrieveLimit|new_v|add_selected_item|beforeRetrieve|tab_press|value|click|replace|prefill_count|matchCase|vals|ul|raw_data|blur|limit|lastKeyPressCode|new_data|preventDefault|n_data|startText|focus|elem|matchCount|close|split|names|mousedown|forward|search|searchObjProps|name|moveSelection|selectionClick|keyDelay|keyChange|in|hasOwnProperty|number|show|selectionLimit|processData|direction|v_data|formatList|loading|original|selectionRemoved|regx|asHtmlID|num_count|down|x_id|minChars|selections|attr|No|div|showResultList|clearTimeout|results|setTimeout|first|wrap|object|000|after|Math|keyCode|typeof|values|neverSubmit|lastChar|options|defaults|limitText|emptyText|message|css|width|resultsComplete|RegExp|toLowerCase|result|extend|new|attributes|resultsHighlight|resultClick|em|selectionAdded|outerWidth|children|retrieveComplete|encodeURIComponent|queryParam|req_string|visible|extraParams|org_data|More|Name|Selections|Are|append|list|hidden|as_values_|fn|autoSuggest|Enter|delete|type|times|floor|400|each|Results|Found|random|100|Here||off|autocomplete|Allowed|remove|undefined||not|hasClass|40|trim|first_focus|switch|188|jQuery|46|getJSON|filter|default|00|keydown|up|substring|next|before|mouseover|eq|null|totalSelections|prepend|gi'.split('|'),0,{}))
+
+(function($){
+	$.fn.autoSuggest = function(data, options) {
+		var defaults = { 
+			asHtmlID: false,
+			startText: "Enter Name Here",
+			emptyText: "No Results Found",
+			preFill: {},
+			limitText: "No More Selections Are Allowed",
+			selectedItemProp: "value", //name of object property
+			selectedValuesProp: "value", //name of object property
+			searchObjProps: "value", //comma separated list of object property names
+			queryParam: "q",
+			retrieveLimit: false, //number for 'limit' param on ajax request
+			extraParams: "",
+			matchCase: false,
+			minChars: 1,
+			keyDelay: 400,
+			resultsHighlight: true,
+			neverSubmit: false,
+			selectionLimit: false,
+			showResultList: true,
+		  	start: function(){},
+		  	selectionClick: function(elem){},
+		  	selectionAdded: function(elem){},
+		  	selectionRemoved: function(elem){ elem.remove(); },
+		  	formatList: false, //callback function
+		  	beforeRetrieve: function(string){ return string; },
+		  	retrieveComplete: function(data){ return data; },
+		  	resultClick: function(data){},
+		  	resultsComplete: function(){}
+	  	};  
+	 	var opts = $.extend(defaults, options);	 	
+		
+		var d_type = "object";
+		var d_count = 0;
+		if(typeof data == "string") {
+			d_type = "string";
+			var req_string = data;
+		} else {
+			var org_data = data;
+			for (k in data) if (data.hasOwnProperty(k)) d_count++;
+		}
+		if((d_type == "object" && d_count > 0) || d_type == "string"){
+			return this.each(function(x){
+				if(!opts.asHtmlID){
+					x = x+""+Math.floor(Math.random()*100); //this ensures there will be unique IDs on the page if autoSuggest() is called multiple times
+					var x_id = "as-input-"+x;
+				} else {
+					x = opts.asHtmlID;
+					var x_id = x;
+				}
+				opts.start.call(this);
+				var input = $(this);
+				input.attr("autocomplete","off").addClass("as-input").attr("id",x_id).val(opts.startText);
+				var input_focus = false;
+				
+				// Setup basic elements and render them to the DOM
+				input.wrap('<ul class="as-selections" id="as-selections-'+x+'"></ul>').wrap('<li class="as-original" id="as-original-'+x+'"></li>');
+				var selections_holder = $("#as-selections-"+x);
+				var org_li = $("#as-original-"+x);				
+				var results_holder = $('<div class="as-results" id="as-results-'+x+'"></div>').hide();
+				var results_ul =  $('<ul class="as-list"></ul>');
+				var values_input = $('<input type="hidden" class="as-values" name="'+x+'" id="as-values-'+x+'" />');
+				var prefill_value = "";
+				if(typeof opts.preFill == "string"){
+					var vals = opts.preFill.split(",");					
+					for(var i=0; i < vals.length; i++){
+						var v_data = {};
+						v_data[opts.selectedValuesProp] = vals[i];
+						if(vals[i] != ""){
+							add_selected_item(v_data, "000"+i);	
+						}		
+					}
+					prefill_value = opts.preFill;
+				} else {
+					prefill_value = "";
+					var prefill_count = 0;
+					for (k in opts.preFill) if (opts.preFill.hasOwnProperty(k)) prefill_count++;
+					if(prefill_count > 0){
+						for(var i=0; i < prefill_count; i++){
+							var new_v = opts.preFill[i][opts.selectedValuesProp];
+							if(new_v == undefined){ new_v = ""; }
+							prefill_value = prefill_value+new_v+",";
+							if(new_v != ""){
+								add_selected_item(opts.preFill[i], "000"+i);	
+							}		
+						}
+					}
+				}
+				if(prefill_value != ""){
+					input.val("");
+					var lastChar = prefill_value.substring(prefill_value.length-1);
+					if(lastChar != ","){ prefill_value = prefill_value+","; }
+					values_input.val(","+prefill_value);
+					$("li.as-selection-item", selections_holder).addClass("blur").removeClass("selected");
+				}
+				input.after(values_input);
+				selections_holder.click(function(){
+					input_focus = true;
+					input.focus();
+				}).mousedown(function(){ input_focus = false; }).after(results_holder);	
+
+				var timeout = null;
+				var prev = "";
+				var totalSelections = 0;
+				var tab_press = false;
+				
+				// Handle input field events
+				input.focus(function(){			
+					if($(this).val() == opts.startText && values_input.val() == ""){
+						$(this).val("");
+					} else if(input_focus){
+						$("li.as-selection-item", selections_holder).removeClass("blur");
+						if($(this).val() != ""){
+							results_ul.css("width",selections_holder.outerWidth());
+							results_holder.show();
+						}
+					}
+					input_focus = true;
+					return true;
+				}).blur(function(){
+					if($(this).val() == "" && values_input.val() == "" && prefill_value == ""){
+						$(this).val(opts.startText);
+					} else if(input_focus){
+						$("li.as-selection-item", selections_holder).addClass("blur").removeClass("selected");
+						results_holder.hide();
+					}				
+				}).keydown(function(e) {
+					// track last key pressed
+					lastKeyPressCode = e.keyCode;
+					first_focus = false;
+					switch(e.keyCode) {
+						case 38: // up
+							e.preventDefault();
+							moveSelection("up");
+							break;
+						case 40: // down
+							e.preventDefault();
+							moveSelection("down");
+							break;
+						case 8:  // delete
+							if(input.val() == ""){							
+								var last = values_input.val().split(",");
+								last = last[last.length - 2];
+								selections_holder.children().not(org_li.prev()).removeClass("selected");
+								if(org_li.prev().hasClass("selected")){
+									values_input.val(values_input.val().replace(","+last+",",","));
+									opts.selectionRemoved.call(this, org_li.prev());
+								} else {
+									opts.selectionClick.call(this, org_li.prev());
+									org_li.prev().addClass("selected");		
+								}
+							}
+							if(input.val().length == 1){
+								results_holder.hide();
+								 prev = "";
+							}
+							if($(":visible",results_holder).length > 0){
+								if (timeout){ clearTimeout(timeout); }
+								timeout = setTimeout(function(){ keyChange(); }, opts.keyDelay);
+							}
+							break;
+						/*case 9: case 188:  // tab or comma
+							tab_press = true;
+							var i_input = input.val().replace(/(,)/g, "");
+							if(i_input != "" && values_input.val().search(","+i_input+",") < 0 && i_input.length >= opts.minChars){	
+								e.preventDefault();
+								var n_data = {};
+								n_data[opts.selectedItemProp] = i_input;
+								n_data[opts.selectedValuesProp] = i_input;																				
+								var lis = $("li", selections_holder).length;
+								add_selected_item(n_data, "00"+(lis+1));
+								input.val("");
+							}*/
+            case 9: // tab
+              if(input.val() == ''){
+                break;
+              }
+						case 13: case 188: // return, comma
+							tab_press = false;
+							var active = $("li.active:first", results_holder);
+							if(active.length > 0){
+								active.click();
+								results_holder.hide();
+							}
+							if(opts.neverSubmit || active.length > 0){
+								e.preventDefault();
+							}
+							break;
+						default:
+							if(opts.showResultList){
+								if(opts.selectionLimit && $("li.as-selection-item", selections_holder).length >= opts.selectionLimit){
+									results_ul.html('<li class="as-message">'+opts.limitText+'</li>');
+									results_holder.show();
+								} else {
+									if (timeout){ clearTimeout(timeout); }
+									timeout = setTimeout(function(){ keyChange(); }, opts.keyDelay);
+								}
+							}
+							break;
+					}
+				});
+				
+				function keyChange() {
+					// ignore if the following keys are pressed: [del] [shift] [capslock]
+					if( lastKeyPressCode == 46 || (lastKeyPressCode > 8 && lastKeyPressCode < 32) ){ return results_holder.hide(); }
+					var string = input.val().replace(/[\\]+|[\/]+/g,"");
+					if (string == prev) return;
+					prev = string;
+					if (string.length >= opts.minChars) {
+						selections_holder.addClass("loading");
+						if(d_type == "string"){
+							var limit = "";
+							if(opts.retrieveLimit){
+								limit = "&limit="+encodeURIComponent(opts.retrieveLimit);
+							}
+							if(opts.beforeRetrieve){
+								string = opts.beforeRetrieve.call(this, string);
+							}
+							$.getJSON(req_string+"?"+opts.queryParam+"="+encodeURIComponent(string)+limit+opts.extraParams, function(data){ 
+								d_count = 0;
+								var new_data = opts.retrieveComplete.call(this, data);
+								for (k in new_data) if (new_data.hasOwnProperty(k)) d_count++;
+								processData(new_data, string); 
+							});
+						} else {
+							if(opts.beforeRetrieve){
+								string = opts.beforeRetrieve.call(this, string);
+							}
+							processData(org_data, string);
+						}
+					} else {
+						selections_holder.removeClass("loading");
+						results_holder.hide();
+					}
+				}
+				var num_count = 0;
+				function processData(data, query){
+					if (!opts.matchCase){ query = query.toLowerCase(); }
+					var matchCount = 0;
+					results_holder.html(results_ul.html("")).hide();
+					for(var i=0;i<d_count;i++){				
+						var num = i;
+						num_count++;
+						var forward = false;
+						if(opts.searchObjProps == "value") {
+							var str = data[num].value;
+						} else {	
+							var str = "";
+							var names = opts.searchObjProps.split(",");
+							for(var y=0;y<names.length;y++){
+								var name = $.trim(names[y]);
+								str = str+data[num][name]+" ";
+							}
+						}
+						if(str){
+							if (!opts.matchCase){ str = str.toLowerCase(); }				
+							if(str.search(query) != -1 && values_input.val().search(","+data[num][opts.selectedValuesProp]+",") == -1){
+								forward = true;
+							}	
+						}
+						if(forward){
+							var formatted = $('<li class="as-result-item" id="as-result-item-'+num+'"></li>').click(function(){
+									var raw_data = $(this).data("data");
+									var number = raw_data.num;
+									if($("#as-selection-"+number, selections_holder).length <= 0 && !tab_press){
+										var data = raw_data.attributes;
+										input.val("").focus();
+										prev = "";
+										add_selected_item(data, number);
+										opts.resultClick.call(this, raw_data);
+										results_holder.hide();
+									}
+									tab_press = false;
+								}).mousedown(function(){ input_focus = false; }).mouseover(function(){
+									$("li", results_ul).removeClass("active");
+									$(this).addClass("active");
+								}).data("data",{attributes: data[num], num: num_count});
+							var this_data = $.extend({},data[num]);
+							if (!opts.matchCase){ 
+								var regx = new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + query + ")(?![^<>]*>)(?![^&;]+;)", "gi");
+							} else {
+								var regx = new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + query + ")(?![^<>]*>)(?![^&;]+;)", "g");
+							}
+							
+							if(opts.resultsHighlight){
+								this_data[opts.selectedItemProp] = this_data[opts.selectedItemProp].replace(regx,"<em>$1</em>");
+							}
+							if(!opts.formatList){
+								formatted = formatted.html(this_data[opts.selectedItemProp]);
+							} else {
+								formatted = opts.formatList.call(this, this_data, formatted);	
+							}
+							results_ul.append(formatted);
+							delete this_data;
+							matchCount++;
+							if(opts.retrieveLimit && opts.retrieveLimit == matchCount ){ break; }
+						}
+					}
+					selections_holder.removeClass("loading");
+					if(matchCount <= 0){
+						results_ul.html('<li class="as-message">'+opts.emptyText+'</li>');
+					}
+					results_ul.css("width", selections_holder.outerWidth());
+					results_holder.show();
+					opts.resultsComplete.call(this);
+				}
+				
+				function add_selected_item(data, num){
+					values_input.val(values_input.val()+data[opts.selectedValuesProp]+",");
+					var item = $('<li class="as-selection-item" id="as-selection-'+num+'"></li>').click(function(){
+							opts.selectionClick.call(this, $(this));
+							selections_holder.children().removeClass("selected");
+							$(this).addClass("selected");
+						}).mousedown(function(){ input_focus = false; });
+					var close = $('<a class="as-close">&times;</a>').click(function(){
+							values_input.val(values_input.val().replace(","+data[opts.selectedValuesProp]+",",","));
+							opts.selectionRemoved.call(this, item);
+							input_focus = true;
+							input.focus();
+							return false;
+						});
+					org_li.before(item.html(data[opts.selectedItemProp]).prepend(close));
+					opts.selectionAdded.call(this, org_li.prev());	
+				}
+				
+				function moveSelection(direction){
+					if($(":visible",results_holder).length > 0){
+						var lis = $("li", results_holder);
+						if(direction == "down"){
+							var start = lis.eq(0);
+						} else {
+							var start = lis.filter(":last");
+						}					
+						var active = $("li.active:first", results_holder);
+						if(active.length > 0){
+							if(direction == "down"){
+							start = active.next();
+							} else {
+								start = active.prev();
+							}	
+						}
+						lis.removeClass("active");
+						start.addClass("active");
+					}
+				}
+									
+			});
+		}
+	}
+})(jQuery);  	
diff --git a/spec/controllers/conversations_controller_spec.rb b/spec/controllers/conversations_controller_spec.rb
index fe7a792e44ae85e178fbb7c2743c34aa20cc1ff7..77216148a2529ea2ae212735f9c72a89ff270cd2 100644
--- a/spec/controllers/conversations_controller_spec.rb
+++ b/spec/controllers/conversations_controller_spec.rb
@@ -46,7 +46,7 @@ describe ConversationsController do
         :conversation => {
           :subject => "secret stuff",
           :text => 'text'},
-        :as_values_contact_ids => [@alice.contacts.first.id]
+        :contact_ids => [@alice.contacts.first.id]
       }
     end
 
diff --git a/spec/controllers/profiles_controller_spec.rb b/spec/controllers/profiles_controller_spec.rb
index ef23b8bd7ebde7bb9a299ef0233dceda7ac45ef6..21307a615141fe82d0d9ceae61688e5a26c42ae5 100644
--- a/spec/controllers/profiles_controller_spec.rb
+++ b/spec/controllers/profiles_controller_spec.rb
@@ -46,7 +46,7 @@ describe ProfilesController do
 
     it 'sets tags' do
       params = { :id => @user.person.id,
-                 :as_values_tags => '#apples #oranges'}
+                 :tags => '#apples #oranges'}
 
       put :update, params
       @user.person(true).profile.tag_list.to_set.should == ['apples', 'oranges'].to_set