AJS.log("page-editor starting");Confluence.Editor=(function(b){var a;return{MODE_RICHTEXT:"richtext",MODE_SOURCE:"source",MODE_PREVIEW:"preview",currentEditMode:null,contentHasChangedSinceLastAutoSave:false,sourceInitialValue:false,isSubmitting:false,hasContentChanged:function(){if(!this.inRichTextMode()&&!this.contentHasChangedSinceLastAutoSave){return false}return this.editorHasContentChanged()},editorHasContentChanged:function(){if(tinyMCE.activeEditor==null){AJS.log("No TinyMCE editor present. Returning empty string in editorHasContentChanged ");return false}return this.Adapter.editorHasContentChanged()},getResumeDraftUrl:function(){var c=[];c.push(Confluence.getContextPath());c.push("/pages/"+(AJS.params.newPage?"create":"edit")+AJS.params.draftType+".action");c.push("?useDraft=true");c.push("&pageId="+AJS.params.pageId);c.push("&contentChanged="+this.hasContentChanged());this.getCurrentForm().spaceKey&&c.push("&spaceKey="+AJS.Meta.get("space-key"));return c.join("")},getCurrentTitle:function(){return b("#content-title")&&b("#content-title").val()},contentFormSubmit:function(c){Confluence.Editor.Drafts.unBindUnloadMessage();AJS.$(".editable-title #content-title").attr("disabled","disabled");return true},heartbeat:function(){var c={dataType:"json",contentId:AJS.params.pageId,draftType:AJS.params.draftType,spaceKey:AJS.params.spaceKey};if(AJS.params.pageId=="0"||AJS.params.contentType=="comment"){AJS.safe.post(AJS.params.contextPath+"/json/heartbeat.action",{})}else{AJS.safe.post(AJS.params.contextPath+"/json/startheartbeatactivity.action",c,function(d){var h=d.length;if(h){var e=AJS.$("#other-users-span");e.empty();for(var g=0;g<h;++g){if(g>0){e.append(", ")}var f=d[g];e.append(AJS("a").attr("href",AJS.params.contextPath+"/display/~"+encodeURIComponent(f.userName)).text(f.fullName));if(f.lastEditMessage!=null){e.append(" ").append(AJS("span").addClass("smalltext").text(f.lastEditMessage))}}}AJS.setVisible("#heartbeat-div",!!h)},"json")}},disableFrame:function(c){AJS.$("form",c).each(function(){AJS.$(this).unbind();this.onsubmit=function(){return false}});AJS.$("a",c).each(function(){AJS.$(this).attr("target","_top").unbind()});AJS.$("input, img",c).each(function(){AJS.$(this).unbind()})},previewFrameOnload:function(c,e){AJS.log("previewFrameOnload");Confluence.Editor.setMode(Confluence.Editor.MODE_PREVIEW);tinyMCE.activeEditor.setProgressState(false);Confluence.Editor.disableFrame(c);var h=AJS.$(e||"#previewArea iframe"),i=0,d=0,f=AJS.$("#main",c)[0],g=h.height();f&&(function(){var j=f.scrollHeight;if(i!=j){if(j!=h.height()){h.height(Math.max(j,g)+b("#savebar-container").height())}i=j;d=0}else{d++}if(d<500){setTimeout(arguments.callee,500)}})()},showRichText:function(d){if(b("#rte.editor-fullheight").length){b("body").css({overflow:d?"hidden":"visible"})}AJS.setVisible("#wysiwyg",d);b(".toolbar-group-preview").toggleClass("assistive",!d);b(".toolbar-group-edit").toggleClass("assistive",d);b("#main").toggleClass("active-richtext",d);if(d&&tinyMCE.isGecko){var e=tinyMCE.activeEditor,c=b(e.getBody());c.removeAttr("contenteditable");c.attr("contenteditable","true");e.selection.moveToBookmark(a);delete a}},showPreview:function(c){if(b("#content-title").hasClass("placeholded")){b("#title-text").text("")}else{b("#title-text").text(b("#content-title").val())}AJS.setVisible("#preview",c);b(".toolbar-group-preview").toggleClass("assistive",c);b(".toolbar-group-edit").toggleClass("assistive",!c);b("#main").toggleClass("active-preview",c);!!b("#full-height-container").length&&b("#full-height-container").toggleClass("active-preview",c);c&&(!!AJS.Confluence.PropertyPanel.current)&&AJS.Confluence.PropertyPanel.destroy()},showSource:function(c){if(c){this.showSourceArea()}else{this.hideSourceArea()}b("#main")[c?"addClass":"removeClass"]("active-source")},setMode:function(c){AJS.log("Set mode: "+c);if(c==Confluence.Editor.MODE_RICHTEXT){this.showRichText(true);this.showPreview(false);this.showSource(false)}else{if(c==Confluence.Editor.MODE_SOURCE){this.showSource(true);this.showRichText(false);this.showPreview(false)}else{if(c==Confluence.Editor.MODE_PREVIEW){this.showPreview(true);this.showRichText(false);this.showSource(false)}}}this.currentEditMode=c},getContentId:function(){var c=AJS.Meta.get("content-id");if(!+c){c=AJS.Meta.get("page-id")}if(!+c){c="0"}return c},addErrorMessage:function(g,e,f){var d=b("#"+g);var c=(f?"#all-messages":"#editor-messages");if(d.length){d.empty()}else{d=b("<div></div>").attr("id",g).appendTo(c)}AJS.messages.error(d,{closeable:true,body:e})},changeMode:function(g,c){AJS.log("Change mode: "+g);c=c||{};if(this.inRichTextMode()&&!AJS.Editor.Adapter.allowModeChange()){return false}if(this.currentEditMode==g){return false}var d=this.currentEditMode;Confluence.Editor.Drafts.save();if(g==Confluence.Editor.MODE_PREVIEW){var f=AJS.Rte.getEditor();if(d==Confluence.Editor.MODE_SOURCE){Confluence.Editor.transferSourceToEditor()}if(tinyMCE.isGecko&&(d==Confluence.Editor.MODE_RICHTEXT)){a=f.selection.getBookmark()}this.currentEditMode=g;var e={contentId:this.getContentId(),contentType:AJS.params.contentType,spaceKey:AJS.Meta.get("space-key"),xHtml:f.getContent()};b.ajax({type:"POST",url:AJS.params.contextPath+"/pages/rendercontent.action",data:e,success:Confluence.Editor.replysetPreviewArea,timeout:20000,error:function(){Confluence.Editor.addErrorMessage("preview-error","There was an error loading preview. Please try again later.");Confluence.Editor.currentEditMode=d;c.errorCallback&&c.errorCallback()}})}else{this.setMode(g)}if(g==Confluence.Editor.MODE_RICHTEXT){b(document).trigger("resize.resizeplugin")}return false},replysetPreviewArea:function(c){b("#preview-error").remove();var f=AJS.params.staticResourceUrlPrefix+"/blank.html";tinyMCE.activeEditor.setProgressState(true);AJS.$("#previewArea").html('<iframe src="'+f+'" scrolling="no" frameborder="0"></iframe>');var d=AJS.$("#previewArea iframe")[0];var e=d.contentDocument||d.contentWindow.document;e.write(c);e.close()},inRichTextMode:function(){return this.currentEditMode==Confluence.Editor.MODE_RICHTEXT},onInit:function(){Confluence.Editor.setMode(Confluence.Editor.MODE_RICHTEXT);tinyMCE.activeEditor.onClick.add(function(c,d){b("#PostingDate").datepicker("hide")})},contentChangeHandler:function(){this.contentHasChangedSinceLastAutoSave=true},getCurrentForm:function(){return AJS.$("form[name="+AJS.params.formName+"]")[0]},transferSourceToEditor:function(){var d=Confluence.Editor;if(d.sourceInitialValue){var c=d.getSourceAreaVal();if(c!=d.sourceInitialValue){var e=tinyMCE.activeEditor;e.setContent(c);e.setDirty(c)}}d.sourceInitialValue=false},hideSourceArea:function(){AJS.$("#editor-html-source-container").addClass("hidden");this.setToolBarInactive(false);this.transferSourceToEditor();b("#rte-button-source-mode").removeClass("active");b("#rte-button-publish").unbind("click.source-save")},showSourceArea:function(){AJS.$("#editor-html-source-container").removeClass("hidden");this.setSourceAreaHeight();this.setToolBarInactive(true);this.sourceInitialValue=tinyMCE.activeEditor.getContent();this.setSourceAreaVal(this.sourceInitialValue);b("#rte-button-source-mode").addClass("active");b("#rte-button-publish").bind("click.source-save",Confluence.Editor.transferSourceToEditor)},getSourceAreaVal:function(){return AJS.$("#editor-html-source").val()},setSourceAreaVal:function(c){AJS.$("#editor-html-source").val(c)},setSourceAreaHeight:function(){var c=AJS.Editor.Adapter.getTinyMceEditorMinHeight();AJS.log("HTML source height= "+c);var d=b("#editor-html-source")[0].scrollHeight;if(d>c){c=d;AJS.log("ACTUAL HEIGHT "+d)}b("#editor-html-source-container").height(c+"px")},setToolBarInactive:function(c){b("#rte-toolbar").toggleClass("disabled",c)}}})(AJS.$);AJS.toInit(function(d){var e=d("#rte-button-publish"),l=d("#rte-button-overwrite"),b=d("#rte-button-edit"),i=d("#rte-button-preview"),j=i.text(),a=d("#rte-button-cancel"),h=[e,l,b,i,a],k=false,g=Confluence.Editor;var c=function(m){var n,o=h.length;for(n=0;n<o;n++){h[n].toggleClass("disabled",!m)}};var f=function(){return !e.hasClass("disabled")};d(g.getCurrentForm()).submit(function(n){if(!f()){return false}if(!k){var m=AJS.Rte.getEditor().getContent().replace("&nbsp;"," ");if(AJS.Meta.get("content-type")==="comment"&&!d.trim(m)){alert("Comment text is empty. Cannot create empty comments.");return false}e.text("Saving\u2026");l.text("Overwriting\u2026")}k=false;c(false);return g.contentFormSubmit(n)});this.currentEditMode=this.MODE_RICHTEXT;a.click(function(m){k=true});if(AJS.DarkFeatures.isEnabled("move.page.on.save")){e.click(function(n){n.preventDefault();if(d("#move-page-dialog").length>0){d("#move-page-dialog, body > .shadow, body > .aui-blanket").remove()}var m;if(AJS.Meta.getBoolean("new-page")&&AJS.Meta.get("content-type")!="blogpost"){new Confluence.MovePageDialog({spaceName:m,spaceKey:d("#newSpaceKey").val(),pageTitle:d("#content-title").val(),parentPageTitle:d("#parentPageString").val(),buttonName:"Save",title:"Set Page Location",hint:{text:"Hint: you can move this page later, from the Tools menu."},moveHandler:function(s,p,t,u,r,q,o){d("#newSpaceKey").val(p);d("#parentPageString").val(u);if(u!=""){d("#position").val("append")}else{d("#position").val("topLevel")}if(r){d("#targetId").val(r);d("#position").val(q)}d(g.getCurrentForm()).submit()}})}else{d(g.getCurrentForm()).submit()}})}b.click(function(m){if(f()){Confluence.Editor.changeMode(g.MODE_RICHTEXT);setTimeout(function(){AJS.Rte.getEditor().focus()},0)}m.preventDefault()});i.click(function(m){if(f()&&g.currentEditMode!=g.MODE_PREVIEW){c(false);i.text("Previewing\u2026");g.changeMode(g.MODE_PREVIEW,{errorCallback:function(){c(true);i.text(j)}})}m.preventDefault()});d("#editor-html-source").change(g.setSourceAreaHeight).keyup(g.setSourceAreaHeight);d("#rte-button-attachments").bind("updateLabel",function(){var n=AJS.Meta.get("num-attachments");var m=(n>1)?AJS.format("{0} Attachments",n):(n==0)?AJS.format("Attachments",n):AJS.format("{0} Attachment",n);d("#rte-button-attachments > .trigger-text").text(m)});d("#rte-button-labels").bind("updateLabel",function(){var n=AJS.Meta.get("num-labels");var m=(n>1)?AJS.format("{0} Labels",n):(n==0)?AJS.format("Labels",n):AJS.format("{0} Label",n);d("#rte-button-labels  > .trigger-text").text(m)});d("#PostingDate").datepicker({maxDate:new Date()});d("#PostingDate").datepicker("widget").css("display","none");g.Adapter.addOnInitCallback(g.onInit);d(window).bind("render-content-loaded",function(o,m){var n=d("#previewArea iframe");if(n.contents().find("body")[0]==m){g.previewFrameOnload(m,n);i.text(j);c(true);n.focus();d(document).trigger("iframeAppended",n)}});if(AJS.params.heartbeat){g.heartbeat();setInterval(g.heartbeat,+AJS.Meta.get("heartbeat-interval")||30000)}});AJS.Editor=Confluence.Editor;
// This file was automatically generated from image-dialog.soy.
// Please don't edit this file by hand.

