Index: sandbox/2.4.2-expresso1/prototype/plugins/jquery.spinner/jquery.spinner.css
===================================================================
--- sandbox/2.4.2-expresso1/prototype/plugins/jquery.spinner/jquery.spinner.css	(revision 6946)
+++ sandbox/2.4.2-expresso1/prototype/plugins/jquery.spinner/jquery.spinner.css	(revision 6946)
@@ -0,0 +1,3 @@
+.ui-spinner {position: relative; border: 0px solid white; }
+.ui-spinner-buttons {position: absolute}
+.ui-spinner-button {overflow: hidden}
Index: sandbox/2.4.2-expresso1/prototype/plugins/jquery.spinner/jquery.spinner.min.js
===================================================================
--- sandbox/2.4.2-expresso1/prototype/plugins/jquery.spinner/jquery.spinner.min.js	(revision 6946)
+++ sandbox/2.4.2-expresso1/prototype/plugins/jquery.spinner/jquery.spinner.min.js	(revision 6946)
@@ -0,0 +1,22 @@
+/*
+ jQuery UI Spinner 1.20
+
+ Copyright (c) 2009-2010 Brant Burnett
+ Dual licensed under the MIT or GPL Version 2 licenses.
+*/
+(function(j){var s="ui-state-active",l=j.ui.keyCode,C=l.UP,D=l.DOWN,t=l.RIGHT,E=l.LEFT,u=l.PAGE_UP,v=l.PAGE_DOWN,J=l.HOME,K=l.END,L=j.browser.msie,M=j.browser.mozilla?"DOMMouseScroll":"mousewheel",N=[C,D,t,E,u,v,J,K,l.BACKSPACE,l.DELETE,l.TAB],O;j.widget("ui.spinner",{options:{min:null,max:null,allowNull:false,group:"",point:".",prefix:"",suffix:"",places:null,defaultStep:1,largeStep:10,mouseWheel:true,increment:"slow",className:null,showOn:"always",width:16,upIconClass:"ui-icon-triangle-1-n",downIconClass:"ui-icon-triangle-1-s",
+format:function(a,b){var d=/(\d+)(\d{3})/,g=(isNaN(a)?0:Math.abs(a)).toFixed(b)+"";for(g=g.replace(".",this.point);d.test(g)&&this.group;g=g.replace(d,"$1"+this.group+"$2"));return(a<0?"-":"")+this.prefix+g+this.suffix},parse:function(a){if(this.group==".")a=a.replace(".","");if(this.point!=".")a=a.replace(this.point,".");return parseFloat(a.replace(/[^0-9\-\.]/g,""))}},_create:function(){var a=this.element,b=a.attr("type");if(!a.is("input")||b!="text"&&b!="number")console.error("Invalid target for ui.spinner");
+else{this._procOptions(true);this._createButtons(a);a.is(":enabled")||this.disable()}},_createButtons:function(a){function b(e){return e=="auto"?0:parseInt(e)}function d(e){for(var h=0;h<N.length;h++)if(N[h]==e)return true;return false}function g(e,h){if(F)return false;var m=String.fromCharCode(h||e),o=c.options;if(m>="0"&&m<="9"||m=="-")return false;if(c.places>0&&m==o.point||m==o.group)return false;return true}function i(e){function h(){w=0;e()}if(w){if(e===P)return;clearTimeout(w)}P=e;w=setTimeout(h,
+100)}function p(){if(!f.disabled){var e=c.element[0],h=this===x?1:-1;e.focus();e.select();j(this).addClass(s);G=true;c._startSpin(h)}return false}function q(){if(G){j(this).removeClass(s);c._stopSpin();G=false}return false}var c=this,f=c.options,r=f.className,y=f.width,n=f.showOn,H=j.support.boxModel,Q=a.outerHeight(),R=c.oMargin=b(a.css("margin-right")),I=c.wrapper=a.css({width:(c.oWidth=H?a.width():a.outerWidth())-y,marginRight:R+y,textAlign:"right"}).after('<span class="ui-spinner ui-widget"></span>').next(),
+z=c.btnContainer=j('<div class="ui-spinner-buttons"><div class="ui-spinner-up ui-spinner-button ui-state-default ui-corner-tr"><span class="ui-icon '+f.upIconClass+'">&nbsp;</span></div><div class="ui-spinner-down ui-spinner-button ui-state-default ui-corner-br"><span class="ui-icon '+f.downIconClass+'">&nbsp;</span></div></div>'),x,S,k,w,P,A,B,F,G,T=a[0].dir=="rtl";r&&I.addClass(r);I.append(z.css({height:Q,left:-y-R,top:a.offset().top-I.offset().top+"px"}));k=c.buttons=z.find(".ui-spinner-button");
+k.css({width:y-(H?k.outerWidth()-k.width():0),height:Q/2-(H?k.outerHeight()-k.height():0)});x=k[0];S=k[1];r=k.find(".ui-icon");r.css({marginLeft:(k.innerWidth()-r.width())/2,marginTop:(k.innerHeight()-r.height())/2});z.width(k.outerWidth());n!="always"&&z.css("opacity",0);if(n=="hover"||n=="both")k.add(a).bind("mouseenter.uispinner",function(){i(function(){A=true;if(!c.focused||n=="hover")c.showButtons()})}).bind("mouseleave.uispinner",function(){i(function(){A=false;if(!c.focused||n=="hover")c.hideButtons()})});
+k.hover(function(){c.buttons.removeClass("ui-state-hover");f.disabled||j(this).addClass("ui-state-hover")},function(){j(this).removeClass("ui-state-hover")}).mousedown(p).mouseup(q).mouseout(q);L&&k.dblclick(function(){if(!f.disabled){c._change();c._doSpin((this===x?1:-1)*f.step)}return false}).bind("selectstart",function(){return false});a.bind("keydown.uispinner",function(e){var h,m,o=e.keyCode;if(e.ctrl||e.alt)return true;if(d(o))F=true;if(B)return false;switch(o){case C:case u:h=1;m=o==u;break;
+case D:case v:h=-1;m=o==v;break;case t:case E:h=o==t^T?1:-1;break;case J:e=c.options.min;e!=null&&c._setValue(e);return false;case K:e=c.options.max;e!=null&&c._setValue(e);return false}if(h){if(!B&&!f.disabled){keyDir=h;j(h>0?x:S).addClass(s);B=true;c._startSpin(h,m)}return false}}).bind("keyup.uispinner",function(e){if(e.ctrl||e.alt)return true;if(d(l))F=false;switch(e.keyCode){case C:case t:case u:case D:case E:case v:k.removeClass(s);c._stopSpin();return B=false}}).bind("keypress.uispinner",function(e){if(g(e.keyCode,
+e.charCode))return false}).bind("change.uispinner",function(){c._change()}).bind("focus.uispinner",function(){function e(){c.element.select()}L?e():setTimeout(e,0);c.focused=true;O=c;if(!A&&(n=="focus"||n=="both"))c.showButtons()}).bind("blur.uispinner",function(){c.focused=false;if(!A&&(n=="focus"||n=="both"))c.hideButtons()})},_procOptions:function(a){var b=this.element,d=this.options,g=d.min,i=d.max,p=d.step,q=d.places,c=-1,f;if(d.increment=="slow")d.increment=[{count:1,mult:1,delay:250},{count:3,
+mult:1,delay:100},{count:0,mult:1,delay:50}];else if(d.increment=="fast")d.increment=[{count:1,mult:1,delay:250},{count:19,mult:1,delay:100},{count:80,mult:1,delay:20},{count:100,mult:10,delay:20},{count:0,mult:100,delay:20}];if(g==null&&(f=b.attr("min"))!=null)g=parseFloat(f);if(i==null&&(f=b.attr("max"))!=null)i=parseFloat(f);if(!p&&(f=b.attr("step"))!=null)if(f!="any"){p=parseFloat(f);d.largeStep*=p}d.step=p=p||d.defaultStep;if(q==null&&(f=p+"").indexOf(".")!=-1)q=f.length-f.indexOf(".")-1;this.places=
+q;if(i!=null&&g!=null){if(g>i)g=i;c=Math.max(Math.max(c,d.format(i,q,b).length),d.format(g,q,b).length)}if(a)this.inputMaxLength=b[0].maxLength;f=this.inputMaxLength;if(f>0){c=c>0?Math.min(f,c):f;f=Math.pow(10,c)-1;if(i==null||i>f)i=f;f=-(f+1)/10+1;if(g==null||g<f)g=f}c>0&&b.attr("maxlength",c);d.min=g;d.max=i;this._change();b.unbind(M+".uispinner");d.mouseWheel&&b.bind(M+".uispinner",this._mouseWheel)},_mouseWheel:function(a){var b=j.data(this,"spinner");if(!b.options.disabled&&b.focused&&O===b){b._change();
+b._doSpin(((a.wheelDelta||-a.detail)>0?1:-1)*b.options.step);return false}},_setTimer:function(a,b,d){function g(){i._spin(b,d)}var i=this;i._stopSpin();i.timer=setInterval(g,a)},_stopSpin:function(){if(this.timer){clearInterval(this.timer);this.timer=0}},_startSpin:function(a,b){var d=this.options.increment;this._change();this._doSpin(a*(b?this.options.largeStep:this.options.step));if(d&&d.length>0){this.incCounter=this.counter=0;this._setTimer(d[0].delay,a,b)}},_spin:function(a,b){var d=this.options.increment,
+g=d[this.incCounter];this._doSpin(a*g.mult*(b?this.options.largeStep:this.options.step));this.counter++;if(this.counter>g.count&&this.incCounter<d.length-1){this.counter=0;g=d[++this.incCounter];this._setTimer(g.delay,a,b)}},_doSpin:function(a){var b=this.curvalue;if(b==null)b=(a>0?this.options.min:this.options.max)||0;this._setValue(b+a)},_parseValue:function(){var a=this.element.val();return a?this.options.parse(a,this.element):null},_validate:function(a){var b=this.options,d=b.min,g=b.max;if(a==
+null&&!b.allowNull)a=this.curvalue!=null?this.curvalue:d||g||0;return g!=null&&a>g?g:d!=null&&a<d?d:a},_change:function(){var a=this._parseValue();if(!this.selfChange){if(isNaN(a))a=this.curvalue;this._setValue(a,true)}},_setOption:function(a,b){j.Widget.prototype._setOption.call(this,a,b);this._procOptions()},increment:function(){this._doSpin(this.options.step)},decrement:function(){this._doSpin(-this.options.step)},showButtons:function(a){var b=this.btnContainer.stop();a?b.css("opacity",1):b.fadeTo("fast",
+1)},hideButtons:function(a){var b=this.btnContainer.stop();a?b.css("opacity",0):b.fadeTo("fast",0);this.buttons.removeClass("ui-state-hover")},_setValue:function(a,b){this.curvalue=a=this._validate(a);this.element.val(a!=null?this.options.format(a,this.places,this.element):"");if(!b){this.selfChange=true;this.element.change();this.selfChange=false}},value:function(a){if(arguments.length){this._setValue(a);return this.element}return this.curvalue},enable:function(){this.buttons.removeClass("ui-state-disabled");
+this.element[0].disabled=false;j.Widget.prototype.enable.call(this)},disable:function(){this.buttons.addClass("ui-state-disabled").removeClass("ui-state-hover");this.element[0].disabled=true;j.Widget.prototype.disable.call(this)},destroy:function(){this.wrapper.remove();this.element.unbind(".uispinner").css({width:this.oWidth,marginRight:this.oMargin});j.Widget.prototype.destroy.call(this)}})})(jQuery);
Index: sandbox/2.4.2-expresso1/prototype/modules/calendar/css/layout.css
===================================================================
--- sandbox/2.4.2-expresso1/prototype/modules/calendar/css/layout.css	(revision 6945)
+++ sandbox/2.4.2-expresso1/prototype/modules/calendar/css/layout.css	(revision 6946)
@@ -342,5 +342,5 @@
 .attendees-list .me .add-attendee-options-read { max-height: 16px; height:16px;  max-width: 16px; width:16px; display: inline; padding: 0; margin: 0 0 5px 0;}
 
