Index: /sandbox/2.4.2-expresso1/prototype/services/iCal.php
===================================================================
--- /sandbox/2.4.2-expresso1/prototype/services/iCal.php	(revision 6951)
+++ /sandbox/2.4.2-expresso1/prototype/services/iCal.php	(revision 6985)
@@ -292,5 +292,5 @@
 
     public function parse($data, $params = false) {
-	Config::regSet('noAlarm', TRUE); //Evita o envio de notificaÃ§Ã£o
+	Config::regSet('noAlarm', TRUE); //Evita o envio de notificação
 	$vcalendar = new icalCreator( );
 	$vcalendar->parse(trim($data));
@@ -305,10 +305,4 @@
 	    $interation = array();
 	    $uid = $component->getProperty('uid', false, false); //Resgata o uid do componente
-	    
-	    ob_start();
-	    print_r(strtoupper($component->objName));
-	    $output = ob_get_clean();
-	    file_put_contents( "/tmp/acoutinho.log",  $output , FILE_APPEND);
-	
 
 	    switch (strtoupper($component->objName)) {
@@ -352,12 +346,12 @@
 				    }
 
-				    Config::regSet('noAlarm', FALSE); //reativa notificaÃ§Ã£o
+				    Config::regSet('noAlarm', FALSE); //reativa notificação
 				} else {
 
-				    if (self::_getTime($component, 'dtstamp') > $schedulable['dtstamp'] || $component->getProperty('sequence', false, false) > $schedulable['sequence']) //Organizador esta requisitando que vocÃª atualize o evento
+				    if (self::_getTime($component, 'dtstamp') > $schedulable['dtstamp'] || $component->getProperty('sequence', false, false) > $schedulable['sequence']) //Organizador esta requisitando que você atualize o evento
 					$interation = self::_makeVEVENT($schedulable, $component, $params);
 				    else if ($component->getProperty('sequence', false, false) === $schedulable['sequence']) {
 					//Ler melhor rfc sobre isto 3.2.2.2
-					//Aparentemente Ã© para retornar um ical com o evento atualizado para o attende
+					//Aparentemente é para retornar um ical com o evento atualizado para o attende
 				    }
 
@@ -368,5 +362,5 @@
 					}else
 					    $pID = self::_getParticipantByMail(Config::me('mail'), $schedulable['participants']);