if (typeof Confluence == 'undefined') { var Confluence = {}; }
if (typeof Confluence.Templates == 'undefined') { Confluence.Templates = {}; }
if (typeof Confluence.Templates.Image == 'undefined') { Confluence.Templates.Image = {}; }


Confluence.Templates.Image.uploadFileForm = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<div id="upload-attachment"><form action="', soy.$$escapeHtml("/confluence"), '/pages/attachfile.action" method="post" enctype="multipart/form-data"><label for="file_0">', soy.$$escapeHtml("Upload image:"), '</label><input name="file_0" type="file"></form><div class="image-uploading hidden">', "Image uploading\x26hellip;", '</div><div class="warning hidden"></div></div>');
  if (!opt_sb) return output.toString();
};


Confluence.Templates.Image.attachedImagesPanel = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<div id="attached-images"><div class="loading-message">', "Loading\x26hellip;", '</div><ul class="image-list"></ul></div>');
  if (!opt_sb) return output.toString();
};


Confluence.Templates.Image.searchPanel = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<div id="search-image"><form class="aui search-form" id="search-image-form" action="#"><fieldset class="inline"><div class="search-input"><label for="search-image" class="assistive">', soy.$$escapeHtml("Search"), '</label><input type="text" class="search-text" size="50" autocomplete="off"></div><select class="search-space select" id="search-image-space-select"><option value="">', soy.$$escapeHtml("All Spaces"), '</option><option value="', soy.$$escapeHtml(opt_data.spaceKey), '">', soy.$$escapeHtml(opt_data.spaceName), '</option></select><button type="submit" class="search-button">', soy.$$escapeHtml("Search"), '</button></fieldset></form></div><div id="searched-images"><div class="loading-message hidden">', soy.$$escapeHtml("Searching\u2026"), '</div><ul class="image-list"></ul></div>');
  if (!opt_sb) return output.toString();
};


Confluence.Templates.Image.webPanel = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<div class="insert-web-image"><form id="insert-web-image-form" action="#"><fieldset class="inline"><div class="web-image-input"><label for="insert-web-image-image-url" id="insert-web-image-image-url-label">', soy.$$escapeHtml("Image URL:"), '</label><input type="text" class="text image-url" value="http://" id="insert-web-image-image-url" name="insert-web-image-image-url"></div><input type="submit" class="image-preview" value="', soy.$$escapeHtml("Preview"), '"></fieldset></form><p class="faraway image-preview-area"></p><p class="hidden image-preview-error">', soy.$$escapeHtml("This image couldn\x27\x27t be loaded for preview. Please check the URL."), '</p><p class="hidden image-preview-throbber">&nbsp;</p></div>');
  if (!opt_sb) return output.toString();
};


Confluence.Templates.Image.imageDialogListItem = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<li class="attached-image"><div class="image-container loading"><img class="thumbnail" src="', soy.$$escapeHtml(opt_data.nonceUrl), '" title="', soy.$$escapeHtml(opt_data.imageTooltip), '" width="', soy.$$escapeHtml(opt_data.image.thumbnailWidth), '" height="', soy.$$escapeHtml(opt_data.image.thumbnailHeight), '" style="margin-top: ', soy.$$escapeHtml(opt_data.topMargin), 'px"><a href="', soy.$$escapeHtml(opt_data.image.downloadUrl), '" class="zoom">Zoom</a></div><span class="caption filename" title="', soy.$$escapeHtml(opt_data.imageName), '">', opt_data.highlightedImageName, '</span><span class="caption owner-title ', soy.$$escapeHtml(opt_data.parentTitleClass), '" title="', soy.$$escapeHtml(opt_data.image.parentTitle), '">', opt_data.highlightedParentTitle, '</span></li>');
  if (!opt_sb) return output.toString();
};

