(function(B){if(!window.TeamCalendars){window.TeamCalendars={}
}if(!window.TeamCalendars.subcalendar){window.TeamCalendars.subcalendar={}
}if(!window.TeamCalendars.subcalendar.jira){var A=function(J,I,H,G,K){var F=B("form",H.getCurrentPanel().body);
var D=B(".jira-query-options input.radio",F).attr("disabled","disabled").removeAttr("checked","checked");
var E=B(".submit",F).attr("disabled","disabled");
B.ajax({cache:false,dataType:"json",error:function(N,P,O){if(J.isRequireOauth(N)){var M=B.parseJSON(N.responseText);
var L=B(".oauth-error",F).empty().removeClass("hidden");
B(document.createElement("div")).addClass("oauth-approve").html(AJS.format(J.getText(I,"calendar3.oauth.loginapprovetoseeprojects"),B(document.createElement("span")).text(J.getText(I,"calendar3.oauth.loginandauthorize")).html())).appendTo(L).find(".approve-dance").click(function(){AppLinks.authenticateRemoteCredentials(M.oAuthUrl,function(){L.addClass("hidden");
A(J,I,H,null,function(){C(J,I,H,function(){J.showDialogInUpdatedHeight(H)
})
})
},function(){alert(J.getText(I,"calendar3.oauth.trydancingagain"))
});
return false
});
J.showDialogInUpdatedHeight(H)
}else{if(G&&B.isFunction(G)){G(N,P,O)
}}},success:function(M){D.removeAttr("disabled","disabled");
if(!M.searchRequests){B(".radio-search-filer input",F).attr("disabled","disabled")
}var Q=B(".jira-query-options",F);
var R=B(".field-group .project-select-label",Q);
B(".radio-project input",F).attr("checked","checked");
if(M.jqlNotSupported){B(".group, .option-search-filter, .option-jql",Q).addClass("hidden");
R.removeClass("hidden")
}else{R.addClass("hidden");
B("textarea[name='jql']",F).keydown(function(W){var X=B(this);
var V=X.val();
setTimeout(function(){var Y=X.val();
var Z=B(".jql-error",F);
if(Y&&Y!==V){B.ajax({cache:false,data:{jql:Y},error:function(){Z.empty().text(J.getText("calendar3.jira.error.jql.cannotvalidateagainstselectedjira"));
J.showDialogInUpdatedHeight(H)
},success:function(c){var b=B(".jql-ok",F);
var a=B(".jql-bad",F);
if(c.valid){b.removeClass("hidden");
a.addClass("hidden");
C(J,I,H)
}else{b.addClass("hidden");
a.removeClass("hidden");
B(".date-fields",F).empty()
}if(Z.children().length-Z.empty().children().length){J.showDialogInUpdatedHeight(H)
}},type:"POST",url:J.getParameter(I,"baseUrl")+"/rest/calendar-services/1.0/jira/"+encodeURIComponent(B("select[name='server'] option:selected",F).val())+"/jql/validate.json"})
}},300)
})
}var O=M.projects;
if(O&&B.isArray(O)){var S=B(".option-project select",F).empty();
B.each(O,function(V,W){B(document.createElement("option")).val(W.key).text(W.name).appendTo(S)
})
}var T=M.searchRequests;
var L=B("input[name='searchFilterName']",F).removeData("searchFilters");
if(T&&B.isArray(T)){if(T.length){L.data("searchFilters",T);
var P=B(".search-filter-suggestions",F).empty();
var U=B(document.createElement("div")).addClass("dropdown-container").append(B(document.createElement("div")).addClass("aui-dd-parent").append(B(document.createElement("a")).addClass("aui-dd-trigger").attr("href","#").text("Show autocomplete")).append(B(document.createElement("ul")).addClass("aui-dropdown")));
var N=B(".aui-dropdown",U).appendTo(B(".aui-dd-parent",U));
B.each(T,function(W,V){var X=B(document.createElement("li")).append(B(document.createElement("a")).attr("href","#").text(V.name)).data("searchFilter",V).appendTo(N).click(function(){L.val(V.name);
B("input[name='searchFilter']",F).val(V.id);
C(J,I,H)
});
if(V.description){X.attr("title",V.description)
}});
U.appendTo(P).dropDown("Standard",{alignment:"left"});
P.removeClass("hidden")
}}else{L.attr("disabled","disabled")
}E.removeAttr("disabled");
if(K&&B.isFunction(K)){K(M)
}},url:J.getParameter(I,"baseUrl")+"/rest/calendar-services/1.0/jira/"+encodeURIComponent(B("select[name='server'] option:selected",F).val())+"/query/options.json"})
};
var C=function(Q,P,L,F){var N=B("form",L.getCurrentPanel().body);
var M=B(".field-group-jira-show",N);
var O=B("legend span",M).css("visibility","hidden");
B("div.error",M).empty();
var E=B(".date-fields",M);
var H=B.map(B("input[name='dateFieldName']:checked",E),function(R){return B(R).val()
});
E.empty();
var J=B(".jira-query-options .matrix .radio:checked",N).val();
var G={};
var D="";
if("option-project"===J){D="/project/"+encodeURIComponent(B(".jira-query-options .option-project select option:selected",N).val())
}else{if("option-search-filter"===J){var I=B(".jira-query-options .option-search-filter input[name='searchFilter']",N).val();
if(I){D="/filter/"+encodeURIComponent(I)
}}else{if("option-jql"==J){G.query=B(".jira-query-options .option-jql textarea",N).val()||"";
if(G.query){D="/jql"
}}}}if(D){var K=B(document.createElement("img")).attr("src",Q.getParameter(P,"baseUrl")+"/images/icons/wait.gif").addClass("date-fields-spinner").appendTo(E);
B.ajax({cache:false,data:G,dataType:"json",error:function(){K.remove();
B(".dateFieldName-error",M).text(Q.getText(P,"calendar3.jira.error.datefields.unabletoshow"));
Q.showDialogInUpdatedHeight(L)
},success:function(S){K.remove();
var R=Q.getParameter(P,"elementIdSuffix");
B.each(S,function(W,V){var U="option-"+V.key+"-"+R;
var T=B(document.createElement("div")).addClass("checkbox").append(B(document.createElement("input")).attr({type:"checkbox",id:U,name:"dateFieldName",value:V.key})).append(B(document.createElement("label")).attr({"for":U}).text(V.name)).appendTo(E.appendTo(M));
if(B.inArray(V.key,H)!==-1){B("input",T).attr("checked","checked")
}});
if(S.length){O.css("visibility","visible")
}if(F&&B.isFunction(F)){F(S)
}},url:Q.getParameter(P,"baseUrl")+"/rest/calendar-services/1.0/jira/"+encodeURIComponent(B("select[name='server'] option:selected",N).val())+"/date-fields"+D+".json"})
}else{if(F&&B.isFunction(F)){F()
}}};
window.TeamCalendars.subcalendar.jira={initializeForm:function(G,F,E){E.addHeader(G.getText(F,"calendar3.createjiracalendar"));
E.addPanel("",AJS.template.load("jira-form-"+G.getParameter(F,"elementIdSuffix")).toString(),"calendar-dialog-panel jira-dialog-panel");
var D=B("form.sub-calendar-edit-form",E.getCurrentPanel().body);
B("select[name='server']",D).change(function(){var H=B("select[name='server'] option:selected",D);
if(H.length&&H.val()){A(G,F,E,null,function(){C(G,F,E)
})
}});
B("input[name='spaceKeyAutocomplete']",D).bind("selected.autocomplete-content",function(I,H){B("input[name='spaceKey']",D).val(H.content.key);
B(this).val(H.content.name);
B(".spaceKeyAutocomplete-error",D).empty();
G.showDialogInUpdatedHeight(E)
});
B(".jira-query-options input.radio",D).change(function(){B(".jira-query-options .option",D).addClass("hidden");
var H=B(this).val();
B("input",B(".jira-query-options ."+H,D).removeClass("hidden")).focus(function(){var I=B(this);
if(I.hasClass("with-hint")){I.removeClass("with-hint").val("")
}});
C(G,F,E,function(){G.showDialogInUpdatedHeight(E)
})
});
B("select[name='project']",D).change(function(){C(G,F,E)
});
B(".jira-query-options input[name='searchFilterName']",D).keydown(function(I){var L=I.keyCode;
var H=B(this);
if(!(L===38||L===40||L===13)){setTimeout(function(){D.click();
var N=H.val();
if(N){var M=H.data("searchFilters");
if(M&&B.isArray(M)){var O=B(".search-filter-suggestions .aui-dropdown li",D).each(function(){var P=B(this);
if(P.data("searchFilter").name.indexOf(N)===-1){P.addClass("hidden")
}else{P.removeClass("hidden")
}});
if(O.filter(function(){return !B(this).hasClass("hidden")
}).length){B(".search-filter-suggestions .aui-dd-trigger",D).trigger("click")
}}}},300)
}else{if(L===13){I.preventDefault();
var K=B(".search-filter-suggestions .aui-dropdown li.active",D);
if(K.length){var J=K.data("searchFilter");
H.val(J.name);
B("input[name='searchFilter']",D).val(J.id);
D.click();
C(G,F,E)
}}}});
B(".submit",D).click(function(){D.submit();
return false
});
B(".subcalendar-cancel",D).click(function(){E.hide();
return false
});
return D
},getFormDataAsAjaxData:function(J,I,G){var E=B("form.sub-calendar-edit-form",G.getCurrentPanel().body);
var K="";
B(".field-group-jira-show input:checked",E).each(function(){if(K){K+="&"
}K+="dateFieldName="+encodeURIComponent(B(this).val())
});
var F={type:"jira",subCalendarId:B("input[name='subCalendarId']",E).val(),name:B("input[name='name']",E).val(),description:B("input[name='description']",E).val(),color:B("input[name='color']",E).val(),spaceKey:B("input[name='spaceKeyAutocomplete']",E).val()?B("input[name='spaceKey']",E).val():""};
var D="jira://"+encodeURIComponent(B("select[name='server'] option:selected",E).val()||"")+"?";
var H=B(".jira-query-options .matrix input.radio:checked",E).val();
if("option-project"===H){D+="projectKey="+encodeURIComponent(B("select[name='project'] option:selected",E).val())
}else{if("option-search-filter"===H){D+="searchFilterId="+B("input[name='searchFilter']",E).val()
}else{D+="jql="+encodeURIComponent(B("textarea[name='jql']",E).val())
}}if(K){D+="&"+K
}F.location=D;
return F
},populateForm:function(O,N,H,J){var E=H.getCurrentPanel();
var I=B("form.sub-calendar-edit-form",E.body);
O.setFieldErrors(E.body,null);
var G=B(".form-mode",I);
var M=B("select[name='server']",I);
var L=B("select[name='project']",I);
var K=B(".timeZoneIdDisplay",I);
B("input[name='searchFilterName']",I).addClass("with-hint").val(O.getText(N,"calendar3.jira.fields.searchfilter.hint"));
B("input[name='jql']",I).addClass("with-hint").val(O.getText(N,"calendar3.jira.fields.jql.hint"));
if(J){E.page.header.empty().text(J.name);
G.removeClass().addClass("form-mode edit");
B("input[name='subCalendarId']",I).val(J.id);
B("input[name='name']",I).val(J.name);
B("input[name='description']",I).val(J.description);
B("input[name='color']",I).val(J.color);
B("input[name='spaceKey']",I).val(J.spaceKey);
B("input[name='spaceKeyAutocomplete']",I).val(J.spaceName);
var D=false;
B("option",M).removeAttr("selected").each(function(){var P=B(this);
if(P.val()===J.applicationId){P.attr("selected","selected");
D=true;
return false
}});
if(!D){B(document.createElement("option")).attr("value",J.applicationId).attr("selected","selected").text(J.applicationName).appendTo(M)
}A(O,N,H,null,function(){var R=H.getCurrentPanel().body;
B(".jira-query-options .matrix input.radio",R).removeAttr("checked");
B(".jira-query-options .option").addClass("hidden");
if(J.projectKey){var T=false;
var P=B(".jira-query-options .option-project",R);
B("option",L).removeAttr("selected").each(function(){var U=B(this);
if(U.val()===J.projectKey){U.attr("selected","selected");
T=true;
return false
}});
if(!T){L.append(B(document.createElement("option")).val(J.projectKey).text(J.projectName||J.projectKey).attr("selected","selected"))
}B(".jira-query-options .radio-project input.radio",R).attr("checked","checked");
P.removeClass("hidden")
}else{if(J.searchFilterId){var Q=B(".jira-query-options .option-search-filter",R);
B("input[name='searchFilter']",Q).val(J.searchFilterId);
B("input[name='searchFilterName']",Q).removeClass("with-hint").val(J.searchFilterName||J.searchFilterId);
B(".jira-query-options .radio-search-filter input",R).attr("checked","checked");
Q.removeClass("hidden")
}else{if(J.jql){var S=B(".jira-query-options .option-jql",R);
B("textarea[name='jql']",S).removeClass("with-hint").val(J.jql);
B(".jira-query-options .radio-jql input",R).attr("checked","checked");
S.removeClass("hidden")
}}}C(O,N,H,function(){B(".date-fields input[name='dateFieldName']",R).removeAttr("checked");
B.each(J.dateFieldNames,function(V,U){B("input[value='"+U+"']",R).attr("checked","checked")
});
O.showDialogInUpdatedHeight(H)
})
});
K.text(J.timeZoneId)
}else{E.page.header.empty().text(O.getText(N,"calendar3.createjiracalendar"));
G.removeClass().addClass("form-mode create");
B("input[name='subCalendarId']",I).val("");
B("input[name='name']",I).val("");
B("input[name='description']",I).val("");
B("input[name='color']",I).val(O.getNextUnusedSubCalendarColor(N));
B("input[name='spaceKey']",I).val("");
B("input[name='spaceKeyAutocomplete']",I).val("");
K.text("");
A(O,N,H,null,function(){C(O,N,H,function(){O.showDialogInUpdatedHeight(H)
})
})
}var F=B("input[name='name'], input[name='description'], input[name='spaceKeyAutocomplete'], input[name='searchFilterName'], input[name='jql']",I);
if(O.isCalendarInEditMode(N)){F.removeAttr("readonly");
M.removeAttr("disabled");
L.removeAttr("disabled")
}else{G.removeClass().addClass("form-mode read-only");
F.attr("readonly","readonly");
M.attr("disabled","disabled");
L.attr("disabled","disabled")
}},onSubmitStart:function(F,E,D){B(".submit",D.getCurrentPanel().body).attr("disabled","disabled")
},onSubmitEnd:function(F,E,D){B(".submit",D.getCurrentPanel().body).removeAttr("disabled")
},getWeight:function(){return 4
},getTypeName:function(E,D){return E.getText(D,"calendar3.subcalendar.type.jira")
}}
}})(jQuery);

