window.LHEDailogs = {}; window.LHEDailogs['Anchor'] = function(pObj) { return { title: BX.message.AnchorProps, innerHTML : '' + '' + '' + '' + '
' + BX.message.AnchorName + ':
', width: 300, OnLoad: function() { pObj.pName = BX("lhed_anchor_name"); pObj.pLEditor.focus(pObj.pName); var pElement = pObj.pLEditor.GetSelectionObject(); var value = ""; if (pElement) { var bxTag = pObj.pLEditor.GetBxTag(pElement); if (bxTag.tag == "anchor" && bxTag.params.value) { value = bxTag.params.value.replace(/([\s\S]*?name\s*=\s*("|'))([\s\S]*?)(\2[\s\S]*?(?:>\s*?<\/a)?(?:\/?))?>/ig, "$3"); } } pObj.pName.value = value; }, OnSave: function() { var anchorName = pObj.pName.value.replace(/[^\w\d]/gi, '_'); if(pObj.pSel) { if(anchorName.length > 0) pObj.pSel.id = anchorName; else pObj.pLEditor.executeCommand('Delete'); } else if(anchorName.length > 0) { var id = pObj.pLEditor.SetBxTag(false, {tag: "anchor", params: {value : ''}}); pObj.pLEditor.InsertHTML(''); } } }; } window.LHEDailogs['Link'] = function(pObj) { var strHref = pObj.pLEditor.arConfig.bUseFileDialogs ? '' : ''; var str = '' + '' + '' + '' + '' + '' + '' + '' + ''; if (!pObj.pLEditor.arConfig.bBBCode) { str += '' + '' + '' + '' + '' + '' + '' + ''; } str += '
' + BX.message.LinkText + ':
' + BX.message.LinkHref + ':' + strHref + '
' + BX.message.LinkTitle + ':
' + BX.message.LinkTarget + '' + '' + '
'; return { title: BX.message.LinkProps, innerHTML : str, width: 420, OnLoad: function() { pObj._selectionStart = pObj._selectionEnd = null; pObj.bNew = true; pObj.pText = BX("lhed_link_text"); pObj.pHref = BX("lhed_link_href"); pObj.pLEditor.focus(pObj.pHref); if (!pObj.pLEditor.bBBCode) { pObj.pTitle = BX("lhed_link_title"); pObj.pTarget = BX("lhed_link_target"); } if (pObj.pLEditor.sEditorMode == 'code' && pObj.pLEditor.bBBCode) { if (pObj.prevTextSelection) pObj.pText.value = pObj.prevTextSelection; if (pObj.pLEditor.pTextarea.selectionStart != undefined) { pObj._selectionStart = pObj.pLEditor.pTextarea.selectionStart; pObj._selectionEnd = pObj.pLEditor.pTextarea.selectionEnd; } } else // WYSIWYG { if(!pObj.pSel) { var bogusImg = pObj.pLEditor.pEditorDocument.getElementById('bx_lhe_temp_bogus_node'); if (bogusImg) { pObj.pSel = BX.findParent(bogusImg, {tagName: 'A'}); bogusImg.parentNode.removeChild(bogusImg); } } var parA = (pObj.pSel && pObj.pSel.tagName.toUpperCase() != 'A') ? BX.findParent(pObj.pSel, {tagName : 'A'}) : false; if (parA) pObj.pSel = parA; pObj.bNew = !pObj.pSel || pObj.pSel.tagName.toUpperCase() != 'A'; // Select Link if (!pObj.bNew && !BX.browser.IsIE()) pObj.pLEditor.oPrevRange = pObj.pLEditor.SelectElement(pObj.pSel); var selectedText = false, oRange = pObj.pLEditor.oPrevRange; // Get selected text if (oRange.startContainer && oRange.endContainer) // DOM Model { if (oRange.startContainer == oRange.endContainer && (oRange.endContainer.nodeType == 3 || oRange.endContainer.nodeType == 1)) selectedText = oRange.startContainer.textContent.substring(oRange.startOffset, oRange.endOffset) || ''; } else // IE { if (oRange.text == oRange.htmlText) selectedText = oRange.text || ''; } if (pObj.pSel && pObj.pSel.tagName.toUpperCase() == 'IMG') selectedText = false; if (selectedText === false) { var textRow = BX.findParent(pObj.pText, {tagName: 'TR'}); textRow.parentNode.removeChild(textRow); pObj.pText = false; } else { pObj.pText.value = selectedText || ''; } if (!pObj.bNew) { var bxTag = pObj.pLEditor.GetBxTag(pObj.pSel); if (pObj.pText !== false) pObj.pText.value = pObj.pSel.innerHTML; if (pObj.pSel && pObj.pSel.childNodes && pObj.pSel.childNodes.length > 0) { for (var i = 0; i < pObj.pSel.childNodes.length; i++) { if (pObj.pSel.childNodes[i] && pObj.pSel.childNodes[i].nodeType != 3) { var textRow = BX.findParent(pObj.pText, {tagName: 'TR'}); textRow.parentNode.removeChild(textRow); pObj.pText = false; break; } } } if (bxTag.tag == 'a') { pObj.pHref.value = bxTag.params.href; if (!pObj.pLEditor.bBBCode) { pObj.pTitle.value = bxTag.params.title || ''; pObj.pTarget.value = bxTag.params.target || ''; } } else { pObj.pHref.value = pObj.pSel.getAttribute('href'); if (!pObj.pLEditor.bBBCode) { pObj.pTitle.value = pObj.pSel.getAttribute('title') || ''; pObj.pTarget.value = pObj.pSel.getAttribute('target') || ''; } } } } }, OnSave: function() { var link, href = pObj.pHref.value; if (href.length < 1) // Need for showing error return; if (pObj.pText && pObj.pText.value.length <=0) pObj.pText.value = href; // BB code mode if (pObj.pLEditor.sEditorMode == 'code' && pObj.pLEditor.bBBCode) { if (pObj._selectionStart != undefined && pObj._selectionEnd != undefined) { pObj.pLEditor.pTextarea.selectionStart = pObj._selectionStart; pObj.pLEditor.pTextarea.selectionEnd = pObj._selectionEnd; } var res = ""; if (!pObj.pText || pObj.pText && pObj.pText.value == href) res = '[URL]' + href + '[/URL]'; else res = '[URL=' + href + ']' + pObj.pText.value + '[/URL]'; pObj.pLEditor.WrapWith("", "", res); } else { // WYSIWYG mode var arlinks = []; if (pObj.pSel && pObj.pSel.tagName.toUpperCase() == 'A') { arlinks[0] = pObj.pSel; } else { var sRand = '#'+Math.random().toString().substring(5); var pDoc = pObj.pLEditor.pEditorDocument; if (pObj.pText !== false) // Simple case { pObj.pLEditor.InsertHTML('#'); arlinks[0] = pDoc.getElementById('bx_lhe_' + sRand); arlinks[0].removeAttribute("id"); } else { pDoc.execCommand('CreateLink', false, sRand); var arLinks_ = pDoc.getElementsByTagName('A'); for(var i = 0; i < arLinks_.length; i++) if(arLinks_[i].getAttribute('href', 2) == sRand) arlinks.push(arLinks_[i]); } } var oTag, i, l = arlinks.length, link; for (i = 0; i < l; i++) { link = arlinks[i]; oTag = false; if (pObj.pSel && i == 0) { oTag = pObj.pLEditor.GetBxTag(link); if (oTag.tag != 'a' || !oTag.params) oTag = false; } if (!oTag) oTag = {tag: 'a', params: {}}; oTag.params.href = href; if (!pObj.pLEditor.bBBCode) { oTag.params.title = pObj.pTitle.value; oTag.params.target = pObj.pTarget.value; } pObj.pLEditor.SetBxTag(link, oTag); SetAttr(link, 'href', href); // Add text if (pObj.pText !== false) link.innerHTML = BX.util.htmlspecialchars(pObj.pText.value); if (!pObj.pLEditor.bBBCode) { SetAttr(link, 'title', pObj.pTitle.value); SetAttr(link, 'target', pObj.pTarget.value); } } } } }; } window.LHEDailogs['Image'] = function(pObj) { var sText = '', i, strSrc; if (pObj.pLEditor.arConfig.bUseMedialib) strSrc = ''; else if (pObj.pLEditor.arConfig.bUseFileDialogs) strSrc = ''; else strSrc = ''; for (i = 0; i < 200; i++){sText += 'text ';} var str = '' + '' + '' + '' + ''; if (!pObj.pLEditor.arConfig.bBBCode) { str += '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + ''; str += '' + '' + ''; } str += '
' + BX.message.ImageSrc + ':' + strSrc + '
' + BX.message.ImageTitle + ':
' + BX.message.ImgAlign + ':' + '' + '
' + BX.message.ImageSizing + ':' + '
x
' + BX.message.ImagePreview + ':' + '
' + sText + '
' + '
'; var PreviewOnLoad = function() { var w = parseInt(this.style.width || this.getAttribute('width') || this.offsetWidth); var h = parseInt(this.style.height || this.getAttribute('hright') || this.offsetHeight); if (!w || !h) return; pObj.iRatio = w / h; // Remember proportion pObj.curWidth = pObj.pWidth.value = w; pObj.curHeight = pObj.pHeight.value = h; }; var PreviewReload = function() { var newSrc = pObj.pSrc.value; if (!newSrc) return; if (pObj.prevSrc != newSrc) { pObj.prevSrc = pObj.pPreview.src = newSrc; pObj.pPreview.style.display = ""; pObj.pPreview.removeAttribute("width"); pObj.pPreview.removeAttribute("height"); } if (pObj.curWidth && pObj.curHeight) { pObj.pPreview.style.width = pObj.curWidth + 'px'; pObj.pPreview.style.height = pObj.curHeight + 'px'; } if (!pObj.pLEditor.bBBCode) { SetAttr(pObj.pPreview, 'align', pObj.pAlign.value); SetAttr(pObj.pPreview, 'title', pObj.pTitle.value); } }; if (pObj.pLEditor.arConfig.bUseMedialib || pObj.pLEditor.arConfig.bUseFileDialogs) { window.LHED_Img_SetUrl = function(filename, path, site) { var url, srcInput = BX("lhed_img_src"), pTitle; if (typeof filename == 'object') // Using medialibrary { url = filename.src; if (pTitle = BX("lhed_img_title")) pTitle.value = filename.name; } else // Using file dialog { url = (path == '/' ? '' : path) + '/'+filename; } srcInput.value = url; if(srcInput.onchange) srcInput.onchange(); pObj.pLEditor.focus(srcInput, true); }; } return { title: BX.message.ImageProps, innerHTML : str, width: 500, OnLoad: function() { pObj.bNew = !pObj.pSel || pObj.pSel.tagName.toUpperCase() != 'IMG'; pObj.bSaveProp = true; pObj.iRatio = 1; pObj.pSrc = BX("lhed_img_src"); pObj.pLEditor.focus(pObj.pSrc); if (!pObj.pLEditor.bBBCode) { pObj.pPreview = BX("lhed_img_preview"); pObj.pTitle = BX("lhed_img_title"); pObj.pAlign = BX("lhed_img_align"); pObj.pWidth = BX("lhed_img_width"); pObj.pHeight = BX("lhed_img_height"); pObj.pSaveProp = BX("lhed_img_save_prop"); pObj.bSetInStyles = false; pObj.pSaveProp.onclick = function() { pObj.bSaveProp = this.checked ? true : false; if (pObj.bSaveProp) pObj.pWidth.onchange(); }; pObj.pWidth.onchange = function() { var w = parseInt(this.value); if (isNaN(w)) return; pObj.curWidth = pObj.pWidth.value = w; if (pObj.bSaveProp) { var h = Math.round(w / pObj.iRatio); pObj.curHeight = pObj.pHeight.value = h; } PreviewReload(); }; pObj.pHeight.onchange = function() { var h = parseInt(this.value); if (isNaN(h)) return; pObj.curHeight = pObj.pHeight.value = h; if (pObj.bSaveProp) { var w = parseInt(h * pObj.iRatio); pObj.curWidth = pObj.pWidth.value = w; } PreviewReload(); }; pObj.pAlign.onchange = pObj.pTitle.onchange = PreviewReload; pObj.pSrc.onchange = PreviewReload; pObj.pPreview.onload = PreviewOnLoad; } else if (pObj.pLEditor.sEditorMode == 'code' && pObj.pLEditor.bBBCode && pObj.pLEditor.pTextarea.selectionStart != undefined) { pObj._selectionStart = pObj.pLEditor.pTextarea.selectionStart; pObj._selectionEnd = pObj.pLEditor.pTextarea.selectionEnd; } if (!pObj.bNew) // Select Img { var bxTag = pObj.pLEditor.GetBxTag(pObj.pSel); if (bxTag.tag !== 'img') bxTag.params = {}; pObj.pSrc.value = bxTag.params.src || ''; if (!pObj.pLEditor.bBBCode) { pObj.pPreview.onload = function(){pObj.pPreview.onload = PreviewOnLoad;}; if (pObj.pSel.style.width || pObj.pSel.style.height) pObj.bSetInStyles = true; pObj.bSetInStyles = false; var w = parseInt(pObj.pSel.style.width || pObj.pSel.getAttribute('width') || pObj.pSel.offsetWidth); var h = parseInt(pObj.pSel.style.height || pObj.pSel.getAttribute('height') || pObj.pSel.offsetHeight); if (w && h) { pObj.iRatio = w / h; // Remember proportion pObj.curWidth = pObj.pWidth.value = w; pObj.curHeight = pObj.pHeight.value = h; } pObj.pTitle.value = bxTag.params.title || ''; pObj.pAlign.value = bxTag.params.align || ''; PreviewReload(); } } }, OnSave: function() { var src = pObj.pSrc.value, img, oTag; if (src.length < 1) // Need for showing error return; // BB code mode if (pObj.pLEditor.sEditorMode == 'code' && pObj.pLEditor.bBBCode) { if (pObj._selectionStart != undefined && pObj._selectionEnd != undefined) { pObj.pLEditor.pTextarea.selectionStart = pObj._selectionStart; pObj.pLEditor.pTextarea.selectionEnd = pObj._selectionEnd; } pObj.pLEditor.WrapWith("", "", '[IMG]' + src + '[/IMG]'); } else { // WYSIWYG mode if (pObj.pSel) { img = pObj.pSel; oTag = pObj.pLEditor.GetBxTag(img); if (oTag.tag != 'img' || !oTag.params) oTag = false; } else { var tmpid = Math.random().toString().substring(4); pObj.pLEditor.InsertHTML(''); img = pObj.pLEditor.pEditorDocument.getElementById(tmpid); img.removeAttribute("id"); } SetAttr(img, "src", src); if (!oTag) oTag = {tag: 'img', params: {}}; oTag.params.src = src; if (!pObj.pLEditor.bBBCode) { if (pObj.bSetInStyles) { img.style.width = pObj.pWidth.value + 'px'; img.style.height = pObj.pHeight.value + 'px'; SetAttr(img, "width", ''); SetAttr(img, "height", ''); } else { SetAttr(img, "width", pObj.pWidth.value); SetAttr(img, "height", pObj.pHeight.value); img.style.width = ''; img.style.height = ''; } oTag.params.align = pObj.pAlign.value; oTag.params.title = pObj.pTitle.value; SetAttr(img, "align", pObj.pAlign.value); SetAttr(img, "title", pObj.pTitle.value); } pObj.pLEditor.SetBxTag(img, oTag); } } }; } window.LHEDailogs['Video'] = function(pObj) { var strPath; if (pObj.pLEditor.arConfig.bUseMedialib) strPath = ''; else if (pObj.pLEditor.arConfig.bUseFileDialogs) strPath = ''; else strPath = ''; var strPreview = pObj.pLEditor.arConfig.bUseFileDialogs ? '' : ''; var sText = '', i; for (i = 0; i < 200; i++){sText += 'text ';} var str = '' + '' + '' + '' + ''; if (!pObj.pLEditor.arConfig.bBBCode) { str += '' + '' + '' + ''; } str += '' + '' + '' + ''; if (!pObj.pLEditor.arConfig.bBBCode) { str += '' + '' + '' + '' + '' + '' + '' + ''; } window.LHED_Video_SetPath = function(filename, path, site) { var url, srcInput = BX("lhed_video_path"); if (typeof filename == 'object') // Using medialibrary url = filename.src; else // Using file dialog url = (path == '/' ? '' : path) + '/' + filename; srcInput.value = url; if(srcInput.onchange) srcInput.onchange(); pObj.pLEditor.focus(srcInput, true); }; return { title: BX.message.VideoProps, innerHTML : str, width: 500, OnLoad: function() { pObj.pSel = pObj.pLEditor.GetSelectionObject(); pObj.bNew = true; var bxTag = {}; if (pObj.pSel) bxTag = pObj.pLEditor.GetBxTag(pObj.pSel); if (pObj.pSel && pObj.pSel.id) bxTag = pObj.pLEditor.GetBxTag(pObj.pSel.id); if (bxTag.tag == 'video' && bxTag.params) pObj.bNew = false; else pObj.pSel = false; pObj.pPath = BX("lhed_video_path"); pObj.pLEditor.focus(pObj.pPath); pObj.pWidth = BX("lhed_video_width"); pObj.pHeight = BX("lhed_video_height"); if (!pObj.pLEditor.bBBCode) { pObj.pPrevPath = BX("lhed_video_prev_path"); pObj.pVolume = BX("lhed_video_volume"); pObj.pAutoplay = BX("lhed_video_autoplay"); } else if (pObj.pLEditor.sEditorMode == 'code' && pObj.pLEditor.bBBCode && pObj.pLEditor.pTextarea.selectionStart != undefined) { pObj._selectionStart = pObj.pLEditor.pTextarea.selectionStart; pObj._selectionEnd = pObj.pLEditor.pTextarea.selectionEnd; } if (!pObj.bNew) { pObj.arParams = bxTag.params || {}; var path, prPath, vol, w, h, autoplay; if (pObj.arParams.flashvars) //FLV { path = pObj.arParams.flashvars.file; w = pObj.arParams.width || ''; h = pObj.arParams.height || ''; prPath = pObj.arParams.flashvars.image || ''; vol = pObj.arParams.flashvars.volume || '90'; autoplay = pObj.arParams.flashvars.autostart || false; } else { path = pObj.arParams.JSConfig.file; w = pObj.arParams.JSConfig.width || ''; h = pObj.arParams.JSConfig.height || ''; prPath = pObj.arParams.JSConfig.image || ''; vol = pObj.arParams.JSConfig.volume || '90'; autoplay = pObj.arParams.JSConfig.autostart || false; } pObj.pPath.value = path; pObj.pWidth.value = w; pObj.pHeight.value = h; if (!pObj.pLEditor.bBBCode) { if (pObj.pPrevPath) pObj.pPrevPath.value = prPath; pObj.pVolume.value = vol; pObj.pAutoplay.checked = autoplay ? true : false; } } }, OnSave: function() { var path = pObj.pPath.value, w = parseInt(pObj.pWidth.value) || 240, h = parseInt(pObj.pHeight.value) || 180, pVid, ext, arVidConf = pObj.pLEditor.arConfig.videoSettings; if (path.length < 1) // Need for showing error return; if (pObj.pSel) { pVid = pObj.pSel; } else { pObj.videoId = "bx_video_" + Math.round(Math.random() * 100000); pObj.pLEditor.InsertHTML(''); pVid = pObj.pLEditor.pEditorDocument.getElementById(pObj.videoId); } if (arVidConf.maxWidth && w && parseInt(w) > parseInt(arVidConf.maxWidth)) w = arVidConf.maxWidth; if (arVidConf.maxHeight && h && parseInt(h) > parseInt(arVidConf.maxHeight)) h = arVidConf.maxHeight; var oVideo = {width: w, height: h}; if (path.indexOf('http://') != -1 || path.indexOf('.') != -1) { ext = (path.indexOf('.') != -1) ? path.substr(path.lastIndexOf('.') + 1).toLowerCase() : false; if (ext && (ext == 'wmv' || ext == 'wma')) // WMV { oVideo.JSConfig = {file: path}; if (!pObj.pLEditor.bBBCode) { if (pObj.pPrevPath) oVideo.JSConfig.image = pObj.pPrevPath.value || ''; oVideo.JSConfig.volume = pObj.pVolume.value; oVideo.JSConfig.autostart = pObj.pAutoplay.checked ? true : false; oVideo.JSConfig.width = w; oVideo.JSConfig.height = h; } } else { oVideo.flashvars= {file: path}; if (!pObj.pLEditor.bBBCode) { if (pObj.pPrevPath) oVideo.flashvars.image = pObj.pPrevPath.value || ''; oVideo.flashvars.volume = pObj.pVolume.value; oVideo.flashvars.autostart = pObj.pAutoplay.checked ? true : false; } } pVid.title= BX.message.Video + ': ' + path; pVid.style.width = w + 'px'; pVid.style.height = h + 'px'; if (pObj.pPrevPath && pObj.pPrevPath.value.length > 0) pVid.style.backgroundImage = 'url(' + pObj.pPrevPath.value + ')'; oVideo.id = pObj.videoId; pVid.id = pObj.pLEditor.SetBxTag(false, {tag: 'video', params: oVideo}); } else { pObj.pLEditor.InsertHTML(''); } } }; } // Table window.LHEDailogs['Table'] = function(pObj) { return { title: BX.message.InsertTable, innerHTML : '
' + BX.message.VideoPath + ':' + strPath + '
' + BX.message.VideoPreviewPath + ':' + strPreview + '
' + BX.message.ImageSizing + ':' + '
x
' + BX.message.VideoVolume + ':' + ' %' + '
' + '' + '' + '' + '' + '' + '' + '' + '' + '
' + '' + BX.message.TableModel + ': ' + '
' + '
', width: 350, OnLoad: function(oDialog) { pObj.pCols = BX(pObj.pLEditor.id + "lhed_table_cols"); pObj.pRows = BX(pObj.pLEditor.id + "lhed_table_rows"); pObj.pModelDiv = BX(pObj.pLEditor.id + "lhed_table_model"); pObj.pLEditor.focus(pObj.pCols, true); if (pObj.pLEditor.sEditorMode == 'code' && pObj.pLEditor.bBBCode && pObj.pLEditor.pTextarea.selectionStart != undefined) { pObj._selectionStart = pObj.pLEditor.pTextarea.selectionStart; pObj._selectionEnd = pObj.pLEditor.pTextarea.selectionEnd; } var BuildModel = function() { BX.cleanNode(pObj.pModelDiv); var rows = parseInt(pObj.pRows.value), cells = parseInt(pObj.pCols.value); if (rows > 0 && cells > 0) { var tbl = pObj.pModelDiv.appendChild(BX.create("TABLE", {props: {className: "lhe-table-model"}})); var i, j, row, cell; for(i = 0; i < rows; i++) { row = tbl.insertRow(-1); for(j = 0; j < cells; j++) row.insertCell(-1).innerHTML = " "; } } }; pObj.pCols.onkeyup = pObj.pRows.onkeyup = BuildModel; BuildModel(); }, OnSave: function() { var rows = parseInt(pObj.pRows.value), cells = parseInt(pObj.pCols.value), t1 = "<", t2 = ">", res = "", cellHTML = "
"; if (pObj.pLEditor.sEditorMode == 'code' && pObj.pLEditor.bBBCode) { t1 = "["; t2 = "]"; cellHTML = " "; } if (rows > 0 && cells > 0) { res = "\n" + t1 + "TABLE" + t2 + "\n"; var i, j; for(i = 0; i < rows; i++) { res += "\t" + t1 + "TR" + t2 + "\n"; for(j = 0; j < cells; j++) res += "\t\t" + t1 + "TD" + t2 + cellHTML + t1 + "/TD" + t2 + "\n"; res += "\t" + t1 + "/TR" + t2 + "\n"; } res += t1 + "/TABLE" + t2 + "\n"; } if (pObj.pLEditor.sEditorMode == 'code' && pObj.pLEditor.bBBCode) { if (pObj._selectionStart != undefined && pObj._selectionEnd != undefined) { pObj.pLEditor.pTextarea.selectionStart = pObj._selectionStart; pObj.pLEditor.pTextarea.selectionEnd = pObj._selectionEnd; } pObj.pLEditor.WrapWith("", "", res); } else if (pObj.pLEditor.sEditorMode == 'code' && !pObj.pLEditor.bBBCode) { // ? } else // WYSIWYG { pObj.pLEditor.InsertHTML(res + "
"); } } }; } // Ordered and unordered lists for BBCodes window.LHEDailogs['List'] = function(pObj) { return { title: pObj.arParams.bOrdered ? BX.message.OrderedList : BX.message.UnorderedList, innerHTML : '' + '' + '' + '' + '' + '
' + BX.message.ListItems + ':
' + BX.message.AddLI + '' + '
', width: 350, OnLoad: function(oDialog) { if (pObj.pLEditor.sEditorMode == 'code' && pObj.pLEditor.bBBCode && pObj.pLEditor.pTextarea.selectionStart != undefined) { pObj._selectionStart = pObj.pLEditor.pTextarea.selectionStart; pObj._selectionEnd = pObj.pLEditor.pTextarea.selectionEnd; } pObj.pItemsCont = BX(pObj.pLEditor.id + "lhed_list_items"); pObj.pMore = BX(pObj.pLEditor.id + "lhed_list_more"); BX.cleanNode(pObj.pItemsCont); pObj.pList = pObj.pItemsCont.appendChild(BX.create(pObj.arParams.bOrdered ? "OL" : "UL")); var firstItemText = ""; if (pObj.prevTextSelection) firstItemText = pObj.prevTextSelection; var addItem = function(val, pPrev, bFocus, bCheck) { var pLi = BX.create("LI"); var pInput = pLi.appendChild(BX.create("INPUT", {props: {type: 'text', value: val || "", size: 35}})); if (pPrev && pPrev.nextSibling) pObj.pList.insertBefore(pLi, pPrev.nextSibling); else pObj.pList.appendChild(pLi); pInput.onkeyup = function(e) { if (!e) e = window.event; if (e.keyCode == 13) // Enter { addItem("", this.parentNode, true, true); return BX.PreventDefault(e); } } pLi.appendChild(BX.create("IMG", {props: {src: pObj.pLEditor.oneGif, className: "lhe-dialog-list-del", title: BX.message.DelListItem}})).onclick = function() { // del list item var pLi = BX.findParent(this, {tagName: 'LI'}); if (pLi) pLi.parentNode.removeChild(pLi); }; if(bFocus !== false) pObj.pLEditor.focus(pInput); if (bCheck === true) { var arInp = pObj.pList.getElementsByTagName("INPUT"), i, l = arInp.length; for (i = 0; i < l; i++) arInp[i].onfocus = (i == l - 1) ? function(){addItem("", false, false, true);} : null; } }; addItem(firstItemText, false, firstItemText == ""); addItem("", false, firstItemText != ""); addItem("", false, false, true); pObj.pMore.onclick = function(){addItem("", false, true, true);}; }, OnSave: function() { var res = "", arInputs = pObj.pList.getElementsByTagName("INPUT"), i, l = arInputs.length; if (l == 0) return; res = "\n[LIST"; if (pObj.arParams.bOrdered) res += "=1"; res += "]\n"; var i, j; for (i = 0; i < l; i++) { if (arInputs[i].value != "" || i == 0) res += "[*]" + arInputs[i].value + "\n"; } res += "[/LIST]" + "\n"; if (pObj._selectionStart != undefined && pObj._selectionEnd != undefined) { pObj.pLEditor.pTextarea.selectionStart = pObj._selectionStart; pObj.pLEditor.pTextarea.selectionEnd = pObj._selectionEnd; } pObj.pLEditor.WrapWith("", "", res); } }; }