jQuery.fn.sizeToFit=function(){var a=jQuery;this.each(function(){var d=this;var b=a(this).parent();var e=b.height();b.children().each(function(){if(this!=d){e-=a(this).outerHeight()}});var c=a(this).outerHeight()-a(this).height();a(this).css("height",Math.max(0,e-c)+"px")});return this};Confluence.Editor.ImageDialog={beforeShowListeners:[],afterThumbnailsDisplayedListeners:[],panelComponent:[]};AJS.toInit(function(c){Confluence.Editor.ImageDialog.findPanelComponentById=function(h){var e=Confluence.Editor.ImageDialog.panelComponent;for(var f=0,g=e.length;f<g;f++){if(e[f].id==h){return e[f]}}return undefined};AJS.wikiAttrToString=function(e){var f=[];for(var g in e){if(e.hasOwnProperty(g)){f.push(typeof e[g]=="boolean"?e[g]?g:"":g+"="+e[g])}}return f.length?"|"+f.join(","):""};Confluence.Editor.defaultInsertImageDialog=function(){var f=function(h){AJS.Rte.BookmarkManager.restoreBookmark();tinymce.confluence.ImageUtils.insertFromProperties(h);if((tinyMCE.isGecko)&&(!!c("#comments-section").length)){var g=tinyMCE.activeEditor,i=g.selection.getBookmark(),j=c(g.getBody());j.removeAttr("contenteditable");j.attr("contenteditable","true");g.selection.moveToBookmark(i)}},e=function(){AJS.Rte.BookmarkManager.restoreBookmark()};AJS.Rte.BookmarkManager.storeBookmark();Confluence.Editor.insertImageDialog(f,e)};Confluence.Editor.insertImageDialog=function(f,e){this.openImageDialog({submitCallback:f,cancelCallback:e})};var a=function(e,f,g){c(document).bind("keydown.insert-image",function(i){if(!e.is(":visible")){return}if(c("#fancybox-overlay").is(":visible")){if(i.which==32){c("#fancybox-close").click();i.preventDefault();i.stopPropagation();return false}}else{function h(n){var k=c(".attached-image",e);var m=c(".attached-image.selected",e);var j=k.index(m)+n;if(j<0){j=k.length-1}if(j>=k.length){j=0}var l=k.eq(j);l.click().focus();e.simpleScrollTo(l)}if(i.which==37){h(-1);return AJS.stopEvent(i)}else{if(i.which==38){h(-4);return AJS.stopEvent(i)}else{if(i.which==39){h(1);return AJS.stopEvent(i)}else{if(i.which==40){h(4);return AJS.stopEvent(i)}else{if(i.which==32&&c(".attached-image.selected").length>0){c(g.imageSelector+".selected .zoom").click();return AJS.stopEvent(i)}else{if(i.which==13&&f.isInsertAllowed()){f.insert();return AJS.stopEvent(i)}}}}}}}})};var d=function(e,g,j,m){var h=100,m=m||new Confluence.Highlighter(),k=g.name||g.fileName,o;if(Math.max(g.thumbnailWidth,g.thumbnailHeight)>h){if(g.thumbnailHeight>g.thumbnailWidth){g.thumbnailWidth=g.thumbnailWidth*h/g.thumbnailHeight;g.thumbnailHeight=h}else{g.thumbnailHeight=g.thumbnailHeight*h/g.thumbnailWidth;g.thumbnailWidth=h}}if(!g.thumbnailUrl&&g.thumbnailLink){g.thumbnailUrl=g.thumbnailLink.href}if(!g.downloadUrl&&g.link){for(var f=0,n=g.link.length;f<n;f++){var l=g.link[f];if(l.rel=="download"){g.downloadUrl=l.href;break}}}o=c(Confluence.Templates.Image.imageDialogListItem({image:g,nonceUrl:g.thumbnailUrl&&g.thumbnailUrl+(g.thumbnailUrl.indexOf("?")+1?"&":"?")+"nonce="+(+new Date),imageTooltip:k+(g.space&&(" ("+g.space.name+")")||""),topMargin:g.thumbnailHeight&&(100-g.thumbnailHeight)/2,parentTitleClass:j?"":"hidden",imageName:k,parentTitle:g.parentTitle||"",highlightedImageName:m.highlight(k),highlightedParentTitle:m.highlight(g.parentTitle||"")}));o.attr("data-owner-id",g.ownerId||"");o.attr("data-destination",AJS.REST.wikiLink(g).destination);o.find(".image-container").andSelf().hover(function(){c(this).addClass("hover")},function(){c(this).removeClass("hover")});o.find("img").load(function(){o.find(".image-container").removeClass("loading")});o.click(function(i){c("#insert-image-dialog .image-list .selected").removeClass("selected");c(this).addClass("selected").focus();e.selectedName=this.name=this.name||c(".caption.filename",this).text();e.selectedOwnerId=c(this).attr("data-owner-id");e.selectedDestination=c(this).attr("data-destination");e.allowInsert(true);i.stopPropagation();return false});o.dblclick(function(){c(this).click();e.insert()});c(".zoom",o).fancybox({padding:0,zoomSpeedIn:500,zoomSpeedOut:500,overlayShow:true,overlayOpacity:0.5});return o};var b=function(f,e){var h=e.imageContainer.find(".image-list"),i=c.map(e.justAttached||[],function(r){return r&&r.toLowerCase()}),q=f.options,m=e.imageContainer,n=e.images||[],j=e.noImageMessage,k=e.showParentTitle,o=e.highlighter,p=e.displayErrors,l=[],g;m.find(".loading-message").addClass("hidden");m.find(".no-images").remove();c(n).each(function(){if(this.name&&c.inArray(this.name.toLowerCase(),i)!=-1){h.prepend(d(f,this,k,o))}else{h.append(d(f,this,k,o))}});if(h.find("li").length==0){m.append(c("<p></p>").addClass("no-images").text(j))}m.sizeToFit().click(function(){f.clearSelection()});if(i.length){h.find("li:first").click()}else{if(q.imageProperties&&q.imageProperties.imageFileName){imageContainter.find("img[src*=/"+q.imageProperties.imageFileName+"?]").click()}}l=[];g=c.map(n,function(r){return r.name&&r.name.toLowerCase()});c.each(i,function(r,s){if(c.inArray(s,g)==-1){l.push(AJS.format("Attached the file \u2018{0}\u2019 but no thumbnail could be displayed. The file may not be an image.",s))}});if(l.length){p(l)}};Confluence.Editor.openImageDialog=function(q){q=q||{};var n=new AJS.Dialog(800,590,"insert-image-dialog"),f={baseElement:n.popup.element,selectedName:"",selectedOwnerId:null,selectedDestination:null,allowInsert:null,isInsertAllowed:null,insert:null,attachmentSourceContentId:AJS.Meta.get("attachment-source-content-id"),options:q,clearSelection:null,imageContainerSupport:{bindImageContainer:a,refreshImageList:b},addPanel:function(u,i,s,r){var t=n.getPage(0).panel.length;n.addPanel(u,i,s,r);return t},selectPanel:function(i){n.selectPanel(i)},getPanel:function(i){return n.getPanel(i)}},e="Insert Image",p="Insert",m,h,o=0,g;f.clearSelection=function(){f.selectedName="";f.selectedOwnerId=null;f.selectedDestination=null;f.allowInsert(false);f.baseElement.find(".image-list .selected").removeClass("selected")};function k(){n.hide().remove();c(document).unbind(".insert-image");q.cancelCallback&&q.cancelCallback();return false}c(document).bind("keydown.insert-image",function(i){if(i.which==27&&!c("#fancybox-overlay").is(":visible")){k();return AJS.stopEvent(i)}});if(q.imageProperties){e="Edit Image";p="Save"}n.addHeader(e);n.addButton(p,function(r){var t=r.getCurrentPanel().body;var i=c("input.image-url",t).val();var s={url:i,filename:f.selectedName,contentId:f.selectedOwnerId||f.attachmentSourceContentId};r.remove();c(document).unbind(".insert-image");if(q.submitCallback){q.submitCallback(s)}},"insert");m=n.popup.element;m.attr("data-tab-default","0");h=m.find(".dialog-button-panel .insert");f.allowInsert=function(i){h.attr("disabled",(i?"":"disabled"))};f.allowInsert(false);f.isInsertAllowed=function(){return !h.is(":disabled")};f.insert=function(){h.click()};c.each(Confluence.Editor.ImageDialog.panelComponent,function(){var i=(this&&this.createPanel&&this.createPanel(f));if(i){o=i}});n.addCancel("Cancel",k);for(var l,j=0;l=n.getPanel(j);j++){l.setPadding(0)}AJS.log(Confluence.Editor.ImageDialog.beforeShowListeners.length+" beforeShow listeners registered.");c.each(Confluence.Editor.ImageDialog.beforeShowListeners,function(){this()});n.show();n.popup.element.find(".dialog-button-panel").append(c("<div></div>").addClass("dialog-tip").html("Hint: type \"\u003cstrong>!\u003c\/strong>\" in the Editor to insert attached images on the page."));g=Confluence.Editor.ImageDialog.panelComponent[o];g&&g.refresh&&g.refresh()}});
AJS.toInit(function(e){var c,g,d,h=function(i){var j=function(){return e(".attachments-panel",i.baseElement)},m=function(){return e("#attached-images")},l=function(){return e(".image-list",m())},n=function(){return e("form",j())},k=function(p,q){q=q?e.map(q,function(r){return r&&r.toLowerCase()}):[];var o=m();o.find(".image-list").empty();AJS.getJSONWrap({url:"/pages/attachedimages.action",data:{contentId:i.attachmentSourceContentId},messageHandler:d,loadingElement:o.find(".loading-message"),errorMessage:"Error retrieving attachments from Confluence. The server may be unavailable.",successCallback:function(r){i.imageContainerSupport.refreshImageList(i,{imageContainer:o,images:r.images,noImageMessage:"There are no images attached to this page.",justAttached:q,showParentTitle:false,displayErrors:function(s){g.displayErrors(s)}});AJS.Meta.set("num-attachments",+r.totalImages);e("#rte-button-attachments").trigger("updateLabel");p.trigger("afterThumbnail",[l()])}})};return{getPanelElement:j,getContainer:m,getForm:n,refreshWithLatestImages:k,getPanel:function(){var o=Confluence.Templates.Image.attachedImagesPanel();if(AJS.Meta.getBoolean("can-attach-files")){o=Confluence.Templates.Image.uploadFileForm()+o}return o},focus:function(){e("select.img-align",j()).focus()},upload:function(o){e.ajax({dataType:"json",data:{contentId:i.attachmentSourceContentId,responseFormat:"html"},resetForm:true,error:o.error,success:o.success})},getUploaderController:function(){var o=function(p){return{onUploadSuccess:function(q){b.refreshWithLatestImages(f,e.map(q||[],function(r){return r.name.toLowerCase()}))},pack:function(){m().sizeToFit()},getDefaultErrorMessage:function(){return "Could not upload the file to Confluence. The server may be unavailable."},getDefaultUploadingMessage:function(){return "Image uploading&hellip;"},getUploadingMessageElement:function(){return e(".image-uploading",p.baseElement)}}};return Confluence.AttachmentUploader({baseElement:e("#upload-attachment",i.baseElement)},o)}}},b,a={id:"attachments",createPanel:function(j,i){b=(i&&i(j))||h(j),c=j.addPanel("Attached Images",b.getPanel(),"attachments-panel");g=b.getUploaderController(j);d=g.getMessageHandler();j.imageContainerSupport.bindImageContainer(b.getContainer(),j);return null},refresh:function(i){b.refreshWithLatestImages(f,i)},getImageContainer:function(){return b.getContainer()},clearErrors:function(){d.clearMessages()},displayErrors:function(){d.displayErrors()},setUploadInProgress:function(i,j){g.setUploadInProgress(i,j)}},f=e(a);Confluence.Editor.ImageDialog.panelComponent.push(a)});
AJS.toInit(function(a){var b=function(d){var f=function(){return a("#insert-web-image-form",d.baseElement)},e=function(){return a("input.image-url",d.baseElement)},c=function(){e().focus()};return{getForm:f,getContainer:function(){return a(".insert-web-image",d.baseElement)},getImageInput:e,getPanel:function(){return Confluence.Templates.Image.webPanel()},bindPanelSelection:function(){d.getPanel(panelId).onselect=c}}};Confluence.Editor.ImageDialog.panelComponent.push({id:"external",createPanel:function(f,d){var d=(d&&d(f))||b(f),c,e,h,g;panelId=f.addPanel("From the Web",d.getPanel(),"web-image-panel");e=d.getForm();c=d.getContainer();g=d.getImageInput();if(f.options&&f.options.imageProperties&&f.options.imageProperties.url){h=panelIndex;f.selectPanel(panelId);g.val(f.options.imageProperties.url).click();e.submit()}g.bind("keyup click",function(i){var j=a(this).val();f.clearSelection();f.selectedName=j;f.allowInsert(j!=""&&j!="http://")});e.submit(function(m){var n=g.val(),l=c.find(".image-preview-area"),k=c.find(".image-preview-throbber"),j=Raphael.spinner(k[0],60,"#666"),i=c.find(".image-preview-error");k.removeClass("hidden");l.addClass("faraway");i.addClass("hidden");l.html("");a("<img>").load(function(){j();k.addClass("hidden");l.removeClass("faraway")}).error(function(){j();k.addClass("hidden");i.removeClass("hidden")}).appendTo(l).attr("src",n);m.preventDefault();return false});d.bindPanelSelection();return h}})});
AJS.toInit(function(b){var a;var c=function(h){var i=function(){return b(".search-panel",h.baseElement)},j=function(){return b("#searched-images")},k=function(){return b(".search-form",h.baseElement)},g=function(){return b("input.search-text",k())},f=function(){return g().val()},e=function(){return b(".search-space",k()).val()},d=function(){g().focus()};return{clearContainer:function(){var l=j();l.find(".loading-message").removeClass("hidden");l.find(".image-list").empty();l.find(".warning").remove()},getPanelElement:i,getForm:k,getContainer:j,getSpaceKey:e,getQuery:f,getPanel:function(){return Confluence.Templates.Image.searchPanel({spaceKey:AJS.Meta.get("space-key"),spaceName:AJS.Meta.get("space-name")})},loadImages:function(l){b.ajax({type:"GET",dataType:"json",url:Confluence.getContextPath()+AJS.REST.getBaseUrl()+"search.json",data:{spaceKey:e(),query:f(),search:"name",type:"attachment",attachmentType:["image"],groupResults:false,searchParentName:true,pageSize:Confluence.Defaults.maxResults},success:l.success,error:l.error})},bindPanelSelection:function(){h.getPanel(a).onselect=d}}};Confluence.Editor.ImageDialog.panelComponent.push({id:"search",createPanel:function(f,d){var d=(d&&d(f))||c(f),e,g;a=f.addPanel("Search",d.getPanel(),"search-panel");e=d.getForm();e.focusin(f.clearSelection);g=d.getContainer();e.submit(function(i){var h=d.getQuery();try{if(h){d.clearContainer();d.loadImages({success:function(k){if(k.result){d.clearContainer();var j=new Confluence.Highlighter(h.split(" "));f.imageContainerSupport.refreshImageList(f,{imageContainer:d.getContainer(),images:k.result,noImageMessage:"No search results found.",justAttached:false,showParentTitle:true,highlighter:j})}},error:function(){g.find(".loading-message").addClass("hidden");g.append(b("<p></p>").addClass("warning").text("Error searching for attachments from Confluence. The server may be unavailable."))}})}}finally{i.preventDefault()}return false});d.bindPanelSelection();f.imageContainerSupport.bindImageContainer(g,f);return null}})});
Confluence.Editor.Drafts=(function(c){var e=false,b=false,a=function(h,i,g){c("<input>").attr({type:"hidden",name:h,value:i}).appendTo(g)};var d=function(j){var k=j.getHours();var g=j.getMinutes();var i=k>11?"PM":"AM";k=k%12;return(k==0?"12":k)+":"+(g<10?"0":"")+g+" "+i},f=function(g){Confluence.Editor.Drafts.unBindUnloadMessage();var h=Confluence.Editor.getCurrentForm();a(g,"true",h);a("contentChanged",""+Confluence.Editor.hasContentChanged(),h);a("pageId",AJS.params.pageId,h);if(!h.spaceKey){a("spaceKey",AJS.Meta.get("space-key"),h)}h.action=(AJS.params.newPage?"create":"edit")+AJS.params.draftType+".action";h.submit()};return{isDraftSaved:function(){return e},unloadMessage:function(){if(typeof seleniumAlert!="undefined"){b||Confluence.Editor.Drafts.save();b=true;return}if(Confluence.Editor.hasContentChanged()){if(AJS.params.saveDrafts){b||Confluence.Editor.Drafts.save();b=true;return "A draft will be saved and will be accessible from the \'Drafts\' page."}return "Your comment will be lost."}else{if(Confluence.Editor.Drafts.isDraftSaved()){return "A draft will be saved and will be accessible from the \'Drafts\' page."}}},bindUnloadMessage:function(){if(c.browser.msie){window.attachEvent("onbeforeunload",Confluence.Editor.Drafts.unloadMessage)}else{c(window).bind("beforeunload.editor",Confluence.Editor.Drafts.unloadMessage)}},unBindUnloadMessage:function(){if(c.browser.msie){window.detachEvent("onbeforeunload",Confluence.Editor.Drafts.unloadMessage)}else{c(window).unbind("beforeunload.editor")}},useDraft:function(){f("useDraft")},discardDraft:function(){f("discardDraft")},save:function(j){j=j||{};if(!AJS.params.saveDrafts||Confluence.Editor.isSubmitting||(!Confluence.Editor.hasContentChanged()&&!j.forceSave)){AJS.log("skipping draft save");return}AJS.log("preparing to save editor draft");var h=c("#content-title"),g=c("#newSpaceKey"),k=c("#originalVersion"),l=Confluence.Editor.inRichTextMode();var i={pageId:AJS.params.pageId,type:AJS.params.draftType,title:h.hasClass("placeholded")?"":h.val(),spaceKey:g.length?g.val():encodeURIComponent(AJS.Meta.get("space-key")),content:AJS.Rte.getEditor().getContent()};if(k.length){i.pageVersion=parseInt(k.val(),10)}var n=function(p){if(p==null){return}Confluence.Editor.contentHasChangedSinceLastAutoSave=false;if(l){AJS.Editor.Adapter.editorResetContentChanged()}e=true;c("#draft-error").remove();var o=c("#draft-status"),q=p.time||d(new Date());if(AJS.params.newPage){o.html(AJS.format("Draft saved at {0}",q))}else{o.html(AJS.format("Draft saved at {0} ({1}view change{2})",q,"<a id='view-diff-link-heartbeat' class='view-diff-link' href='#'>","</a>"))}if(!+AJS.Meta.get("content-id")){AJS.Meta.set("content-id",p.draftId)}if(c.isFunction(j.onSuccessHandler)){j.onSuccessHandler(p)}Confluence.Editor.Drafts.lastSaveTime=q};var m=function(o,p){Confluence.Editor.addErrorMessage("draft-error",Confluence.Editor.Drafts.lastSaveTime?AJS.format("Error saving draft. Last draft saved at {0}",Confluence.Editor.Drafts.lastSaveTime):"Error saving draft. No draft has been saved.",true);if(c.isFunction(j.onErrorHandler)){j.onErrorHandler(p)}};c.ajax({type:"POST",url:AJS.params.contextPath+"/rest/tinymce/1/drafts",data:c.toJSON(i),contentType:"application/json",dataType:"text json",success:n,error:m,timeout:30000})}}})(AJS.$);AJS.toInit(function(a){Confluence.Editor.Drafts.bindUnloadMessage();a("#draft-messages a.use-draft").click(function(b){Confluence.Editor.Drafts.useDraft();b.stopPropagation();return false});a("#draft-messages a.discard-draft").click(function(b){Confluence.Editor.Drafts.discardDraft();b.stopPropagation();return false});if(AJS.params.saveDrafts){setInterval(Confluence.Editor.Drafts.save,+AJS.params.draftSaveInterval||30000)}});
(function(a){Confluence.MacroParameterSerializer=(function(){function b(d){return d.replace(/\\/g,"\\\\").replace(/=/g,"\\=").replace(/[|]/g,"\\|")}function c(d){return d.replace(/\\(.)/g,"$1")}return{serialize:function(e){var d=[];for(paramName in e){d.push(b(paramName)+"="+b(e[paramName]))}return d.join("|")},deserialize:function(f){function e(n,m){var j=[],g=[],o;n=n||"";for(var k=0,h=n.length;k<h;k++){o=n[k];if(o=="\\"){j.push(o+(k+1!=n.length?n[++k]:""))}else{if(o==m){g.push(j.join(""));j=[]}else{j.push(o)}}}g.push(j.join(""));return g}var d={};a.each(e(f||"","|"),function(h,i){var g=e(i,"=");if(g.length==2&&g[0]){d[c(g[0])]=c(g[1])}});return d}}})()})(AJS.$);
AJS.MacroBrowser=(function(b){var a={};return{hasInit:false,metadataList:[],aliasMap:{},fields:{},Macros:a,getMacroJsOverride:function(c){return a[c]},setMacroJsOverride:function(d,c){return a[d]=c},parseMacro:function(g){var e=g.match(/(\{(.+?)(?::(.*?(?=[^\\]\}).)?)?\})(?:((?:\n|.)*?)\{\2\})?/);var f={markup:e[0],startTag:e[1],name:e[2],paramStr:e[3],bodyMarkup:e[4],params:{}};if(f.markup){var c=g.split(f.markup);f.beforeTag=c[0];f.afterTag=c[1]}if(f.paramStr){var d=f.paramStr.split("|");b(d).each(function(j,k){var h=k.indexOf("=");if(h<0&&!f.params[""]){f.params[""]=k}else{f.params[k.substring(0,h)]=k.substring(h+1)}})}return f},makeParameterDiv:function(k,f,c){var n=this,m;var i=f.type.name;if(c){var h=c.fields&&c.fields[i];if(h&&typeof h!="function"){h=h[f.name]}if(typeof h=="function"){m=h.call(c,f)}}if(!m){if(!(i in n.ParameterFields&&typeof n.ParameterFields[i]=="function")){i="string"}m=n.ParameterFields[i](f)}n.fields[f.name]=m;var j=m.paramDiv;var l=m.input;var d="macro-param-"+f.name;j.attr("id","macro-param-div-"+f.name);l.addClass("macro-param-input").attr("id",d);if(f.hidden){j.hide()}var g=k.pluginKey;if(f.displayName==n.makeDefaultKey(g,k.macroName,"param",f.name,"label")){f.displayName=f.name}if(f.description==n.makeDefaultKey(g,k.macroName,"param",f.name,"desc")){f.description=""}var e=f.displayName;if(f.required){e+=" *";j.addClass("required")}b("label",j).attr("for",d).text(e);if(f.description){j.append(Confluence.Templates.MacroBrowser.macroParameterDesc({description:f.description}))}return j},makeBodyDiv:function(g,c){var e=AJS.MacroBrowser,f=b(Confluence.Templates.MacroBrowser.macroBody()),d;if(c){d=c.body}else{d=e.settings.selectedText}b("textarea",f).val(d||"");if(g.label){b("label",f).text(g.label)}if(g.description){f.append(Confluence.Templates.MacroBrowser.macroParameterDesc({description:g.description}))}if(g.hidden){f.hide()}return f},processRequiredParameters:function(){var c=b("#macro-insert-container .macro-param-div.required .macro-param-input").filter(function(){var g=b(this).val();return(g==null||g=="")});var f=(c.length==0);var e=f?"":"disabled";var d=e?"addClass":"removeClass";AJS.$("#macro-browser-dialog button.ok").attr("disabled",e);AJS.$("#macro-browser-dialog .macro-preview-header .refresh-link").attr("disabled",e)[d]("disabled");return f},paramChanged:function(){AJS.MacroBrowser.processRequiredParameters()},loadMacroInBrowser:function(i,l){if(!i||!i.formDetails){alert("Could not load unknown macro in the macro browser.");return}var k=AJS.MacroBrowser,r=i.formDetails,e=r.macroName,d=a[e],n=k.settings.selectedMacro,q=l=="edit"?k.editTitle:k.insertTitle,s=tinymce.confluence.macrobrowser.editedMacroDiv;if(e){var d=k.getMacroJsOverride(e);if(d&&typeof d.opener=="function"){k.close();d.opener({name:e});return}}b("#save-warning-span").addClass("hidden");AJS.MacroBrowser.dialog.gotoPage(1).addHeader(q.replace(/\{0\}/,i.title));var u=AJS.$("#macro-browser-dialog .dialog-button-panel .ok");if(l=="edit"){u.text("Save")}else{u.text("Insert")}AJS.$("#macro-insert-container .macro-name").val(e);var g=i.extendedDescription?i.extendedDescription:i.description;var v=b(Confluence.Templates.MacroBrowser.macroDescription({description:g})),j=b("#macro-insert-container .macro-input-fields").html(v);if(r.documentationUrl){var m=b(Confluence.Templates.MacroBrowser.macroDocLink({href:r.documentationUrl}));v.append(m)}else{if(!v.text()){v.remove()}}if(r.body&&r.body.bodyType!="NONE"&&(s&&AJS.$(s).hasClass("editor-inline-macro"))){var f=i.pluginKey;if(r.body.label==k.makeDefaultKey(f,e,"body","label")){r.body.label=""}if(r.body.description==k.makeDefaultKey(f,e,"body","desc")){r.body.description=""}var h=k.makeBodyDiv(r.body,k.selectedMacroDefinition);if(h){j.append(h)}}b(r.parameters).each(function(){j.append(k.makeParameterDiv(i,this,d))});var o=n?b.extend({},n.params):{};if(d&&typeof d.beforeParamsSet=="function"){o=d.beforeParamsSet(o,!n)}b(r.parameters).each(function(){var w=this,t;if(w.name==""){t=k.selectedMacroDefinition?k.selectedMacroDefinition.defaultParameterValue:w.defaultValue}else{t=o[w.name]}if(t!=null){delete o[w.name]}else{b(w.aliases).each(function(){if(o[this]){t=o[this];delete o[this]}})}if(t==null){t=w.defaultValue}if(t!=null){k.fields[w.name].setValue(t)}});k.unknownParams=o;b("a",j).click(function(){window.open(this.href,"_blank").focus();return false});if(!b("#macro-browser-dialog:visible").length){k.showBrowserDialog()}var p=b(":input:visible:first",j);if(p.length){p.focus();if(!k.selectedMacroDefinition&&p.val()!=""){p.select()}}var c={};b.extend(true,c,i);if(!c.formDetails){c.formDetails={}}if(!c.formDetails.body){c.formDetails.body={}}k.dialog.activeMetadata=c;if(k.settings.selectedMacro){c.formDetails.body.content=k.settings.selectedMacro.body}else{if(c.formDetails.body.bodyType&&c.formDetails.body.bodyType.toLowerCase()=="plain_text"){c.formDetails.body.content=k.settings.selectedText}else{c.formDetails.body.content=k.settings.selectedHtml}}k.previewMacro(c)},makeParamStringFromMap:function(c){var d=[];if(c[""]){d.push(c[""]);delete c[""]}for(var e in c){d.push(e+"="+c[e])}return d.join("|")},getMacroDefinitionFromForm:function(j){var d=b("#macro-insert-container .macro-name").val(),h,l=AJS.MacroBrowser,i={},e={},k=j.formDetails.parameters;b(k).each(function(){var m=AJS.$("#macro-param-"+this.name);var n=m.val();if(m.attr("type")=="checkbox"){n=""+m.attr("checked")}if(this.shared&&n){e[this.name]=n}else{if(n&&(this.hidden||(!this.defaultValue||this.defaultValue!=n))){if(this.name==""){h=n}else{i[this.name]=n}}}});if(l.unknownParams){b.each(l.unknownParams,function(m,n){i[m]=n})}var c=a[d];if(c&&typeof c.beforeParamsRetrieved=="function"){i=c.beforeParamsRetrieved(i,j,e)}var f=l.getMacroBody();var g={name:d,bodyHtml:f,params:i,defaultParameterValue:h};return g},getMacroParametersFromForm:function(g){var f=g.formDetails.parameters,i=b("#macro-insert-container .macro-name").val(),d=AJS.MacroBrowser,e={},c={};b(f).each(function(){var j=AJS.$("#macro-param-"+this.name);var k=j.val();if(j.attr("type")=="checkbox"){k=""+j.attr("checked")}if(k&&(this.hidden||(!this.defaultValue||this.defaultValue!=k))){e[this.name]=k}if(this.shared&&k){c[this.name]=k}});if(d.unknownParams){b.each(d.unknownParams,function(j,k){e[j]=k})}var h=d.getMacroJsOverride(i);if(h&&typeof h.beforeParamsRetrieved=="function"){e=h.beforeParamsRetrieved(e,g,c)}return e},previewMacro:function(f){var d=AJS.MacroBrowser;b("#macro-insert-container .macro-preview").html("");if(!d.processRequiredParameters()){AJS.log("previewMacro: missing required params");return}AJS.log("previewMacro: required params ok");d.showPreviewWaitImage(true);var h=d.getMacroParametersFromForm(f),e;var g=d.getMacroJsOverride(f.macroName);if(g&&typeof g.updateMacroParametersForPreview=="function"){h=g.updateMacroParametersForPreview(h)}if(h[""]){e=h[""];delete h[""]}var c={name:f.formDetails.macroName,body:d.getMacroBody(),params:h,defaultParameterValue:e};b.ajax({type:"POST",contentType:"application/json; charset=utf-8",url:AJS.params.contextPath+"/rest/tinymce/1/macro/preview",data:AJS.$.toJSON({contentId:Confluence.Editor.getContentId(),macro:c}),dataType:"html",success:function(i){AJS.MacroBrowser.showPreviewWaitImage(false);var n=AJS.params.staticResourceUrlPrefix+"/blank.html";var m=AJS.$("#macro-insert-container .macro-preview");m.html('<iframe src="'+n+'" frameborder="0" name="macro-browser-preview-frame" id="macro-preview-iframe"></iframe>');AJS.log("previewMacro: Created iframe");var j=AJS.$("#macro-insert-container .macro-preview iframe")[0];var l=j.contentDocument||j.contentWindow.document;l.write(i);l.close();var k=b("div.error span.error",l);if(k.length){AJS.log("Error rendering macro definition : ");AJS.log(c)}AJS.log("previewMacro: rendered")}})},showPreviewWaitImage:function(c){if(c){b("#macro-browser-preview-link").attr("disabled",true).addClass("disabled");var d=AJS("div").addClass("macro-loading");b("#macro-browser-preview").append(d);AJS.MacroBrowser.previewSpinner=Raphael.spinner(d[0],60,"#666");AJS.MacroBrowser.previewSpinner.throbber=d}else{if(AJS.MacroBrowser.previewSpinner){b("#macro-browser-preview").removeClass("macro-loading");AJS.MacroBrowser.previewSpinner();AJS.MacroBrowser.previewSpinner.throbber.remove();delete AJS.MacroBrowser.previewSpinner;b("#macro-browser-preview-link").attr("disabled",false).removeClass("disabled")}}},previewOnload:function(c){var e=AJS.MacroBrowser.dialog.activeMetadata.macroName;var d=a[e];if(d&&d.postPreview){d.postPreview(AJS.$("#macro-preview-iframe")[0],AJS.MacroBrowser.dialog.activeMetadata)}AJS.Editor.disableFrame(c);b(c).click(function(h){if(h.target.tagName.toLowerCase()==="a"){var f=h.target;var g=b(f).attr("href");if(g&&g.indexOf("#")!=0&&g.indexOf(window.location)==-1){window.open(g,"_blank").focus()}return false}})},getMacroMetadata:function(f){for(var e=0,c=this.metadataList.length;e<c;e++){var d=this.metadataList[e];if(d.macroName==f){return d}}return null},open:function(e){if(!e){e={};AJS.log("No settings to open the macro browser.")}var d=AJS.MacroBrowser;var f=e.selectedMacro;if(!f&&e.presetMacroMetadata){f={name:e.presetMacroMetadata.macroName}}if(f&&f.name){var c=d.getMacroJsOverride(f.name);if(c&&typeof c.opener=="function"){c.opener(f);return}}if(!d.hasInit){AJS.log("init macro browser");d.showBrowserSpinner(true);if(d.initData){d.initBrowser()}else{d.initMacroBrowserAfterRequest=e;return}}d.openMacroBrowser(e)},openMacroBrowser:function(d){var k=AJS.MacroBrowser;k.settings=d;k.selectedMacroDefinition=d.selectedMacro;var e=(k.selectedMacroDefinition&&k.selectedMacroDefinition.name)||d.presetMacroName;if(d.presetMacroName){d.presetMacroMetadata=k.getMacroMetadata(d.presetMacroName)}var f=d.presetMacroMetadata;if(!f){var l=d.selectedMacro;if(l){var e=l.name.toLowerCase();e=k.aliasMap[e]||e;var c=a[e];if(c){if(typeof c.updateSelectedMacro=="function"){c.updateSelectedMacro(l)}var j=c.getMacroDetailsFromSelectedMacro;if(j){f=j(k.metadataList,l)}}if(!f){f=AJS.MacroBrowser.getMacroMetadata(e)}}}if(f){AJS.log("Open macro browser to edit macro: "+f.macroName);b("#macro-browser-dialog button.back").hide();k.replicateSelectMacro(f,d.mode||"edit")}else{if(e&&!f){b("#macro-browser-dialog button.back").show();k.dialog.overrideLastTab();k.dialog.gotoPage(2);k.showBrowserDialog()}else{b("#macro-browser-dialog button.back").show();if(d.selectedCategory){var g=b("#select-macro-page .dialog-page-menu button").index(b("#category-button-"+d.selectedCategory));if(g<0){g=0}k.dialog.overrideLastTab();k.dialog.gotoPanel(0,g)}else{k.dialog.gotoPage(0)}k.showBrowserDialog();var i=b.trim(d.searchText);var h=b("#macro-browser-search");h.val(i).keyup();i&&h.removeClass("blank-search");h.focus()}}},showBrowserDialog:function(){AJS.MacroBrowser.dialog.show();AJS.MacroBrowser.showBrowserSpinner(false)},complete:function(g){if(!b("#macro-browser-dialog .dialog-button-panel .ok").is(":visible:not(:disabled)")){return}var f=AJS.MacroBrowser;var e=f.dialog.activeMetadata;var d=a[e.macroName];if(d&&d.manipulateMarkup){d.manipulateMarkup(e)}var c=f.getMacroDefinitionFromForm(e);f.close();if(f.settings.onComplete){f.settings.onComplete(c)}},cancel:function(){var c=AJS.MacroBrowser;c.close();if(typeof c.settings.onCancel=="function"){c.settings.onCancel()}return false},close:function(){var c=this;c.unknownParams={};c.fields={};c.dialog.hide()},replicateSelectMacro:function(c,d){AJS.MacroBrowser.loadMacroInBrowser(c,d)},makeDefaultKey:function(){return b.makeArray(arguments).join(".")},showBrowserSpinner:function(c){var d=AJS.Editor.inRichTextMode()?".defaultSkin span.mce_conf_macro_browser":"#editor-insert-macro";if(c){b(d).addClass("wait")}else{b(d).removeClass("wait")}},initBrowser:function(){var r=AJS.MacroBrowser,A=r.initData;if(!A.categories||!AJS.MacroBrowser.metadataList.length){alert("There has been an error loading the macro browser. Please try again or see your system administrator.");AJS.MacroBrowser.showBrowserSpinner(false);return false}var u=new Date();var y=r.dialog=AJS.ConfluenceDialog({width:865,height:530,id:"macro-browser-dialog",onSubmit:r.complete,onCancel:r.cancel});y.getPage(0).element.attr("id","select-macro-page");y.addHeader(A.title);r.editTitle=A.editTitle;r.insertTitle=A.insertTitle;var s;A.categories=b.map(A.categories,function(i){if(i.name=="hidden-macros"){s=i;return null}return i});A.categories.sort(function(j,i){return(j.displayName.toLowerCase()>i.displayName.toLowerCase()?1:-1)});if(s&&AJS.params.showHiddenUserMacros){A.categories.push(s)}var e=function(i){return b(Confluence.Templates.MacroBrowser.macroSummaryList({category:i}))};var m=function(B){var C=b(Confluence.Templates.MacroBrowser.macroSummaryItem()).click(function(i){AJS.MacroBrowser.loadMacroInBrowser(B,"insert")});if(B.icon){var D=(B.icon.relative?AJS.params.staticResourceUrlPrefix:"")+B.icon.location;if(!B.icon.relative&&AJS.$.browser.msie&&!window.location.href.indexOf("https")&&D.indexOf("https")){C.prepend("<span class='macro-icon-holder icon-"+B.macroName+"'></span>")}else{C.prepend("<img src='"+D+"' alt='icon' width='"+B.icon.width+"' height='"+B.icon.height+"' title='"+B.title+"'/>")}}else{C.prepend("<span class='macro-icon-holder icon-"+B.macroName+"'></span>")}b(".macro-title",C).text(B.title);b(".macro-desc",C).prepend(B.description);if(B.macroName=="gadget"){var j;for(var t=0;t<B.formDetails.parameters.length;t++){if(B.formDetails.parameters[t].name=="url"){j=encodeURI(B.formDetails.parameters[t].defaultValue);break}}if(j){if(!j.match("^https?://.*")){j=AJS.params.contextPath+"/"+j}b(".macro-title",C).after(Confluence.Templates.MacroBrowser.gadgetLink({url:j}))}}return C};var f={all:e("all")},x,n,w,z;for(x=0,n=r.metadataList.length;x<n;x++){var o=r.metadataList[x];if(o.hidden){if(r.isHiddenMacroShown(o)){o.categories.push("hidden-macros")}else{continue}}var q=m(o).attr("id",o.id);f.all.append(q);for(w=0,z=o.categories.length;w<z;w++){var p=o.categories[w];f[p]=f[p]||e(p);f[p].append(m(o).attr("id",p+"-"+o.id))}}y.addPanel("All",f.all,"all","category-button-all");for(x=0,n=A.categories.length;x<n;x++){var v=A.categories[x];y.addPanel(v.displayName,f[v.name]||e(v.name),v.name,"category-button-"+v.name).getPanel(x).setPadding(0)}y.addCancel("Cancel",AJS.MacroBrowser.cancel);y.popup.element.find(".dialog-title").append(Confluence.Templates.MacroBrowser.helpLink());y.addHelpText("Hint: type \"\u003cstrong>{\u003c\/strong>\" in the Editor to insert macros on the page.");var h=AJS.$(Confluence.Templates.MacroBrowser.insertMacroPanel());b("#macro-browser-preview-link",h).click(function(i){AJS.MacroBrowser.previewMacro(y.activeMetadata);return AJS.stopEvent(i)});y.addPage().addPanel("X",h,"macro-input-panel").addLink("Back",function(i){i.prevPage();b("#macro-browser-search").focus()},"dialog-back-link").addButton("insert.name",function(){AJS.MacroBrowser.complete()},"ok").addCancel("Cancel",function(){return AJS.MacroBrowser.cancel()}).getPanel(0).setPadding(0);b("#macro-browser-dialog .dialog-button-panel .ok").before("<span id='save-warning-span' class='hidden'/>");var g=function(t){var j=null;if(t!=""){if(y.getCurrentPanel()!=y.getPanel(0)){y.gotoPanel(0)}var i=r.searchSummaries(t);j={};b.each(i,function(){j[this.id]=this})}b("#macro-browser-dialog .dialog-panel-body #category-all .macro-list-item").each(function(){(!j||this.id in j)?b(this).show():b(this).hide()})};var k=b("<form id='macro-browser-search-form'><input type='text'/></form>");var c=b("input",k).attr("id","macro-browser-search").keyup(function(i){g(b.trim(c.val()))}).focus(function(j){var i=b(j.target);if(i.hasClass("blank-search")){i.removeClass("blank-search").val("")}j.target.select()}).blur(function(j){var i=b(j.target);if(b.trim(i.val())==""){i.addClass("blank-search").val("Search")}}).blur();k.submit(function(j){var i=b("#macro-browser-dialog .dialog-panel-body #category-all .macro-list-item:visible");if(b.trim(c.val())!=""&&i.length==1){i.click()}return AJS.stopEvent(j)});y.page[0].header.append(k);y.page[0].ontabchange=function(i,j){if(i!=y.getPanel(0,0)){if(!c.hasClass("blank-search")){c.val("").blur()}g("")}};var d=AJS.$(Confluence.Templates.MacroBrowser.missingUserMacroMetadataPanel({showAdminMessage:AJS.Meta.getBoolean("is-admin")}));y.addPage().addPanel("No Macro Metadata",d,"missing-metadata-panel").addLink("Back",function(i){i.gotoPage(0);b("#macro-browser-search").focus()},"dialog-back-link").addCancel("Cancel",function(){return AJS.MacroBrowser.cancel()});y.gotoPage(2);y.addHeader("No Macro Metadata");y.gotoPanel(0,0);y.ready=true;r.hasInit=true;var l=(new Date()).getTime()-u.getTime();AJS.log("loading macro browser took "+l+"ms");return true},loadModel:function(c){if(!c){AJS.log("AJS.MacroBrowser.loadModel - no macro data, aborting");return}AJS.log("AJS.MacroBrowser.loadModel - starting");var m=AJS.MacroBrowser;m.metadataList=[];m.aliasMap={};for(var e=0,l=c.length;e<l;e++){var k=c[e];if(k.aliases){for(var d=0,f=k.aliases.length;d<f;d++){k.aliases[d]=k.aliases[d].toLowerCase();m.aliasMap[k.aliases[d]]=k.macroName.toLowerCase()}}if(k.title==m.makeDefaultKey(k.pluginKey,k.macroName,"label")){k.title=k.macroName.charAt(0).toUpperCase()+k.macroName.substring(1).replace(/-/g," ")}if(k.description==m.makeDefaultKey(k.pluginKey,k.macroName,"desc")){k.description=""}k.id="macro-"+(k.alternateId||k.macroName);var g=[k.macroName,k.title].concat(k.aliases);k.keywordsNoDesc=g.join(",");var h=(k.description&&k.description.replace(/,/g," "))||"";g.push(h);k.keywords=g.join(",");m.metadataList.push(k)}m.metadataList.sort(function(j,i){return(j.title.toLowerCase()>i.title.toLowerCase()?1:-1)});AJS.log("AJS.MacroBrowser.loadModel - complete, "+m.metadataList.length+" macros loaded")},searchSummaries:function(d,c){c=b.extend({splitRegex:/[\s\-]+/},c);return AJS.filterBySearch(this.metadataList,d,c)},getMacroBody:function(){var d=AJS.MacroBrowser;var c="";if(AJS.$("#macro-insert-container .macro-body-div textarea").length){c=AJS.$("#macro-insert-container .macro-body-div textarea").val()}else{if(d.selectedMacroDefinition){if(d.selectedMacroDefinition.body){c=d.selectedMacroDefinition.body}}else{if(d.dialog.activeMetadata){c=d.dialog.activeMetadata.formDetails.body.content}}}return c},isHiddenMacroShown:function(c){return AJS.params.showHiddenUserMacros&&c.pluginKey=="_-user-macro-_"},hasRequiredParameters:function(c){var f=c.formDetails.parameters;for(var d=0,e=f.length;d<e;d++){if(f[d].required){return true}}return false}}})(AJS.$);AJS.toInit(function(b){b(window).bind("render-content-loaded",function(f,c){var d=b("#macro-preview-iframe");if(d.contents().find("body")[0]==c){AJS.MacroBrowser.previewOnload(c)}});var a=AJS.MacroBrowser;AJS.$.ajax({type:"GET",dataType:"json",url:AJS.params.contextPath+"/plugins/macrobrowser/browse-macros.action",success:function(c){a.initData=c;a.loadModel(c.macros);if(a.initMacroBrowserAfterRequest){a.initBrowser();a.openMacroBrowser(a.initMacroBrowserAfterRequest)}},error:function(c){AJS.log("Error requesting macro browser metadata:");AJS.log(c);a.initData={}}})});
AJS.MacroBrowser.Field=function(d,b,c){c=c||{};var e=c.setValue||function(f){b.val(f)};var a=c.getValue||function(){return b.val()};b.change(c.onchange||AJS.MacroBrowser.paramChanged);return{paramDiv:d,input:b,setValue:e,getValue:a}};AJS.MacroBrowser.ParameterFields=(function(a){var b=function(g,f,e){if(f&&f.length){for(var c=0,d=f.length;c<d;c++){AJS.MacroBrowser.fields[f[c]]&&AJS.MacroBrowser.fields[f[c]].dependencyUpdated(g,e)}}};return{updateDependencies:b,username:function(f,d){if(f.multiple){return AJS.MacroBrowser.ParameterFields.string(f,d)}d=d||{};var e=a(Confluence.Templates.MacroBrowser.macroParameter());var c=AJS.$("input[type='text']",e);c.addClass("autocomplete-user").attr("data-none-message","Not Found");if(f.required){c.keyup(AJS.MacroBrowser.processRequiredParameters)}c.bind("selected.autocomplete-content",function(h,g){if(d.onselect){d.onselect(g.selection)}else{if(d.setValue){d.setValue(g.content.username)}else{b(f.name,d.dependencies,c.val());(typeof d.onchange=="function")&&d.onchange.apply(c)}}});AJS.Confluence.Binder.autocompleteUser(e);return AJS.MacroBrowser.Field(e,c)},spacekey:function(f,d){if(f.multiple){return AJS.MacroBrowser.ParameterFields.string(f,d)}d=d||{};var e=a(Confluence.Templates.MacroBrowser.macroParameter());var c=AJS.$("input[type='text']",e);c.addClass("autocomplete-space").attr("data-template","{key}").attr("data-none-message","Not Found");if(f.required){c.keyup(AJS.MacroBrowser.processRequiredParameters)}c.bind("selected.autocomplete-content",function(h,g){if(d.onselect){d.onselect(g.selection)}else{if(d.setValue){d.setValue(g.content.key)}else{b(f.name,d.dependencies,c.val());(typeof d.onchange=="function")&&d.onchange.apply(c)}}});AJS.Confluence.Binder.autocompleteSpace(e);return AJS.MacroBrowser.Field(e,c)},attachment:function(g,d){if(g.multiple){return AJS.MacroBrowser.ParameterFields.string(g,d)}var e=a(Confluence.Templates.MacroBrowser.macroParameterSelect());var c=AJS.$("select",e);d=d||{};d.setValue=d.setValue||function(j){var h=false;c.find("option").each(function(){if(this.value==j){h=true;return false}});if(!h){c.append(AJS.$("<option/>").attr("value",j).text(j+" ("+"Not Found"+")"));c.tempValue=j}else{delete c.tempValue}try{c.val(j)}catch(i){AJS.log(i)}c.change()};var f=AJS.MacroBrowser.Field(e,c,d);f.updateDependencies=b;f.getData=function(j){if(!((j.title&&j.spaceKey)||j.pageId||j.draftId)){AJS.log("Not enough parameters to send attachmentsearch request");return}var i=c.tempValue||c.val();if(d.fileTypes){j.fileTypes=d.fileTypes}var h=AJS.params.contextPath+(j.draftId?"/json/draftattachmentsearch.action":"/json/attachmentsearch.action");a.getJSON(h,j,function(n){if(n.error){return}a("option",c).remove();var k=n.attachments;if(!k||!k.length){c.append(AJS.$("<option/>").attr("value","").html("No appropriate attachments"));if(c.tempValue){d.setValue(c.tempValue)}}else{for(var l=0,m=k.length;l<m;l++){c.append(AJS.$("<option/>").attr("value",k[l].name).text(k[l].name))}i=i||c.tempValue;d.setValue(i||k[0].name)}c.attr("style","")})};return f},"confluence-content":function(g,d){if(g.multiple){return AJS.MacroBrowser.ParameterFields.string(g,d)}d=d||{};g.options=g.options||{};var f=a(Confluence.Templates.MacroBrowser.macroParameter()),c=AJS.$("input[type='text']",f).attr("data-none-message","Not Found").attr("data-template","");if(g.required){c.keyup(AJS.MacroBrowser.processRequiredParameters)}d.onchange=d.onchange||function(h){var i=c.val();b(g.name,d.dependencies,i)};d.setValue=d.setValue||function(h){c.val(h);(typeof d.onchange=="function")&&d.onchange.apply(c)};c.bind("selected.autocomplete-content",function(m,k){var h="";if(g.options.includeDatePath=="true"&&k.content.type=="blogpost"){var l=k.content.createdDate.date.split("-");h="/"+l[0]+"/"+l[1]+"/"+l[2].substring(0,2)+"/"}var j=k.content.space&&k.content.space.key,i=((j&&j!=AJS.Meta.get("space-key"))?(j+":"):"")+h+k.content.title;c.val(i);if(d.onselect){d.onselect(k.selection)}else{d.setValue(i,c)}});if(g.options.spaceKey){if(g.options.spaceKey.toLowerCase()=="@self"){g.options.spaceKey=AJS.Meta.get("space-key")}c.attr("data-spacekey",g.options.spaceKey)}var e=g.options.type;if(typeof e=="string"){if(e=="page"){c.addClass("autocomplete-page");AJS.Confluence.Binder.autocompletePage(f)}else{if(e=="blogpost"){c.addClass("autocomplete-blogpost");AJS.Confluence.Binder.autocompleteBlogpost(f)}else{if(e=="attachment"){c.addClass("autocomplete-attachment");AJS.Confluence.Binder.autocompleteAttachment(f)}}}}else{c.addClass("autocomplete-confluence-content");AJS.Confluence.Binder.autocompleteConfluenceContent(f)}return AJS.MacroBrowser.Field(f,c,d)},string:function(f,d){var e=a(Confluence.Templates.MacroBrowser.macroParameter());var c=a("input",e);if(f.required){c.keyup(AJS.MacroBrowser.processRequiredParameters)}return AJS.MacroBrowser.Field(e,c,d)},"boolean":function(f,d){var e=a(Confluence.Templates.MacroBrowser.macroParameterBoolean());var c=a("input",e);d=d||{};d.setValue=d.setValue||function(g){if(/true/i.test(g)||(/true/i.test(f.defaultValue)&&!(/false/i).test(g))){c.attr("checked","checked")}};return AJS.MacroBrowser.Field(e,c,d)},"enum":function(f,d){if(f.multiple){return AJS.MacroBrowser.ParameterFields.string(f,d)}var e=a(Confluence.Templates.MacroBrowser.macroParameterSelect());var c=a("select",e);if(!(f.required||f.defaultValue)){c.append(AJS.$("<option/>").attr("value",""))}a(f.enumValues).each(function(){c.append(AJS.$("<option/>").attr("value",this).html(""+this))});return AJS.MacroBrowser.Field(e,c,d)},_hidden:function(f,d){var e=a(Confluence.Templates.MacroBrowser.macroParameterHidden()).hide();var c=a("input",e);return AJS.MacroBrowser.Field(e,c,d)}}})(AJS.$);
(function(a){var b=function(c){this.fileTypes=c};b.prototype.beforeParamsSet=function(e,c){if(!e.page&&!(e.date||e.space)){if(AJS.params.contentType=="page"||AJS.params.contentType=="blogpost"){e.page=AJS.Editor.getCurrentTitle()}else{if(AJS.params.contentType=="comment"){e.page=AJS.params.pageTitle}}}if(e.date){var d=e.date.split("/");e.page=["",d[2],d[0],d[1],e.page].join("/")}if(e.space){e.page=e.space+":"+e.page}return e};b.prototype.beforeParamsRetrieved=function(e){if(e.page){var d=e.page.split(":");if(d.length>1){e.space=d[0];e.page=d[1]}var c=e.page.split("/");if(c.length>1){e.date=[c[2],c[3],c[1]].join("/");e.page=c[4]}if(((AJS.params.contentType=="page"||AJS.params.contentType=="blogpost")&&e.page==AJS.Editor.getCurrentTitle())||(AJS.params.contentType=="comment"&&e.page==AJS.params.pageTitle)){delete e.page}}return e};b.prototype.fields={attachment:function(f){var c=function(g){var i={};var h=g.split(":",2);i.spaceKey=((h.length==2)&&h[0])||AJS.Meta.get("space-key");i.title=h[h.length-1];if(i.title.indexOf("/")==0){i.postingDay=i.title.substr(1,10);i.title=i.title.substr(12)}if(i.title==AJS.Editor.getCurrentTitle()){i.title=""}if(!i.title){if(AJS.params.newPage){i.draftId=AJS.Meta.get("content-id")}else{i.pageId=AJS.params.pageId}}return i};var d={fileTypes:this.fileTypes};var e=AJS.MacroBrowser.ParameterFields.attachment(f,d);e.dependencyUpdated=function(i,h){AJS.log("attachment:dependencyUpdated called: "+i+", "+h);var g=c(h);this.getData(g)};return e},"confluence-content":function(d){var c={dependencies:["name"]};return AJS.MacroBrowser.ParameterFields["confluence-content"](d,c)}};AJS.MacroBrowser.activateSmartFieldsAttachmentsOnPage=function(d,c){AJS.MacroBrowser.setMacroJsOverride(d,new b(c))}})(AJS.$);
// This file was automatically generated from macro-browser.soy.
// Please don't edit this file by hand.

