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){AJS.Editor.showWaitImage(false);AJS.Editor.setMode(AJS.params.actionMarkup);if(s!=null){AJS.$("#markupTextarea").val(s);if(AJS.params.saveDrafts){AJS.Editor.originalWikiContent=s}}},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()});
