Index: /sandbox/2.4.2-expresso1/prototype/modules/calendar/css/print.css
===================================================================
--- /sandbox/2.4.2-expresso1/prototype/modules/calendar/css/print.css	(revision 6893)
+++ /sandbox/2.4.2-expresso1/prototype/modules/calendar/css/print.css	(revision 6893)
@@ -0,0 +1,16 @@
+body.detail{	
+	margin-top: 30px;
+}
+
+.details-event-list {
+	margin-top: 10px;
+}
+
+body.detail a.title {
+	font-weight: bold;
+	color: #30487E !important;
+}
+
+.events-list-win td{
+	padding: 0px;
+}
Index: /sandbox/2.4.2-expresso1/prototype/modules/calendar/js/helpers.js
===================================================================
--- /sandbox/2.4.2-expresso1/prototype/modules/calendar/js/helpers.js	(revision 6885)
+++ /sandbox/2.4.2-expresso1/prototype/modules/calendar/js/helpers.js	(revision 6893)
@@ -101,16 +101,28 @@
 }
 
-/*
-function listEvents(){
-	var list = $('.fc-header-right').find('.fc-button.fc-button-agendaDay').clone();
+function printEvents(){
+
+/* 	var print = $('.fc-header-right').find('.fc-button.fc-button-agendaDay').clone();
 	$('.fc-header-right').find('.fc-button-year').toggleClass('fc-corner-right');
-	list.addClass('fc-corner-right');
-	list.addClass('fc-button-listagem');
-	list.removeClass('fc-button-agendaDay');
-	list.removeClass('fc-corner-left');
-	list.find('.fc-button-content').html('Listagem');
-	$('.fc-header-right').append(list);
-}
-*/
+	print.addClass('fc-corner-right');
+	print.addClass('fc-button-print');
+	print.removeClass('fc-button-agendaDay');
+	print.removeClass('fc-corner-left');
+	print.find('.fc-button-content').html('Imprimir');
+	$('.fc-header-right').append(print);
+	$('.fc-button-print').click(function(){
+ 		var window_print = window.open('','ExpressoCalendar','width=800,height=600,scrollbars=yes');
+		var calendar = document.getElementById('calendar').cloneNode(true);
+		$(calendar).css('width', '77%');
+		$(calendar).fullCalendar('render');
+		bdhtml = $(calendar).find('.fc-content').clone().html();		
+		window_print.document.open();		
+		window_print.document.write('<link rel="stylesheet" type="text/css" href="../prototype/modules/calendar/css/reset.css">'+
+		'<link rel="stylesheet" type="text/css" href="../prototype/plugins/fullcalendar/fullcalendar.css">'+
+		'<link rel="stylesheet" type="text/css" href="../prototype/plugins/fullcalendar/fullcalendar.print.css" media="print">'+bdhtml);
+		window_print.document.close();
+		window_print.print();  
+	});	 */
+}
 
 /*
@@ -2463,4 +2475,24 @@
 }
 
+function printEventList(view){
+	$('.fc-button-print.print-list-events').click(function(){
+		var window_print = window.open('','ExpressoCalendar','width=800,height=600,scrollbars=yes');
+		var listEvents = $(view).clone();
+		listEvents.find('.fc-button').remove();
+		listEvents.find('.details-event-list').remove();
+		listEvents.find('.list-events-paginator').attr( "align" , "center"  );
+		listEvents = listEvents.html();
+		type = $(this).parents('.ui-tabs-panel').attr("id").split("_")[1];
+		var data = {
+			type : type == "tasks" ? "task-list" : ( type == "events" ? "event-list" : "search"),
+			html : listEvents,					
+		}
+		window_print.document.open();		
+		window_print.document.write(DataLayer.render('templates/print.ejs', data));
+		window_print.document.close();
+		window_print.print();
+	});
+}
+
 function paginatorListEvent(currentView, typeView, view, type){
     if(!!$(currentView).find('.fc-calendar').length)
@@ -2475,11 +2507,14 @@
     $(currentView+' .events-list.events-list-win.active .fc-header .fc-header-center').addClass('list-events-paginator');
     $(currentView+' .events-list.events-list-win.active .fc-header .list-events-paginator').removeClass('fc-header-center');		
-		
+    		
     //Adicionar class no header padronizar com a tela principal
-    $(currentView+' .events-list.events-list-win.active .fc-header').addClass('header-paginator');
-    $(currentView+' .events-list.events-list-win.active .header-paginator').removeClass('fc-header');
-				
+	$(currentView+' .events-list.events-list-win.active .fc-header .fc-button-print').addClass('print-list-events');		
+	$(currentView+' .events-list.events-list-win.active .fc-header').addClass('header-paginator');
+    $(currentView+' .events-list.events-list-win.active .header-paginator').removeClass('fc-header');	
+	
+	printEventList(currentView);
+	
     if(typeView == 'search'){
-	$(currentView+' .events-list.events-list-win.active .header-paginator .fc-header-right').remove()
+	$(currentView+' .events-list.events-list-win.active .header-paginator .fc-header-right span.fc-button:not(.fc-button-print)').remove();
 	$(currentView+' .events-list.events-list-win.active .list-events-paginator .fc-header-title').html('<h2>Resultados para: '+$(currentView+' [name = keyword]').val()+'</h2>');
 	if((parseInt($(currentView+' [name = page_index]').val()) == 0) && (parseInt($(currentView+' [name = results]').val()) <= 25))
@@ -2631,4 +2666,18 @@
 				else
 					taskDetails( DataLayer.get( "schedulable", $(this).siblings('[name="eventid"]').val() ), true );
+			})
+			.end().find('.button.print').click(function(){	
+				var window_print = window.open('','ExpressoCalendar','width=800,height=600,scrollbars=yes');
+				var html = $(this).parents("td:first").clone();
+				html.find(".menu-container.footer-container").remove();
+				var html = html.html();
+				var data = {
+					type : $(this).parents('.details-event-list').hasClass("details-event") ? "event-detail" : "task-detail",
+					html : html,					
+				}
+				window_print.document.open();		
+				window_print.document.write(DataLayer.render('templates/print.ejs', data));
+				window_print.document.close();
+				window_print.print();
 			});
 
Index: /sandbox/2.4.2-expresso1/prototype/modules/calendar/js/init.js
===================================================================
--- /sandbox/2.4.2-expresso1/prototype/modules/calendar/js/init.js	(revision 6881)
+++ /sandbox/2.4.2-expresso1/prototype/modules/calendar/js/init.js	(revision 6893)
@@ -479,6 +479,7 @@
 			contentMenu();
 		}
-	}, dateCalendar));
- 
+	}, dateCalendar));	
+		
+		
 	contentMenu();
 	 
@@ -503,5 +504,5 @@
 	});	  
 	//Todo chamada do metodo que adiciona ao full calendar o botao de listagem de eventos  
-	//listEvents();
+	printEvents();
 });
 
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 6885)
+++ /sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/event_list.ejs	(revision 6893)
@@ -107,5 +107,5 @@
 							%>
 						</span>	
-						<div class="details-event-list hidden">
+						<div class="details-event-list hidden <%= (title_type == "Evento" ? "details-event" : "details-task")  %>">
 							<fieldset class="fields-details-event-list">							
 								<%if(_event.allDay){%>
@@ -233,4 +233,5 @@
 								<input name="eventtype" type="hidden" value="<%=_event.type%>"></input>
                                 <input name="calendarid" type="hidden" value="<%=_event.calendar ? _event.calendar : _event.group%>"></input>
+								<a title="Imprimir" class="button print" href="#">Imprimir</a>
 								<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/print.ejs
===================================================================
--- /sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/print.ejs	(revision 6893)
+++ /sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/print.ejs	(revision 6893)
@@ -0,0 +1,41 @@
+<% //CASE
+	var valid = {
+		title : "Sem titulo",
+		class : "sem-classe"
+	};
+	switch (data.type){
+		case 'event-detail':
+			valid.title = "Detalhes do Evento";
+			valid.class = "detail";
+			break;
+		case 'task-detail':
+			valid.title = "Detalhes da Tarefa";
+			valid.class = "detail";
+			break;
+		case 'event-list':
+			valid.title = "Lista de Eventos";
+			valid.class = "list";
+			break;
+		case 'task-list':
+			valid.title = "Lista de Tarefas";
+			valid.class = "list";
+			break;
+		case 'search':
+			valid.title = "Resultados da Lista";
+			valid.class = "list";
+			break;
+	}
+%>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<title><%= valid.title %></title>
+		<link rel="stylesheet" type="text/css" href="../prototype/modules/calendar/css/reset.css">
+		<link rel="stylesheet" type="text/css" href="../prototype/modules/calendar/css/style.css">
+		<link rel="stylesheet" type="text/css" href="../prototype/modules/calendar/css/layout.css">
+		<link rel="stylesheet" type="text/css" href="../prototype/modules/calendar/css/print.css">
+	</head>
+	<body class="<%= valid.class %>">
+		<%= data.html %>
+	</body>
+</html>