-.attendees-list .me .add-attendee-options-button {position: absolute; top: 171px;}
+.attendees-list .me .add-attendee-options-button {top: 4px;}
 .attendees-list .hover-attendee { background-color: #DFEFFC;}
 .task-activity-list .hover-activity { background: #DFEFFC;}
Index: sandbox/2.4.2-expresso1/prototype/modules/calendar/css/style.css
===================================================================
--- sandbox/2.4.2-expresso1/prototype/modules/calendar/css/style.css	(revision 6945)
+++ sandbox/2.4.2-expresso1/prototype/modules/calendar/css/style.css	(revision 6946)
@@ -46,5 +46,5 @@
 
 .new-event-win fieldset, .new-task-win fieldset  { border: none;	margin: 0; padding: 0; }
-.new-event-win fieldset.tab-level2, .new-task-win fieldset.tab-level2 { padding: 0px 5px; min-height: 310px; max-height: 310px; overflow: auto;}
+.new-event-win fieldset.tab-level2, .new-task-win fieldset.tab-level2 { padding: 0px 5px; min-height: 110px; max-height: 310px; overflow: auto;}
 .new-event-win .overflow_add_calender, .new-task-win .overflow_add_calender { overflow: auto; max-height: 320px; }
 .new-event-win fieldset#calendar_addevent_details7, .new-task-win fieldset#calendar_addevent_details7 { overflow: hidden}
@@ -434,5 +434,5 @@
 .expresso-calendar-container .search-field input { border:none;}
 
-.ui-tabs .ui-tabs-panel { padding: 0; margin-top: 10px;}
+.ui-tabs .ui-tabs-panel { padding: 0; margin-top: 11px;}
 
 .ui-tabs .ui-tabs-nav li .ui-icon-close {
@@ -556,7 +556,18 @@
 .div-addtask #calendar_addtask_details1 .subitem { margin: 5px; display: block;}
 .div-addtask #calendar_addtask_details1 .subitem .span_done{ margin: 0 30px;}
+.div-addtask #calendar_addtask_details1 .subitem .span_done img{position: relative; top:4px; width:16px; height:16px;}
 .div-addtask #calendar_addtask_details1 .calendar_addevent_details_lnk_timezone { margin: 0 0 0 20px;}
 .div-addtask #calendar_addtask_details1 .subitem .done { width: 45px;}
-
+.div-addtask #calendar_addtask_details1 .ui-spinner-buttons{ top: -14px !important;}
+.div-addtask #calendar_addtask_details1 .ui-spinner-buttons .ui-spinner-up{height: 7px !important;}
+.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 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;}
@@ -577,4 +588,5 @@
 .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; }
+
 /*Atividades*/
 
Index: sandbox/2.4.2-expresso1/prototype/modules/calendar/js/task.helpers.js
===================================================================
--- sandbox/2.4.2-expresso1/prototype/modules/calendar/js/task.helpers.js	(revision 6876)
+++ sandbox/2.4.2-expresso1/prototype/modules/calendar/js/task.helpers.js	(revision 6946)
@@ -1,2 +1,101 @@
+function validDateTask(){
+	
+	var errors = {
+		'emptyInitData': 'Por favor, informe uma data inicial',
+		'emptyEndData': 'Por favor, informe uma data final',
+		'emptyInitHour': 'Por favor, informe uma hora inicial',
+		'emptyEndHour': 'Por favor, informe uma hora final',
+		
+		'invalidInitData' : 'Data inicial inválida',
+		'invalidEndData' : 'Data final inválida',
+		
+		'equalData' : 'Hora inicial igual a final',
+		'theirData' : 'Data final menor que a inicial',		
+		'theirHour' : 'Hora final menor que a inicial',
+		
+		'dueInitDate' : 'Previsão de término menor que a data inicial', 
+		'dueEndDate'  : 'Previsão de término menor que a data final',
+		'dueTime'	  : 'Deve ser definido a hora da Previsão de Término',
+		'dueDate'  	  : 'Deve ser definido a Previsão de Término',
+		'invalidDueData' : 'Data de Previsão de Término inválida'
+	};
+
+    var start_date = $(".new-task-win.active .start-date").val();
+    var end_date   = $(".new-task-win.active .end-date").val();
+    var start_time = $(".new-task-win.active .start-time").val();
+    var end_time   = $(".new-task-win.active .end-time").val();
+	var due_date   = $(".new-task-win.active .date-previsao").val();
+	var due_time   =  $.trim($(".new-task-win.active .time-previsao").val());
+    var isAllDay   = $('.new-task-win.active input[name="allDay"]').is(':checked');
+    var customDate = $(".endRepeat").val() == "customDate";
+    var occurrences = $(".endRepeat").val() == "occurrences";
+    var taskInterval = $('.taskInterval').val();
+    
+    if(start_date == "")
+		return errors['emptyInitData'];
+    else if(end_date == "")
+		return errors['emptyEndData'];
+    else if(!isAllDay && start_time == "")
+		return errors['emptyInitHour'];
+    else if(!isAllDay && end_time == "")
+		return errors['emptyEndHour'];
+	else if(due_date != "" && due_time == "")
+		return errors['dueTime'];
+	else if(due_date == "" && due_time != "")
+		return errors['dueDate'];
+	
+    var formatString = User.preferences.dateFormat + " " + User.preferences.hourFormat;
+		
+    var startDate = Date.parseExact( start_date + " " + $.trim(start_time) , formatString );
+    var endDate = Date.parseExact( end_date + " " + $.trim(end_time) , formatString );
+	var dueDate = Date.parseExact( due_date + " " + $.trim(due_time) , formatString );
+
+    if(startDate == null || startDate.getTime() < 0 )
+		return errors['invalidInitData'];
+    if(endDate == null || endDate.getTime() < 0)
+		return errors['invalidEndData'];
+	if(dueDate == null &&  due_time != "")
+		return errors['invalidDueData'];
+		
+	if(isAllDay){
+		startDate.clearTime();
+		endDate.clearTime();
+		if(endDate.compareTo(startDate) == -1)
+			return errors['theirData'];
+	}else{
+		var condition = endDate.compareTo(startDate);
+		if(condition != 1){
+			if(condition < 0){
+				startDate.clearTime();
+				endDate.clearTime();
+				condition = endDate.compareTo(startDate);				
+				return (errors[ condition == 0 ? 'theirHour' : 'theirData'] );
+			}
+			else
+				return errors['equalData'];
+		}
+		
+		if (dueDate != null && dueDate.compareTo(startDate) == -1)
+			return errors['dueInitDate'];		
+	}
+    
+    if (customDate)    
+		if ( !($('.new-task-win.active .customDateEnd').val().length) )
+		   return errors['emptyEndData'];
+
+    return false;
+}
+function taskStatus(status){
+	if (status == "1"){
+		UI.dialogs.addTask.find('.subitem .span_done').removeClass('finished noAction inProcess canceled').addClass('noAction');
+	}else if (status == "2"){
+		UI.dialogs.addTask.find('.subitem .span_done').removeClass('finished noAction inProcess canceled').addClass('inProcess');
+	}else if (status == "3"){
+		UI.dialogs.addTask.find('.subitem .span_done').removeClass('finished noAction inProcess canceled').addClass('finished');
+	}else if (status == "4"){
+		UI.dialogs.addTask.find('.subitem .span_done').removeClass('finished noAction inProcess canceled').addClass('canceled');
+	}
+}
+
 function taskDetails(objTask, decoded, path, isMail, repeat) {
 
@@ -260,4 +359,12 @@
     /*Seleciona a agenda padrão para visualização edição de um task*/
     if (objTask.id) UI.dialogs.addTask.find('option[value="' + objTask.group + '"]').attr('selected', 'selected').trigger('change');
+	
+	UI.dialogs.addTask.find(':input').change(function(event){
+    if (event.keyCode != '27' && event.keyCode != '13')
+	canDiscardTaskDialog = false;
+	}).keydown(function(event){
+		if (event.keyCode != '27' && event.keyCode != '13')
+		canDiscardTaskDialog = false;
+	});
 
     /* Checkbox allday */
@@ -266,5 +373,61 @@
         updateMap(true);
     });