if (typeof Confluence == 'undefined') { var Confluence = {}; }
if (typeof Confluence.Templates == 'undefined') { Confluence.Templates = {}; }
if (typeof Confluence.Templates.MacroBrowser == 'undefined') { Confluence.Templates.MacroBrowser = {}; }


Confluence.Templates.MacroBrowser.macroSummaryList = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<ol id="category-', soy.$$escapeHtml(opt_data.category), '" class="macro-list"></ol>');
  if (!opt_sb) return output.toString();
};


Confluence.Templates.MacroBrowser.macroSummaryItem = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<li class="macro-list-item"><h3 class="macro-title"></h3>');
  Confluence.Templates.MacroBrowser.macroDescription({description: ''}, output);
  output.append('</li>');
  if (!opt_sb) return output.toString();
};


Confluence.Templates.MacroBrowser.macroDescription = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<div class="macro-desc">', opt_data.description, ' </div>');
  if (!opt_sb) return output.toString();
};


Confluence.Templates.MacroBrowser.insertMacroPanel = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<div id="macro-insert-container"><input class="macro-name" type="hidden"/><div class="macro-preview-container dialog-panel"><div class="macro-preview-header"><ul class="macro-preview-links"><li><a id="macro-browser-preview-link" class="refresh-link" href="#">', soy.$$escapeHtml("Refresh"), '</a></li></ul><span>', soy.$$escapeHtml("Preview"), '</span></div><div id="macro-browser-preview" class="macro-preview"></div></div><div class="macro-input-fields dialog-panel"></div></div>');
  if (!opt_sb) return output.toString();
};


