Index: /trunk/prototype/modules/calendar/css/layout.css
===================================================================
--- /trunk/prototype/modules/calendar/css/layout.css	(revision 5879)
+++ /trunk/prototype/modules/calendar/css/layout.css	(revision 5901)
@@ -390,4 +390,7 @@
     font-size: 0.9em;
 }
+
+.import-export-win .button.remove-attachment {margin: -2px 0 0px 10px;}
+
 .import-export-win form { padding: 10px; }
 .import-export-win p.input-group * { float:left; }
@@ -461,10 +464,13 @@
     overflow-x: hidden !important;
     overflow-y: auto !important; 
+    height: 210px;
 }
 
 .user-acls-shared-calendar{
-	width: 130px;
-	float: right;
-	margin-right: 2px;
+    width: 130px;
+    float: right;
+    position: absolute;
+    left: 190px;
+    background: white;
 }
 
Index: /trunk/prototype/modules/calendar/js/calendar.codecs.js
===================================================================
--- /trunk/prototype/modules/calendar/js/calendar.codecs.js	(revision 5835)
+++ /trunk/prototype/modules/calendar/js/calendar.codecs.js	(revision 5901)
@@ -267,7 +267,4 @@
 Calendar.load();
 
-/* Todo será implementado funcionalidades ajax no calback de importacao de eventos */
-isValidCalback = false;
-
 /*Todo Melhorias serão feitas na API*/
 //DataLayer.poll( "schedulable" );
@@ -285,23 +282,4 @@
 		});
     }
-});
-
-DataLayer.listen( "calendarToSchedulable", function( status, updateData){
-  
-    if( status === 'client' ){
-		if(updateData && isValidCalback){
-			isValidCalback = false;
-			$.Zebra_Dialog('Evento(s) importados com sucesso!', {
-				'overlay_opacity': '0.5',
-				'onClose':  function(clicked) {				
-					Calendar.rerenderView();
-				}
-			});
-		}else if(updateData == false){
-			$.Zebra_Dialog('Erro ao importar evento(s)!', {
-				'overlay_opacity': '0.5'	
-			});
-		}
-    };	
 });
 
Index: /trunk/prototype/modules/calendar/js/helpers.js
===================================================================
--- /trunk/prototype/modules/calendar/js/helpers.js	(revision 5863)
+++ /trunk/prototype/modules/calendar/js/helpers.js	(revision 5901)
@@ -2161,5 +2161,50 @@
 		tabsImportExport.find('option[value="'+calendarId+'"]').attr('selected','selected').trigger('change');
 		
-		
+		var form = false;
+		$('.import-event-form').fileupload({
+		sequentialUploads: true,
+			add: function (e, data) {
+				form = data
+				var name = form.files[0].name;
+				$('.import-event-form').find('input[type="file"]').hide();
+				$('.import-event-form').find('span.file-add').removeClass('hidden');
+				$('.import-event-form').find('span.file-add').append('<span>'+ name +'</span><a class="button remove-attachment tiny"></a>');
+				$('.import-event-form').find('.button.remove-attachment').button({
+					icons: {
+						primary: "ui-icon-close"
+					},
+					text: false
+				}).click(function (event){
+					$('.import-event-form').find('input[type="file"]').show();
+					$('.import-event-form').find('span.file-add').addClass('hidden').html('');
+					form = false;
+				});
+				
+				
+			},
+			done: function(e, data){
+				var msg = '';
+				var type = '';
+
+				if(!!data.result && data.result == "[][[]]"){
+					msg = 'Não foram encontrados novos eventos na importação!';
+					type = 'information';
+				}else if(!!data.result && data.result == '[][false]'){
+					msg = 'Erro ao realizar a importação, por favor verifique o arquivo .ics';
+					type = 'warning';
+				}else{
+					msg = 'Importação realizada com sucesso!';
+					type = 'confirmation';
+					Calendar.rerenderView(true);
+				}
+
+				$.Zebra_Dialog(msg, {
+					'type':     type,
+					'overlay_opacity': '0.5',
+					'buttons':  ['Fechar']
+				});
+			}
+		});
+
         UI.dialogs.importCalendar.find(".menu-import-event")        
 	    .children(".import").click(function(data){
@@ -2168,8 +2213,7 @@
 			    Calendar.signatureOf[$('.import-event-form option:selected').val()].calendar.timezone
 			    +'"/>')
-
-			$('.import-event-form', UI.dialogs.importCalendar).submit();			
+			if(form)
+				form.submit();			
 			UI.dialogs.importCalendar.dialog("close");
-			isValidCalback = true;
 			/**
 			 * TODO - implementar ação de importação
Index: /trunk/prototype/modules/calendar/templates/import_export.ejs
===================================================================
--- /trunk/prototype/modules/calendar/templates/import_export.ejs	(revision 5409)
+++ /trunk/prototype/modules/calendar/templates/import_export.ejs	(revision 5901)
@@ -18,4 +18,5 @@
                 <p class="input-group">
                         <label for="data">Arquivo:</label>
+						<span class="hidden file-add"></span>
                         <input type="file" name="data" value=""/>
                         <span class="tip">Escolha o arquivo que contenha um ou vários eventos. A Agenda do Expresso pode importar informações de evento no formato iCal.</span>