-
+	
+	if (objTask.taskStatus == "1" || objTask.taskStatus == undefined){
+		taskStatus(1);
+	}else if (objTask.taskStatus == "2"){
+		taskStatus(2);
+	}else if (objTask.taskStatus == "3"){
+		taskStatus(3);
+	}else if (objTask.taskStatus == "4"){
+		taskStatus(4);
+	}
+	
+	//Concluão das Tarefas
+	var conclusionTask = function(e){
+		var percentageTask = UI.dialogs.addTask.find('input[name="percentage"]');
+		if( percentageTask.val() == "")
+			percentageTask.val(0);
+		percentageTask.blur().focus();
+		
+		var percentageValue = parseInt(percentageTask.val());
+		var statusTask = UI.dialogs.addTask.find('select[name=taskStatus]');
+		
+		if(percentageValue <= 0){
+			statusTask.find('option.taskStatus-noAction').attr('selected', 'selected');
+			taskStatus(1);		
+		}else if(percentageValue == 100){
+			statusTask.find('option.taskStatus-finished').attr('selected', 'selected');
+			taskStatus(3);
+		}else{
+			statusTask.find('option.taskStatus-inProcess').attr('selected', 'selected');
+			taskStatus(2);
+		}		
+		setTimeout(function(){
+			percentageTask[0].selectionStart = percentageTask.val().length;
+			percentageTask[0].selectionEnd = percentageTask.val().length;
+		}, 10)
+	}
+	UI.dialogs.addTask.find('input[name="percentage"]').spinner({ min: 0, max: 100 }).keyup(conclusionTask).next().find(".ui-spinner-button").click(conclusionTask);	
+
+	//Status das Tarefas
+	UI.dialogs.addTask.find('select[name=taskStatus]').change(function(){
+		var statusSelected = $('select[name=taskStatus] option:selected').val();
+		var percentageTask = UI.dialogs.addTask.find('input[name="percentage"]');
+		if (statusSelected == "1"){
+			percentageTask.val(0);
+			taskStatus(1);
+		}else if(statusSelected == "2"){
+			percentageTask.val(percentageTask.val() != 0 ? (percentageTask.val() == 100 ? 99: percentageTask.val()) : 1);
+			taskStatus(2);
+		}else if(statusSelected == "3"){
+			percentageTask.val(100);
+			taskStatus(3);
+		}else if(statusSelected == "4"){
+			percentageTask.val(percentageTask.val() != 100 ? percentageTask.val() : 99);
+			taskStatus(4);
+		}
+	});
+	
     UI.dialogs.addTask.find('.button').button();
     UI.dialogs.addTask.find('.button.add').button({
@@ -331,8 +494,11 @@
 
     .children(".save").click(function () { /* Validação */
-        /*if (msg = validDateTask()) {
+        UI.dialogs.addTask.find('input[name="summary"]').focus();
+		
+		if (msg = validDateTask()) {
             $(".new-task-win.active").find('.messages-validation').removeClass('hidden').find('.message label').html(msg);
             return false;
-        }*/
+        }
+		canDiscardTaskDialog = true;
 
         UI.dialogs.addTask.children().find('form.form-addtask').submit();
@@ -441,5 +607,6 @@
                         isExternal: old_item.find('.isExternal').html(),
                         notEvent: true,
-                        isDirty: !! !objTask.id
+                        isDirty: !! !objTask.id,
+						isDelegate: !!(objTask.me.id != objTask.organizer.id)
                     }])).scrollTo('max');
                     /**
Index: sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/task_quick_add.ejs
===================================================================
--- sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/task_quick_add.ejs	(revision 6876)
+++ sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/task_quick_add.ejs	(revision 6946)
@@ -5,5 +5,5 @@
 
 	<fieldset class="menu-container footer-container menu-addevent">
-		<a class="button advanced" href="#">Avancado</a>
+		<a class="button advanced" href="#">Avançado</a>
 		<a class="button cancel" href="#">Cancelar</a>
 	    <a class="button save" href="#">Salvar</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 6945)
+++ sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/index.ejs	(revision 6946)
@@ -27,4 +27,5 @@
 <link rel="Stylesheet" type="text/css" href="<?= PLUGINSURL ?>/timepicker/jquery-ui-timepicker-addon.css" />
 <link rel="stylesheet" type="text/css" href='<?= PLUGINSURL ?>/zebradialog/css/zebra_dialog.css'></link>
+<link rel="stylesheet" type="text/css" href='<?= PLUGINSURL ?>/jquery.spinner/jquery.spinner.css'></link>
 
 <link rel="stylesheet" type="text/css" href="<?= MODULESURL ?>/css/layout.css" />
@@ -71,4 +72,5 @@
 <script type="text/javascript" src="<?= PLUGINSURL ?>/qtip/jquery.qtip-1.0.0-rc3.min.js"></script>
 <script type="text/javascript" src="<?= PLUGINSURL ?>/contextmenu/jquery.contextMenu.js"></script>
+<script type='text/javascript' src='<?= PLUGINSURL ?>/jquery.spinner/jquery.spinner.min.js'></script>
 
 <!-- JPicker -->
@@ -102,5 +104,4 @@
 <script type="text/javascript" src="<?= MODULESURL ?>/js/drag_area.js"></script>
 <script type="text/javascript" src="<?= MODULESURL ?>/js/desktop.notification.js"></script>
-
 
 </head>
Index: sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/task_add.ejs
===================================================================
--- sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/task_add.ejs	(revision 6945)
+++ sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/task_add.ejs	(revision 6946)
@@ -54,13 +54,13 @@
 		</p>
 		<div class="subitem">
-				% Conclusão: <input type="number" name="percentage" class="done" value="<%= data.task.percentage %>"> 
+				% Conclusão: <input type="text" name="percentage" class="done" value="<%= data.task.percentage %>"></input> 
 				<span style="margin:0 0 0 5px;">Status:<span> 
                 <select name="taskStatus" style="margin: 0 0 0 5px;">
-                    <option <%= (data.task.taskStatus == '1') ? 'selected="selected"' : '' %> value="1">Sem ações</option>
-                    <option <%= (data.task.taskStatus == '2') ? 'selected="selected"' : '' %> value="2">Em Processo</option>
-                    <option <%= (data.task.taskStatus == '3') ? 'selected="selected"' : '' %> value="3">Finalizada</option>
-					<option <%= (data.task.taskStatus == '4') ? 'selected="selected"' : '' %> value="4">Cancelada</option>
-				</select>
-				<span style="margin:0 0 0 5px;">Prioridade<span> 
+                    <option class="taskStatus-noAction"<%= (data.task.taskStatus == '1') ? 'selected="selected"' : '' %> value="1">Sem ações</option>
+                    <option class="taskStatus-inProcess"<%= (data.task.taskStatus == '2') ? 'selected="selected"' : '' %> value="2">Em Processo</option>
+                    <option class="taskStatus-finished"<%= (data.task.taskStatus == '3') ? 'selected="selected"' : '' %> value="3">Finalizada</option>
+					<option class="taskStatus-canceled"<%= (data.task.taskStatus == '4') ? 'selected="selected"' : '' %> value="4">Cancelada</option>
+				</select>
+				<span style="margin:0 0 0 5px;">Prioridade:<span> 
 				<select name="priority">
 					<option <%= (data.task.priority == '1') ? 'selected="selected"' : '' %> value="1">Alta</option>
@@ -68,5 +68,5 @@
 					<option <%= (data.task.priority == '3') ? 'selected="selected"' : '' %> value="3">Baixa</option>
 				</select>
-                <span class="span_done"><img src="../prototype/modules/calendar/img/empty-status.png"/> Completo<span>
+                <span class="span_done"><label>Completo</label></span>
 		</div>
 	</fieldset>
Index: sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/participants_add_itemlist.ejs
===================================================================
--- sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/participants_add_itemlist.ejs	(revision 6876)
+++ sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/participants_add_itemlist.ejs	(revision 6946)
@@ -2,5 +2,5 @@
 	<div style="overflow:hidden; width:100%; display:table;">
 		<div class="attendee-options">
-			<%if( (!data[0].isDirty && data[0].notEvent) || (!data[0].isDirty && data[0].acl && (data[0].acl.organization || data[0].acl.write || data[0].acl.inviteGuests))){%>
+			<%if( !data[0].isDelegate && (!data[0].isDirty && data[0].notEvent) || (!data[0].isDirty && data[0].acl && (data[0].acl.organization || data[0].acl.write || data[0].acl.inviteGuests))){%>
 				<a href="#" class="button delegate attendee-options-button-delegate new">Delegar participação a este participante</a>
 			<%}%>
Index: sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/attendees_task.ejs
===================================================================
--- sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/attendees_task.ejs	(revision 6876)
+++ sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/attendees_task.ejs	(revision 6946)
@@ -15,9 +15,9 @@
                 <%}%>
             </select>
-
-            <fieldset class="add-attendee-options-read">
-                <a href="#" class="button participant-delegate add-attendee-options-button">Delegar participaÃ§Ã£o a um novo participante</a>
-            </fieldset>
-
+				<% if (data.task.id && (data.task.me.id != data.task.organizer.id) && !data.task.delegatedFrom[data.task.me.id]) { %>
+					<fieldset class="add-attendee-options-read">
+						<a href="#" class="button participant-delegate add-attendee-options-button">Delegar participaÃ§Ã£o a um novo participante</a>
+					</fieldset>
+				<%}%>
             <p class="input-group request-update <%=data.task.delegatedFrom[data.task.me.id] ? '' : "hidden"%>">
                 <input type="checkbox" name="receiveNotification" value="true" <%=data.task.me.receiveNotification =='1' ? 'checked="checked"' : ''%>/>
