var templateEditing = false; var macroEditElement = null; function openDialog(diaTitle, diaDoc, dwidth, dheight) { window.status = ""; strFeatures = "dialogWidth=" + dwidth + "px;dialogHeight=" + dheight + "px;scrollbars=no;" + "center=yes;border=thin;help=no;status=no" strTitle = window.showModalDialog(diaDoc, "MyDialog", strFeatures); return strTitle; } function setRichTextObject(id) { currentRichTextDocument = document.frames[id + "_holder"].document; currentRichTextObject = document.frames[id + "_holder"].document.getElementById("holder"); } function umbracoEditorCommand(id,commandKey,option) { setRichTextObject(id); currentRichTextDocument = document.frames[id + "_holder"].document; currentRichTextDocument.execCommand(commandKey,true,option); currentRichTextDocument.focus(); } function umbracoInsertField(theObject, tagUrl, tagName, tagText, width, height,path,move) { // Fixes issue with code gets inserted outside the editor in IE if (navigator.userAgent.match('MSIE')) { if (textareaEditorMode == 'undefined' && document.selection.createRange().parentElement().tagName == 'DIV') { alert('FOCUS OUTSIDE OF THE EDITOR\n--------------------------------------------------------------------------\n\nPlease place the cursor where you wish to insert the code by using either mouse or keyboard.'); return; } } //var fieldName = parent.parent.openDialog("umbracoField", path + tagUrl + ".aspx?tagName=" + tagName + "&tagText=" + tagText + "&move=" + move + "&objectId=meh", width, height); var dialogTitle = "Insert umbraco field"; if (tagName == "UMBRACOGETDICTIONARY") { dialogTitle = "Insert Dictionary Item"; } top.openModal(path + tagUrl + ".aspx?tagName=" + tagName + "&tagText=" + tagText + "&move=" + move + "&objectId=meh",dialogTitle, height, width); } function umbracoInsertFieldDo(theObjectId, Text, move) { //editorSource.insertCode(Text); insertCodeAtCaret(document.getElementById(theObjectId), Text) } function xbfInsertAtCaretAndMove (el, txt, move) { //editorSource.insertCode(txt); insertCodeAtCaret(document.getElementById(theObjectId), txt) } /////////////////////////////////////////// // UMBRACO MAKRO-FUNKTIONER /////////////////////////////////////////// function umbracoInsertMacro(id, path) { setRichTextObject(id); macroEditElement = null; if (document.selection.createRange().parentElement().tagName != 'BODY') var fieldTag = nytVindue(path+"/dialogs/editMacro.aspx?editor=true&umbPageId=" + umbPageId + "&umbVersionId=" + umbVersionId , 600, 350); } function umbracoTemplateInsertMacro() { top.openModal("dialogs/editMacro.aspx","Insert macro", 600, 500); //var fieldTag = nytVindue("../dialogs/editMacro.aspx", 600, 350); } function umbracoInsertMacroDo(fieldTag) { fieldTag = fieldTag.replace(/\'/gi,"'"); xbfInsertAtCaretAndMove(document.forms[0].TemplateBody, fieldTag) } function umbracoEditMacroDo(fieldTag, macroName, renderedContent) { if (macroEditElement != null) { macroEditElement.outerHTML = renderedContent; } else { currentRichTextDocument.selection.createRange().pasteHTML(renderedContent); } macroEditElement = null; } function nytVindue(side, bredde, hoejde) { window.open(side, 'nytVindue', 'width=' + bredde + ',height=' + hoejde + ',scrollbars=yes'); } ///////////////////////////////////////////////////////// // BILLEDE FUNKTIONER ///////////////////////////////////////////////////////// function umbracoImage(id) { if (id != undefined) setRichTextObject(id) if (document.selection.createRange().parentElement().tagName != 'BODY') { var imageToInsert = ""; imageToInsert = "" + openDialog("insertImage", "dialogs/insertimage.aspx", 560, 540); if (imageToInsert.toString() != 'undefined' && imageToInsert != '') { var imageName; var imageSource; var imageWidth; var imageHeight; var imageWidthHeightString = ''; var orgWidth; var orgHeight; imageToInsert = imageToInsert.split('|||'); imageName = imageToInsert[0]; imageSource = imageToInsert[1]; imageWidth = imageToInsert[2]; imageHeight = imageToInsert[3]; imageTitle = imageToInsert[4]; orgWidth = imageToInsert[5]; orgHeight = imageToInsert[6]; if (imageWidth != '' && imageWidth != '0' && imageWidth.toString() != 'undefined' && imageHeight != '' && imageHeight != '0' && imageHeight.toString() != 'undefined') imageWidthHeightString = ' onResize="umbracoImageResizeUpdateSize()" onResizeEnd="defaultStatus = \'\'; umbracoImageResize(this);" onresizestart="umbracoImageResizeStart(this);" width="' + imageWidth + '" height="' + imageHeight + '" umbracoOrgWidth="' + orgWidth + '" umbracoOrgHeight="' + orgHeight + '"' document.selection.createRange().pasteHTML('' + imageName + ''); } } } ///////////////////////////////////////////////////////// // RELATIONER FUNKTIONER ///////////////////////////////////////////////////////// function doRelation() { var fieldTag = nytVindue(umbracoConstGuiFolderName + "/umbracoRelation.aspx?table=dataStructure&id=" + umbracoQuerystring, 600, 350); } ///////////////////////////////////////////////////////// // TABEL FUNKTIONER ///////////////////////////////////////////////////////// function umbracoInsertTable(id) { setRichTextObject(id) var tableToInsert = ""; tableToInsert = "" + openDialog("insertTable", "dialogs/insertTable.aspx", 470, 560); if (tableToInsert.toString() != 'undefined' && tableToInsert != '') { var sel = currentRichTextDocument.selection; if (sel!=null) { var rng = sel.createRange(); if (rng!=null) { if (rng.text != '' && sel.type == 'Text') rng.pasteHTML (tableToInsert + rng.html) else rng.pasteHTML (tableToInsert); } } } currentRichTextDocument.focus(); } ///////////////////////////////////////////////////////// // LINK FUNKTIONER ///////////////////////////////////////////////////////// function umbracoAnchor(id) { setRichTextObject(id) insertAnchor = "" + openDialog("insertAnchor", "dialogs/insertAnchor.aspx", 390, 260); if (insertAnchor != '' && insertAnchor != 'undefined') { var sel = currentRichTextDocument.selection; if (sel!=null) { var rng = sel.createRange(); if (rng!=null) { var theHTML = currentRichTextDocument.selection.createRange().htmlText; currentRichTextDocument.selection.createRange().pasteHTML(''+ theHTML +''); } } } } function umbracoLink(id) { setRichTextObject(id) var linkToInsert = ""; var sel = currentRichTextDocument.selection; var tagContent = ''; if (sel!=null) { var rng = sel.createRange(); if (rng!=null) { // test for links in range! if (rng.text == '') { var currentElement = rng.parentElement(); while (currentElement.tagName != 'A' && currentElement.parentNode.tagName != 'BODY') { currentElement = currentElement.parentNode; } if (currentElement.tagName == 'A') { // use editing method in richtextfunctions.js which is // located in the iframe of the editing document document.frames[id + "_holder"].umbracoEditA(currentElement); return ""; } } if (rng.text != '' && sel.type == 'Text') { tagContent = rng.htmlText; linkToInsert = "" + openDialog("insertLink", "dialogs/insertlink.aspx", 440, 480); if (linkToInsert.toString() != 'undefined' && linkToInsert != '') { if (linkToInsert.substr(0,4) == 'true') { currentRichTextDocument.execCommand('CreateLink',false,formatLink(linkToInsert.substr(linkToInsert.indexOf('|')+1, linkToInsert.length))); if (rng.parentElement().tagName == "A"){ rng.parentElement().target="_blank"; } } else { currentRichTextDocument.execCommand('CreateLink',false,formatLink(linkToInsert.substr(linkToInsert.indexOf('|')+1, linkToInsert.length))); } } } else { if (sel.type == 'Control') { var tag = rng.item(0); var tagContent = '<' + tag.tagName; var tagAttr = tag.attributes; for (var i=0;i' + tagContent + ''; else tagContent = '' + tagContent + ''; } rng.item(0).outerHTML = tagContent; } } } } currentRichTextObject.focus(); } function formatLink(link) { return link.replace(/\%3f/g,'\?'); } function umbracoScriptlet() { var fieldName = parent.parent.openDialog("umbracoScriptlet", "settings/umbracoScriptlet.aspx", 500, 250); var fieldImg = "\"""; var sel = currentRichTextDocument.selection; if (sel!=null) { var rng = sel.createRange(); if (rng!=null && sel.type == 'Text') rng.pasteHTML(fieldImg); } } function doSubmitAndPublish() { document.contentForm.doPublish.value = "true"; doSubmit(); } /* function doSubmit() { // Hvis der er tændt for styles, skal vi lige slukke for dem! if (typeof(currentRichTextObject) != 'undefined') if (currentRichTextObject) if (currentRichTextObject.innerHTML.indexOf('styleMarkStart.gif') > 0) umbracoShowStyles(); // invokeSaveHandlers(); document.contentForm.doSave.value = "true"; document.contentForm.submit(); } */ function viewHTML(id) { setRichTextObject(id) window.open("viewHTML.aspx?rnd="+top.returnRandom(), 'nytVindue', 'width=700,height=500,scrollbars=auto'); } function umbracoInsertForm(id) { setRichTextObject(id) var formField = openDialog("umbracoForm", "dialogs/insertFormField.aspx?rnd="+top.returnRandom(), 450, 480); if (formField) { currentRichTextDocument.selection.createRange().pasteHTML(formField); } } function umbracoTextGen(id) { setRichTextObject(id) var textGen = openDialog("umbracoTextGen", "dialogs/inserttextGen.aspx?rnd="+top.returnRandom(), 450, 330); if (textGen) currentRichTextDocument.selection.createRange().pasteHTML(textGen.replace(/&/g,"&")); } function addStyle(stylePickerID, id) { setRichTextObject(id) var styleToApply = stylePickerID[stylePickerID.selectedIndex].value; var sel = currentRichTextDocument.selection; if (sel!=null) { var rng = sel.createRange(); if (rng!=null) { if (styleToApply != '') { setClass(styleToApply); } } } stylePickerID.selectedIndex = 0; // currentRichTextDocument.all["theContent"].contentEditable = true; currentRichTextObject.focus(); } function setClass(theClass) { if (currentRichTextDocument.selection.type == 'Text') { var oSel = currentRichTextDocument.selection; var theHTML = oSel.createRange().htmlText; oSel.clear(); theHTML = theHTML.replace(//gi,""); theHTML = theHTML.replace(/<\/span>/gi,""); theHTML = theHTML.replace(//gi,""); theHTML = theHTML.replace(/<\/h\/?.*?>/gi,""); theHTML = theHTML.replace(/

/gi,""); theHTML = theHTML.replace(/<\/p>/gi,""); if (theClass.indexOf(".") > -1) theClass = ''+ theHTML +''; else { theClass = '<' + theClass + '>'+ theHTML +''; } currentRichTextDocument.selection.createRange().pasteHTML(theClass); } else { alert(parent.uiKeys['errors_stylesMustMarkBeforeSelect']); } } function umbracoShowStyles(id) { setRichTextObject(id) var theHTML = currentRichTextObject.innerHTML; if (theHTML.indexOf('styleMarkStart.gif') > 0) { //document.all.showStyles.className = 'editorIcon'; theHTML = theHTML.replace(/\"Style:/gi,"") theHTML = theHTML.replace(/\"Formatering/gi,"") } else { if (theHTML.indexOf(' -1 || theHTML.indexOf(' -1) { //document.all.showStyles.className = 'editorIconOn'; theHTML = theHTML.replace(//gi,"\"Style:") theHTML = theHTML.replace(//gi,"") theHTML = theHTML.replace(/<\/span>/gi,"\"Formatering") } else alert(parent.uiKeys['errors_stylesNoStylesOnPage']); } currentRichTextObject.innerHTML = theHTML; }