AJS.Editor=(function($){return{lastEditMode:null,lastKnownGoodContent:null,contentHasChangedSinceLastAutoSave:false,isDraftSaved:false,originalWikiContent:"",syncTitleFieldWithForm:function(){var hiddenContentTitle=AJS.$("#hidden-content-title");if(hiddenContentTitle.length){var title="";var titleWrittenField=AJS.$("#titleWritten");if(!titleWrittenField.length||titleWrittenField.val()!="false"){title=AJS.$("#content-title").val()}hiddenContentTitle.val(title)}},isSubmitting:false,isUnloaded:false,hasContentChanged:function(){var rte=AJS.params.useWysiwyg&&this.inRichTextMode();if(!rte&&!this.contentHasChangedSinceLastAutoSave){return false}return this.editorHasContentChanged(rte)},editorHasContentChanged:function(isRTEMode){if(isRTEMode){return this.Adapter.editorHasContentChanged()}return this.originalWikiContent!=this.getCurrentFormContent()},saveDraft:function(options){var defaults={async:true};if(typeof options=="boolean"){options={async:options}}else{if(typeof options=="number"){options=defaults}else{options=AJS.$.extend({},defaults,options)}}if(!AJS.params.saveDrafts||AJS.Editor.isSubmitting||(!options.forceSave&&!AJS.Editor.hasContentChanged())){return }AJS.Editor.syncTitleFieldWithForm();var form=AJS.Editor.getCurrentForm();var draftData={pageId:AJS.params.pageId,type:AJS.params.draftType,title:AJS.$("#hidden-content-title").val(),content:AJS.Editor.getCurrentFormContent()};var newSpaceKey=AJS.$("#newSpaceKey");if(newSpaceKey.length){draftData.spaceKey=newSpaceKey.val()}else{draftData.spaceKey=encodeURIComponent(AJS.params.spaceKey)}var originalVersion=AJS.$("#originalVersion");if(originalVersion.length){draftData.pageVersion=parseInt(originalVersion.val(),10)}var draftStatus=AJS.$("#draft-status");var resetWysiwygContent=AJS.params.useWysiwyg&&AJS.Editor.inRichTextMode();var jsTime=function(date){var h=date.getHours();var m=date.getMinutes();var ampm=h>11?"PM":"AM";h=h%12;return(h==0?"12":h)+":"+(m<10?"0":"")+m+" "+ampm};var saveDraftCallback=function(response){AJS.Editor.contentHasChangedSinceLastAutoSave=false;if(resetWysiwygContent){AJS.Editor.Adapter.editorResetContentChanged()}if(response.success){AJS.Editor.isDraftSaved=true;var detail={};try{detail=eval("("+response.response+")")}catch(e){}var time=detail.time||jsTime(new Date());draftStatus.removeClass("error");if(AJS.params.newPage){draftStatus.html(AJS.format(AJS.params.draftSavedMessageNew,time))}else{draftStatus.html(AJS.format(AJS.params.draftSavedMessage,time,"<a id='view-diff-link-heartbeat' class='view-diff-link' href=#>","</a>"))}if(!AJS.params.contentId||AJS.params.contentId==="0"){AJS.params.contentId=detail.draftId}if(AJS.$.isFunction(options.onSuccessHandler)){options.onSuccessHandler(detail,AJS.params.newPage)}}else{draftStatus.addClass("error");draftStatus.html(response.response);if(AJS.$.isFunction(options.onErrorHandler)){options.onErrorHandler(response.response)}}};draftStatus.html(AJS.params.draftSavingMessage);draftData.xhtml=(form.xhtml.value=="true");AJS.safe.ajax({type:"POST",url:AJS.params.contextPath+"/json/savedraft.action",data:draftData,success:saveDraftCallback,error:function(){saveDraftCallback({success:false,response:AJS.params.draftSavingTimedOutMessage})},dataType:"json",timeout:30000})},sendFormDraft:function(flagName){this.handleBeforeUnload=function(){};var form=this.getCurrentForm();this.addHiddenElement(form,flagName,"true");this.addHiddenElement(form,"contentChanged",""+this.hasContentChanged());this.addHiddenElement(form,"pageId",AJS.params.pageId);if(!form.spaceKey){this.addHiddenElement(form,"spaceKey",AJS.params.spaceKey)}form.action=(AJS.params.newPage?"create":"edit")+AJS.params.draftType+".action";form.submit()},getResumeDraftUrl:function(){var urlParts=[];urlParts.push(contextPath);urlParts.push("/pages/"+(AJS.params.newPage?"create":"edit")+AJS.params.draftType+".action");urlParts.push("?useDraft=true");urlParts.push("&pageId="+AJS.params.pageId);urlParts.push("&contentChanged="+this.hasContentChanged());this.getCurrentForm().spaceKey&&urlParts.push("&spaceKey="+AJS.params.spaceKey);return urlParts.join("")},addHiddenElement:function(form,name,value){var el=document.createElement("input");el.type="hidden";el.name=name;el.value=value;form.appendChild(el)},getCurrentFormContent:function(){var form=this.getCurrentForm();if(AJS.params.useWysiwyg&&form.xhtml.value=="true"){return this.Adapter.getEditorHTML()}if(form.markupTextarea){return form.markupTextarea.value}},contentFormSubmit:function(e){this.handleBeforeUnload=function(){};this.syncTitleFieldWithForm();AJS.$("#locationShowing").val(""+AJS.isVisible("#location_div"));AJS.$("#labelsShowing").val(""+AJS.isVisible("#labels_div"));AJS.$(".editable-title #content-title").attr("disabled","disabled");this.isSubmitting=this.checkCaptchaResponse(e);return this.isSubmitting},checkCaptchaResponse:function(e){if(e.target.name=="cancel"){return true}var captchaTextField=AJS.$("#captchaResponse");if(captchaTextField.val()==""){AJS.$("#captchaError").css("display","block");window.scroll(0,0);e.stopPropagation();return false}return true},heartbeat:function(){var data={contentId:AJS.params.pageId,draftType:AJS.params.draftType};AJS.safe.post(AJS.params.contextPath+"/json/startheartbeatactivity.action",data,function(activityResponses){var otherUsersAreEditing=activityResponses.length;if(otherUsersAreEditing){var outerspan=AJS.$("#other-users-span");outerspan.empty();for(var i=0;i<otherUsersAreEditing;++i){if(i>0){outerspan.append(", ")}var activityResponse=activityResponses[i];outerspan.append(AJS("a").attr("href",AJS.params.contextPath+"/display/~"+encodeURIComponent(activityResponse.userName)).text(activityResponse.fullName));if(activityResponse.lastEditMessage!=null){outerspan.append(" ").append(AJS("span").addClass("smalltext").text(activityResponse.lastEditMessage))}}}AJS.setVisible("#heartbeat-div",!!otherUsersAreEditing)},"json")},disableFrame:function(body){AJS.$("form",body).each(function(){AJS.$(this).unbind();this.onsubmit=function(){return false}});AJS.$("a",body).each(function(){AJS.$(this).attr("target","_top").unbind()});AJS.$("input",body).each(function(){AJS.$(this).unbind()})},previewFrameOnload:function(body,iframe){AJS.Editor.disableFrame(body);var $iframe=AJS.$(iframe||"#previewArea iframe"),prevHeight=0,counter=0,content=AJS.$("#main",body)[0],originalHeight=$iframe.height();content&&(function(){var height=content.scrollHeight;if(prevHeight!=height){if(height!=$iframe.height()){$iframe.height(Math.max(height,originalHeight))}prevHeight=height;counter=0}else{counter++}if(counter<500){setTimeout(arguments.callee,500)}})()},showRichText:function(show){if(!AJS.params.useWysiwyg){return }AJS.setVisible("#wysiwyg",show);AJS.setCurrent("#wysiwygTab",show);if(show){this.Adapter.onShowEditor();this.lastKnownGoodContent=null;AJS.$("#main").addClass("active-richtext")}else{this.Adapter.onHideEditor();AJS.$("#main").removeClass("active-richtext")}},showMarkup:function(show){var form=this.getCurrentForm(),fname1=(show?"removeClass":"addClass"),fname2=(show?"addClass":"removeClass");AJS.$("#markup")[fname1]("hidden");AJS.$("#markupTab")[fname2]("current");AJS.$("#sidebar")[fname1]("hidden");AJS.$("#addcomment-sidebar")[fname1]("hidden");AJS.$(form)[fname2]("markup");AJS.$("#linkinserters")[fname1]("hidden");AJS.$("#main")[fname2]("active-wikimarkup")},showPreview:function(show){var fname1=(show?"removeClass":"addClass"),fname2=(show?"addClass":"removeClass");AJS.$("#preview")[fname1]("hidden");AJS.$("#previewTab")[fname2]("current");AJS.$("#main")[fname2]("active-preview")},setMode:function(mode){var wasRichText=this.inRichTextMode();var form=this.getCurrentForm();if(mode!=AJS.params.actionPreview){AJS.$("input[name=xhtml]",this.getCurrentForm()).val(mode==AJS.params.actionRichtext)}if(AJS.params.remoteUser&&AJS.params.useWysiwyg){this.showDefaultEditorLinks(mode)}if(mode==AJS.params.actionRichtext){this.showMarkup(false);this.showRichText(true);this.showPreview(false)}else{if(mode==AJS.params.actionMarkup){this.showMarkup(true);this.showRichText(false);this.showPreview(false);if($.browser.msie&&$.browser.version.charAt()==8){var wikiMarkupElement=AJS.$("#markup");AJS.$("#markupTextarea").width(wikiMarkupElement.width()).height(wikiMarkupElement.height())}}else{if(mode==AJS.params.actionPreview){if(wasRichText){this.lastKnownGoodContent=this.Adapter.getEditorHTML()}this.showPreview(true);this.showRichText(false);this.showMarkup(false)}}}AJS.$("input[name=mode]",form).val(mode)},getContentId:function(){if(+AJS.params.contentId){return AJS.params.contentId}if(+AJS.params.pageId){return AJS.params.pageId}return"0"},changeMode:function(newMode){if(AJS.params.useWysiwyg&&this.inRichTextMode()&&!AJS.Editor.Adapter.allowModeChange()){return false}var oldMode=AJS.$("input[name=mode]",this.getCurrentForm()).val();if(oldMode==newMode){return false}this.showWaitImage(true);if(AJS.params.saveDrafts){var async=(AJS.params.contentId==="0"?false:true);this.saveDraft(async)}var contentId=this.getContentId();if(newMode==AJS.params.actionMarkup){if(oldMode==AJS.params.actionPreview){if(AJS.Editor.lastEditMode==AJS.params.actionMarkup){this.replysetTextArea(null)}else{AJS.safe.post(AJS.params.contextPath+"/json/convertxhtmltowikimarkupwithoutpage.action",{pageId:contentId,xhtml:AJS.Editor.lastKnownGoodContent},this.replysetTextArea,"json")}}else{AJS.safe.post(AJS.params.contextPath+"/json/convertxhtmltowikimarkupwithoutpage.action",{pageId:contentId,xhtml:AJS.Editor.Adapter.getEditorHTML()},this.replysetTextArea,"json")}}else{if(newMode==AJS.params.actionRichtext){if(oldMode==AJS.params.actionPreview&&AJS.Editor.lastEditMode==AJS.params.actionRichtext){this.replysetEditorValue(null)}else{AJS.safe.post(AJS.params.contextPath+"/json/convertwikimarkuptoxhtmlwithoutpagewithspacekey.action",{pageId:contentId,spaceKey:AJS.params.spaceKey,wikiMarkup:AJS.$("#markupTextarea").val()},this.replysetEditorValue,"json")}}else{var queryParams={contentId:contentId,contentType:AJS.params.contentType,spaceKey:AJS.params.spaceKey};if(oldMode==AJS.params.actionRichtext){AJS.Editor.lastEditMode=AJS.params.actionRichtext;AJS.Editor.lastKnownGoodContent=queryParams.xHtml=AJS.Editor.Adapter.getEditorHTML()}else{AJS.Editor.lastEditMode=AJS.params.actionMarkup;queryParams.wikiMarkup=AJS.$("#markupTextarea").val()}AJS.$.post(AJS.params.contextPath+"/pages/rendercontent.action",queryParams,AJS.Editor.replysetPreviewArea)}}return false},showWaitImage:function(flag){AJS.$("#wysiwygWaitImage").css("visibility",(flag?"visible":"hidden"))},replysetTextArea:function(s){if(s!=null){AJS.$("#markupTextarea").val(s);if(AJS.params.saveDrafts){AJS.Editor.originalWikiContent=s}}AJS.Editor.setMode(AJS.params.actionMarkup);AJS.Editor.showWaitImage(false)},replysetEditorValue:function(s){AJS.Editor.showWaitImage(false);AJS.Editor.setMode(AJS.params.actionRichtext);AJS.Editor.Adapter.setEditorValue(s)},replysetPreviewArea:function(html){AJS.Editor.showWaitImage(false);AJS.Editor.setMode(AJS.params.actionPreview);var src=AJS.params.staticResourceUrlPrefix+"/blank.html";AJS.$("#previewArea").html('<iframe src="'+src+'" scrolling="no" frameborder="0"></iframe>');var iframe=AJS.$("#previewArea iframe")[0];var doc=iframe.contentDocument||iframe.contentWindow.document;doc.write(html);doc.close()},inRichTextMode:function(){return AJS.$("input[name=mode]",this.getCurrentForm()).val()==AJS.params.actionRichtext},onInit:function(){AJS.Editor.setMode(AJS.params.editorMode)},handleUnload:function(){if(AJS.Editor.isUnloaded){return }AJS.Editor.isUnloaded=true;if(AJS.params.saveDrafts){AJS.Editor.saveDraft(false)}},handleBeforeUnload:function(){if(typeof seleniumAlert!="undefined"){return }if(AJS.Editor.hasContentChanged()){if(AJS.params.saveDrafts){return AJS.params.onBeforeUnloadMessageDraft}return AJS.params.onBeforeUnloadMessageLost}else{if(AJS.Editor.isDraftSaved){return AJS.params.onBeforeUnloadMessageDraft}}},storeTextareaBits:function(doNotFocus){return AJS.Editor.Markup.storeTextareaBits(this.getCurrentForm(),AJS.$("#markupTextarea")[0],doNotFocus)},setRichTextDefault:function(value){AJS.safe.post(AJS.params.contextPath+"/json/setpreferenceusereditwysiwyg.action",{useWysiwyg:value},function(){},"json");AJS.Editor.editorPreference=(value?AJS.params.actionRichtext:AJS.params.actionMarkup);AJS.$("#makeRichTextDefault").addClass("hidden");AJS.$("#makeMarkupDefault").addClass("hidden")},showDefaultEditorLinks:function(currentMode){var defaultIsWysiwyg=(AJS.Editor.editorPreference==AJS.params.actionRichtext);var showRichTextDefault,showMarkupDefault=false;if(defaultIsWysiwyg&&currentMode==AJS.params.actionMarkup){showMarkupDefault=true}else{if(!defaultIsWysiwyg&&currentMode==AJS.params.actionRichtext){showRichTextDefault=true}}AJS.$("#makeRichTextDefault")[showRichTextDefault?"removeClass":"addClass"]("hidden");AJS.$("#makeMarkupDefault")[showMarkupDefault?"removeClass":"addClass"]("hidden")},contentChangeHandler:function(){this.contentHasChangedSinceLastAutoSave=true},getCurrentForm:function(){return AJS.$("form[name="+AJS.params.formName+"]")[0]},openMacroBrowser:function(e){var t=AJS.Editor,mb=AJS.MacroBrowser,textarea=$("#markupTextarea");var range=t.Markup.selection=textarea.selectionRange();t.Markup.scrollTop=textarea.scrollTop();var selectedMacro=mb.getSelectedMacro(range.textBefore,textarea.val());mb.open({markupMode:true,selectedMacro:selectedMacro,selectedMarkup:range.text,onComplete:AJS.Editor.macroBrowserComplete,onCancel:AJS.Editor.macroBrowserCancel});return AJS.stopEvent(e)},macroBrowserComplete:function(macro){var t=AJS.Editor,textarea=$("#markupTextarea"),m=AJS.MacroBrowser.settings.selectedMacro;if(m){textarea.selectionRange(m.startIndex,m.startIndex+m.markup.length)}else{if(t.Markup.selection){textarea.selectionRange(t.Markup.selection.start,t.Markup.selection.end)}}textarea.selection(macro.markup);textarea.scrollTop(t.Markup.scrollTop)},macroBrowserCancel:function(){var t=AJS.Editor,textarea=$("#markupTextarea");if(t.Markup.selection){textarea.selectionRange(t.Markup.selection.start,t.Markup.selection.end)}textarea.scrollTop(t.Markup.scrollTop)}}})(AJS.$);AJS.toInit(function(F){AJS.Editor.editorPreference=AJS.params.editorMode;F("#wysiwygTab a:first").click(function(K){AJS.Editor.changeMode(AJS.params.actionRichtext);K.preventDefault()});F("#markupTab a:first").click(function(K){AJS.Editor.changeMode(AJS.params.actionMarkup);K.preventDefault()});F("#previewTab a:first").click(function(K){AJS.Editor.changeMode(AJS.params.actionPreview);K.preventDefault()});F("#makeRichTextDefault").click(function(K){AJS.Editor.setRichTextDefault(true);K.preventDefault()});F("#makeMarkupDefault").click(function(K){AJS.Editor.setRichTextDefault(false);K.preventDefault()});F("#editor-insert-macro").click(AJS.Editor.openMacroBrowser);F("#markupTextarea").select(function(){AJS.Editor.storeTextareaBits(true)}).keyup(function(K){AJS.Editor.contentChangeHandler();if(K.ctrlKey){if(K.keyCode==77){F("#editor-insert-image").click();return false}if(K.shiftKey&&K.keyCode==65){F("#editor-insert-macro").click();return false}}}).change(function(){AJS.Editor.contentChangeHandler()});F(".submit-buttons").click(function(K){AJS.Editor.contentFormSubmit(K)});F(".editor-template-link").click(function(L){var K=AJS.$("#createpageform")[0];if((AJS.Editor.hasContentChanged()||AJS.Editor.isDraftSaved)&&!confirm(AJS.params.templateOverwiteMessage)){return }K.action="createpage-choosetemplate.action";AJS.Editor.contentFormSubmit(L);K.submit()});if(AJS.params.useWysiwyg){var I=function(K){AJS.Editor.showWaitImage(false)};AJS.Editor.Adapter.addOnInitCallback(AJS.Editor.onInit);AJS.Editor.Adapter.editorOnLoad()}F(window).bind("render-content-loaded",function(M,K){var L=F("#previewArea iframe");if(L.contents().find("body")[0]==K){AJS.Editor.previewFrameOnload(K,L)}});window.onbeforeunload=function(){return AJS.Editor.handleBeforeUnload()};if(AJS.params.saveDrafts){F(window).unload(AJS.Editor.handleUnload);F.getJSON(AJS.params.contextPath+"/json/getdraftsaveinterval.action",{},function(K){setInterval(AJS.Editor.saveDraft,K)})}if(AJS.params.heartbeat&&AJS.params.pageId!="0"){AJS.Editor.heartbeat();F.getJSON(AJS.params.contextPath+"/json/getheartbeatinterval.action",{},function(K){setInterval(AJS.Editor.heartbeat,K)})}var J=F("#title-text");var H=F("#content-title");var G=F("#content-title-label");if(J.length&&H.length){var B=document.createElement("div");F(B).addClass("editable-title").append(G).append(H);if(!F.browser.msie){F(window).load(function(){var K=F("#title-heading img.logo");if(K.length&&K.css("display")!="none"){F(B).css("marginLeft",F("#title-heading img.logo").width()+10+"px")}else{F(B).css("marginLeft",0)}})}J.replaceWith(B);var D=F("#hidden-content-title");if(!D.length){var E=document.createElement("input");E.id="hidden-content-title";E.type="hidden";E.name="title";E=F(E);var A=F("#titleWritten");if(!A.length||A.val()!="false"){E.val(H.val())}var C=F("#wiki-editor");C.before(E)}}AJS.Editor.originalWikiContent=AJS.Editor.getCurrentFormContent()});
(function(B){B.fn.ajaxSubmit=function(O){if(!this.length){A("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof O=="function"){O={success:O}}var E=B.trim(this.attr("action"));if(E){E=(E.match(/^([^#]+)/)||[])[1]}E=E||window.location.href||"";O=B.extend({url:E,type:this.attr("method")||"GET"},O||{});var Q={};this.trigger("form-pre-serialize",[this,O,Q]);if(Q.veto){A("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(O.beforeSerialize&&O.beforeSerialize(this,O)===false){A("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var K=this.formToArray(O.semantic);if(O.data){O.extraData=O.data;for(var F in O.data){if(O.data[F] instanceof Array){for(var G in O.data[F]){K.push({name:F,value:O.data[F][G]})}}else{K.push({name:F,value:O.data[F]})}}}if(O.beforeSubmit&&O.beforeSubmit(K,this,O)===false){A("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[K,this,O,Q]);if(Q.veto){A("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var D=B.param(K);if(O.type.toUpperCase()=="GET"){O.url+=(O.url.indexOf("?")>=0?"&":"?")+D;O.data=null}else{O.data=D}var P=this,J=[];if(O.resetForm){J.push(function(){P.resetForm()})}if(O.clearForm){J.push(function(){P.clearForm()})}if(!O.dataType&&O.target){var M=O.success||function(){};J.push(function(R){B(O.target).html(R).each(M,arguments)})}else{if(O.success){J.push(O.success)}}O.success=function(U,S){for(var T=0,R=J.length;T<R;T++){J[T].apply(O,[U,S,P])}};var C=B("input:file",this).fieldValue();var N=false;for(var I=0;I<C.length;I++){if(C[I]){N=true}}var H=false;if(O.iframe||N||H){if(O.closeKeepAlive){B.get(O.closeKeepAlive,L)}else{L()}}else{B.ajax(O)}this.trigger("form-submit-notify",[this,O]);return this;function L(){var V=P[0];if(B(":input[name=submit]",V).length){alert('Error: Form elements must not be named "submit".');return }var T=B.extend({},B.ajaxSettings,O);var f=B.extend(true,{},B.extend(true,{},B.ajaxSettings),T);var U="jqFormIO"+(new Date().getTime());var b=B('<iframe id="'+U+'" name="'+U+'" src="about:blank" />');var d=b[0];b.css({position:"absolute",top:"-1000px",left:"-1000px"});var e={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;b.attr("src","about:blank")}};var c=T.global;if(c&&!B.active++){B.event.trigger("ajaxStart")}if(c){B.event.trigger("ajaxSend",[e,T])}if(f.beforeSend&&f.beforeSend(e,f)===false){f.global&&B.active--;return }if(e.aborted){return }var S=0;var Y=0;var R=V.clk;if(R){var W=R.name;if(W&&!R.disabled){O.extraData=O.extraData||{};O.extraData[W]=R.value;if(R.type=="image"){O.extraData[name+".x"]=V.clk_x;O.extraData[name+".y"]=V.clk_y}}}setTimeout(function(){var i=P.attr("target"),g=P.attr("action");V.setAttribute("target",U);if(V.getAttribute("method")!="POST"){V.setAttribute("method","POST")}if(V.getAttribute("action")!=T.url){V.setAttribute("action",T.url)}if(!O.skipEncodingOverride){P.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(T.timeout){setTimeout(function(){Y=true;Z()},T.timeout)}var h=[];try{if(O.extraData){for(var j in O.extraData){h.push(B('<input type="hidden" name="'+j+'" value="'+O.extraData[j]+'" />').appendTo(V)[0])}}b.appendTo("body");d.attachEvent?d.attachEvent("onload",Z):d.addEventListener("load",Z,false);V.submit()}finally{V.setAttribute("action",g);i?V.setAttribute("target",i):P.removeAttr("target");B(h).remove()}},10);var X=50;function Z(){if(S++){return }d.detachEvent?d.detachEvent("onload",Z):d.removeEventListener("load",Z,false);var h=true;try{if(Y){throw"timeout"}var i,l;l=d.contentWindow?d.contentWindow.document:d.contentDocument?d.contentDocument:d.document;var m=T.dataType=="xml"||l.XMLDocument||B.isXMLDoc(l);A("isXml="+m);if(!m&&(l.body==null||l.body.innerHTML=="")){if(--X){S=0;setTimeout(Z,100);return }A("Could not access iframe DOM after 50 tries.");return }e.responseText=l.body?l.body.innerHTML:null;e.responseXML=l.XMLDocument?l.XMLDocument:l;e.getResponseHeader=function(o){var n={"content-type":T.dataType};return n[o]};if(T.dataType=="json"||T.dataType=="script"){var g=l.getElementsByTagName("textarea")[0];if(g){e.responseText=g.value}else{var k=l.getElementsByTagName("pre")[0];if(k){e.responseText=k.innerHTML}}}else{if(T.dataType=="xml"&&!e.responseXML&&e.responseText!=null){e.responseXML=a(e.responseText)}}i=B.httpData(e,T.dataType)}catch(j){h=false;B.handleError(T,e,"error",j)}if(h){T.success(i,"success");if(c){B.event.trigger("ajaxSuccess",[e,T])}}if(c){B.event.trigger("ajaxComplete",[e,T])}if(c&&!--B.active){B.event.trigger("ajaxStop")}if(T.complete){T.complete(e,h?"success":"error")}setTimeout(function(){b.remove();e.responseXML=null},100)}function a(g,h){if(window.ActiveXObject){h=new ActiveXObject("Microsoft.XMLDOM");h.async="false";h.loadXML(g)}else{h=(new DOMParser()).parseFromString(g,"text/xml")}return(h&&h.documentElement&&h.documentElement.tagName!="parsererror")?h:null}}};B.fn.ajaxForm=function(C){return this.ajaxFormUnbind().bind("submit.form-plugin",function(){B(this).ajaxSubmit(C);return false}).bind("click.form-plugin",function(F){var D=B(F.target);if(!(D.is(":submit,input:image"))){return }var E=this;E.clk=F.target;if(F.target.type=="image"){if(F.offsetX!=undefined){E.clk_x=F.offsetX;E.clk_y=F.offsetY}else{if(typeof B.fn.offset=="function"){var G=D.offset();E.clk_x=F.pageX-G.left;E.clk_y=F.pageY-G.top}else{E.clk_x=F.pageX-F.target.offsetLeft;E.clk_y=F.pageY-F.target.offsetTop}}}setTimeout(function(){E.clk=E.clk_x=E.clk_y=null},10)})};B.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")};B.fn.formToArray=function(N){var M=[];if(this.length==0){return M}var D=this[0];var H=N?D.getElementsByTagName("*"):D.elements;if(!H){return M}for(var I=0,K=H.length;I<K;I++){var E=H[I];var F=E.name;if(!F){continue}if(N&&D.clk&&E.type=="image"){if(!E.disabled&&D.clk==E){M.push({name:F,value:B(E).val()});M.push({name:F+".x",value:D.clk_x},{name:F+".y",value:D.clk_y})}continue}var O=B.fieldValue(E,true);if(O&&O.constructor==Array){for(var G=0,C=O.length;G<C;G++){M.push({name:F,value:O[G]})}}else{if(O!==null&&typeof O!="undefined"){M.push({name:F,value:O})}}}if(!N&&D.clk){var J=B(D.clk),L=J[0],F=L.name;if(F&&!L.disabled&&L.type=="image"){M.push({name:F,value:J.val()});M.push({name:F+".x",value:D.clk_x},{name:F+".y",value:D.clk_y})}}return M};B.fn.formSerialize=function(C){return B.param(this.formToArray(C))};B.fn.fieldSerialize=function(D){var C=[];this.each(function(){var H=this.name;if(!H){return }var F=B.fieldValue(this,D);if(F&&F.constructor==Array){for(var G=0,E=F.length;G<E;G++){C.push({name:H,value:F[G]})}}else{if(F!==null&&typeof F!="undefined"){C.push({name:this.name,value:F})}}});return B.param(C)};B.fn.fieldValue=function(H){for(var G=[],E=0,C=this.length;E<C;E++){var F=this[E];var D=B.fieldValue(F,H);if(D===null||typeof D=="undefined"||(D.constructor==Array&&!D.length)){continue}D.constructor==Array?B.merge(G,D):G.push(D)}return G};B.fieldValue=function(C,I){var E=C.name,N=C.type,O=C.tagName.toLowerCase();if(typeof I=="undefined"){I=true}if(I&&(!E||C.disabled||N=="reset"||N=="button"||(N=="checkbox"||N=="radio")&&!C.checked||(N=="submit"||N=="image")&&C.form&&C.form.clk!=C||O=="select"&&C.selectedIndex==-1)){return null}if(O=="select"){var J=C.selectedIndex;if(J<0){return null}var L=[],D=C.options;var G=(N=="select-one");var K=(G?J+1:D.length);for(var F=(G?J:0);F<K;F++){var H=D[F];if(H.selected){var M=H.value;if(!M){M=(H.attributes&&H.attributes.value&&!(H.attributes.value.specified))?H.text:H.value}if(G){return M}L.push(M)}}return L}return C.value};B.fn.clearForm=function(){return this.each(function(){B("input,select,textarea",this).clearFields()})};B.fn.clearFields=B.fn.clearInputs=function(){return this.each(function(){var D=this.type,C=this.tagName.toLowerCase();if(D=="text"||D=="password"||C=="textarea"){this.value=""}else{if(D=="checkbox"||D=="radio"){this.checked=false}else{if(C=="select"){this.selectedIndex=-1}}}})};B.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};B.fn.enable=function(C){if(C==undefined){C=true}return this.each(function(){this.disabled=!C})};B.fn.selected=function(C){if(C==undefined){C=true}return this.each(function(){var D=this.type;if(D=="checkbox"||D=="radio"){this.checked=C}else{if(this.tagName.toLowerCase()=="option"){var E=B(this).parent("select");if(C&&E[0]&&E[0].type=="select-one"){E.find("option").selected(false)}this.selected=C}}})};function A(){if(B.fn.ajaxSubmit.debug&&window.console&&window.console.log){window.console.log("[jquery.form] "+Array.prototype.join.call(arguments,""))}}})(jQuery);
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};AJS.Editor.ImageDialog=AJS.Editor.ImageDialog||{beforeShowListeners:[],afterThumbnailsDisplayedListeners:[]};AJS.toInit(function(A){AJS.wikiAttrToString=function(B){var C=[];for(var D in B){if(B.hasOwnProperty(D)){C.push(typeof B[D]=="boolean"?B[D]?D:"":D+"="+B[D])}}return C.length?"|"+C.join(","):""};AJS.Editor.insertImageDialog=function(C,B){this.openImageDialog({submitCallback:C,cancelCallback:B})};AJS.Editor.openImageDialog=function(Q){Q=Q||{};var L=100,G=97;var I="",C=new AJS.Dialog(800,590,"insert-image-dialog");var D=AJS.params.attachmentSourceContentId;var H=function(U){var T={},V=A(".img-align",U).val(),R=!!A(".img-thumbnail",U).attr("checked"),S=!!A(".img-border",U).attr("checked");V!="none"&&(T.align=V);R&&(T.thumbnail=true);S&&(T.border="1");return T};function M(){C.hide().remove();A(document).unbind(".insert-image");Q.cancelCallback&&Q.cancelCallback()}A(document).bind("keydown.insert-image",function(R){if(R.which==27&&!A("#fancy_overlay").is(":visible")){M();return AJS.stopEvent(R)}});var B=AJS.I18n.getText(Q.imageProperties?"image.browser.edit.title":"image.browser.insert.title");var P=AJS.I18n.getText(Q.imageProperties?"image.browser.edit.button":"image.browser.insert.button");C.addHeader(B);C.addPanel(AJS.getTemplate("attachedTabTitle").toString(),AJS.renderTemplate("attachedImages",AJS.getTemplate("imagePropertiesForm")),"attachments-panel");C.addPanel(AJS.getTemplate("webImageTitle").toString(),AJS.renderTemplate("webImage",AJS.getTemplate("imagePropertiesForm")),"web-image-panel");C.addButton(P,function(R){var S=H(R.getCurrentPanel().body);R.remove();A(document).unbind(".insert-image");Q.submitCallback&&Q.submitCallback(I,S,D)});C.addButton(AJS.getTemplate("cancelButton").toString(),M);C.get("panel:0").setPadding(0);C.get("panel:1").setPadding(0);C.get("panel:0").select();var F=C.get("button:0")[0].item;F.attr("disabled","disabled");A("input.image-url",C.popup.element).bind("keyup click",function(R){var S=A(this).val();I=S;F.attr("disabled",(S!=""&&S!="http://"?"":"disabled"));if(R.which==13){A("input.image-preview",C.popup.element).click();C.get("button:0")[0].item.focus()}});A("input.image-preview",C.popup.element).click(function(){var R=A(this).closest("div");var W=R.find("input.image-url").val();var V=R.find(".image-preview-area");var U=R.find(".image-preview-throbber");U.removeClass("hidden");var T=Raphael.spinner(U[0],60,"#666");var S=R.find(".image-preview-error");V.addClass("faraway");S.addClass("hidden");V.html("");A("<img>").load(function(){T();U.addClass("hidden");V.removeClass("faraway")}).error(function(){T();U.addClass("hidden");S.removeClass("hidden")}).appendTo(V).attr("src",W)});if(Q.imageProperties){A(".img-align",C.popup.element).val(Q.imageProperties.align||"none");A(".img-thumbnail",C.popup.element).attr("checked",Q.imageProperties.thumbnail||"");A(".img-border",C.popup.element).attr("checked",!!Q.imageProperties.border||"");if(Q.imageProperties.url){C.get("panel:1").select();A("input.image-url",C.popup.element).val(Q.imageProperties.url).click();A("input.image-preview",C.popup.element).click()}}AJS.log(AJS.Editor.ImageDialog.beforeShowListeners.length+" beforeShow listeners registered.");A.each(AJS.Editor.ImageDialog.beforeShowListeners,function(){this()});C.show();C.popup.element.find(".dialog-button-panel").append(AJS.renderTemplate("insert-image-help-link"));A("select.img-align").focus();var O=A("#upload-attachment form");var K=A("#upload-attachment .image-uploading");var J=A("#upload-attachment .warning");var N=A("#attached-images");AJS.Editor.ImageDialog.clearErrors=function(){J.addClass("hidden");J.empty();N.sizeToFit()};AJS.Editor.ImageDialog.displayErrors=function(S){if(!S||!S.length){return }J.removeClass("hidden");var R=A("ul",J);if(!R.length){R=A("<ul></ul>");R.appendTo(J)}A.each(S,function(T,U){if(!U){return }A("<li>"+U.substring(0,Math.min(G,U.length))+(U.length>G?"&hellip;":"")+"</li>").attr("title",U).appendTo(R)});A("#attached-images").sizeToFit()};AJS.Editor.ImageDialog.imagesContainerSelector="#attached-images .image-list";O.ajaxForm({dataType:"json",data:{contentId:D,responseFormat:"html"},resetForm:true,beforeSubmit:function(){AJS.Editor.ImageDialog.setUploadInProgress(true);AJS.Editor.ImageDialog.clearErrors()},error:function(R){AJS.Editor.ImageDialog.setUploadInProgress(false);AJS.Editor.ImageDialog.displayErrors([AJS.params.imageUploadError]);AJS.log("Response from server was: "+R.responseText)},success:function(R){AJS.Editor.ImageDialog.setUploadInProgress(false);var S=[].concat(R.validationErrors||[]).concat(R.actionErrors||[]).concat(R.errorMessage||[]);if(S.length>0){AJS.Editor.ImageDialog.displayErrors(S);return }AJS.Editor.ImageDialog.refreshWithLatestImages(A.map(R.attachmentsAdded||[],function(T){return T.name}))}});O.find("input:file").change(function(){O.submit()});function E(S){if(Math.max(S.thumbnailWidth,S.thumbnailHeight)>L){if(S.thumbnailHeight>S.thumbnailWidth){S.thumbnailWidth=S.thumbnailWidth*L/S.thumbnailHeight;S.thumbnailHeight=L}else{S.thumbnailHeight=S.thumbnailHeight*L/S.thumbnailWidth;S.thumbnailWidth=L}}var T=S.thumbnailUrl+(S.thumbnailUrl.indexOf("?")+1?"&":"?")+"nonce="+(+new Date);var R=A(AJS.renderTemplate("imageDialogImage",T,S.thumbnailWidth,S.thumbnailHeight,(100-S.thumbnailHeight)/2,S.downloadUrl,S.name));R.find(".image-container").andSelf().hover(function(){A(this).addClass("hover")},function(){A(this).removeClass("hover")});R.find("img").load(function(){R.find(".image-container").removeClass("loading")});R.click(function(U){A("#attached-images .selected").removeClass("selected");R.addClass("selected").focus();I=this.name=this.name||A(".caption",this).text();F.attr("disabled","");return AJS.stopEvent(U)});R.dblclick(function(){A(this).click();F.click()});A(".zoom",R).fancybox({padding:0,zoomSpeedIn:500,zoomSpeedOut:500,overlayShow:true,overlayOpacity:0.5});return R}A(document).bind("keydown.insert-image",function(S){if(!N.is(":visible")){return }if(A("#fancy_overlay").is(":visible")){if(S.which==32){A("#fancy_close").click();S.preventDefault();S.stopPropagation();return false}}else{function R(X){var U=A(".attached-image",N);var W=A(".attached-image.selected",N);var T=U.index(W)+X;if(T<0){T=U.length-1}if(T>=U.length){T=0}var V=U.eq(T);V.click().focus();N.simpleScrollTo(V)}if(S.which==37){R(-1);return AJS.stopEvent(S)}else{if(S.which==38){R(-4);return AJS.stopEvent(S)}else{if(S.which==39){R(1);return AJS.stopEvent(S)}else{if(S.which==40){R(4);return AJS.stopEvent(S)}else{if(S.which==32&&A(".attached-image.selected").length>0){A(".attached-image.selected .zoom").click();return AJS.stopEvent(S)}else{if(S.which==13&&!F.is(":disabled")){F.click();return AJS.stopEvent(S)}}}}}}}});AJS.Editor.ImageDialog.setUploadInProgress=function(R,S){if(R){O.addClass("hidden");K.removeClass("hidden");S?K.html(S):K.html(AJS.renderTemplate("imageUploading"))}else{O.removeClass("hidden");K.addClass("hidden")}};AJS.Editor.ImageDialog.refreshWithLatestImages=function(R){R=A.map(R||[],function(S){return S&&S.toLowerCase()});A.ajax({type:"GET",url:AJS.params.contextPath+"/pages/attachedimages.action",dataType:"json",data:{contentId:D},error:function(){N.find(".loading-message").remove();N.append(AJS.renderTemplate("imageDialogErrorRetrievingAttachments"))},success:function(S){N.find(".loading-message").remove();N.find(".image-list").empty();N.find(".no-attachments").remove();A(S.images||[]).each(function(){if(this.name&&A.inArray(this.name.toLowerCase(),R)!=-1){N.find(".image-list").prepend(E(this))}else{N.find(".image-list").append(E(this))}});if(N.find(".image-list li").length==0){N.append(AJS.renderTemplate("imageDialogNoAttachments"))}N.sizeToFit().click(function(){I=null;F.attr("disabled","disabled");A(this).find(".selected").removeClass("selected")});if(R.length){N.find(".image-list li:first").click()}else{if(Q.imageProperties&&Q.imageProperties.imageFileName){N.find("img[src*=/"+Q.imageProperties.imageFileName+"?]").click()}}AJS.log(AJS.Editor.ImageDialog.afterThumbnailsDisplayedListeners.length+" afterThumbnailsDisplayed listeners registered.");A.each(AJS.Editor.ImageDialog.afterThumbnailsDisplayedListeners,function(){this()});var U=[];var T=A.map(S.images||[],function(V){return V.name&&V.name.toLowerCase()});A.each(R,function(V,W){A.inArray(W,T)==-1&&U.push(AJS.renderTemplate("imageNotThumbnailable",W))});U&&AJS.Editor.ImageDialog.displayErrors(U)}})};AJS.Editor.ImageDialog.refreshWithLatestImages()};A("#editor-insert-image").click(function(C){AJS.Editor.storeTextareaBits();var B=document.getElementById("markupTextarea");AJS.Editor.insertImageDialog(function(D,E){AJS.Editor.Markup.insertOrUpdateText(AJS.format("\n!{0}{1}!\n",D,AJS.wikiAttrToString(E)),B)});return AJS.stopEvent(C)})});
AJS.Editor.Markup={storeTextareaBits:function(B,A,E){if(A.selectionStart!=null){A.sel=A.value.substr(A.selectionStart,A.selectionEnd-A.selectionStart);A.sel1=A.value.substr(0,A.selectionStart);A.sel2=A.value.substr(A.selectionEnd);B.selectedText.value=A.sel}else{if(document.selection&&document.selection.createRange){try{!E&&B.elements[AJS.params.parametersName].focus()}catch(D){}var C=document.selection.createRange();A.caretPos=C.duplicate();B.selectedText.value=C.text}}return B.selectedText.value},insertOrUpdateText:function(C,A){if(window.getSelection&&A.selectionStart&&A.selectionStart!=null){A.value=A.sel1+C+A.sel2;A.focus();A.selectionStart=A.selectionEnd=A.sel1.length+C.length}else{if(A.createTextRange&&A.caretPos){var B=A.caretPos;B.text=B.text.charAt(B.text.length-1)==" "?C+" ":C}else{A.value+=C}}}};
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(I,J){var H=J.indexOf("=");if(H<0&&!F.params[""]){F.params[""]=J}else{F.params[J.substring(0,H)]=J.substring(H+1)}})}return F},getSelectedMacro:function(D,E){var C=/^(?:.|\n)*[^\\](?={(?:\\}|[^}])+$)/m.exec(" "+D+" ");if(!C){return null}var G=C[0].substring(1).length;var F=AJS.MacroBrowser.parseMacro(E.substring(G));F.startIndex=G;F.params={};if(F.paramStr){F.paramStr.replace(/(?=(?:^|\|)(.*?)(?:=(.*?))?(?:\||$))/g,function(H,I,J){if((!J||J=="")&&!F.params[""]){F.params[""]=I}else{F.params[I]=J}})}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(AJS.clone("#macro-param-desc-template").html(F.description))}return J},makeBodyDiv:function(C,D){var E=AJS.MacroBrowser;var F=AJS.clone("#macro-body-template");B("textarea",F).val((D&&D.bodyMarkup)||E.settings.selectedMarkup||"");if(C.label){B("label",F).text(C.label)}if(C.description){F.append(AJS.clone("#macro-param-desc-template").html(C.description))}if(C.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(M,P){if(!M||!M.formDetails){alert(AJS.params.unknownMacroMessage);return }var O=AJS.MacroBrowser,W=M.formDetails,D=W.macroName,C=A[D],S=O.settings.selectedMacro,T=P=="edit"?O.editTitle:O.insertTitle;B("#save-warning-span").addClass("hidden");AJS.MacroBrowser.dialog.gotoPage(1).addHeader(T.replace(/\{0\}/,M.title));var Y=AJS.$("#macro-browser-dialog .dialog-button-panel .ok");if(P=="edit"){Y.text(AJS.params.saveButtonLabel)}else{Y.text(AJS.params.insertButtonLabel)}AJS.$("#macro-insert-container .macro-name").val(D);var K=M.extendedDescription?M.extendedDescription:M.description;var Z=AJS.clone("#macro-summary-template .macro-desc").prepend(K),N=B("#macro-insert-container .macro-input-fields").html(Z);if(W.documentationUrl){var Q=AJS.clone("#macro-doco-link-template");AJS.$("a",Q).attr("href",W.documentationUrl);Z.append(Q)}else{if(!Z.text()){Z.remove()}}if(W.body){var H=M.pluginKey;if(W.body.label==O.makeDefaultKey(H,D,"body","label")){W.body.label=""}if(W.body.description==O.makeDefaultKey(H,D,"body","desc")){W.body.description=""}var L=O.makeBodyDiv(W.body,S)}if(W.freeform){var E=(S&&S.paramStr)||"",J=AJS.clone("#macro-freeform-template");B(".macro-name-display",J).text(D+": ");B(".macro-text",J).val(E);if(L){L=L.append("{"+D+"}");AJS.$(".macro-freeform-input",J).after(L)}if(W.notationHelp){var X=AJS.$(W.notationHelp).children();if(X[0]){if(!S){var U=AJS.$(X[0]).html().replace(/<br>/gi,"\n").replace(/<[^>]+>/gi,"");var I=U.indexOf("{"+D);if(I>-1){var V=O.parseMacro(U.substring(I));if(V.paramStr){B(".macro-freeform-input input",J).val(V.paramStr)}if(V.bodyMarkup){B(".macro-body-div textarea",J).val(V.bodyMarkup.replace(/^\n|\n$/g,"").replace(/^\s+|\s+$/gm,""))}}}B(".macro-example",J).append(X[0].innerHTML).removeClass("hidden")}if(X[1]){B(".macro-help",J).append(X[1].innerHTML).removeClass("hidden")}}N.append(J)}else{if(L){N.append(L)}B(W.parameters).each(function(){N.append(O.makeParameterDiv(M,this,C))});var R=S?B.extend({},S.params):{};if(C&&typeof C.beforeParamsSet=="function"){R=C.beforeParamsSet(R,!S)}var G={};if(C&&typeof C.populateBodyParams=="function"){G=C.populateBodyParams(L)}B(W.parameters).each(function(){var b=this,a=R[b.name];if(a!=null){delete R[b.name]}else{B(b.aliases).each(function(){if(R[this]){a=R[this];delete R[this]}})}if(a==null){if(G[b.name]){a=G[b.name]}else{a=b.defaultValue}}if(a!=null){O.fields[b.name].setValue(a)}});O.unknownParams=R}B("a",N).click(function(){window.open(this.href,"_blank").focus();return false});if(!B("#macro-browser-dialog:visible").length){O.showBrowserDialog()}var F=B(":input:visible:first",N);if(F.length){F.focus();if(!S&&F.val()!=""&&F[0].select){F[0].select()}}O.previewMacro(M)},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("|")},getMacroMarkupFromForm:function(J){var D=B("#macro-insert-container .macro-name").val(),L="{"+D,M=B("#macro-insert-container .macro-text"),E,N=AJS.MacroBrowser;if(M.length){E=M.val()}else{var I={},F={},H=J.formDetails.parameters;B(H).each(function(){var O=AJS.$("#macro-param-"+this.name);var P=O.val();if(O.attr("type")=="checkbox"){P=""+O.attr("checked")}if(this.forBody){if(P){F[this.name]=P}}else{if(P&&(this.hidden||(!this.defaultValue||this.defaultValue!=P))){I[this.name]=P}}});if(N.unknownParams){B.each(N.unknownParams,function(O,P){I[O]=P})}var C=A[D];if(C&&typeof C.beforeParamsRetrieved=="function"){I=C.beforeParamsRetrieved(I)}E=N.makeParamStringFromMap(I)}if(E){L+=":"+E}L+="}";var G={name:D,startTag:L,markup:L,bodyMarkup:"",hasBody:AJS.$("#macro-insert-container .macro-body-div").length>0};if(G.hasBody){var K=AJS.$("#macro-insert-container .macro-body-div textarea").val();C=A[D];if(C&&C.applySpecialBodyHandling){K=C.applySpecialBodyHandling(J,K,F)}G.bodyMarkup=K;G.markup+=G.bodyMarkup;G.markup+="{"+D+"}"}return G},previewMacro:function(E){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 G=D.getMacroMarkupFromForm(E).markup,C=A[E.macroName];if(C&&C.prepareMacroForPreview){G=C.prepareMacroForPreview(G)}var F={contentId:AJS.Editor.getContentId(),contentType:AJS.params.contentType,spaceKey:AJS.params.spaceKey,wikiMarkup:G};B.post(AJS.params.contextPath+"/pages/rendercontent.action",F,function(H){AJS.MacroBrowser.showPreviewWaitImage(false);var M=AJS.params.staticResourceUrlPrefix+"/blank.html";var L=AJS.$("#macro-insert-container .macro-preview");L.html('<iframe src="'+M+'" frameborder="0" name="macro-browser-preview-frame" id="macro-preview-iframe"></iframe>');AJS.log("previewMacro: Created iframe");var I=AJS.$("#macro-insert-container .macro-preview iframe")[0];var K=I.contentDocument||I.contentWindow.document;K.write(H);K.close();var J=B("div.error span.error",K);if(J.length){AJS.log("Error rendering markup : "+G)}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(D){if(!D){D={};AJS.log("No settings to open the macro browser.")}var C=AJS.MacroBrowser;if(!C.hasInit){AJS.log("init macro browser");C.showBrowserSpinner(true);if(C.initData){C.initBrowser()}else{C.initMacroBrowserAfterRequest=D;return }}C.openMacroBrowser(D)},openMacroBrowser:function(D){var J=AJS.MacroBrowser;J.settings=D;if(D.presetMacroName){D.presetMacroMetadata=J.getMacroMetadata(D.presetMacroName)}var F=D.presetMacroMetadata;if(!F){var K=D.selectedMacro;if(K){var E=K.name.toLowerCase();E=J.aliasMap[E]||E;var C=A[E];if(C){if(typeof C.updateSelectedMacro=="function"){C.updateSelectedMacro(K)}var I=C.getMacroDetailsFromSelectedMacro;if(I){F=I(J.metadataList,K)}}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();J.replicateSelectMacro(F,D.mode||"edit")}else{B("#macro-browser-dialog button.back").show();J.showBrowserDialog();J.dialog.gotoPanel(0,0);var H=B.trim(D.searchText);var G=B("#macro-browser-search");G.val(H).keyup();H&&G.removeClass("blank-search");G.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 C=A[E.macroName];if(C&&C.manipulateMarkup){C.manipulateMarkup(E)}var D=F.getMacroMarkupFromForm(E);F.close();if(F.settings.onComplete){F.settings.onComplete(D)}},cancel:function(){var C=AJS.MacroBrowser;C.close();if(typeof C.settings.onCancel=="function"){C.settings.onCancel()}},close:function(){var C=this;C.unknownParams={};C.fields={};C.dialog.hide()},replicateSelectMacro:function(C,D){AJS.MacroBrowser.dialog.activeMetadata=C;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 O=AJS.MacroBrowser,W=O.initData;if(!W.categories||!AJS.MacroBrowser.metadataList.length){alert(AJS.params.loadBrowserErrorMessage);AJS.MacroBrowser.showBrowserSpinner(false);return false}var Q=new Date();var U=O.dialog=AJS.ConfluenceDialog({width:865,height:530,id:"macro-browser-dialog",onSubmit:O.complete,onCancel:O.cancel});U.addHeader(W.title);O.editTitle=W.editTitle;O.insertTitle=W.insertTitle;var P;W.categories=B.map(W.categories,function(X){if(X.name=="hidden-macros"){P=X;return null}return X});W.categories.sort(function(Y,X){return(Y.displayName.toLowerCase()>X.displayName.toLowerCase()?1:-1)});if(P&&AJS.params.showHiddenUserMacros){W.categories.push(P)}var D=function(X){return B("#macro-summaries-template").clone().attr("id","category-"+X)};var J=function(X){var Y=AJS.clone("#macro-summary-template").click(function(a){if(O.settings.nestingMacros&&(B.inArray(X.macroName,O.settings.nestingMacros)>-1)){alert(AJS.params.nestingSameMacroNotAllowedMessage);return AJS.stopEvent(a)}U.activeMetadata=X;AJS.MacroBrowser.loadMacroInBrowser(X,"insert")});if(X.icon){var Z=(X.icon.relative?AJS.params.staticResourceUrlPrefix:"")+X.icon.location;if(!X.icon.relative&&AJS.$.browser.msie&&!window.location.href.indexOf("https")&&Z.indexOf("https")){Y.prepend("<span class='macro-icon-holder icon-"+X.macroName+"'></span>")}else{Y.prepend("<img src='"+Z+"' alt='icon' width='"+X.icon.width+"' height='"+X.icon.height+"' title='"+X.title+"'/>")}}else{Y.prepend("<span class='macro-icon-holder icon-"+X.macroName+"'></span>")}B(".macro-title",Y).text(X.title);B(".macro-desc",Y).prepend(X.description);return Y};var E={all:D("all")},T,K,S,V;for(T=0,K=O.metadataList.length;T<K;T++){var L=O.metadataList[T];if(L.hidden){if(!AJS.params.showHiddenUserMacros){continue}if(L.pluginKey!="_-user-macro-_"){continue}L.categories.push("hidden-macros")}var N=J(L).attr("id",L.id);E.all.append(N);for(S=0,V=L.categories.length;S<V;S++){var M=L.categories[S];E[M]=E[M]||D(M);E[M].append(J(L).attr("id",M+"-"+L.id))}}U.addPanel(AJS.params.categoryAllLabel,E.all);for(T=0,K=W.categories.length;T<K;T++){var R=W.categories[T];U.addPanel(R.displayName,E[R.name]||D(R.name),R.name).getPanel(T).setPadding(0)}U.addButton("cancel.name",function(){AJS.MacroBrowser.cancel()},"cancel");U.popup.element.find(".dialog-button-panel").append(AJS.renderTemplate("macro-browser-help-link"));var G=AJS.$("#macro-insert-template").clone().attr("id","macro-insert-container");B(".macro-preview-container .macro-preview",G).attr("id","macro-browser-preview");B(".macro-preview-container .macro-preview-header .refresh-link",G).attr("id","macro-browser-preview-link").click(function(X){AJS.MacroBrowser.previewMacro(U.activeMetadata);return AJS.stopEvent(X)});U.addPage().addPanel("X",G,"macro-input-panel").addButton("macro.browser.back.button",function(X){X.prevPage();B("#macro-browser-search").focus()},"back left").addButton("insert.name",function(){AJS.MacroBrowser.complete()},"ok").addButton("cancel.name",function(){AJS.MacroBrowser.cancel()},"cancel").getPanel(0).setPadding(0);B("#macro-browser-dialog .dialog-button-panel .ok").before("<span id='save-warning-span' class='hidden'/>");var F=function(Z){var Y=null;if(Z!=""){if(U.getCurrentPanel()!=U.getPanel(0)){U.gotoPanel(0)}var X=O.searchSummaries(Z);Y={};B.each(X,function(){Y[this.id]=this})}B("#macro-browser-dialog .dialog-panel-body #category-all .macro-list-item").each(function(){(!Y||this.id in Y)?B(this).show():B(this).hide()})};var H=B("<form id='macro-browser-search-form'><input type='text'/></form>");var C=B("input",H).attr("id","macro-browser-search").keyup(function(X){F(B.trim(C.val()))}).focus(function(Y){var X=B(Y.target);if(X.hasClass("blank-search")){X.removeClass("blank-search").val("")}Y.target.select()}).blur(function(Y){var X=B(Y.target);if(B.trim(X.val())==""){X.addClass("blank-search").val(AJS.I18n.getText("search.name"))}}).blur();H.submit(function(Y){var X=B("#macro-browser-dialog .dialog-panel-body #category-all .macro-list-item:visible");if(B.trim(C.val())!=""&&X.length==1){X.click()}return AJS.stopEvent(Y)});U.page[0].header.prepend(H);U.page[0].ontabchange=function(X,Y){if(X!=U.getPanel(0,0)){if(!C.hasClass("blank-search")){C.val("").blur()}F("")}};U.gotoPanel(0,0);U.ready=true;O.hasInit=true;var I=(new Date()).getTime()-Q.getTime();AJS.log("loading macro browser took "+I+"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 K=AJS.MacroBrowser;K.metadataList=[];K.aliasMap={};for(var E=0,J=C.length;E<J;E++){var I=C[E];if(I.aliases){for(var D=0,F=I.aliases.length;D<F;D++){I.aliases[D]=I.aliases[D].toLowerCase();K.aliasMap[I.aliases[D]]=I.macroName.toLowerCase()}}if(I.title==K.makeDefaultKey(I.pluginKey,I.macroName,"label")){I.title=I.macroName.charAt(0).toUpperCase()+I.macroName.substring(1).replace(/-/g," ")}if(I.description==K.makeDefaultKey(I.pluginKey,I.macroName,"desc")){I.description=""}I.id="macro-"+(I.alternateId||I.macroName);var G=[I.macroName,I.title].concat(I.aliases);I.keywordsNoDesc=G.join(",");var H=(I.description&&I.description.replace(/,/g," "))||"";G.push(H);I.keywords=G.join(",");K.metadataList.push(I)}K.metadataList.sort(function(M,L){return(M.title.toLowerCase()>L.title.toLowerCase()?1:-1)});AJS.log("AJS.MacroBrowser.loadModel - complete, "+K.metadataList.length+" macros loaded")},searchSummaries:function(D,C){C=B.extend({splitRegex:/[\s\-]+/},C);return AJS.filterBySearch(this.metadataList,D,C)}}})(AJS.$);AJS.toInit(function(A){A(window).bind("render-content-loaded",function(D,B){var C=A("#macro-preview-iframe");if(C.contents().find("body")[0]==B){AJS.MacroBrowser.previewOnload(B)}});setTimeout(function(){var B=AJS.MacroBrowser;AJS.$.ajax({type:"GET",dataType:"json",url:AJS.params.contextPath+"/plugins/macrobrowser/browse-macros.action",success:function(C){B.initData=C;B.loadModel(C.macros);if(B.initMacroBrowserAfterRequest){B.initBrowser();B.openMacroBrowser(B.initMacroBrowserAfterRequest)}},error:function(C){AJS.log("Error requesting macro browser metadata:");AJS.log(C);B.initData={}}})},500)});
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]].dependencyUpdated(G,E)}}};return{updateDependencies:B,username:function(F,D){if(F.multiple){return AJS.MacroBrowser.ParameterFields.string(F,D)}D=D||{};var E=AJS.clone("#macro-param-template");var C=AJS.$("input[type='text']",E);C.addClass("autocomplete-user").attr("data-none-message",AJS.params.notFound);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=AJS.clone("#macro-param-template");var C=AJS.$("input[type='text']",E);C.addClass("autocomplete-space").attr("data-template","{key}").attr("data-none-message",AJS.params.notFound);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=AJS.clone("#macro-param-select-template");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}});if(!H){C.append(AJS.$("<option/>").attr("value",J).text(J+" ("+AJS.params.notFound+")"));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.length){C.append(AJS.$("<option/>").attr("value","").html(AJS.params.noAppropriateAttachments));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)}})};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=AJS.clone("#macro-param-template"),C=AJS.$("input[type='text']",F).attr("data-none-message",AJS.params.notFound).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(K,J){var I=J.content.space&&J.content.space.key,H=((I&&I!=AJS.params.spaceKey)?(I+":"):"")+J.content.title;C.val(H);if(D.onselect){D.onselect(J.selection)}else{D.setValue(H,C)}});if(G.options.spaceKey){if(G.options.spaceKey.toLowerCase()=="@self"){G.options.spaceKey=AJS.params.spaceKey}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=AJS.clone("#macro-param-template");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=AJS.clone("#macro-param-checkbox-template");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=AJS.clone("#macro-param-select-template");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=AJS.clone("#macro-param-hidden-template").hide();var C=A("input",E);return AJS.MacroBrowser.Field(E,C,D)}}})(AJS.$);