Confluence.Templates.MacroBrowser.missingUserMacroMetadataPanel = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<div id="macro-missing-metadata-container"><p>', "There is no metadata configured for this macro which means no configuration screen can be presented here.", '</p>', (opt_data.showAdminMessage) ? '<p>' + AJS.format("If this is a user macro then you can add metadata to the template using the \x3ca href\x3d\x22{0}\x22 target\x3d\x22_blank\x22\x3eUser Macro Administration\x3c/a\x3e console.","/confluence" + '/admin/usermacros.action') + '</p>' : '<p>' + "You must contact an administrator to configure metadata for this macro." + '</p>', '</div>');
  if (!opt_sb) return output.toString();
};


Confluence.Templates.MacroBrowser.macroDocLink = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<span><a href="', soy.$$escapeHtml(opt_data.href), '" class="macro-doco-link">', soy.$$escapeHtml("Documentation"), '</a></span>');
  if (!opt_sb) return output.toString();
};


Confluence.Templates.MacroBrowser.macroParameter = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<div class="macro-param-div"><label></label><input type="text" class="text"/></div>');
  if (!opt_sb) return output.toString();
};


Confluence.Templates.MacroBrowser.macroParameterBoolean = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<div class="macro-param-div boolean-param"><label></label><input type="checkbox" value="true"/></div>');
  if (!opt_sb) return output.toString();
};


