jQuery(function(B){var A={contextPath:B("#confluence-context-path").attr("content"),baseUrl:B("input[name='baseUrl']:first").val(),registerSortFunction:function(){B.fn.applyTaskSort=function(){return this.pushStack(B.makeArray(Array.prototype.sort.apply(this,arguments)))}},connectAllLists:function(){B("ol.tasklist-container").sortable("option","connectWith","ol.tasklist-container")},avoidBeingFocusedByBodyOnloadFunction:function(){if(self.placeFocus){var C=self.placeFocus;self.placeFocus=function(){var D=B("div.task-list form.quick-add, div.task-list ol.tasklist-container li.task form");D.attr("name","inlinecommentform");C();D.removeAttr("name")}}},attachAjaxEventListeners:function(){var C=B("body");C.bind("ajaxSend",function(){A.setInputElementsEnabled(false)});C.bind("ajaxComplete",function(){A.setInputElementsEnabled(true)})},getQuickAddForm:function(C){return B("form.quick-add",C.parent())},getTasklistInput:function(C){return B("input.taskname-text",this.getQuickAddForm(C))},setInputElementsEnabled:function(D){var E="input.taskname-text, button.add-button, button.uncheck-all, select.sort-select, button.sort-order";var C="input.complete, p.taskname input, radio.high-priority, radio.medium-priority, radio.low-priority, input.assignee";B(E+", "+C).each(function(){this.disabled=!D})},getTaskListFieldSet:function(C){return C.parent().prev("fieldset")},getTasklistDetails:function(E){var D=B.data(E,"tasklistDetails");if(!D){var C=this.getTaskListFieldSet(E);D={id:E.attr("id").substr("tasklist-".length),entityId:C.children("input[id$='_entityId']").val(),readOnly:C.children("input[id$='_readOnly']").val()=="true",enableLocking:C.children("input[id$='_enableLocking']").val()=="true",promptOnDelete:C.children("input[id$='_promptOnDelete']").val()=="true"};B.data(E,"tasklistDetails",D)}D.sort=B("option:selected",A.getSortSelect(E)).attr("value")||null;D.sortAscending=D.sort&&A.getSortDirectionButton(E).hasClass("asc");return D},getI18nMessages:function(D){var C={};B("input.plugin_tasklist_i18n",this.getTaskListFieldSet(D)).each(function(){C[this.name]=this.value});return C},getActionUrl:function(){return this.contextPath+"/plugins/servlet/tasklist"},getTasks:function(C){var D=[];B("li.task",C).each(function(){D.push(B(this))});return D},getRenderedTaskNameParagraph:function(C){return B("p.rendered.taskname",C)},getTaskDetails:function(C){var D=B.data(C,"taskDetails");if(!D){D={createdDate:B("span.task-createdDate",C).text()};B.data(C,"taskDetails",D)}D.id=C.attr("id").substr(0,C.attr("id").length-"_hook".length);D.name=B("span.task-name",C).text();D.renderedName=A.getRenderedTaskNameParagraph(C).html();D.priority=(function(){var E=null;B("input.high-priority, input.medium-priority, input.low-priority",C).each(function(){if(this.checked){E=this.value}});return E})();D.completed=B("input.complete",C).is(":checked");D.completedDate=B("span.task-completedDate",C).text();D.renderedCompletedDate=B("dd.task-completed-date",C).text();D.locked=C.hasClass("locked");D.assignee=B("span.task-assginee",C).text();return D},getPercentageComplete:function(E){var F=this.getTasks(E);if(F&&F.length){var D=0;for(var C=0;C<F.length;C++){if(A.getTaskDetails(F[C]).completed){++D}}return(D/F.length)*100}return 0},getTaskListOfTask:function(C){return C.parent()},getIndexOfTaskInList:function(C){var E=C.get(0);var D=-1;B("li.task",this.getTaskListOfTask(C)).each(function(F){if(this==E){D=F;return false}});return D},isSameTaskList:function(F,E){var C=this.getTasklistDetails(F);var D=this.getTasklistDetails(E);return C.id==D.id&&C.entityId==D.entityId},makeTaskListSortable:function(C){if(this.getTasklistDetails(C).readOnly){return }C.sortable({opacity:0.5,update:function(D,M){var E=M.item;var L=M.sender?M.sender:A.getTaskListOfTask(E);var J=A.getTasklistDetails(L);var F=A.getTaskListOfTask(E);var I=A.getTasklistDetails(F);var H=A.getIndexOfTaskInList(E);var K=A.isSameTaskList(L,F);var G=(D.ctrlKey||D.metaKey)&&!K;B.ajax({cache:false,data:{action:G?"copyTasks":"reorderTasks",listId:J.id,taskId:A.getTaskDetails(E).id,toListId:I.id,index:H,entityId:J.entityId,destinationEntityId:I.entityId},dataType:"xml",success:function(N){if(G){var Q=B(N);var P=Q.find("idOfTaskAfterSourceTask").text();var R=Q.find("representation").text();E.attr("id",B(N).find("newTaskId").text()+"_hook");if(P&&B.trim(P).length>0){var O=P+"_hook";B("li.task",L).each(function(){if(this.id===O){var S=B(this);S.before(R);A.initTask(S.prev("li.task"))}})}else{L.append(R);A.initTask(B("li.task:last",L))}L.sortable("refresh")}else{E.attr("id",B(N).find("id").text()+"_hook")}A.updateProgressBar(L);A.updateMarkAllIncompleteButton(L);if(!K){A.updateProgressBar(F);A.updateMarkAllIncompleteButton(F)}B("option:first",A.getSortSelect(L)).attr("selected","true").trigger("change");B("option:first",A.getSortSelect(F)).attr("selected","true").trigger("change")},type:"POST",url:A.getActionUrl()})}}).disableSelection()},updateProgressBar:function(C){B("div.progress div",C.parent()).css({width:A.getPercentageComplete(C)+"%"})},addTask:function(E,C){if(C&&B.trim(C).length>0){var D=A.getTasklistDetails(E);B.ajax({cache:false,data:{action:"addTask",entityId:D.entityId,listId:D.id,newTask:C},dataType:"xml",success:function(G){var F=B(document.createElement("div")).html(B(G).find("representation").text()).find("li.task");F.hide().appendTo(E).fadeIn("normal",function(){E.sortable("refresh");A.updateProgressBar(E);A.getTasklistInput(E).val("");A.initTask(F)})},type:"POST",url:A.getActionUrl()})}},initQuickAddForm:function(C){this.getQuickAddForm(C).submit(function(){A.addTask(C,A.getTasklistInput(C).val());return false})},updateSortDirectionButton:function(D){var C=this.getTasklistDetails(D);var F=C.sort;var E=this.getSortDirectionButton(D);if(!F){E.removeClass("asc").removeClass("desc")}else{if(C.sortAscending){E.addClass("asc").removeClass("desc")}else{E.removeClass("asc").addClass("desc")}}},compareString:function(D,E,C){return C*(D==E?0:(D>E?1:-1))},getSortSign:function(C){return this.getTasklistDetails(this.getTaskListOfTask(B(C))).sortAscending?1:-1},compareTaskName:function(F,E){var D=B("p.rendered.taskname",B(F)).text();var C=B("p.rendered.taskname",B(E)).text();return A.compareString(D,C,A.getSortSign(F))},compareTaskCreatedDate:function(G,F){var E=A.getTaskDetails(B(G)).createdDate;var D=A.getTaskDetails(B(F)).createdDate;var C=parseFloat(E)-parseFloat(D);return 0==C?A.compareTaskName(G,F):A.getSortSign(G)*C},compareTaskCompletedDate:function(F,D){var C=A.getTaskDetails(B(F)).completedDate;var E=A.getTaskDetails(B(D)).completedDate;return A.getSortSign(F)*(C-E)},compareTaskAssignee:function(G,D){var E=A.getTaskDetails(B(G)).assignee;var F=A.getTaskDetails(B(D)).assignee;var C=A.compareString(E,F,A.getSortSign(G));return 0==C?A.compareTaskName(G,D):C},compareTaskPriority:function(F,E){var D=function(G){var H=A.getTaskDetails(G);return{HIGH:3,MEDIUM:2,LOW:1}[H.priority]||-1};var C=-1*(D(B(F))-D(B(E)));return 0==C?A.compareTaskName(F,E):A.getSortSign(F)*C},sortList:function(F){var C=this.getTasklistDetails(F);var E={priority:A.compareTaskPriority,date:A.compareTaskCreatedDate,completed:A.compareTaskCompletedDate,name:A.compareTaskName,assignee:A.compareTaskAssignee};var D=E[C.sort];if(D){B("li.task",F).applyTaskSort(D).appendTo(F)}},updateTaskDisplay:function(C){var D=this.getTaskDetails(C);B("input.assignee",C).val(D.assignee);if(D.completed){B("dd.task-completed-date",C).text(D.renderedCompletedDate);B("dt.task-completed-label, dd.task-completed-date",C).show();C.addClass("completed")}else{B("dt.task-completed-label, dd.task-completed-date",C).hide();C.removeClass("completed")}},getMarkAllIncompleteButton:function(C){return B("button.uncheck-all",C.parent())},updateMarkAllIncompleteButton:function(F){var D=false;var H=false;var G=this.getTasks(F);for(var C=0;C<G.length;C++){var E=A.getTaskDetails(G[C]);if(E.completed){D=true}if(!H&&E.locked){H=true}}if(D&&(!this.getTasklistDetails(F).enableLocking||!H)){this.getMarkAllIncompleteButton(F).show()}else{this.getMarkAllIncompleteButton(F).hide()}},initTaskInfoToggleButton:function(C){B("button.trigger",C).click(function(){if(C.hasClass("closed")){C.removeClass("closed");C.addClass("opened")}else{if(C.hasClass("opened")){C.removeClass("opened");C.addClass("closed")}}})},initTaskCompleteCheckbox:function(C){B("input.complete",C).click(function(){var H=A.getTaskListOfTask(C);var D=A.getTasklistDetails(H);var G=A.getTaskDetails(C);var E=this;var F=E.checked;B.ajax({cache:false,data:{action:"toggleTaskStatus",entityId:D.entityId,listId:D.id,taskId:G.id},dataType:"xml",success:function(I){var J=B(I);B("span.task-completedDate",C).text(J.find("completedDate").text());B("span.task-assginee",C).text(J.find("assignee").text());B("dd.task-completed-date",C).text(J.find("renderedCompletedDate").text());E.checked=F;A.updateTaskDisplay(C);A.updateProgressBar(H);A.updateMarkAllIncompleteButton(H);if(D.sort=="completed"){A.sortList(H)}},type:"POST",url:A.getActionUrl()})})},initTaskPriorityCheckboxes:function(C){B("input.high-priority, input.medium-priority, input.low-priority",C).click(function(){var G=A.getTaskListOfTask(C);var D=A.getTasklistDetails(G);var F=A.getTaskDetails(C);var E=this;if(E.checked){B.ajax({cache:false,data:{action:"changeTaskPriority",entityId:D.entityId,listId:D.id,taskId:F.id,priority:this.value},dataType:"xml",success:function(){C.removeClass("low");C.removeClass("medium");C.removeClass("high");C.addClass(E.value.toLowerCase());if(D.sort=="priority"){A.sortList(G)}},type:"POST",url:A.getActionUrl()})}})},initTaskReassignInput:function(C){B("form",C).submit(function(){var G=A.getTaskListOfTask(C);var D=A.getTasklistDetails(G);var F=A.getTaskDetails(C);var E=B.trim(B("input.assignee",B(this)).val());B.ajax({cache:false,data:{action:"reassignTask",entityId:D.entityId,listId:D.id,taskId:F.id,assignee:E},dataType:"xml",success:function(){B("span.task-assginee",C).text(E);if(D.sort=="assignee"){A.sortList(G)}},type:"POST",url:A.getActionUrl()});return false})},getTaskEditor:function(C){return B("p.editable.taskname",C)},getTaskEditorInput:function(C){return this.getTaskEditor(C).children("input")},closeTaskEditor:function(C){var D=this.getTaskEditor(C);D.hide();D.data("open",false);this.getRenderedTaskNameParagraph(C).show();C.removeClass("editing")},getTaskSaveButton:function(C){return B("button.save",C)},initTaskSaveButton:function(C){this.getTaskSaveButton(C).click(function(){var G=A.getTaskListOfTask(C);var D=A.getTasklistDetails(G);var F=A.getTaskDetails(C);var E=B.trim(A.getTaskEditorInput(C).val());if(E.length&&A.getTaskDetails(C).name!=E){B.ajax({cache:false,data:{action:"editTask",entityId:D.entityId,listId:D.id,taskId:F.id,newTask:E},dataType:"xml",success:function(H){var I=B(H);B("span.task-name",C).text(E);C.attr("id",I.find("id").text()+"_hook");A.getRenderedTaskNameParagraph(C).html(I.find("renderedName").text());A.closeTaskEditor(C);if(D.sort=="name"){A.sortList(G)}},type:"POST",url:A.getActionUrl()})}})},openTaskEditor:function(C){this.getRenderedTaskNameParagraph(C).hide();this.getTaskEditor(C).show();this.getTaskEditorInput(C).focus();C.addClass("editing")},initTaskEditButton:function(C){B("button.edit",C).click(function(){var D=A.getTaskEditor(C);if(!D.data("open")){A.openTaskEditor(C);D.data("open",true)}})},initTaskEditorInput:function(C){this.getTaskEditorInput(C).keypress(function(D){setTimeout(function(){if(27==D.keyCode){A.closeTaskEditor(C)}else{if(13==D.keyCode){A.getTaskSaveButton(C).trigger("click");A.getTaskEditorInput(C).focus()}}},300)})},initTaskDeleteButton:function(C){B("button.delete",C).click(function(){var G=A.getTaskListOfTask(C);var E=A.getI18nMessages(G);var D=A.getTasklistDetails(G);var F=A.getTaskDetails(C);if(!D.promptOnDelete||confirm(AJS.format(E["i18n-taskdeletemessage"],F.name))){B.ajax({cache:false,data:{action:"removeTask",entityId:D.entityId,listId:D.id,taskId:F.id},dataType:"xml",success:function(){C.fadeOut("slow",function(){C.remove();A.updateProgressBar(G);A.updateMarkAllIncompleteButton(G)})},type:"POST",url:A.getActionUrl()})}})},initTaskLockButton:function(C){B("button.locker",C).click(function(){var F=A.getTaskListOfTask(C);var D=A.getTasklistDetails(F);var E=A.getTaskDetails(C);B.ajax({cache:false,data:{action:"toggleTaskLock",entityId:D.entityId,listId:D.id,taskId:E.id},dataType:"xml",success:function(){if(E.locked){C.removeClass("locked");C.addClass("unlocked")}else{C.addClass("locked");C.removeClass("unlocked")}A.updateMarkAllIncompleteButton(F)},type:"POST",url:A.getActionUrl()})})},initTaskActions:function(C){B("div.task-actions",C).hover(function(){if(!A.getTaskDetails(C).locked){B(this).addClass("hover")}},function(){B(this).removeClass("hover")})},showUserPicker:function(E,D){var K=B("input.assignee",D);var H=K.val();var G="openuserpicker.action";var C=this.baseUrl+"/spaces/"+G+"?startIndex=0&existingUsers="+encodeURIComponent(H)+"&onPopupSubmit="+E;var J="UserPicker";var I="status=yes,resizable=yes,top=100,left=200,width=580,height=550,scrollbars=yes";var F=window.open(C,J,I);F.focus()},showGroupPicker:function(E,D){var L=B("input.assignee",D);var I=L.val();var G="opengrouppicker.action";var H="dosearchgroups.action";var C=this.baseUrl+"/spaces/"+G+"?startIndex=0&actionName="+H+"&existingGroups="+encodeURIComponent(I)+"&onPopupSubmit="+E;var K="GroupPicker";var J="status=yes,resizable=yes,top=100,left=200,width=580,height=550,scrollbars=yes";var F=window.open(C,K,J);F.focus()},initUserAndGroupPickers:function(D){var E=this.getTaskDetails(D).id;var C="set"+E.replace(":","_")+"Assignee";self[C]=function(H){var F=B("input.assignee",D);var G=F.val();F.val(B.trim(G).length==0?H:G+", "+H)};B("button.user-search",D).click(function(){A.showUserPicker(C,D)});B("button.group-search",D).click(function(){A.showGroupPicker(C,D)})},initMarkAllIncompleteButton:function(C){this.getMarkAllIncompleteButton(C).click(function(){var D=A.getTasklistDetails(C);B.ajax({cache:false,data:{action:"markAllIncomplete",entityId:D.entityId,listId:D.id},dataType:"xml",success:function(){B("input.complete",C).each(function(){this.checked=false});A.updateMarkAllIncompleteButton(C);A.updateProgressBar(C);B.each(A.getTasks(C),function(){A.updateTaskDisplay(this)})},type:"POST",url:A.getActionUrl()})})},getSortDirectionButton:function(C){return B("button.sort-order",C.parent())},getSortSelect:function(C){return B("select.sort-select",C.parent())},initSortSelect:function(C){this.getSortSelect(C).change(function(){var E=B("option:selected",B(this)).attr("value");var F="sortBy"+((E==="custom"||E==="")?"None":E.substring(0,1).toUpperCase()+E.substring(1,E.length));var D=A.getTasklistDetails(C);B.ajax({cache:false,data:{action:F,entityId:D.entityId,listId:D.id},dataType:"xml",success:function(){A.updateSortDirectionButton(C);A.sortList(C)},type:"POST",url:A.getActionUrl()})})},initSortDirectionButton:function(C){this.getSortDirectionButton(C).click(function(){var D=B(this);if(D.hasClass("asc")){D.removeClass("asc").addClass("desc")}else{D.removeClass("desc").addClass("asc")}A.sortList(C)})},initTask:function(C){this.initTaskInfoToggleButton(C);this.initTaskCompleteCheckbox(C);this.initTaskPriorityCheckboxes(C);this.initTaskReassignInput(C);this.initTaskSaveButton(C);this.initTaskEditButton(C);this.initTaskEditorInput(C);this.initTaskDeleteButton(C);this.initTaskLockButton(C);this.initTaskActions(C);this.initUserAndGroupPickers(C);this.updateTaskDisplay(C)},initTasks:function(C){B.each(this.getTasks(C),function(){A.initTask(this)})},initTaskList:function(C){this.makeTaskListSortable(C);this.updateProgressBar(C);this.initQuickAddForm(C);this.initMarkAllIncompleteButton(C);this.initTasks(C);this.initSortSelect(C);this.initSortDirectionButton(C)}};A.registerSortFunction();B("ol.tasklist-container").each(function(){A.initTaskList(B(this));A.sortList(B(this));B("input.complete",B(this)).each(function(){if(B(this).hasClass("disabled")){this.disabled=disabled}})});A.connectAllLists();A.avoidBeingFocusedByBodyOnloadFunction();A.attachAjaxEventListeners()});

