Index: /sandbox/2.4.1-3/prototype/modules/mail/templates/emailBox.ejs
===================================================================
--- /sandbox/2.4.1-3/prototype/modules/mail/templates/emailBox.ejs	(revision 6278)
+++ /sandbox/2.4.1-3/prototype/modules/mail/templates/emailBox.ejs	(revision 6334)
@@ -1,3 +1,12 @@
-<div class="email-box <%= (!data.valid ? "invalid-email-box" : "") %>">
-	<span class="email-box-value" style="padding: 5px;"><%= (data.value.length > 18 ? data.value.substring(0, 15)+"..." : data.value) %></span>
+<div class="box <%= (!data.valid ? "invalid-email-box" : "") %>" tabindex="0">
+	<span class="email-box-value" style="padding: 5px;">
+		<% 
+			var presentation = (data.name != "" ? data.name : data.email);
+			var input_value = "&quot;"+data.name+"&quot; <"+data.email+">";
+		%> 
+		<%= 
+			(presentation.length > 18 ? presentation.substring(0, 15)+"..." : presentation)
+		%> 
+	</span>
+	<input class="box-input" value="<%= input_value %>"></input>
 </div>
Index: /sandbox/2.4.1-3/expressoMail1_2/templates/default/main.css
===================================================================
--- /sandbox/2.4.1-3/expressoMail1_2/templates/default/main.css	(revision 6276)
+++ /sandbox/2.4.1-3/expressoMail1_2/templates/default/main.css	(revision 6334)
@@ -127,4 +127,7 @@
 .context-menu-item.icon-normal { background-image: url(images/door.png); }
 .context-menu-item.icon-followupflag { background-image: url(images/door.png); }
+.context-menu-item.icon-quick-add { background-image: url(images/vcard_add.png); }
+.context-menu-item.icon-delete-box{ background-image: url(images/user_delete.png); }
+.context-menu-item.icon-quick-search-contact{ background-image: url(images/zoom.png); }
 
 
@@ -1258,5 +1261,5 @@
  button.expressomail-button-icon-ative{color:#E17009 !important; border: 1px solid #E17009 !important;background: none repeat scroll 0 0 #FFE1CC !important;}
  
-.email-box{
+.box{
 	background-color: #96B3D3;
 	border-radius: 5px;
@@ -1266,4 +1269,12 @@
 	margin-top : 1px;
 	margin-right: 1px;
+	outline : none;
+	padding : 1px;
+}
+
+.box span{
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 13px;
+	outline : none;
 }
 
@@ -1285,4 +1296,14 @@
 	width:15px;
 	border : none;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 13px;
+}
+
+.box-input{
+	outline:none;
+	border : none;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 13px;
+	display : none;
 }
 
Index: /sandbox/2.4.1-3/expressoMail1_2/templates/default/searchMails.ejs
===================================================================
--- /sandbox/2.4.1-3/expressoMail1_2/templates/default/searchMails.ejs	(revision 5751)
+++ /sandbox/2.4.1-3/expressoMail1_2/templates/default/searchMails.ejs	(revision 6334)
@@ -3,5 +3,5 @@
 			
 				<label><%=data.From%>:</label>
-				<input style="margin-left: 6px;" type="text" id="txt_de" size="20" />
+				<input style="margin-left: 6px;" type="text" id="txt_de" size="20" value="<%=data.From_value%>"/>
 				<br style="margin-bottom:15px" />
 
Index: /sandbox/2.4.1-3/expressoMail1_2/js/common_functions.js
===================================================================
--- /sandbox/2.4.1-3/expressoMail1_2/js/common_functions.js	(revision 6204)
+++ /sandbox/2.4.1-3/expressoMail1_2/js/common_functions.js	(revision 6334)
@@ -775,5 +775,5 @@
 }
 
