Index: sandbox/2.4.2-expresso1/prototype/modules/calendar/js/helpers.js
===================================================================
--- sandbox/2.4.2-expresso1/prototype/modules/calendar/js/helpers.js	(revision 6820)
+++ sandbox/2.4.2-expresso1/prototype/modules/calendar/js/helpers.js	(revision 6857)
@@ -1927,9 +1927,14 @@
 }
 
-function getSelectedCalendars( reverse ){
+function getSelectedCalendars( reverse, type ){
+	var selector = "";
+	if(type == 0)
+		selector = ".my-calendars";
+	if(type == 1)
+		selector = ".my-groups-task";
     var selecteds = {};
     var cont = 0; 
     jQuery(function() {
-	jQuery(".my-calendars .calendar-view").each(function(i, obj) { 
+	jQuery(selector+" .calendar-view").each(function(i, obj) { 
 	    var check_box = obj;
 	    if( reverse ? !check_box.checked : check_box.checked ) {
@@ -1989,5 +1994,5 @@
 
 function remove_event(eventId, idCalendar){
-    $.Zebra_Dialog('Tem certeza que deseja excluir o evento?', {
+    $.Zebra_Dialog('Tem certeza que deseja excluir?', {
 	'type':     'question',
 	'overlay_opacity': '0.5',
@@ -2319,28 +2324,35 @@
 }
 
-function add_events_list(keyword)
+function add_events_list(keyword, type)
 {
     var tab_title = "";	
     if (keyword){
-	if(keyword.length < 10)
-	    tab_title = keyword; 
-	else
-	    tab_title = keyword.substr(0,10) + '..."'; 
+		type = 2;
+		if(keyword.length < 10)
+			tab_title = keyword; 
+		else
+			tab_title = keyword.substr(0,10) + '..."'; 
     }else{
-	tab_title = "Lista de eventos";
-    }
+		if(type){
+			if(!!parseInt(type))
+				tab_title = "Lista de tarefas";
+			else
+				tab_title = "Lista de eventos";
+		}
+    }
+	var tab_selector = ['tab_events_list_', 'tab_tasks_list_', 'tab_all_list_'];
     keyword = ( keyword || '' ).replace( /\s+/g, "_" );
 	
-    if(!(document.getElementById('tab_events_list_' + (Base64.encode(keyword)).replace(/[^\w\s]/gi, "") )))	
+    if(!(document.getElementById(tab_selector[type] + (Base64.encode(keyword)).replace(/[^\w\s]/gi, "") )))	
     {
 	Encoder.EncodeType = "entity";
-	$tabs.tabs( "add", "#tab_events_list_" + (Base64.encode(keyword)).replace(/[^\w\s]/gi, ""), Encoder.htmlEncode(tab_title) );
+	$tabs.tabs( "add", "#"+tab_selector[type] + (Base64.encode(keyword)).replace(/[^\w\s]/gi, ""), Encoder.htmlEncode(tab_title) );
     }
     else /* Tab already opened */
     {
-	$tabs.tabs("option", "selected", 2);
-    }
-	
-    pageselectCallback(keyword, 0); // load page 1 and insert data on event_list.ejs
+		//$tabs.tabs("option", "selected", 2);
+	}
+	
+    pageselectCallback(keyword, 0, false, false, type); // load page 1 and insert data on event_list.ejs
 	
     $('.preferences-win.active .button.save, .preferences-win.active .button.cancel, .preferences-win.active .button.import, .preferences-win.active .button.export').button();
@@ -2553,12 +2565,18 @@
 }
 
-function pageselectCallback(keyword, page_index, jq, view){
+function pageselectCallback(keyword, page_index, jq, view, type){
     $('.qtip.qtip-blue').remove();
 	
-    var selecteds = getSelectedCalendars();
-    if(!selecteds && (keyword != '' && keyword != null)){	
-	jQuery('#tab_events_list_' + ((Base64.encode(keyword)).replace(/[^\w\s]/gi, "")|| '')).html(
-	    '<div title="Lista de eventos" class="events-list events-list-win active empty">' +
-	    '<label>Por favor selecione ao menos uma agenda.</label>' +
+	var tab_selector = ['tab_events_list_', 'tab_tasks_list_', 'tab_all_list_'];
+	var tab_title = ['Lista de eventos', 'Lista de tarefas'];
+	var label_noselect_calendar = ['Por favor selecione ao menos uma agenda.', 'Por favor selecione ao menos um grupo.', 'Por favor selecione ao menos uma agenda ou grupo.'];
+	var label_nofound_search = ['Não foi encontrado nenhum evento correspondente à sua pesquisa.', 'Não foi encontrado nenhuma tarefa ou atividade correspondente à sua pesquisa.', 'Não foi encontrado nenhum evento ou tarefa ou atividade correspondente à sua pesquisa.'];
+	var label_nofound = ['Não foram encontrados eventos neste intervalo.', 'Não foram encontradas tarefas ou atividades neste intervalo.', 'Não foram encontrados eventos ou tarefas ou atividades neste intervalo.'];
+	var selecteds = getSelectedCalendars(false, type);
+    
+	if(!selecteds && (keyword != '' && keyword != null)){	
+	jQuery('#'+tab_selector[type] + ((Base64.encode(keyword)).replace(/[^\w\s]/gi, "")|| '')).html(
+	    '<div title="'+tab_title[type]+'" class="events-list events-list-win active empty">' +
+	    '<label>'+label_noselect_calendar[type]+'</label>' +
 	    '</div>'
 	    );
@@ -2580,13 +2598,13 @@
     var results = DataLayer.get('schedulable:detail', criteria);
     keyword = ( keyword || '' ).replace( /\s+/g, "_" );	
-}
+	}
 // não há resultados	
 
-var currentView = '#tab_events_list_' + ((Base64.encode(keyword)).replace(/[^\w\s]/gi, "") || '');
+var currentView = '#'+tab_selector[type] + ((Base64.encode(keyword)).replace(/[^\w\s]/gi, "") || '');
 
 if ((((typeof(results) == 'undefined') || (!results.events_list )) && selecteds) &&(keyword != '' && keyword != null)) {
     $(currentView).html(
-		'<div title="Lista de eventos" class="events-list events-list-win active empty">' +
-		'<label>Não foi encontrado nenhum evento correspondente à sua pesquisa.</label>' +
+		'<div title="'+title+'" class="events-list events-list-win active empty">' +
+		'<label>'+label_nofound_search[type]+'</label>' +
 		'</div>'
 	);
@@ -2596,5 +2614,5 @@
 		results['page_index'] = page_index;
 		results['keyword'] = keyword;
-				
+		results['tab_title'] = tab_title[type];	
 		DataLayer.render( 'templates/event_list.ejs', results, function( html ){
 			
@@ -2611,6 +2629,9 @@
 				remove_event(eventId, calendarId);
 			})
-			.end().find('.button.edit').click(function(){				
-				eventDetails( DataLayer.get( "schedulable", $(this).siblings('[name="eventid"]').val() ), true );					
+			.end().find('.button.edit').click(function(){	
+				if($(this).siblings('[name="eventtype"]').val() == 1)
+					eventDetails( DataLayer.get( "schedulable", $(this).siblings('[name="eventid"]').val() ), true );		
+				else
+					taskDetails( DataLayer.get( "schedulable", $(this).siblings('[name="eventid"]').val() ), true );
 			});
 
@@ -2620,8 +2641,8 @@
     }else{
 		$(currentView).html(
-			'<div title="Lista de eventos" class="events-list events-list-win active empty">' +
+			'<div title="'+title+'" class="events-list events-list-win active empty">' +
 			'<input type="hidden" name="page_index" value="'+page_index+'"></inpunt>'+
 			'<input type="hidden" name="keyword" value="'+keyword+'"></inpunt>'+
-			'<label class="empty-result">Não foram encontrados eventos neste intervalo.</label>' +
+			'<label class="empty-result">'+label_nofound[type]+'</label>' +
 			'</div>'
 			);
@@ -2629,5 +2650,5 @@
     }
 }
-	if(currentView != '#tab_events_list_')
+	if(currentView != '#'+tab_selector[type])
 	    $tabs.tabs("select", currentView);
 }
Index: sandbox/2.4.2-expresso1/prototype/modules/calendar/js/init.js
===================================================================
--- sandbox/2.4.2-expresso1/prototype/modules/calendar/js/init.js	(revision 6832)
+++ sandbox/2.4.2-expresso1/prototype/modules/calendar/js/init.js	(revision 6857)
@@ -321,5 +321,12 @@
 			 * TODO - Encontrar icones mais filé
 			 */
-    	    element.find(".fc-event-inner.fc-event-skin").prepend($('<img class="" src="../prototype/modules/calendar/img/' + ( (event.type == 1) ? "event" : "task" ) + '.png"></img>'));
+			var img_icon = "";
+			if(event.type == 1)
+				img_icon = "event.png";
+			if(event.type == 2)
+				img_icon = "task.png";
+			if(event.type == 3)
+				img_icon = "activity_icon.jpg";
+    	    element.find(".fc-event-inner.fc-event-skin").prepend($('<img class="" src="../prototype/modules/calendar/img/' + img_icon + '"></img>'));
 		},
 		
Index: sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/event_list.ejs
===================================================================
--- sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/event_list.ejs	(revision 6525)
+++ sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/event_list.ejs	(revision 6857)
@@ -1,3 +1,3 @@
-<div title="Lista de eventos" class="events-list events-list-win active">
+<div title="<%=data.tab_title%>" class="events-list events-list-win active">
 	
 	
@@ -43,4 +43,19 @@
 					<td>
 						<span>
+							<%
+							var img_type = "";
+							var title_type = "";
+							if(_event.type == 1){
+								img_type = "../prototype/modules/calendar/img/event.png";
+								title_type = "Evento";
+							}if(_event.type == 2){
+								img_type = "../prototype/modules/calendar/img/task.png"; 
+								title_type = "Tarefa";
+							}if(_event.type == 3){
+								img_type = "../prototype/modules/calendar/img/activity_icon.jpg"; 
+								title_type = "Atividade";
+							}
+							%>
+							<img title="<%= title_type %>" src="<%= img_type %>"> 
 							<a class="title event-details-item" title='<%= _event.summary %>' aria-expanded='false' role='button' tabindex='0'><%= _event.summary %></a>
 							<!-- TODO: FAZER FUNCIONAR DESTA FORMA -->
@@ -108,36 +123,64 @@
 									</p>
 								<%}%>
-								<%if(_event.repeat ){%>
+								<%if(_event.type == 1){
+									if(_event.repeat ){%>
 								    <p class="input-group">
 									<label>Repetição</label>
 									<span><%= _event.repeat %></span>
 								    </p>
-								<%}%>
+								<%}}%>
 								<p class="input-group">
 									<label>Lembretes</label>
-									<% if(_event.alarms) { %>
+									<% if(_event.alarms) { 
+											var string_alarm = "";
+											if(_event.type == 1)
+												string_alarm = 'do evento'; 
+											if(_event.type == 2)
+												string_alarm = 'da tarefa';
+											if(_event.type == 2)
+												string_alarm = 'da atividade';
+											%>
 										<span class="large" >
 											<% for (var l=0; l < _event.alarms.length; l++) { %>
-												<span class="large" >Você será notificado por um <%=dateCalendar.alarmtype[_event.alarms[l].type]%> <%= _event.alarms[l].time %> <%= dateCalendar.timeunit[_event.alarms[l].unit]%><%=_event.alarms[l].time > 1 ? 's' : '' %> antes do evento</span>
+												<span class="large" >Você será notificado por um <%=dateCalendar.alarmtype[_event.alarms[l].type]%> <%= _event.alarms[l].time %> <%= dateCalendar.timeunit[_event.alarms[l].unit]%><%=_event.alarms[l].time > 1 ? 's' : '' %> antes <%=string_alarm%></span>
 											<% } %>
 										</span>
 									<% } %>
 								</p>
+								<%if(_event.type == 1){%>
 								<p class="input-group">
 									<label>Local</label>
 									<span><%= _event.location %></span>
 								</p>
+								<%}%>
 								<p class="input-group">
 									<label>Descrição </label>
 									<span class="large" ><%= _event.description %></span>
 								</p>
-								<!--<p class="input-group">
+								<%if(_event.type != 1){%>
+								<p class="input-group">
+									<label>Prioridade </label>
+									<span><%= _event.priority %></span>
+								</p>
+								<p class="input-group">
+									<label>Porcentagem de Conlusão </label>
+									<span><%= _event.percent %></span>
+								</p>
+								<p class="input-group">
+									<label>Status </label>
+									<span><%= _event.status %></span>
+								</p>
+								<% } %>
+								<!-- <p class="input-group">
 									<label>Privacidade</label>
 									<span><%= _event.privacy %></span>
-								</p>-->
+								</p> -->
+								<%if(_event.type == 1){%>
 								<p class="input-group">
 									<label>Organizador</label>
 									<span class="large"><%= _event.organizer.user ? _event.organizer.user.name : _event.organizer.name %>  (<%= _event.organizer.user ? _event.organizer.user.mail : _event.organizer.mail %>)</span>
 								</p>
+								<%}
+								if(_event.type != 3){%>
 								<p class="input-group">
 									<label>Participantes</label>
@@ -150,4 +193,18 @@
 									<% } %>
 								</p>
+								<%}
+								if(_event.type == 3){%>
+								<p class="input-group">
+									<label>Tarefas</label>
+									<% if(_event.tasks) { %>
+										<span class="large" >
+											<% for (var m=0; m < _event.tasks.length; m++) { %>
+												<span class="large"><%=_event.tasks[m].description%></span>
+											<%}%>
+										</span>
+									<% } %>
+								</p>
+								<%}
+								if(_event.type == 1){%>
 								<p class="input-group">
 									<label>Presença</label>
@@ -164,8 +221,10 @@
                                                                         </span> <!-- Ta hardcodificado isso aqui? -->
 								</p>
+								<%}%>
 							</fieldset>
 							<div class="menu-container footer-container">
 								<input name="eventid" type="hidden" value="<%=_event.id%>"></input>
-                                                                <input name="calendarid" type="hidden" value="<%=_event.calendar%>"></input>
+								<input name="eventtype" type="hidden" value="<%=_event.type%>"></input>
+                                <input name="calendarid" type="hidden" value="<%=_event.calendar%>"></input>
 								<a title="Excluir" class="button delete" href="#">Excluir</a>
 								<a title="Editar" class="button edit" href="#">Editar</a>
Index: sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/index.ejs
===================================================================
--- sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/index.ejs	(revision 6815)
+++ sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/index.ejs	(revision 6857)
@@ -138,9 +138,11 @@
 			<ul>
 				<li><a href="#calendar">Agenda</a></li>
-				<li><a href="#tab_events_list_" onclick="add_events_list();">Lista de Eventos</a></li>
+				<li><a href="#tab_events_list_" onclick="add_events_list(false, 0);">Lista de Eventos</a></li>
+				<li><a href="#tab_tasks_list_" onclick="add_events_list(false, 1);">Lista de Tarefas</a></li>
 				<!--<li><a href="#sandbox2">Sandbox</a></li>-->
 			</ul>
 			<div id="calendar"> </div>
 			<div id="tab_events_list_"> </div>
+			<div id="tab_tasks_list_"> </div>
 			<div id="sandbox2">	</div>
 			<div id="calendarShared">	</div>