Confluence.Templates.MacroBrowser.macroParameterSelect = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<div class="macro-param-div"><label></label><select></select></div>');
  if (!opt_sb) return output.toString();
};


Confluence.Templates.MacroBrowser.macroParameterHidden = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<div class="macro-param-div"><input type="hidden"/></div>');
  if (!opt_sb) return output.toString();
};


Confluence.Templates.MacroBrowser.macroParameterDesc = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<div class="macro-param-desc">', opt_data.description, '</div>');
  if (!opt_sb) return output.toString();
};


Confluence.Templates.MacroBrowser.macroBody = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<div class="macro-body-div"><label>', soy.$$escapeHtml("Body Text"), '</label><textarea class="monospaceInput textarea" type="text" rows="10"></textarea></div>');
  if (!opt_sb) return output.toString();
};


Confluence.Templates.MacroBrowser.helpLink = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  Confluence.Templates.Dialog.helpLink({href: "http://docs.atlassian.com/confluence/docs-40/Working+with+the+Macro+Browser"}, output);
  if (!opt_sb) return output.toString();
};


Confluence.Templates.MacroBrowser.gadgetLink = function(opt_data, opt_sb) {
  var output = opt_sb || new soy.StringBuilder();
  output.append('<a class=\'macro-uri\' href="', soy.$$escapeHtml(opt_data.url), '" title="', soy.$$escapeHtml(opt_data.url), '" target=\'_blank\'>', soy.$$escapeHtml("Gadget URL"), '</a>');
  if (!opt_sb) return output.toString();
};