-function search_emails(value){
+function search_emails(value, data){
 	var resize = false;
         resize = resize_borders();
@@ -815,8 +815,8 @@
 	connector.loadScript("search");
 	if (typeof(EsearchE) == 'undefined' || typeof(ttree) == 'undefined'){
-		setTimeout("search_emails('"+value+"')",500);
+		setTimeout("search_emails('"+value+"', '"+data+"')",500);
 		return false;
 	}
-	EsearchE.showForms(value);
+	EsearchE.showForms(value, data);
 	}
 
Index: /sandbox/2.4.1-3/expressoMail1_2/js/main.js
===================================================================
--- /sandbox/2.4.1-3/expressoMail1_2/js/main.js	(revision 6276)
+++ /sandbox/2.4.1-3/expressoMail1_2/js/main.js	(revision 6334)
@@ -2393,5 +2393,5 @@
 	//stringEmail = content.find('[name="input_to"]').val();
 	var stringEmail = "";
-	var array = content.find(".to-tr").find(".email-box");
+	var array = content.find(".to-tr").find(".box");
 	$.each(array, function(index, value){
 		stringEmail += $(value).find("input").val() + ",";
@@ -2400,5 +2400,5 @@
 	if ( content.find('[name="input_cco"]').length){
 		if(content.find(".cco-tr").css("display") != "none"){
-			var array = content.find(".cco-tr").find(".email-box");
+			var array = content.find(".cco-tr").find(".box");
 			$.each(array, function(index, value){
 				stringEmail += $(value).find("input").val() + ",";
@@ -2410,5 +2410,5 @@
 	if(content.find(".cc-tr").css("display") != "none")
 	{
-		var array = content.find(".cc-tr").find(".email-box");
+		var array = content.find(".cc-tr").find(".box");
 		$.each(array, function(index, value){
 			stringEmail += $(value).find("input").val() + ",";
Index: /sandbox/2.4.1-3/expressoMail1_2/js/search.js
===================================================================
--- /sandbox/2.4.1-3/expressoMail1_2/js/search.js	(revision 6232)
+++ /sandbox/2.4.1-3/expressoMail1_2/js/search.js	(revision 6334)
@@ -20,5 +20,5 @@
 	
 	//Monta os forms dentro da janela;
-	searchE.prototype.showForms = function(value)
+	searchE.prototype.showForms = function(value, data)
 	{
 		if( trim(value) != "" )
@@ -39,5 +39,5 @@
 			var div		= document.createElement("div");
 			var args	= null;
-	
+			
 			args = 
 			{
@@ -63,7 +63,8 @@
 				"Old" 						: get_lang('Old'),
 				"Search_the_messages_in_these_folders" : get_lang('Search the messages in these folders'),
-				"In_all_the_folders"		: get_lang('In all the folders')
-			}
-			
+				"In_all_the_folders"		: get_lang('In all the folders'),
+				"From_value" : data
+			}
+				
 			$(div).html(DataLayer.render("./templates/default/searchMails.ejs", args ));
 			div.setAttribute( "style","overflow:hidden");
Index: /sandbox/2.4.1-3/expressoMail1_2/js/draw_api.js
===================================================================
--- /sandbox/2.4.1-3/expressoMail1_2/js/draw_api.js	(revision 6281)
+++ /sandbox/2.4.1-3/expressoMail1_2/js/draw_api.js	(revision 6334)
@@ -3500,48 +3500,92 @@
 }
 
-function draw_email_box(name, email, valid, parent){
-	var edit = parent.clone();
-	edit.css("display","none");
-	edit.removeClass("email-text");
-	DataLayer.render("../prototype/modules/mail/templates/emailBox.ejs", {valid : valid, value : (name? name : email)}, function(html){
-		parent.before(html);
-		parent.parent().find("div:last").click(function(){
-			$(".email-area div").removeClass("box-selected");
-			$(this).addClass("box-selected");
-		}).append(edit);
-	});
-}
-
-function input_binds(input, ID){
-
-	input.click(function(e){
-		if(e.target == $(this)[0]){
-			$(this).find("div").removeClass("box-selected");
-		}
-		$(this).find(".email-text").focus();
-	}).focusout(function(){
-		$(this).find("div").removeClass("box-selected");
-	});
-	var mySource = new Array();
-	var myArray = contacts.split(",");
-	for(var i in myArray){
-		var teste = myArray[i].split(";");
-		if(teste.length > 1)
-			mySource.push({name : teste[0], email: teste[1], value : (teste[0] +" - "+teste[1])});
-		else
-			mySource.push({name : "", email: teste[0], value :teste[0]});
-	}
-	input.find("input").bind( "keydown", function( e ) {
-		input_text = $(e.target);
-		if(parseInt(preferences.use_dynamic_contacts)){
+//DESENHO DAS CAIXA DE EMAIL
+function draw_email_box(input_data, location){
+	if(input_data != ""){
+		var box_data = valid_emails(input_data);
+		DataLayer.render("../prototype/modules/mail/templates/emailBox.ejs", box_data, function(html){
+			var newBox = location.before(html).prev();
+			box_actions(newBox);
+		});
+	}
+}
+
+function valid_emails(email){
+	var ContactBox = {name:"", email:"", valid : false};
+	var reSimpleEmail = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[_a-z0-9-]+(\.[_a-z0-9-]+)+$/;
+	var reComplexEmail = /<([^<]*)>[\s]*$/;
+	var validation = email.split('"');
+	
+	//FUNÇÃO QUE VALIDA OS DADOS QUANDO O EMAIL É DIGITADO COM ("NOME SOBRENOME" <Email@dominio.com>)
+	var complexValidation = function(complexMail){
+		var Objct = {};
+		if($.trim(complexMail[1]).match(reComplexEmail)){
+			if($.trim(complexMail[1]).match(reComplexEmail).length){
+				Objct['email'] = $.trim(complexMail[1]).match(reComplexEmail)[1];
+			}
+		}else{
+			Objct['email'] = $.trim(complexMail[1]);
+		}
+		Objct['name'] = complexMail[0];
+		Objct['valid'] = reSimpleEmail.test(Objct['email'].toLowerCase());
+		return Objct;
+	}
+	switch (validation.length) {
+		//PEGA TODO O CONTEUDO E SETA COMO SE FOSSE O EMAIL
+		case 1:
+			ContactBox.email = email;
+			ContactBox.valid = reSimpleEmail.test(email.toLowerCase());
+			break;
+		//CORRIGI ERRO DE DIGITAÇÃO COMO ( huahua"<huhau@hauhau.com>) ou (hahahaha"huahua@email.com) ou ainda (hahahaha"huahua@ema  il.com)
+		case 2: 
+			ContactBox = complexValidation(validation);
+			break;
+		//RECEBE O EMAIL CORRETAMENTE SÓ VALIDA POSSIVEIS ERROS COMO O DE CIMA E OS CORRIGI CASO ACONTEÇAM
+		case 3:
+			//RETIRA O PRIMEIRO INDICE QUE FICOU "INUTIL"
+			validation.shift();
+			ContactBox = complexValidation(validation);
+			break;
+		//SE EXISTIREM MAIS DO QUE 2 (")
+		default:
+			if($.trim(validation[validation.length-1]).match(reComplexEmail)){
+				if($.trim(validation[validation.length-1]).match(reComplexEmail).length){
+					ContactBox.mail = $.trim(validation[validation.length-1]).match(reComplexEmail)[1];
+				}
+			}else{
+				ContactBox.mail = $.trim(complexMail[1]);
+			}
+			ContactBox.valid = reSimpleEmail.test(ContactBox.mail.toLowerCase());	
+	}
+	return ContactBox;
+}
+
+//EVENTO DOS INPUTS PARA - CC - CCO
+function input_keydowns(input, ID){
+	input.keydown(function(e){
+		var reEmail = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[_a-z0-9-]+(\.[_a-z0-9-]+)+$/;
+		var reEmail2 = /<([^<]*)>[\s]*$/;
+		var focusing = input.parent().find(".email-text");
+		//SE OS CONTATOS DINAMICOS ESTAO ATIVOS
+		if(parseInt(preferences.use_dynamic_contacts) && !input.hasClass("box-input")){
+			//SELECIONA O CONTATO E EVITA OUTROS COMANDOS
 			if ( e.keyCode === $.ui.keyCode.TAB && $( this ).data( "autocomplete" ).menu.active ) {
 				e.preventDefault();
+				return false;
 			}		
+			
+			//FECHA OS CONTATOS DINÂMICOS
 			if( (e.keyCode == 27) && $( this ).data( "autocomplete" ).menu.active ){
 				   e.stopPropagation();
 				   e.preventDefault();
 			}
-		}
-		
+			
+			//SELECIONA O CONTATO E EVITA OUTROS COMANDOS
+			if(e.keyCode == $.ui.keyCode.ENTER && $( this ).data( "autocomplete" ).menu.active){
+				e.preventDefault();
+				return false;
+			}
+		}
+		//BUSCA COM A TECLA F9
 		if((e.keyCode) == 120){
 			emQuickSearch($(this).val(), "."+$(this).parents("tr:first").attr('class').split("-")[0], ID, undefined, true);
@@ -3549,28 +3593,46 @@
 			return false;
 		}
-		var reEmail = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[_a-z0-9-]+(\.[_a-z0-9-]+)+$/;
-		var reEmail2 = /<([^<]*)>[\s]*$/;
+
 		
 		if(e.keyCode == 13 || e.keyCode == 9 || (e.keyCode == 188 && !e.shiftKey) || (e.keyCode == 191 && !e.shiftKey) ){
-			if(input_text.val() != ""){
+			if(e.keyCode == 13){
+				e.preventDefault();
+			}
+			if(input.val() != ""){
 				if(e.keyCode != 9)
 					e.preventDefault();
-				draw_email_box(undefined, input_text.val(), reEmail.test(input_text.val()), $(this));
-			}
-			input_text.val("");
+				draw_email_box(input.val(), input);
+				if(input.hasClass("box-input")){
+					input.remove();
+					focusing.focus();
+					return;
+				}
+			}
+			if(input.length)
+				input.val("");
+		}
+		if((e.keyCode == 8 || e.keyCode == 37) && input.val() == "" && input.prev().hasClass("box")){
+			e.preventDefault();
+			input.prev().focus();
+			return;
 		}
 		
 		if(e.keyCode == 32){
-			if(!input_text.val().length){
+			if(!input.val().length){
 				e.preventDefault();
 				return;
 			}else{
-				var texto = input_text.val();
-				texto = texto.substring(0, getPosition(input_text[0]));
+				var texto = input.val();
+				texto = texto.substring(0, getPosition(input[0]));
 				if(texto.split('"').length-1 == 0){
-					if(input_text.val().split('"').length-1 == 0){
+					if(input.val().split('"').length-1 == 0){
 						e.preventDefault();
-						draw_email_box(undefined, input_text.val(), reEmail.test(input_text.val()), $(this));
-						input_text.val("");
+						draw_email_box(input.val(), input);
+						input.val("");
+						if(input.hasClass("box-input")){
+							input.remove();
+							focusing.focus();
+							return;
+						}
 						return;
 					}
@@ -3579,95 +3641,175 @@
 		}
 		
-		if(e.keyCode == 190 && e.shiftKey && input_text.val().length == getPosition(input_text[0])){
-			var oi = input_text.val().split('"');
-			input_text.val(input_text.val()+">");
-			if(oi.length == 2){
-				if(oi[0].length == 0){
-					draw_email_box(undefined, oi[1], reEmail.test(oi[1]), $(this));
-				}else{			
-					draw_email_box(oi[0], oi[1]+">", (reEmail.test(((oi[1]+">").match(/<([^<]*)>[\s]*$/)[1]))), $(this));
-				}
-			}else if(oi.length == 3){
-				oi.shift();
-				if(oi[0].length == 0){
-					draw_email_box(undefined, oi[1], reEmail.test(oi[1]), $(this));
-				}else{
-					draw_email_box(oi[0], oi[1]+">", (reEmail.test(((oi[1]+">").match(/<([^<]*)>[\s]*$/)[1]))), $(this));
-				}
-			}else{
-				draw_email_box(oi[oi.length-2], oi[oi.length-1]+">", (reEmail.test(((oi[oi.length-1]+">").match(/<([^<]*)>[\s]*$/)[1]))), $(this));
-			}
+		if(e.keyCode == 190 && e.shiftKey && input.val().length == getPosition(input[0])){
+			input.val(input.val()+">");
+			draw_email_box(input.val(), input);
 			e.preventDefault();
-			input_text.val("");
-		}
-					
+			input.val("");
+			if(input.hasClass("box-input")){
+				input.remove();
+				focusing.focus();
+				return;
+			}
+		}
+		
+		//INPUT AUTO RESIZE	
 		setTimeout(function(){
-			input_text.css("width", 15+(input_text.val().length * 8));	
-			input.scrollTo(":last");	
+			input.css("width", 15+(input.val().length * 9));	
+			input.parent().scrollTo(":last");	
 		}, 100);
+	})
+	//AO SAIR DO FOCO MONTAGEM DA CAIXA DE EMAIL
+	.focusout(function(){
+		if($(input).val() != "")
+			draw_email_box(input.val(), input);
+		if(input.hasClass("box-input"))
+			input.remove();
+		input.val("");
 	});
-	input.keydown(function(e){
-		if($(this).find("div").length == 0 || $(this).find(".email-text").val().length)
-			return;
-		if(e.keyCode == 37){
-			if($(this).find(".box-selected").length){
-				$(this).find(".box-selected").prev().trigger("click");
-			}else if($(this).find("div").length && !($(".email-text").val().length)){
-				$(this).find("div:last").trigger("click");
-			}
-		}else if (e.keyCode == 39){
-			if($(this).find(".box-selected").length){
-				if($(this).find(".box-selected").next().hasClass("email-text"))
-					$(this).find(".box-selected").removeClass("box-selected");
+	//SE FOR EDIÇÃO DE EMAILS RECALCULA O INPUT E SETA O FOCO
+	if(input.hasClass("box-input")){
+		input.trigger("keydown");
+		input.focus();
+	}
+}
+
+//EVENTOS DA CAIXA
+function box_actions(box){
+	//AO PRESSIONAR UMA TECLA COM A CAIXA SELECIONADA	
+	box.keydown(function(e){
+		switch (e.keyCode) {
+			case $.ui.keyCode.LEFT:
+				//VERIFICA SE EXISTE ALGUMA CAIXA A ESQUERDA
+				if($(this).prev().hasClass("box"))
+					$(this).removeClass("box-selected").prev().focus();
+				break;
+			case $.ui.keyCode.RIGHT:
+				//VERIFICA SE EXISTE ALGUMA CAIXA A DIREITA 
+				if($(this).next().hasClass("box"))
+					$(this).removeClass("box-selected").next().focus();
+				//SENAO FOCO O INPUT DO EMAIL
 				else
-					$(this).find(".box-selected").next().trigger("click");
-			}
-		}else if(e.keyCode == 36){
-			if($(this).find("div").length){
-				$(this).find("div:first").trigger("click");
-			}
-		}else if(e.keyCode == 35){
-			if($(this).find("div").length){
-				$(this).find("div:last").trigger("click");
-			}
-		}else if(e.keyCode == 46){
-			if($(this).find(".box-selected").next().hasClass("email-box")){
-				var oi = $(this).find(".box-selected").next();
-			}
-			$(this).find(".box-selected").remove();
-			oi.addClass("box-selected");
-		}else if(e.keyCode == 8){
-			if($(this).find(".box-selected").length){
-				if($(this).find(".box-selected").prev().hasClass("email-box")){
-					var oi = $(this).find(".box-selected").prev();
-				}
-				$(this).find(".box-selected").remove();
-				oi.addClass("box-selected");
-			}else if($(this).find("div").length){
-				$(this).find("div:last").trigger("click");
-			}
-		}
+					$(this).removeClass("box-selected").next().focus();
+				break;
+			case $.ui.keyCode.HOME:
+				//SELECIONO A PRIMEIRA CAIXA
+				$(this).parents(".email-area").find("div:first").focus();
+				break;
+			case $.ui.keyCode.END:
+				//SELECIONO A ULTIMA CAIXA
+				$(this).parents(".email-area").find("div:last").focus();
+				break;
+			case $.ui.keyCode.DELETE:
+				//VERIFICA SE EXISTE ALGUMA CAIXA A DIREITA
+				if($(this).next().hasClass("box"))
+					$(this).next().focus();
+				//SENAO FOCO O INPUT DO EMAIL
+				else
+					$(this).next().focus();
+				//REMOVO ESTA CAIXA
+				$(this).remove();
+				break;
+			case $.ui.keyCode.BACKSPACE:
+				//VERIFICA SE EXISTE ALGUMA CAIXA A ESQUERDA
+				if($(this).prev().hasClass("box"))
+					$(this).removeClass("box-selected").prev().focus();
+				//SENAO HOUVER VERIFICA SE EXISTE ALGUMA CAIXA A DIREITA
+				else if($(this).next().hasClass("box"))
+					$(this).next().focus();
+				//SENAO HOUVER NEM A DIREITA NEM A ESQUERDA SETO O FOCO NO INPUT DO EMAIL
+				else
+					$(this).next().focus();
+				//REMOVO ESTA CAIXA	
+				$(this).remove();
+				e.preventDefault();
+				break;
+			case $.ui.keyCode.ENTER:
+				e.preventDefault();
+				$(this).trigger("dblclick");
+				break;
+		}
+	})
+	//AO FAZER UM DUPLO CLICK NA CAIXA
+	.dblclick(function(e){
+		var input = $(this).find("input").clone();
+		input.css("display" , "inline-block");
+		$(this).before(input);
+		input_keydowns(input, currentTab);
+		$(this).remove();
+	//CLICK SIMPLES NA CAIXA
+	}).click(function(){
+		$(this).focus();
+	//AO DAR O FOCO NA CAIXA
+	}).focus(function(){
+		$(this).parent().find("div").removeClass("box-selected");
+		$(this).addClass("box-selected");
+	}).focusout(function(){
+		$(this).removeClass("box-selected");
 	});
+}
+
+//MOSTRA OS DETALHES DAS CAIXA DE EMAIL NOS CAMPOS PARA - CC - CCO
+function show_detais(img){
+	
+}
+
+//FUNÇÃO QUE "SETA" OS BINDS DOS CAMPOS PARA - CC - CCO
+function input_binds(div, ID){
+
+	//AO CLICAR NA DIV SETA O FOCO NO INPUT
+	div.click(function(e){
+		if(e.target == $(this)[0]){
+			$(this).find("input:last").focus();
+			$(this).find("div").removeClass("box-selected");
+		}
+	})
+	
+	//AO SAIR DO FOCO DA DIV ELE RETIRA TODAS AS CLASSES DE CAIXAS SELECIONADAS
+	.focusout(function(e){
+		if(!$(e.target).parents(".email-area:first").length)
+			$(this).find("div").removeClass("box-selected");
+	});
+	
+	//MAKE KEYDOWN
+	input_keydowns(div.find("input"), ID);
+	
+	
+	//VERIFICA PREFERENCIA DE CONTATOS DINÂMICOS ESTA ATIVA
 	if(parseInt(preferences.use_dynamic_contacts)){
-		input.find("input").autocomplete({
+		//PREPARAÇÃO DA ARRAY DOS CONTATOS DINÂMICOS
+		var dynamicContactList = new Array();
+		var myArray = contacts.split(",");
+		for(var i in myArray){
+			var dynamicContact = myArray[i].split(";");
+			if(dynamicContact.length > 1)
+				dynamicContactList.push({name : dynamicContact[0], email: dynamicContact[1], value : (dynamicContact[0] +" - "+dynamicContact[1])});
+			else
+				dynamicContactList.push({name : "", email: dynamicContact[0], value :dynamicContact[0]});
+		}
+		
+		//INSERÇÃO DO AUTO COMPLETE AO INPUT
+		div.find("input").autocomplete({
 			minLength: 0,			
 			source: function( request, response ) {
 				response( $.ui.autocomplete.filter(
-					mySource, extractLast( request.term ) ) );
+					dynamicContactList, extractLast( request.term ) ) );
 			},
 			focus: function() {
 				return false;
 			},
+			
+			//EVENTO AO SELECIONAR UM CONTATO DINÂMICO
 			select: function( event, ui ) {
-				var terms = mySplit( this.value );
-				terms.pop();
-				terms.push( (ui.item.name != "" ? "\""+ui.item.name+"\" " : "") + (ui.item.email ? "<"+ui.item.email+">" : ""));
-				terms.push( "" );
-				this.value = terms.join( ", " );
+				event.preventDefault();
+				$(this).val("");
+				draw_email_box(ui.item.name ? "\""+ui.item.name+"\" <"+ui.item.email+">" : ui.item.email, $(this));
 				return false;
 			},
 			autoFocus: true
-		}).data( "autocomplete" )._renderItem = function( ul, item ) {
-			ul.css({"min-width":"15%", "max-height" : "150px", "overflow-y" : "auto"});
+		})
+		
+		//MONTAGEM DA LISTA DE CONTATOS DINÂMICOS DO AUTO COMPLETE
+		.data( "autocomplete" )._renderItem = function( ul, item ) {
+			ul.css({"min-width":"20%", "max-height" : "150px", "overflow-y" : "auto"});
 			if( $(ul).find("li").length > 10 ){
 				return;
@@ -3683,11 +3825,9 @@
 				alert("Excluir?")
 			});
-			/* return $( "<li></li>" )
-				.data( "item.autocomplete", item )
-				.append( "<a>" + item.name + " - " + item.email + "</a>" )
-				.appendTo( ul ); */
 		};
 	}
-	input.parents("tr:first").find("button").button().click(function(){
+	
+	//FUNÇÃO DOS BOTÕES PARA - CC - CCO
+	div.parents("tr:first").find("button").button().click(function(){
 		emQuickSearch($(this).parents("tr:first").find("input").val(), "."+$(this).parents("tr:first").attr('class').split("-")[0], ID, undefined, true);
 	});
@@ -3697,4 +3837,5 @@
 	connector.loadScript("color_palette");
 	connector.loadScript('wfolders');
+	connector.loadScript("ccQuickAdd"); 
 	
 	if(typeof(RichTextEditor) == 'undefined' || typeof(ColorPalette) == 'undefined' || typeof(wfolders) == 'undefined')
Index: /sandbox/2.4.1-3/expressoMail1_2/js/doiMenuData.js
===================================================================
--- /sandbox/2.4.1-3/expressoMail1_2/js/doiMenuData.js	(revision 5866)
+++ /sandbox/2.4.1-3/expressoMail1_2/js/doiMenuData.js	(revision 6334)
@@ -195,5 +195,16 @@
 	items: menuToolsItems
 });
-
+var reComplexEmail = /<([^<]*)>[\s]*$/;
+$.contextMenu({
+	selector: ".box",
+	autoHide:true,
+	items: {
+		"add" : {name:"Adicao Rapida de Contato", icon : "quick-add",callback: function(key, opt){ var fname = $(opt.$trigger).find("input").val().split('"')[1];ccQuickAddOne.showList(','+fname+', ,'+$.trim($(opt.$trigger).find("input").val()).match(reComplexEmail)[1]); }},
+		"remove" : {name:"Remover este contato", icon:"delete-box",callback: function(key, opt){ $(opt.$trigger).remove(); }},
+		"sep1": "---------",
+		"quick_search" : {name:"Pesquisa Rapida de Mensagens", icon: "quick-search-contact",callback: function(key, opt){ search_emails($.trim($(opt.$trigger).find("input").val()).match(reComplexEmail)[1]); }},
+		"full_search" : {name:"Pesquisa Avancada de Mensagens", icon: "quick-search-contact",callback: function(key, opt){ search_emails("", $.trim($(opt.$trigger).find("input").val()).match(reComplexEmail)[1]);}}		
+	}
+});
 
 function updateLabelsColumn(messageInfo) {