-					//Verifica a importaÃ§Ã£o de eventos em que nÃ£o participo
+					//Verifica a importação de eventos em que nÃ£o participo
 					if ($pID) {
 					    $interation['participant://' . $pID]['status'] = $params['status'];
@@ -377,5 +371,5 @@
 				$interation = self::_makeVEVENT(array(), $component, $params);
 
-				if (strpos($params['prodid'], 'kigkonsult.se') !== false) { //envia notificaÃ§Ã£o para fora
+				if (strpos($params['prodid'], 'kigkonsult.se') !== false) { //envia notificação para fora
 
 				    /* Data de Inicio */
@@ -650,12 +644,12 @@
                                 $interation['participant://' . $pID]['status'] = $params['status'];
                         }
-                        Config::regSet('noAlarm', FALSE); //reativa notificaÃ§Ã£o
+                        Config::regSet('noAlarm', FALSE); //reativa notificação
                     } else {
 
-                        if (self::_getTime($component, 'dtstamp') > $schedulable['dtstamp'] || $component->getProperty('sequence', false, false) > $schedulable['sequence']) //Organizador esta requisitando que vocÃª atualize o evento
+                        if (self::_getTime($component, 'dtstamp') > $schedulable['dtstamp'] || $component->getProperty('sequence', false, false) > $schedulable['sequence']) //Organizador esta requisitando que você atualize o evento
                             $interation = self::_makeVEVENT($schedulable, $component, $params);
                         else if ($component->getProperty('sequence', false, false) === $schedulable['sequence']) {
                         //Ler melhor rfc sobre isto 3.2.2.2
-                        //Aparentemente Ã© para retornar um ical com o evento atualizado para o attende
+                        //Aparentemente é para retornar um ical com o evento atualizado para o attende
                         }
 
@@ -666,5 +660,5 @@
                             }else
                                 $pID = self::_getParticipantByMail(Config::me('mail'), $schedulable['participants']);
-                            //Verifica a importaÃ§Ã£o de eventos em que nÃ£o participo
+                            //Verifica a importação de eventos em que nÃ£o participo
                             if ($pID) {
                                 $interation['participant://' . $pID]['status'] = $params['status'];
@@ -675,5 +669,5 @@
 		    $interation = self::_makeVEVENT(array(), $component, $params);
 
-		    if (strpos($params['prodid'], 'kigkonsult.se') !== false) { //envia notificaÃ§Ã£o para fora
+		    if (strpos($params['prodid'], 'kigkonsult.se') !== false) { //envia notificação para fora
 
 			/* Data de Inicio */
@@ -944,5 +938,5 @@
 		    switch ($method) {
 			case 'PUBLISH':
-			    $interation = ICAL_ACTION_IMPORT;
+			    $interation = array('action' => ICAL_ACTION_IMPORT, 'type' => 'calendarIds');
 			    break;
 
@@ -961,9 +955,9 @@
 					if (!self::_existInMyCalendars($schedulable['id'], $params['owner'])) {
 					    $interation = ICAL_ACTION_UPDATE;
-					    $interation = ( strrpos($value['acl'], ATTENDEE_ACL_PARTICIPATION_REQUIRED) ) ? ICAL_ACTION_IMPORT_REQUIRED : ICAL_ACTION_IMPORT;
+					    $interation = ( strrpos($value['acl'], ATTENDEE_ACL_PARTICIPATION_REQUIRED) ) ? ICAL_ACTION_IMPORT_REQUIRED : array('action' => ICAL_ACTION_IMPORT, 'type' => 'calendarIds');
 					    break;
 					}
 				    } else {
-					if (self::_getTime($component, 'dtstamp') > $schedulable['dtstamp'] || $component->getProperty('sequence', false, false) > $schedulable['sequence']) //Organizador esta requisitando que vocÃª atualize o evento
+					if (self::_getTime($component, 'dtstamp') > $schedulable['dtstamp'] || $component->getProperty('sequence', false, false) > $schedulable['sequence']) //Organizador esta requisitando que você atualize o evento
 					    $interation = ($isOrganizer) ? ICAL_ACTION_ORGANIZER_UPDATE : ICAL_ACTION_UPDATE;
 					else
@@ -974,5 +968,5 @@
 				    }
 			    }else
-				$interation = ICAL_ACTION_IMPORT;
+				$interation = array('action' => ICAL_ACTION_IMPORT, 'type' => 'calendarIds');
 			    
 			    if(($interation != ICAL_ACTION_NONE) && ($interation != ICAL_ACTION_ORGANIZER_NONE) && ($interation != ICAL_ACTION_ORGANIZER_UPDATE) && ($interation != ICAL_ACTION_NONE)) {
@@ -1024,5 +1018,5 @@
 				$interation = ICAL_ACTION_NONE;
 			    else // Importar evento
-				$interation = ICAL_ACTION_IMPORT;
+				$interation = array('action' => ICAL_ACTION_IMPORT, 'type' => 'calendarIds');
 
 			    break;
@@ -1034,5 +1028,5 @@
 		    switch ($method) {
 			case 'PUBLISH':
-			    $interation = ICAL_ACTION_IMPORT;
+			    $interation = array('action' => ICAL_ACTION_IMPORT, 'type' => 'groupIds');
 			    break;
 
@@ -1050,17 +1044,10 @@
 					    $isOrganizer = true;
 
-					if (!self::_existInMyCalendars($schedulable['id'], $params['owner'])) {
-					    
-					    ob_start();
-					    print_r($schedulable['id']);
-					    print_r( $params['owner']);
-					    $output = ob_get_clean();
-					    file_put_contents( "/tmp/acoutinho.log",  $output , FILE_APPEND);
-					    
-					    $interation = ICAL_ACTION_IMPORT;
+					if (!self::_existInMyCalendars($schedulable['id'], $params['owner'])) {   
+					    $interation = array('action' => ICAL_ACTION_IMPORT, 'type' => 'groupIds');
 					    break;
 					}
 				    } else {
-					if (self::_getTime($component, 'dtstamp') > $schedulable['dtstamp'] || $component->getProperty('sequence', false, false) > $schedulable['sequence']) //Organizador esta requisitando que vocÃª atualize o evento
+					if (self::_getTime($component, 'dtstamp') > $schedulable['dtstamp'] || $component->getProperty('sequence', false, false) > $schedulable['sequence']) //Organizador esta requisitando que você atualize o evento
 					    $interation = ($isOrganizer) ? ICAL_ACTION_ORGANIZER_UPDATE : ICAL_ACTION_UPDATE;
 					else
@@ -1071,5 +1058,5 @@
 				    }
 			    }else
-				$interation = ICAL_ACTION_IMPORT;
+				$interation = array('action' => ICAL_ACTION_IMPORT, 'type' => 'groupIds');
 			    break;
 
@@ -1104,5 +1091,5 @@
 				$interation = ICAL_ACTION_NONE;
 			    else // Importar evento
-				$interation = ICAL_ACTION_IMPORT;
+				$interation = array('action' => ICAL_ACTION_IMPORT, 'type' => 'groupIds');
 
 			    break;
@@ -1408,5 +1395,5 @@
 	    $participant['isOrganizer'] = '0';
 
-	    /* Verifica se este usuario Ã© um usuario interno do ldap */
+	    /* Verifica se este usuario é um usuario interno do ldap */
 	    $intUser = Controller::find(array('concept' => 'user'), array('id', 'isExternal'), array('filter' => array('OR', array('=', 'mail', $mailUser), array('=', 'mailAlternateAddress', $mailUser))));
 
@@ -1443,5 +1430,5 @@
 	    $participant['acl'] = 'rowi';
 
-	    /* Verifica se este usuario Ã© um usuario interno do ldap */
+	    /* Verifica se este usuario é um usuario interno do ldap */
 	    $intUser = Controller::find(array('concept' => 'user'), array('id', 'isExternal'), array('filter' => array('OR', array('=', 'mail', $mailUser), array('=', 'mailAlternateAddress', $mailUser))));
 
@@ -1666,5 +1653,5 @@
 	    $participant['isOrganizer'] = '0';
 
-	    /* Verifica se este usuario Ã© um usuario interno do ldap */
+	    /* Verifica se este usuario é um usuario interno do ldap */
 	    $intUser = Controller::find(array('concept' => 'user'), array('id', 'isExternal'), array('filter' => array('OR', array('=', 'mail', $mailUser), array('=', 'mailAlternateAddress', $mailUser))));
 
@@ -1701,5 +1688,5 @@
 	    $participant['acl'] = 'rowi';
 
-	    /* Verifica se este usuario Ã© um usuario interno do ldap */
+	    /* Verifica se este usuario é um usuario interno do ldap */
 	    $intUser = Controller::find(array('concept' => 'user'), array('id', 'isExternal'), array('filter' => array('OR', array('=', 'mail', $mailUser), array('=', 'mailAlternateAddress', $mailUser))));
 
Index: /sandbox/2.4.2-expresso1/prototype/modules/mail/css/followupflag.css
===================================================================
--- /sandbox/2.4.2-expresso1/prototype/modules/mail/css/followupflag.css	(revision 6724)
+++ /sandbox/2.4.2-expresso1/prototype/modules/mail/css/followupflag.css	(revision 6985)
@@ -231,5 +231,5 @@
 .content-alarm ul {
 	max-height: 100px;
-	overflow: auto;
+	overflow: hidden;
 }
 .content-alarm {
Index: /sandbox/2.4.2-expresso1/prototype/modules/mail/js/followupflag.js
===================================================================
--- /sandbox/2.4.2-expresso1/prototype/modules/mail/js/followupflag.js	(revision 6751)
+++ /sandbox/2.4.2-expresso1/prototype/modules/mail/js/followupflag.js	(revision 6985)
@@ -720,5 +720,5 @@
 				return;
 			}
-			if($(event.target).hasClass('confirm-alarm')){
+			if($(event.target.parentElement).hasClass('confirm-alarm')){
 				ok_function(event, type, type_cookie);
 				$('.'+type).remove();
Index: /sandbox/2.4.2-expresso1/prototype/modules/calendar/interceptors/DBMapping.php
===================================================================
--- /sandbox/2.4.2-expresso1/prototype/modules/calendar/interceptors/DBMapping.php	(revision 6977)
+++ /sandbox/2.4.2-expresso1/prototype/modules/calendar/interceptors/DBMapping.php	(revision 6985)
@@ -1242,7 +1242,6 @@
 	if (count($result) > 0) {
 	    foreach ($result as $value) {
-    		if (isset($value['isOwner']) && $value['isOwner'] != 0)
+    		if (isset($value['isOwner']) && $value['isOwner'] != 0 && isset($value['type']) && $value['type'] == 0)
     		    $isValidSignature = true;
-
 	    }
 	}
Index: /sandbox/2.4.2-expresso1/prototype/modules/calendar/css/layout.css
===================================================================
--- /sandbox/2.4.2-expresso1/prototype/modules/calendar/css/layout.css	(revision 6984)
+++ /sandbox/2.4.2-expresso1/prototype/modules/calendar/css/layout.css	(revision 6985)
@@ -983,5 +983,4 @@
 }
 
-.new-task-win div.div-addtask { padding: 0; width: 770px; border: 0;}
 .new-event-win form.form-addevent { padding: 9px; }
 
@@ -990,5 +989,6 @@
 .new-activity-win form.form-addevent { padding: 9px; }
 .ui-dialog .ui-dialog-content { padding: 0; }
-.new-event-win div.div-addevent, .new-task-win div.div-addtask { padding: 0; width: 700px; border: 0;}
+.new-event-win div.div-addevent{ padding: 0; width: 700px; border: 0;}
+.new-task-win div.div-addtask { padding: 0; width: 774px; border: 0;}
 .new-event-win form.form-addevent, .new-task-win form.form-addtask { padding: 9px; }
 .new-activity-win div.div-addevent { padding: 0; width: 700px; border: 0;}
Index: /sandbox/2.4.2-expresso1/prototype/modules/calendar/css/style.css
===================================================================
--- /sandbox/2.4.2-expresso1/prototype/modules/calendar/css/style.css	(revision 6984)
+++ /sandbox/2.4.2-expresso1/prototype/modules/calendar/css/style.css	(revision 6985)
@@ -414,4 +414,6 @@
 .events-list-win table tr.last-event-same-start-date td { border-bottom: 1px solid #ccc;}
 .events-list-win table th.start-date-multiple-events { border-bottom: 1px solid #ccc; }
+
+.events-list-win .fc-header-right.list-right{width: 26%}
 
 .events-list-win table .title {
@@ -658,23 +660,2 @@
 .div-addactivity  #group_addactivity_details6  .parent .child-top .afterValue { width: 129px; float: left; background: #E8F4FD; height: 20px; font-weight: bold; color: #2E6E9E;  text-align: center;}
 .div-addactivity  #group_addactivity_details6  .parent .child-top .afterValue span{display: block; padding: 6px; }
-
-
-/**********************************************************************************************************/
-
-/*
-.div-addactivity  #group_addactivity_details6 .parent {width: 680px; min-height: 268px; float: left;}
-.div-addactivity  #group_addactivity_details6 .parent .child-top {width: 690px; height: 30px; background: #E8F4FD; border-left: 1px solid #CCC; border-right: 1px solid #CCC; border-bottom: 1px solid #CCC;}
-.div-addactivity  #group_addactivity_details6 .parent .child-bottom {width: 690px; height: 220px; overflow: auto;  float: left; border-left: 1px solid #CCC; border-right: 1px solid #CCC; border-bottom: 1px solid #CCC;}
-.div-addactivity  #group_addactivity_details6 .parent .child-bottom .child-bottom-each { height: 30px; }
-.div-addactivity  #group_addactivity_details6 .parent .child-bottom .child-bottom-each:hover { background: #FFF2F2; cursor: pointer;}
-
-.div-addactivity  #group_addactivity_details6 .parent .child-bottom .child-bottom-each .date-hour { width: 30%; float: left; height: 30px}
-.div-addactivity  #group_addactivity_details6 .parent .child-bottom .child-bottom-each .date-hour span { margin: 8px; float: left; }
-.div-addactivity  #group_addactivity_details6 .parent .child-bottom .child-bottom-each .organization{ width: 69%; float: left;  height: 30px; border-left: 1px solid #CCC; }
-.div-addactivity  #group_addactivity_details6 .parent .child-bottom .child-bottom-each .organization span{ margin: 8px; float: left; }
-
-.div-addactivity  #group_addactivity_details6 .parent .child-top .date-hour { width: 29%; float: left; background: #E8F4FD; height: 30px; }
-.div-addactivity  #group_addactivity_details6 .parent .child-top .date-hour span{ margin: 8px; float: left; font-weight: bold; color: #2E6E9E; }
-.div-addactivity  #group_addactivity_details6 .parent .child-top .organization { width: 70%; float: left; background: #E8F4FD; height: 30px; border-left: 1px solid #CCC; font-weight: bold; color: #2E6E9E; }
-.div-addactivity  #group_addactivity_details6 .parent .child-top .organization span{margin: 8px; float: left; }
-*/
Index: /sandbox/2.4.2-expresso1/prototype/modules/calendar/js/calendar.codecs.js
===================================================================
--- /sandbox/2.4.2-expresso1/prototype/modules/calendar/js/calendar.codecs.js	(revision 6979)
+++ /sandbox/2.4.2-expresso1/prototype/modules/calendar/js/calendar.codecs.js	(revision 6985)
@@ -731,5 +731,5 @@
         dueTime: (!objEvent.due || objEvent.due == '' || objEvent.due == '0') ? '' : dateCalendar.formatDate(Timezone.getDateEvent(new Date( parseInt(objEvent.due)), objEvent.timezone, objEvent.calendar, objEvent.DayLigth, 'startTime'), User.preferences.hourFormat),
         allDay: !!parseInt( objEvent.allDay ),
-	    historic: !!objEvent.historic ? decodeHistotic(objEvent) : [] ,
+	    historic: !!objEvent.historic ? decodeHistoric(objEvent) : [] ,
         attachments: $.map(objEvent.attachments || [], function( attachment, i ){
             var attach = DataLayer.get('schedulableToAttachment', attachment, false);
@@ -807,5 +807,5 @@
 });
 
-function decodeHistotic ( evt ) {
+function decodeHistoric ( evt ) {
     var historic = evt.historic;
     var decoded = [];
@@ -819,4 +819,11 @@
         'priority': 'Priorudade',
         'due' : 'Previsão de término'
+    }
+    
+    var statusDecoded = {
+	1: 'Sem ações',
+	2: 'Em processo',
+	3: 'Finalzada',
+	4: 'Cancelada',
     }
 
@@ -863,4 +870,12 @@
                     time: decodeDate(historic.time)
                 }
+	    case 'status':
+                    return{
+                    user :$.type(historic.user) == 'object' ? historic.user : DataLayer.get('user', historic.user),
+                    attribute :attributeDecoded[historic.attribute],
+                    beforeValue : statusDecoded[historic.beforeValue],
+                    afterValue : statusDecoded[historic.afterValue],
+                    time: decodeDate(historic.time)
+                }
             break;
             default:
@@ -1036,5 +1051,5 @@
                 tasks[task.id].description = tasks[task.id].startDate + ' - ' + (!!task.summary ? task.summary : task.description);
 
-		historic.push({'task': (!!task.summary ? task.summary : task.description) , 'historic': decodeHistotic(task)});
+		historic.push({'task': (!!task.summary ? task.summary : task.description) , 'historic': decodeHistoric(task)});
             }
 
Index: /sandbox/2.4.2-expresso1/prototype/modules/calendar/js/helpers.js
===================================================================
--- /sandbox/2.4.2-expresso1/prototype/modules/calendar/js/helpers.js	(revision 6981)
+++ /sandbox/2.4.2-expresso1/prototype/modules/calendar/js/helpers.js	(revision 6985)
@@ -2347,5 +2347,5 @@
 
 function paginatorList(currentView, view, type){
-    $(currentView+' .events-list.events-list-win.active .list-events-paginator .fc-header-title').html('<h2>'+mountTitleList( parseInt($('[name = page_index]').val()),view)+'</h2>');
+    $(currentView+' .events-list.events-list-win.active .list-events-paginator .fc-header-title').html('<h2>'+mountTitleList( parseInt($(currentView+' [name = page_index]').val()),view)+'</h2>');
     $(currentView+' .events-list.events-list-win.active .header-paginator .fc-header-right .fc-button').removeClass('fc-state-active')
     if(view == 'basicDay')
@@ -2389,7 +2389,7 @@
 	var paginator = $(this).attr('class');
 	if(paginator.indexOf('next') > 0)
-	    pageselectCallback($(currentView+' [name = keyword]').val(), ((parseInt($('[name = page_index]').val())) +1), view, type);
+	    pageselectCallback($(currentView+' [name = keyword]').val(), ((parseInt($(currentView+' [name = page_index]').val())) +1), view, type);
 	else
-	    pageselectCallback($(currentView+' [name = keyword]').val(), ((parseInt($('[name = page_index]').val())) -1), view, type);
+	    pageselectCallback($(currentView+' [name = keyword]').val(), ((parseInt($(currentView+' [name = page_index]').val())) -1), view, type);
     });	
 }
Index: /sandbox/2.4.2-expresso1/expressoMail1_2/templates/default/index.tpl
===================================================================
--- /sandbox/2.4.2-expresso1/expressoMail1_2/templates/default/index.tpl	(revision 6487)
+++ /sandbox/2.4.2-expresso1/expressoMail1_2/templates/default/index.tpl	(revision 6985)
@@ -186,5 +186,5 @@
 	</fieldset>   
 </div>
-<div id="import-dialog" title="Importar Evento" style="display:none">
+<div id="import-dialog" title="Importar Evento/Tarefa" style="display:none">
 	<p>Seleciona uma Agenda para o Evento :</p>
 	<p>
Index: /sandbox/2.4.2-expresso1/expressoMail1_2/templates/default/main.css
===================================================================
--- /sandbox/2.4.2-expresso1/expressoMail1_2/templates/default/main.css	(revision 6965)
+++ /sandbox/2.4.2-expresso1/expressoMail1_2/templates/default/main.css	(revision 6985)
@@ -1060,4 +1060,6 @@
 }
 
+div.new-event-win.active div.button-files-upload {margin: 15px 0 0 0;}
+
 fieldset.alarm{  
     border: none !important;
@@ -1435,12 +1437,13 @@
 
 .div-addtask #calendar_addtask_details2 textarea {
-  width: 670px;
-}
-
-.div-addtask{
-  width: 760px;
-}
-
-.calendar-addevent-details-txt-timezone, .calendar-addtask-details-txt-timezone{width: 227px;} 
+  width: 675px;
+}
+
+.div-addtask .button-files-upload{width: 100%;}
+.div-addtask fieldset.block-add-attendee .search-result-list, fieldset.block-add-activity .search-result-list{width: 330px;}
+
+.new-event-win div.div-addevent, .new-task-win div.div-addtask{width: 775px;}
+
+.calendar-addevent-details-txt-timezone, .calendar-addtask-details-txt-timezone{width: 212px;} 
 
 .div-addtask #calendar_addtask_details1 .time-previsao { width: 40px; }
@@ -1453,5 +1456,5 @@
 .div-addtask #calendar_addtask_details1 .end-time{ width: 40px; }
 .div-addtask #calendar_addtask_details1 .end-date{ width: 80px; }
-.div-addtask #calendar_addtask_details1 .previsao-termino { margin: 0 0 0 50px; }
+.div-addtask #calendar_addtask_details1 .previsao-termino { margin: 0 0 0 20px; }
 .div-addtask #calendar_addtask_details1 .subitem { margin: 5px; display: block;}
 .div-addtask #calendar_addtask_details1 .subitem .span_done{ margin: 0 30px;}
@@ -1463,27 +1466,42 @@
 .div-addtask #calendar_addtask_details1 .ui-spinner-buttons .ui-spinner-down{height: 8px !important;}
 
-.div-addtask #calendar_addtask_details1 .subitem .span_done.noAction{background-image: url("../img/gray.png"); background-repeat: no-repeat; }
-.div-addtask #calendar_addtask_details1 .subitem .span_done.inProcess{background-image: url("../img/yellow.png"); background-repeat: no-repeat;}
-.div-addtask #calendar_addtask_details1 .subitem .span_done.finished{background-image: url("../img/green.png"); background-repeat: no-repeat;}
-.div-addtask #calendar_addtask_details1 .subitem .span_done.canceled{background-image: url("../img/red.png"); background-repeat: no-repeat;}
+.div-addtask #calendar_addtask_details1 .subitem .span_done.noAction{background-image: url("../../../prototype/modules/calendar/img/gray.png"); background-repeat: no-repeat; }
+.div-addtask #calendar_addtask_details1 .subitem .span_done.inProcess{background-image: url("../../../prototype/modules/calendar/img/yellow.png"); background-repeat: no-repeat;}
+.div-addtask #calendar_addtask_details1 .subitem .span_done.finished{background-image: url("../../../prototype/modules/calendar/img/green.png"); background-repeat: no-repeat;}
+.div-addtask #calendar_addtask_details1 .subitem .span_done.canceled{background-image: url("../../../prototype/modules/calendar/img/red.png"); background-repeat: no-repeat;}
+
+#calendar_addtask_details4{margin: 0;}
+#calendar_addtask_details5{margin: -2px 0 0 0;}
+#calendar_addtask_details7{margin: 3px 0 0 0;}
 .div-addtask #calendar_addtask_details1 .subitem .span_done label{position: relative; left: 28px;}
 
 .div-addtask fieldset#calendar_addtask_details5.tab-level2{ margin: 0 }
 
-.div-addtask  #calendar_addtask_details8 .parent {width: 715px; min-height: 208px; float: left;}
-.div-addtask  #calendar_addtask_details8 .parent .child-top {width: 745px; height: 30px; background: #E8F4FD; border-left: 1px solid #CCC; border-right: 1px solid #CCC; border-bottom: 1px solid #CCC;}
+.div-addtask  #calendar_addtask_details8 .parent {width: 746px; min-height: 208px; float: left;}
+/*.div-addtask  #calendar_addtask_details8 .parent .child-top {width: 745px; height: 20px; background: #E8F4FD; border-left: 1px solid #CCC; border-right: 1px solid #CCC; border-bottom: 1px solid #CCC;}*/
+.div-addtask  #calendar_addtask_details8 .parent .child-top {width: 745px; height: 25px; background: #E8F4FD; border-left: 1px solid #CCC; border-right: 1px solid #CCC; border-bottom: 1px solid #CCC; border-top: 1px solid #CCC;}
 .div-addtask  #calendar_addtask_details8 .parent .child-bottom {width: 745px; height: 208px; overflow: auto;  float: left; border-left: 1px solid #CCC; border-right: 1px solid #CCC; border-bottom: 1px solid #CCC;}
-.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each { height: 30px; }
+.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each { height: 20px; }
 .div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each:hover { background: #FFF2F2; cursor: pointer;}
 
-
-.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .date-hour { width: 30%; float: left; height: 30px}
+.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .date-hour {overflow: hidden; width: 140px; float: left; height: 20px}
 .div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .date-hour span { margin: 8px; float: left; }
-.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .organization{ width: 69%; float: left;  height: 30px; border-left: 1px solid #CCC; }
-.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .organization span{ margin: 8px; float: left; }
-
-
-.div-addtask  #calendar_addtask_details8 .parent .child-top .date-hour { width: 29%; float: left; background: #E8F4FD; height: 30px; }
-.div-addtask  #calendar_addtask_details8 .parent .child-top .date-hour span{ margin: 8px; float: left; font-weight: bold; color: #2E6E9E; }
-.div-addtask  #calendar_addtask_details8 .parent .child-top .organization { width: 70%; float: left; background: #E8F4FD; height: 30px; border-left: 1px solid #CCC; font-weight: bold; color: #2E6E9E; }
-.div-addtask  #calendar_addtask_details8 .parent .child-top .organization span{margin: 8px; float: left; }
+.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .user{overflow: hidden; width: 150px; float: left;  height: 20px; border-left: 1px solid #CCC; }
+.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .user span{ margin: 8px; float: left; }
+.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .attribute{overflow: hidden; width: 130px; float: left;  height: 20px; border-left: 1px solid #CCC; }
+.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .attribute span{ margin: 8px; float: left; }
+.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .beforeValue{overflow: hidden; width: 150px; float: left;  height: 20px; border-left: 1px solid #CCC; }
+.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .beforeValue span{ margin: 8px; float: left; }
+.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .afterValue{overflow: hidden; width: 150px; float: left;  height: 20px; border-left: 1px solid #CCC; }
+.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .afterValue span{ margin: 8px; float: left; }
+
+.div-addtask  #calendar_addtask_details8 .parent .child-top .date-hour { width: 140px; float: left; background: #E8F4FD; height: 20px; text-align: center; }
+.div-addtask  #calendar_addtask_details8 .parent .child-top .date-hour span{ display: block; padding: 6px; font-weight: bold; color: #2E6E9E; }
+.div-addtask  #calendar_addtask_details8 .parent .child-top .user { width: 150px; float: left; background: #E8F4FD; height: 20px; font-weight: bold; color: #2E6E9E; text-align: center;}
+.div-addtask  #calendar_addtask_details8 .parent .child-top .user span{display: block; padding: 6px;}
+.div-addtask  #calendar_addtask_details8 .parent .child-top .attribute { width: 130px; float: left; background: #E8F4FD; height: 20px; font-weight: bold; color: #2E6E9E;  text-align: center;}
+.div-addtask  #calendar_addtask_details8 .parent .child-top .attribute span{display: block; padding: 6px;}
+.div-addtask  #calendar_addtask_details8 .parent .child-top .beforeValue { width: 150px; float: left; background: #E8F4FD; height: 20px; font-weight: bold; color: #2E6E9E;  text-align: center;}
+.div-addtask  #calendar_addtask_details8 .parent .child-top .beforeValue span{display: block; padding: 6px; }
+.div-addtask  #calendar_addtask_details8 .parent .child-top .afterValue { width: 150px; float: left; background: #E8F4FD; height: 20px; font-weight: bold; color: #2E6E9E;  text-align: center;}
+.div-addtask  #calendar_addtask_details8 .parent .child-top .afterValue span{display: block; padding: 6px; }
Index: /sandbox/2.4.2-expresso1/expressoMail1_2/js/main.js
===================================================================
--- /sandbox/2.4.2-expresso1/expressoMail1_2/js/main.js	(revision 6965)
+++ /sandbox/2.4.2-expresso1/expressoMail1_2/js/main.js	(revision 6985)
@@ -1,5 +1,4 @@
 // Tempo do auto refresh (em milisegundos)
-//var time_refresh = 300000;
-var time_refresh = 30000;
+var time_refresh = 300000;
 
 // tempo do auto save (em milisegundos)
@@ -589,11 +588,6 @@
 	var handler_refresh = function(data){
 		handlerMessageFilter = function (data) {			
-			if(checkAlarmsFilter){
-				alarmFollowupflagged('filtersAlarms', data);
-			}
+			alarmFollowupflagged('filtersAlarms', data);
 			notificationFilter(data, notifyPermission);
-			
-			checkAlarmsFilter = true;
-			
 		}
 		/* Busca  nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */
@@ -3962,5 +3956,5 @@
 		type == 'event' ? 
 		{calendar: User.preferences.defaultCalendar ? User.preferences.defaultCalendar : Calendar.calendars[0], calendars: Calendar.calendars}
-		: {group: Calendar.groups[0].id, groups: Calendar.groups}
+		: {group: Calendar.groups[0].id, groups: Calendar.groups, percentage: 0}
 	);
 	
@@ -4088,5 +4082,5 @@
                                                
                                                     if(typeof(typeImport) == "object"){
-                                                        var calendarPermission = typeImport.calendar;
+                                                        var calendarIds = !!typeImport.calendar ? typeImport.calendar : Calendar[typeImport.type];
                                                         typeImport = typeImport.action;
                                                     }
@@ -4100,10 +4094,7 @@
                                                         var options = '';
     
-                                                        if(typeImport == 10){
-                                                            for(var i = 0; i < calendarPermission.length; i++)
-                                                                options += '<option value="'+calendarPermission[i]+'">'+Calendar.signatureOf[calendarPermission[i]].calendar.name+'</option>'
-                                                        }else{
-                                                            for(var id in Calendar.signatures)
-                                                               options += parseInt(Calendar.signatures[id].isOwner) ? '<option value="'+Calendar.signatures[id].calendar.id+'">'+Calendar.signatures[id].calendar.name+'</option>' : '';                                                   
+                                                        if(calendarIds){
+                                                            for(var i = 0; i < calendarIds.length; i++)
+                                                                options += '<option value="'+calendarIds[i]+'">'+Calendar.signatureOf[calendarIds[i]].calendar.name+'</option>'
                                                         }
                                                        
@@ -4120,5 +4111,5 @@
                                                                             url: "controller.php?action="+import_url+'&from_ajax=true&selected='+$("#select-agenda option:selected").val()+'&status='+$("#select-status option:selected").val()+'&uidAccount='+decodeOwner(),
                                                                             success: function(msg){
-                                                                                var alt = ( (msg = connector.unserialize(msg)) == "ok") ? "Importado com sucesso para " : "Ocorreu um erro ao importar o evento para a agenda ";
+                                                                                var alt = ( (msg = connector.unserialize(msg)) == "ok") ? "Importado com sucesso para " : "Ocorreu um erro ao importar o evento/tarefa para a agenda ";
                                                                                 alert( alt + $("#select-agenda option:selected").text() );
                                                                             }
@@ -4138,5 +4129,5 @@
                                                                     url: "controller.php?action="+import_url+'&from_ajax=true&selected=true',
                                                                     success: function(msg){
-                                                                            alert( ( ( connector.unserialize(msg)) == "ok") ? "Seu evento foi removido " : "Ocorreu um erro ao remover o evento" );
+                                                                            alert( ( ( connector.unserialize(msg)) == "ok") ? "Seu evento/tarefa foi removido " : "Ocorreu um erro ao remover o evento/tarefa" );
                                                                     }
                                                             });
@@ -4147,5 +4138,5 @@
                                                                     url: "controller.php?action="+import_url+'&from_ajax=true&selected=true',
                                                                     success: function(msg){
-                                                                            alert( ( ( connector.unserialize(msg)) == "ok") ? "Seu evento foi Atualizado com sucesso" : "Ocorreu um erro ao atualizar evento" );
+                                                                            alert( ( ( connector.unserialize(msg)) == "ok") ? "Seu evento/tarefa foi Atualizado com sucesso" : "Ocorreu um erro ao atualizar evento/tarefa" );
                                                                     }
                                                             });
@@ -4153,10 +4144,10 @@
                                                             break; 
                                                     case 6:
-                                                            var acceptedSuggestion = confirm("Deseja atualizar o evento de acordo com a sugestão ?");
+                                                            var acceptedSuggestion = confirm("Deseja atualizar o evento/tarefa de acordo com a sugestão ?");
                                                             $.ajax({
                                                                     url: "controller.php?action="+import_url+'&from_ajax=true&id_user='+User.me.id+'&selected=true&cirus_delimiter='+cyrus_delimiter+'&acceptedSuggestion='+acceptedSuggestion+"&from="+document.getElementById('from_values_'+currentTab).value+'&uidAccount='+decodeOwner(),
                                                                     success: function(msg){
                                                                             if(acceptedSuggestion)
-                                                                                    alert( ( ( connector.unserialize(msg)) == "ok") ? "Evento atualizado com sucesso " : "Ocorreu um erro ao atualizar o evento" );
+                                                                                    alert( ( ( connector.unserialize(msg)) == "ok") ? "Evento/tarefa atualizado com sucesso " : "Ocorreu um erro ao atualizar o evento" );
                                                                     }
                                                             });
@@ -4164,9 +4155,9 @@
                                                             break;
                                                     case 9:
-                                                            alert('Seu evento não possui alterações!');
+                                                            alert('Seu evento/tarefa não possui alterações!');
                                                             return;
                                                             break;
                                                     case 11:
-                                                            alert('Este evento já fora importando por algum dos particpantes e já se encontra disponível em sua agenda compartilhada!');
+                                                            alert('Este evento/tarefa já fora importando por algum dos particpantes e já se encontra disponível em sua agenda compartilhada!');
                                                             return;
                                                             break;
@@ -4177,5 +4168,5 @@
                                                             $("#import-dialog" ).dialog({
                                                                     height: 160,
-                                                                    title: 'Atualizar Evento',
+                                                                    title: 'Atualizar Evento/Tarefa',
                                                                     buttons: {
                                                                             Cancel: function() {
