Current Path : /var/www/www-root/data/www/info.monolith-realty.ru/bitrix/admin/htmleditor2/ |
Current File : /var/www/www-root/data/www/info.monolith-realty.ru/bitrix/admin/htmleditor2/toolbarbuttons.js |
var arButtons = []; arButtons['separator'] = 'separator'; arButtons['Fullscreen'] = ['BXButton', { id : 'Fullscreen', iconkit : '_global_iconkit.gif', name : BX_MESS.Fullscreen, title : BX_MESS.Fullscreen, codeEditorMode : true, handler : function() { this.pMainObj.SetFullscreen(!this.pMainObj.bFullscreen); this.Check(this.pMainObj.bFullscreen); } } ]; arButtons['Settings'] = ['BXButton', { id : 'Settings', iconkit : '_global_iconkit.gif', name: BX_MESS.TBSettings, title: BX_MESS.TBSettings, codeEditorMode: true, handler: function() { this.bNotFocus = true; this.pMainObj.OpenEditorDialog("settings", false, 500, {bUseTabControl: true, lightMode: lightMode, PHPGetParams: '&light_mode=' + (lightMode ? 'Y' : 'N')}); } } ]; arButtons['Cut'] = ['BXButton', { id : 'Cut', iconkit : '_global_iconkit.gif', name: BX_MESS.Cut, cmd: 'Cut', hideCondition: function() {return !BX.browser.IsIE();} } ]; arButtons['Copy'] = ['BXButton', { id : 'Copy', iconkit : '_global_iconkit.gif', name: BX_MESS.Copy, cmd: 'Copy', hideCondition: function() {return !BX.browser.IsIE();} } ]; arButtons['Paste'] =['BXButton', { id : 'Paste', iconkit : '_global_iconkit.gif', name: BX_MESS.Paste, cmd: 'Paste', hideCondition: function() {return !BX.browser.IsIE();} } ]; arButtons['pasteword'] = ['BXButton', { id : 'pasteword', iconkit : '_global_iconkit.gif', name : BX_MESS.PasteAsWord, handler : function () { this.bNotFocus = true; this.pMainObj.OpenEditorDialog("pasteword"); } } ]; arButtons['pastetext'] = ['BXButton', { id : 'pastetext', iconkit : '_global_iconkit.gif', name : BX_MESS.PasteAsText, handler : function () { if(BX.browser.IsIE()) { if (clipboardData.getData("Text")) this.pMainObj.PasteAsText(clipboardData.getData("Text")); } else { this.bNotFocus = true; this.pMainObj.OpenEditorDialog("pasteastext", false, 450); } } } ]; arButtons['SelectAll'] = ['BXButton', { id : 'SelectAll', iconkit : '_global_iconkit.gif', name: BX_MESS.SelectAllTitle, cmd: 'SelectAll' } ]; if(BX.browser.IsIE()) { arButtons['Undo'] = ['BXButton', { id : 'Undo', iconkit : '_global_iconkit.gif', name : BX_MESS.Undo, OnChangeContent : function(){this.Disable(!this.pMainObj.UndoStatus());}, OnCreate : function(){this.pMainObj.AddEventHandler("OnChange", this.OnChangeContent, this);}, handler : function(){this.pMainObj.Undo(1);} } ]; arButtons['Redo'] = ['BXButton', { id : 'Redo', iconkit : '_global_iconkit.gif', name: BX_MESS.Redo, OnChangeContent: function(){this.Disable(!this.pMainObj.RedoStatus());}, OnCreate: function(){this.pMainObj.AddEventHandler("OnChange", this.OnChangeContent, this);}, handler: function(){this.pMainObj.Redo(1);} } ]; } else { arButtons['Undo'] = ['BXButton', { id : 'Undo', iconkit : '_global_iconkit.gif', name : BX_MESS.Undo, cmd : 'Undo' } ]; arButtons['Redo'] = ['BXButton', { id : 'Redo', iconkit : '_global_iconkit.gif', name : BX_MESS.Redo, cmd : 'Redo' } ]; } arButtons['borders'] = ['BXButton', { name : BX_MESS.BordersTitle, id : 'borders', iconkit : '_global_iconkit.gif', handler : function () { this.pMainObj.ShowTableBorder(!this.pMainObj.bTableBorder); this.Check(this.pMainObj.bTableBorder); }, OnCreate : function () { var _this = this; setTimeout(function(){_this.Check(_this.pMainObj.bTableBorder);}, 10); return true; } } ]; arButtons['table'] = ['BXButton', { id : 'table', iconkit : '_global_iconkit.gif', name : BX_MESS.TBInsTable, title : BX_MESS.TBInsTable, handler : function () { this.bNotFocus = true; this.pMainObj.OpenEditorDialog("table", false, 500); } } ]; arButtons['anchor'] = ['BXButton', { id : 'anchor', iconkit : '_global_iconkit.gif', name: 'Anchor', title: BX_MESS.TBAnchor, handler: function () { this.bNotFocus = true; this.pMainObj.OpenEditorDialog("anchor", null, 400); } } ]; arButtons['CreateLink'] = ['BXButton', { id : 'CreateLink', iconkit : '_global_iconkit.gif', name : BX_MESS.TBLink, title : BX_MESS.TBLink, handler : function () { this.bNotFocus = true; this.pMainObj.OpenEditorDialog("editlink", null, 520); } } ]; arButtons['deletelink'] = ['BXButton', { id : 'deletelink', iconkit : '_global_iconkit.gif', name : BX_MESS.TBDelLink, cmd : 'Unlink', handler : function() { var pElement = BXFindParentByTagName(this.pMainObj.GetSelectionObject(), 'A'); if(pElement) { this.pMainObj.SelectElement(pElement); this.pMainObj.executeCommand('Unlink'); } } } ]; arButtons['image'] = ['BXButton', { id : 'image', iconkit : '_global_iconkit.gif', name : BX_MESS.TBImg, handler : function () { this.bNotFocus = true; var p = this.pMainObj.GetSelectionObject(); if (!p || p.tagName != 'IMG') p = false; this.pMainObj.OpenEditorDialog("image", p, 500); } } ]; arButtons['SpecialChar'] = ['BXButton', { id : 'SpecialChar', iconkit : '_global_iconkit.gif', name : BX_MESS.SpecialCharTitle, handler : function () { this.bNotFocus = true; this.pMainObj.OpenEditorDialog("specialchar", false, 610, {pMainObj:this.pMainObj}); } } ]; arButtons['Bold'] = ['BXButton', { id : 'Bold', iconkit : '_global_iconkit.gif', name : BX_MESS.TBBold, title : BX_MESS.TBBold + " (Ctrl + B)", cmd : 'Bold' } ]; arButtons['Italic'] = ['BXButton', { id : 'Italic', iconkit : '_global_iconkit.gif', name : BX_MESS.TBItalic, title : BX_MESS.TBItalic + " (Ctrl + I)", cmd : 'Italic' } ]; arButtons['Underline'] = ['BXButton', { id : 'Underline', iconkit : '_global_iconkit.gif', name : BX_MESS.TBUnderline, title : BX_MESS.TBUnderline + " (Ctrl + U)", cmd : 'Underline' } ]; arButtons['Strike'] = ['BXButton', { id : 'Strike', iconkit : '_global_iconkit.gif', name : BX_MESS.TBStrike, handler : function () { var pElement = this.pMainObj.GetSelectedNode(true), bFind = false, st; while(!bFind) { if (!pElement) break; if (pElement.nodeType == 1 && (pElement.style.textDecoration == "line-through" || pElement.nodeName.toLowerCase() == 'strike')) bFind = true; else pElement = pElement.parentNode; } if (bFind) { pElement.style.textDecoration = ""; this.pMainObj.RidOfNode(pElement, pElement.nodeName.toLowerCase() == 'strike'); this.Check(false); } else { this.pMainObj.WrapSelectionWith("span", {style: {textDecoration : "line-through"}}); this.pMainObj.OnEvent("OnSelectionChange"); } }, OnSelectionChange: function () { var pElement = this.pMainObj.GetSelectedNode(true), bFind = false, st; while(!bFind) { if (!pElement) break; if (pElement.nodeType == 1 && (BX.style(pElement, 'text-decoration', null) == "line-through" || pElement.nodeName.toLowerCase() == 'strike')) { bFind = true; break; } else pElement = pElement.parentNode; } this.Check(bFind); } } ]; arButtons['RemoveFormat'] = ['BXButton', { id : 'RemoveFormat', iconkit : '_global_iconkit.gif', name : BX_MESS.RemoveFormat, cmd : 'RemoveFormat' } ]; arButtons['Optimize'] = ['BXButton', { id : 'Optimize', iconkit : '_global_iconkit.gif', name : BX_MESS.Optimize, handler : function () { var pMainObj = this.pMainObj; pMainObj.CollapseSelection(); pMainObj.insertHTML('<a href="#" id="' + pMainObj.SetBxTag(false, {tag: "cursor"}) + '">|</a>'); pMainObj.OnEvent('ClearResourcesBeforeChangeView'); pMainObj.SaveContent(); var content = pMainObj.GetContent(); content = pMainObj.OptimizeHTML(content); // optimize content = pMainObj.pParser.SystemParse(content); // Parse pMainObj.pEditorDocument.body.innerHTML = content; setTimeout(function() { try{ var pCursor = pMainObj.pEditorDocument.getElementById(pMainObj.lastCursorId); if (pCursor && pCursor.parentNode) { pMainObj.SelectElement(pCursor); pCursor.parentNode.removeChild(pCursor); pMainObj.SetFocus(); pMainObj.insertHTML(''); } }catch(e){} }, 100); } } ]; // CELL arButtons['insertcell_before'] = ['BXButton', { id : 'insertcell_before', iconkit : '_global_iconkit.gif', name: BX_MESS.TBInsCellBefore, handler: function () {this.pMainObj.TableOperation('cell', 'insert_before', arguments[0]);} }]; arButtons['insertcell_after'] = ['BXButton', { id : 'insertcell_after', iconkit : '_global_iconkit.gif', name: BX_MESS.TBInsCellAfter, handler: function () {this.pMainObj.TableOperation('cell', 'insert_after', arguments[0]);} }]; arButtons['deletecell'] = ['BXButton', { id : 'deletecell', iconkit : '_global_iconkit.gif', name: BX_MESS.TBDellCell, handler: function () {this.pMainObj.TableOperation('cell', 'delete', arguments[0]);} }]; arButtons['mergecells'] = ['BXButton', { id : 'mergecells', iconkit : '_global_iconkit.gif', name: BX_MESS.TBMergeCell, handler: function () {this.pMainObj.TableOperation('cell', 'merge', arguments[0]);}, disablecheck: function (oTable, pMainObj) { var arCells = pMainObj.getSelectedCells(); if (arCells.length < 2) return true; return false; } }]; arButtons['merge_right'] = ['BXButton', { id : 'merge_right', iconkit : '_global_iconkit.gif', name: BX_MESS.TBMergeRight, handler: function () {this.pMainObj.TableOperation('cell', 'mergeright', arguments[0]);}, disablecheck: function (oTable, pMainObj) { var arCells = pMainObj.getSelectedCells(); if (arCells.length != 1 || !arCells[0].parentNode.cells[arCells[0].cellIndex + 1]) return true; return false; } }]; arButtons['merge_bottom'] = ['BXButton', { id : 'merge_bottom', iconkit : '_global_iconkit.gif', name: BX_MESS.TBMergeBottom, handler: function () {this.pMainObj.TableOperation('cell', 'mergebottom', arguments[0]);}, disablecheck: function (oTable, pMainObj) { var arCells = pMainObj.getSelectedCells(); if (arCells.length != 1) return true; var oTR = arCells[0].parentNode; if (!oTR.parentNode.rows[oTR.rowIndex + 1]) return true; return false; } }]; arButtons['split_hor'] = ['BXButton', { id : 'split_hor', iconkit : '_global_iconkit.gif', name: BX_MESS.TBSplitCellHor, handler: function () {this.pMainObj.TableOperation('cell', 'splithorizontally', arguments[0]);}, disablecheck: function (oTable, pMainObj) { var arCells = pMainObj.getSelectedCells(); if (arCells.length != 1) return true; return false; } }]; arButtons['split_ver'] = ['BXButton', { id : 'split_ver', iconkit : '_global_iconkit.gif', name: BX_MESS.TBSplitCellVer, handler: function () {this.pMainObj.TableOperation('cell', 'splitvertically', arguments[0]);}, disablecheck: function (oTable, pMainObj) { var arCells = pMainObj.getSelectedCells(); if (arCells.length != 1) return true; return false; } }]; // ROW arButtons['insertrow_before'] = ['BXButton', { id : 'insertrow_before', iconkit : '_global_iconkit.gif', name: BX_MESS.TBInsRowUpper, handler: function () {this.pMainObj.TableOperation('row', 'insertbefore', arguments[0]);} }]; arButtons['insertrow_after'] = ['BXButton', { id : 'insertrow_after', iconkit : '_global_iconkit.gif', name: BX_MESS.TBInsRowLower, handler: function () {this.pMainObj.TableOperation('row', 'insertafter', arguments[0]);} }]; arButtons['mergeallcellsinrow'] = ['BXButton', { id : 'mergeallcellsinrow', iconkit : '_global_iconkit.gif', name: BX_MESS.TBMergeRowCells, handler: function () {this.pMainObj.TableOperation('row', 'mergecells', arguments[0]);} }]; arButtons['deleterow'] = ['BXButton', { id : 'deleterow', iconkit : '_global_iconkit.gif', name: BX_MESS.TBDelRow, handler: function () { this.pMainObj.TableOperation('row', 'delete', arguments[0]);} }]; // COLUMN arButtons['insertcolumn_before'] = ['BXButton', { id : 'insertcolumn_before', iconkit : '_global_iconkit.gif', name: BX_MESS.TBInsColLeft, handler: function () {this.pMainObj.TableOperation('column', 'insertleft', arguments[0]);} }]; arButtons['insertcolumn_after'] = ['BXButton', { id : 'insertcolumn_after', iconkit : '_global_iconkit.gif', name: BX_MESS.TBInsColRight, handler: function () {this.pMainObj.TableOperation('column', 'insertright', arguments[0]);} }]; arButtons['mergeallcellsincolumn'] = ['BXButton', { id : 'mergeallcellsincolumn', iconkit : '_global_iconkit.gif', name: BX_MESS.TBMergeColCells, handler: function () {this.pMainObj.TableOperation('column', 'mergecells', arguments[0]);}, disablecheck: function (oTable, pMainObj) { return false; var arCells = pMainObj.getSelectedCells(); if (arCells.length != 1 || arCells[0].parentNode.rowIndex == arCells[0].parentNode.parentNode.rows.length - 1) return true; return false; } }]; arButtons['deletecolumn'] = ['BXButton', { id : 'deletecolumn', iconkit : '_global_iconkit.gif', name: BX_MESS.TBDelCol, handler: function () {this.pMainObj.TableOperation('column', 'delete', arguments[0]);} }]; arButtons['deltable'] = ['BXButton', { id : 'deletetable', iconkit : '_global_iconkit.gif', name: BX_MESS.DeleteTable, title: BX_MESS.DeleteTable, handler: function () { this.pMainObj.bSkipChanges = false; var pElement = BXFindParentByTagName(this.pMainObj.GetSelectionObject(), 'TABLE'); if (pElement && pElement.nodeName.toUpperCase() == 'TABLE') pElement.parentNode.removeChild(pElement); this.pMainObj.OnChange("table", "deltable"); } }]; arButtons['tableprop'] = ['BXButton', { id : 'tableprop', iconkit : '_global_iconkit.gif', name: BX_MESS.TBTableProp, title: BX_MESS.TBTableProp, handler: function () { this.bNotFocus = true; var p = BXFindParentByTagName(this.pMainObj.GetSelectionObject(), 'TABLE'); if (p) this.pMainObj.OpenEditorDialog("table", p, 450, {check_exists: true}); } }]; arButtons['InsertHorizontalRule'] = ['BXButton', { id : 'InsertHorizontalRule', iconkit : '_global_iconkit.gif', name : BX_MESS.TBHr, handler: function() { if (BX.browser.IsIE()) this.pMainObj.pMainObj.executeCommand('InsertHorizontalRule'); else this.pMainObj.insertHTML('<img style="padding: 2px; width: 100%; height: 2px;" src="' + image_path + '/break_page.gif" id="' + this.pMainObj.SetBxTag(false, {tag: "hr", params: {value: "<hr/>"}}) + '"/>'); } } ]; // arButtons['Justify'] = ['BXGroupedButton', // { // id: 'Justify', // buttons: [ // { // id : 'JustifyLeft', // name : BX_MESS.TBJLeft, // cmd : 'JustifyLeft' // }, // { // id : 'JustifyCenter', // name : BX_MESS.TBJCent, // cmd : 'JustifyCenter' // }, // { // id : 'JustifyRight', // name : BX_MESS.TBJRig, // cmd : 'JustifyRight' // }, // { // id : 'JustifyFull', // name : BX_MESS.TBJFull, // cmd : 'JustifyFull' // } // ] // } // ]; arButtons['JustifyLeft'] = ['BXButton', { id : 'JustifyLeft', iconkit : '_global_iconkit.gif', name : BX_MESS.TBJLeft, cmd : 'JustifyLeft' } ]; arButtons['JustifyCenter'] = ['BXButton', { id : 'JustifyCenter', iconkit : '_global_iconkit.gif', name : BX_MESS.TBJCent, cmd : 'JustifyCenter' } ]; arButtons['JustifyRight'] = ['BXButton', { id : 'JustifyRight', iconkit : '_global_iconkit.gif', name : BX_MESS.TBJRig, cmd : 'JustifyRight' } ]; arButtons['JustifyFull'] = ['BXButton', { id : 'JustifyFull', iconkit : '_global_iconkit.gif', name : BX_MESS.TBJFull, cmd : 'JustifyFull' } ]; arButtons['InsertOrderedList'] = ['BXButton', { id : 'InsertOrderedList', iconkit : '_global_iconkit.gif', name : BX_MESS.TBOList, cmd : 'InsertOrderedList' } ]; arButtons['InsertUnorderedList'] = ['BXButton', { id : 'InsertUnorderedList', iconkit : '_global_iconkit.gif', name : BX_MESS.TBUnOList, cmd : 'InsertUnorderedList' } ]; arButtons['Outdent'] = ['BXButton', { id : 'Outdent', iconkit : '_global_iconkit.gif', name : BX_MESS.TBOutdent, title : BX_MESS.TBOutdent + "(Shift + Tab)", cmd : 'Outdent' } ]; arButtons['Indent'] = ['BXButton', { id : 'Indent', iconkit : '_global_iconkit.gif', title : BX_MESS.TBIndent + "(Tab)", name : BX_MESS.TBIndent, cmd : 'Indent' } ]; arButtons['BackColor'] = ['BXEdColorPicker', { id : 'BackColor', title : BX_MESS.Background_Color, disableOnCodeView: true, OnChange : function (color) { if(BX.browser.IsIE()) { this.pMainObj.executeCommand('BackColor', color); } else { try{ this.pMainObj.pEditorDocument.execCommand("styleWithCSS", false, true); if (!color) this.pMainObj.executeCommand('removeFormat'); //BXClearMozDirtyInRange(this.pMainObj); else this.pMainObj.executeCommand('hilitecolor', color); this.pMainObj.pEditorDocument.execCommand("styleWithCSS", false, false); }catch(e){_alert('Error: toolbarbuttons.js: arButtons["BackColor"]');} } } } ]; arButtons['ForeColor'] = ['BXEdColorPicker', { id : 'ForeColor', title : BX_MESS.Foreground_Color, disableOnCodeView : true, OnChange : function (color) { if (!color && !BX.browser.IsIE()) this.pMainObj.executeCommand('removeFormat'); else this.pMainObj.executeCommand('ForeColor', color); } } ]; var __BXSrcBtn = function (mode, split_mode) { this.Check(mode==this.t); this._OnChangeView(mode, split_mode); } arButtons['wysiwyg'] = ['BXButton', { id : 'wysiwyg', iconkit : '_global_iconkit.gif', codeEditorMode : true, name : BX_MESS.TBWysiwyg, t : 'html', OnChangeView : __BXSrcBtn, handler : function () {this.pMainObj.SetView('html');} } ]; arButtons['source'] = ['BXButton', { id : 'source', iconkit : '_global_iconkit.gif', codeEditorMode : true, name : BX_MESS.TBSrc, t : 'code', OnChangeView : __BXSrcBtn, handler : function () {this.pMainObj.SetView('code');} } ]; arButtons['split'] = ['BXButton', { id : 'split', iconkit : '_global_iconkit.gif', codeEditorMode : true, name : BX_MESS.TBSplitmode, t : 'split', OnChangeView : __BXSrcBtn, handler : function () {this.pMainObj.SetView('split');} } ]; arButtons['Wrap'] = ['BXButton', { id : 'Wrap', iconkit : '_global_iconkit.gif', name : BX_MESS.WrapTitle, codeEditorMode : true, hideInHtmlEditorMode : true, //hideInFF : true, hideCondition: function() {return (navigator.appName=='Netscape');}, defaultState : true, handler : function () { if (!this.pWnd.checked) { this.pMainObj.pSourceFrame.wrap = 'soft'; this.Check(true); } else { this.pMainObj.pSourceFrame.wrap = 'OFF'; this.Check(false); } this.pMainObj.pSourceFrame.focus(); } } ]; arButtons['HeadingList'] = ['BXEdList', { id: 'HeadingList', field_size: 75, width: 210, title: '(' + BX_MESS.Format + ')', disableOnCodeView: true, bAdminConfigure: true, //bSetGlobalStyles: false, values: [ {value: 'p', name: 'Normal'}, {value: 'h1', name: 'Heading 1'}, {value: 'h2', name: 'Heading 2'}, {value: 'h3', name: 'Heading 3'}, {value: 'h4', name: 'Heading 4'}, {value: 'h5', name: 'Heading 5'}, {value: 'h6', name: 'Heading 6'}, {value: 'pre', name: 'Preformatted'} ], OnSelectionChange: function (){ var sel = 0; var frm = this.pMainObj.queryCommand('FormatBlock'); if(frm) { var re = /[1-6]/; var r = frm.match(re); if(r>0) sel = r; else if(frm == 'pre') sel = 7; } this.Select(sel); }, OnChange: function (selected){this.pMainObj.executeCommand('FormatBlock', (selected['value'].length>0?'<' + selected['value']+'>':'<p>'));}, OnDrawItem: function (item) { if (!styleList_render_style) return item['name']; return (item['value'].length <= 0 ? item['name'] : '<'+item['value']+'>'+item['name']+'</'+item['value']+'>'); } } ]; arButtons['FontName'] = ['BXEdList', { id: 'FontName', field_size: 75, title: '('+BX_MESS.Font+')', disableOnCodeView: true, values: [ {value: 'Times New Roman', name: 'Times New Roman'}, {value: 'Courier', name: 'Courier'}, {value: 'Arial', name: 'Arial'}, {value: 'Tahoma', name: 'Tahoma'}, {value: 'Verdana', name: 'Verdana'}, {value: 'Georgia', name: 'Georgia'} ], OnSelectionChange: function (){ this.SelectByVal(this.pMainObj.queryCommand('FontName')); }, OnChange: function (selected){this.pMainObj.executeCommand('FontName', selected['value']);}, //text-overflow : ellipsis; OnDrawItem: function (item){return '<span style="white-space: nowrap; font-family:'+item['name']+';font-size: 10pt;">'+item['name']+'</span>';} } ]; arButtons['FontSize'] = ['BXEdList', { id: 'FontSize', width: 250, field_size: 75, title: '(' + BX_MESS.Size + ')', disableOnCodeView: true, values: [ {value: '1', name: 'xx-small'}, {value: '2', name: 'x-small'}, {value: '3', name: 'small'}, {value: '4', name: 'medium'}, {value: '5', name: 'large'}, {value: '6', name: 'x-large'}, {value: '7', name: 'xx-large'} ], OnSelectionChange: function (){ this.SelectByVal(this.pMainObj.queryCommand('FontSize')); }, OnChange: function (selected){this.pMainObj.executeCommand('FontSize', selected['value']);}, OnDrawItem: function (item){return '<font size="'+item['value']+'">'+item['name']+'</font>';} } ]; arButtons['FontStyle'] = ['BXStyleList', { id: 'FontStyle', width: 200, field_size: 130, title: '(' + BX_MESS.Style + ')', disableOnCodeView: true, filter: ['DEFAULT'], prevType : false, deleteIfNoItems : true, OnChangeElement: function (arSelected) { if (this.pElement.tagName.toUpperCase() == 'BODY') this.pElement.innerHTML = '<span class="'+arSelected["value"]+'">'+this.pElement.innerHTML+'</span>'; else SAttr(this.pElement, 'className', arSelected["value"]); }, OnChangeText: function (arSelected) { var pElement = this.pMainObj.GetSelectedNode(true); if(arSelected["value"] == '') this.RemoveClass(pElement); else this.OptimizeSelection( { nodes: this.pMainObj.WrapSelectionWith("span", {props: {className: arSelected["value"]}}), className: arSelected["value"] }); }, OnSelectionChange: function () { var pElement = this.pMainObj.GetSelectedNode(); if(pElement && pElement.nodeType == 1) { if(this.prevType != pElement.tagName.toUpperCase()) { this.prevType = pElement.tagName.toUpperCase(); this.tag_name = pElement.tagName.toUpperCase(); this.filter = [pElement.tagName.toUpperCase(), 'DEFAULT']; this.FillList(); } this.pElement = pElement; this.OnChange = this.OnChangeElement; this.SelectByVal(this.pElement.className); } else { this.OnChange = this.OnChangeText; if(this.prevType != 'DEFAULT') { this.prevType = 'DEFAULT'; this.filter = ['DEFAULT']; this.tag_name = ''; this.FillList(); } this.SelectByVal(); if(pElement) { if(BX.browser.IsIE() && pElement.parentElement && (pElement = pElement.parentElement())) pElement = pElement.childNodes[0]; while(pElement = pElement.parentNode) { if(pElement.nodeType == 1 && pElement.tagName.toUpperCase() == 'TABLE') break; if(pElement.nodeType == 1 && pElement.className) { if(pElement.tagName.toUpperCase() != 'SPAN' && pElement.tagName.toUpperCase() != 'FONT') break; this.SelectByVal(pElement.className); break; } } } } } } ]; arButtons['Template'] = ['BXEdList', { id: 'Template', width: 240, maxHeight: 250, field_size: 150, title: '('+BX_MESS.Template+')', values: window.arBXTemplates, bSetFontSize: true, bSetGlobalStyles: true, OnCreate: function () { this.pMainObj.pTemplateListbox = this; }, OnInit: function () { this.SelectByVal(this.pMainObj.templateID); }, OnChange: function (selected) { this.pMainObj.LoadTemplateParams(selected['value']); if (this.pMainObj.pComponent2Taskbar) checkComp2Template(this.pMainObj); } } ]; // FLASH, BREAK, ..... arButtons['page_break'] = [ 'BXButton', { id : 'page_break', iconkit : '_global_iconkit.gif', name : BX_MESS.PAGE_BREAK, handler : function () { this.pMainObj.insertHTML('<img style="width: 100%; height: 4px;" src="' + image_path + '/break_page.gif" id="' + this.pMainObj.SetBxTag(false, {tag: "break_page"}) + '"/>'); } } ]; arButtons['break_tag'] = [ 'BXButton', { id : 'break_tag', iconkit : '_global_iconkit.gif', name : BX_MESS.BREAK_TAG, handler : function () { this.pMainObj.insertHTML("<img src=\"" + image_path + "/break_tag.gif\" id=\"" + this.pMainObj.SetBxTag(false, {tag: 'break'}) + "\"/>"); } } ]; arButtons['insert_flash'] = [ 'BXButton', { id : 'insert_flash', iconkit : '_global_iconkit.gif', name : BX_MESS.FLASH, handler : function () {this.bNotFocus = true; this.pMainObj.OpenEditorDialog("flash", false, 500, {bUseTabControl: true, pMainObj: this.pMainObj});} } ]; arButtons['edit_flash'] = [ 'BXButton', { id : 'insert_flash', iconkit : '_global_iconkit.gif', name : BX_MESS.FLASH_MOV, handler : function () { this.bNotFocus = true; this.pMainObj.OpenEditorDialog("flash", false, 500, {bUseTabControl: true, pMainObj: this.pMainObj}); } } ]; arButtons['_taskbar_close'] = ['BXButton', {id : '_taskbar_close', iconkit : '_global_iconkit.gif', name : BX_MESS.Close, title : BX_MESS.Close_toolbar, handler : function (arParams){arParams.pTaskbar.Close();}}]; arButtons['_taskbar_refresh'] = ['BXButton',{id : '_taskbar_refresh', iconkit : '_global_iconkit.gif', name : BX_MESS.RefreshData, title : BX_MESS.RefreshData, handler: function(arParams){arParams.pTaskbar.ClearCache();}}]; arButtons['_taskbar_hide'] = ['BXButton', {id : '_taskbar_hide', iconkit : '_global_iconkit.gif', name : BX_MESS.Hide, title : BX_MESS.Hide_toolbar, handler : function (arParams){arParams.pTaskbar.pTaskbarSet.Hide();}}]; arButtons['_settings'] = ['BXButton', {id : '_settings', iconkit : '_global_iconkit.gif', name : BX_MESS.Settings, title : BX_MESS.Settings_toolbar, handler :function (arParams) {this.pMainObj.OpenEditorDialog("settings", false, 600, {bUseTabControl: true, lightMode: lightMode, PHPGetParams: '&light_mode=' + (lightMode ? 'Y' : 'N')});}}]; var arCMButtons = []; if (BX.browser.IsIE()) arCMButtons["DEFAULT"] = [arButtons['Cut'], arButtons['Copy'], arButtons['Paste']]; else arCMButtons["DEFAULT"] = []; // FF - operations 'copy', 'cut' and 'paste' are unallowed arCMButtons["A"] = [arButtons['CreateLink'], arButtons['deletelink']]; arCMButtons["IMG"] = [arButtons['image']]; arCMButtons["FLASH"] = [arButtons['edit_flash']]; arCMButtons["TABLE"] = [ { isgroup : true, id : 'table_cell', name : BX_MESS.TBInsCell, elements : [ arButtons['insertcell_before'], arButtons['insertcell_after'], arButtons['deletecell'], arButtons['mergecells'], arButtons['merge_right'], arButtons['merge_bottom'], arButtons['split_hor'], arButtons['split_ver'] ] }, { isgroup : true, id : 'table_row', name : BX_MESS.TBInsRow, elements : [ arButtons['insertrow_before'], arButtons['insertrow_after'], arButtons['deleterow'], arButtons['mergeallcellsinrow'] ] }, { isgroup : true, id : 'table_column', name : BX_MESS.TBInsColumn, elements : [ arButtons['insertcolumn_before'], arButtons['insertcolumn_after'], arButtons['deletecolumn'], arButtons['mergeallcellsincolumn'] ] }, arButtons['deltable'], arButtons['tableprop'] ]; arCMButtons["_TASKBAR_DEFAULT"] = [arButtons['_taskbar_hide'], arButtons['_settings'], arButtons['_taskbar_close']]; arCMButtons["_TASKBAR_PROPERTIES"] = [arButtons['_taskbar_hide'], arButtons['_settings']]; arCMButtons["_TASKBAR_CACHED"] = [arButtons['_taskbar_hide'], arButtons['_taskbar_refresh'], arButtons['_settings'], arButtons['_taskbar_close']]; if (!window.arToolbars) arToolbars = {}; arToolbars['standart'] = [ BX_MESS.TBSStandart, [ arButtons['Fullscreen'], 'separator', arButtons['Settings'], arButtons['separator'], arButtons['Cut'], arButtons['Copy'], arButtons['Paste'], arButtons['pasteword'], arButtons['pastetext'], arButtons['SelectAll'], arButtons['separator'], arButtons['Undo'], arButtons['Redo'], arButtons['separator'], arButtons['borders'], 'separator', arButtons['table'], arButtons['anchor'], arButtons['CreateLink'], arButtons['deletelink'], arButtons['image'], 'separator', arButtons['SpecialChar'], arButtons['page_break'], arButtons['break_tag'], arButtons['insert_flash'] ] ]; arToolbars['style'] = [ BX_MESS.TBSStyle, [arButtons['FontStyle'], arButtons['HeadingList'], arButtons['FontName'], arButtons['FontSize'], arButtons['separator'], arButtons['Bold'], arButtons['Italic'], arButtons['Underline'], arButtons['Strike'], 'separator', arButtons['RemoveFormat'], arButtons['Optimize'] ] ]; arToolbars['formating'] = [ BX_MESS.TBSFormat, [arButtons['InsertHorizontalRule'], arButtons['separator'], //arButtons['Justify'], arButtons['separator'], arButtons['JustifyLeft'], arButtons['JustifyCenter'], arButtons['JustifyRight'], arButtons['JustifyFull'], arButtons['separator'], arButtons['InsertOrderedList'], arButtons['InsertUnorderedList'],arButtons['separator'], arButtons['Outdent'], arButtons['Indent'], arButtons['separator'], arButtons['BackColor'], arButtons['ForeColor'] ] ]; arToolbars['source'] = [ BX_MESS.TBSEdit, [arButtons['wysiwyg'], arButtons['source'], arButtons['split'], arButtons['Wrap']] ]; arToolbars['template'] = [ BX_MESS.TBSTemplate, [arButtons['Template']] ]; var arDefaultTBPositions = { standart: [0, 0, 0], template: [0, 0, 2], source: [1, 0, 0], style: [0, 1, 0], formating: [0, 1, 1] }; pPropertybarHandlers['table'] = function (bNew, pTaskbar, pElement) { if(bNew) { pTaskbar.arElements = []; var tProp; var arBarHandlersCache = pTaskbar.pMainObj.arBarHandlersCache; if(arBarHandlersCache['table']) { var tProp = arBarHandlersCache['table'][0]; pTaskbar.arElements = arBarHandlersCache['table'][1]; } else { tProp = pTaskbar.pMainObj.pDocument.createElement("TABLE"); tProp.className = "bxtaskbarprops"; tProp.style.width = "100%"; //tProp.style.height = "100%"; tProp.cellSpacing = 0; tProp.cellPadding = 1; var row = tProp.insertRow(-1); var cell = row.insertCell(-1); cell.align = 'right'; cell.appendChild(pTaskbar.pMainObj.CreateElement("SPAN", {'innerHTML':BX_MESS.TPropSize})); cell = row.insertCell(-1); cell.noWrap = true; pTaskbar.arElements['width'] = cell.appendChild(pTaskbar.pMainObj.CreateElement("INPUT", {'size':'5', 'title': BX_MESS.TPropW, 'type': 'text'})); cell.appendChild(pTaskbar.pMainObj.CreateElement("SPAN", {'innerHTML':'x'})); pTaskbar.arElements['height'] = cell.appendChild(pTaskbar.pMainObj.CreateElement("INPUT", {'size':'5', 'title': BX_MESS.TPropH, 'type': 'text'})); cell = row.insertCell(-1); cell.align = 'right'; cell.appendChild(pTaskbar.pMainObj.CreateElement("SPAN", {'innerHTML':BX_MESS.TPropBord})); cell = row.insertCell(-1); pTaskbar.arElements['border'] = cell.appendChild(pTaskbar.pMainObj.CreateElement("INPUT", {'type': 'text', 'size': '5'})); //// row = tProp.insertRow(-1); cell = row.insertCell(-1); cell.align = 'right'; cell.appendChild(pTaskbar.pMainObj.CreateElement("SPAN", {'innerHTML':BX_MESS.TPropStyle})); cell = row.insertCell(-1); //1 var pObjTemp = pTaskbar.pMainObj.CreateCustomElement('BXStyleList', { id: 'tableStyleList', width: 200, field_size: 80, title: '(' + BX_MESS.Style + ')', tag_name: 'TABLE', filter: ['TABLE', 'DEFAULT'], disableOnCodeView: true, OnChangeElement: function (arSelected) { SAttr(this.pElement, 'className', arSelected["value"]); }, OnChangeText: function (arSelected) { var pElement = this.pMainObj.GetSelectedNode(true); if(arSelected["value"] == '') this.RemoveClass(pElement); else this.OptimizeSelection( { nodes: this.pMainObj.WrapSelectionWith("span", {props: {className: arSelected["value"]}}), className: arSelected["value"] }); }, OnSelectionChange: function () { var pElement = this.pMainObj.GetSelectedNode(); if(pElement && pElement.nodeType == 1) { if(this.prevType != pElement.tagName.toUpperCase()) { this.prevType = pElement.tagName.toUpperCase(); this.tag_name = pElement.tagName.toUpperCase(); this.filter = [pElement.tagName.toUpperCase(), 'DEFAULT']; this.FillList(); } this.pElement = pElement; this.OnChange = this.OnChangeElement; this.SelectByVal(this.pElement.className); } else { this.OnChange = this.OnChangeText; if(this.prevType != 'DEFAULT') { this.prevType = 'DEFAULT'; this.filter = ['DEFAULT']; this.tag_name = ''; this.FillList(); } this.SelectByVal(); if(pElement) { if(BX.browser.IsIE() && pElement.parentElement && (pElement = pElement.parentElement())) pElement = pElement.childNodes[0]; while(pElement = pElement.parentNode) { if(pElement.nodeType == 1 && pElement.tagName.toUpperCase() == 'TABLE') break; if(pElement.nodeType == 1 && pElement.className) { if(pElement.tagName.toUpperCase() != 'SPAN' && pElement.tagName.toUpperCase() != 'FONT') break; this.SelectByVal(pElement.className); break; } } } } } }); pTaskbar.arElements['cssclass'] = pObjTemp; cell.appendChild(pObjTemp.pWnd); pObjTemp = null; cell = row.insertCell(-1); cell.align = 'right'; cell.appendChild(pTaskbar.pMainObj.CreateElement("SPAN", {'innerHTML':BX_MESS.TPropBG})); pObjTemp = null; cell = row.insertCell(-1); pObjTemp = pTaskbar.pMainObj.CreateCustomElement('BXEdColorPicker', {with_input: true}); pTaskbar.arElements['bgcolor'] = pObjTemp; cell.appendChild(pObjTemp.pWnd); pObjTemp = null; //// row = tProp.insertRow(-1); cell = row.insertCell(-1); cell.align = 'right'; cell.appendChild(pTaskbar.pMainObj.CreateElement("SPAN", {'innerHTML':'CellPadding: '})); cell = row.insertCell(-1); pTaskbar.arElements['cellpadding'] = cell.appendChild(pTaskbar.pMainObj.CreateElement("INPUT", {'type': 'text', 'size': '5'})); cell = row.insertCell(-1); cell.align = 'right'; cell.appendChild(pTaskbar.pMainObj.CreateElement("SPAN", {'innerHTML':BX_MESS.TPropAlign})); cell = row.insertCell(-1); pObjTemp = pTaskbar.pMainObj.CreateCustomElement('BXTAlignPicker', {'type': 'table'}); pTaskbar.arElements['talign'] = pObjTemp; cell.appendChild(pObjTemp.pWnd); row = tProp.insertRow(-1); cell = row.insertCell(-1); cell.align = 'right'; cell.appendChild(pTaskbar.pMainObj.CreateElement("SPAN", {'innerHTML':'CellSpacing: '})); cell = row.insertCell(-1); pTaskbar.arElements['cellspacing'] = cell.appendChild(pTaskbar.pMainObj.CreateElement("INPUT", {'type': 'text', 'size': '5'})); cell = row.insertCell(-1); cell = row.insertCell(-1); arBarHandlersCache['table'] = [tProp, pTaskbar.arElements]; } tProp.id = 'tProp_leak'; pTaskbar.pCellProps.appendChild(tProp); cell = null; row = null; tProp = null; } pTaskbar.arElements['width'].value = GAttr(pElement, 'width'); pTaskbar.arElements['height'].value = GAttr(pElement, 'height'); pTaskbar.arElements['border'].value = GAttr(pElement, 'border'); pTaskbar.arElements['cellpadding'].value = GAttr(pElement, 'cellPadding'); pTaskbar.arElements['cellspacing'].value = GAttr(pElement, 'cellSpacing'); pTaskbar.arElements['bgcolor'].SetValue(pElement.bgColor); pTaskbar.arElements['talign'].SetValue(pElement.align); pTaskbar.arElements['cssclass'].SelectByVal(pElement.className); var fChange = function (){ SAttr(pElement, 'width', pTaskbar.arElements['width'].value); SAttr(pElement, 'height', pTaskbar.arElements['height'].value); SAttr(pElement, 'border', pTaskbar.arElements['border'].value); SAttr(pElement, 'cellPadding', pTaskbar.arElements['cellpadding'].value); SAttr(pElement, 'cellSpacing', pTaskbar.arElements['cellspacing'].value); }; pTaskbar.arElements['height'].onchange = fChange; pTaskbar.arElements['width'].onchange = fChange; pTaskbar.arElements['border'].onchange = fChange; pTaskbar.arElements['cellpadding'].onchange = fChange; pTaskbar.arElements['cellspacing'].onchange = fChange; pTaskbar.arElements['bgcolor'].OnChange = function (color) {pElement.bgColor = color;}; pTaskbar.arElements['talign'].OnChange = function (alH) {pElement.align = alH;}; pTaskbar.arElements['cssclass'].OnChange = function (className) {pElement.className=className.value;}; } pPropertybarHandlers['td'] = function (bNew, pTaskbar, pElement) { if(bNew) { pTaskbar.arElements = []; var tProp; var arBarHandlersCache = pTaskbar.pMainObj.arBarHandlersCache; if(arBarHandlersCache['td']) { tProp = arBarHandlersCache['td'][0]; pTaskbar.arElements = arBarHandlersCache['td'][1]; } else { tProp = pTaskbar.pMainObj.pDocument.createElement("TABLE"); tProp.className = "bxtaskbarprops"; tProp.style.width = "100%"; tProp.cellSpacing = 0; tProp.cellPadding = 1; var row = tProp.insertRow(-1); var cell = row.insertCell(-1); cell.align = 'right'; oSpan = pTaskbar.pMainObj.CreateElement("SPAN", {'innerHTML':BX_MESS.TPropStyle}); cell.appendChild(oSpan); oSpan = null; cell = row.insertCell(-1); //2 var pObjTemp = pTaskbar.pMainObj.CreateCustomElement('BXStyleList', { id: 'tdStyleList', width: 200, field_size: 80, title: '(' + BX_MESS.Style + ')', tag_name: 'TD', filter: ['TD', 'DEFAULT'], disableOnCodeView: true, OnChangeElement: function (arSelected) {SAttr(this.pElement, 'className', arSelected["value"]);}, OnChangeText: function (arSelected) { var pElement = this.pMainObj.GetSelectedNode(true); if(arSelected["value"] == '') this.RemoveClass(pElement); else this.OptimizeSelection( { nodes: this.pMainObj.WrapSelectionWith("span", {props: {className: arSelected["value"]}}), className: arSelected["value"] }); }, OnSelectionChange: function () { var pElement = this.pMainObj.GetSelectedNode(); if(pElement && pElement.nodeType == 1) { if(this.prevType != pElement.tagName.toUpperCase()) { this.prevType = pElement.tagName.toUpperCase(); this.tag_name = pElement.tagName.toUpperCase(); this.filter = [pElement.tagName.toUpperCase(), 'DEFAULT']; this.FillList(); } this.pElement = pElement; this.OnChange = this.OnChangeElement; this.SelectByVal(this.pElement.className); } else { this.OnChange = this.OnChangeText; if(this.prevType != 'DEFAULT') { this.prevType = 'DEFAULT'; this.filter = ['DEFAULT']; this.tag_name = ''; this.FillList(); } this.SelectByVal(); if(pElement) { if(BX.browser.IsIE() && pElement.parentElement && (pElement = pElement.parentElement())) pElement = pElement.childNodes[0]; while(pElement = pElement.parentNode) { if(pElement.nodeType == 1 && pElement.tagName.toUpperCase() == 'TABLE') break; if(pElement.nodeType == 1 && pElement.className) { if(pElement.tagName.toUpperCase() != 'SPAN' && pElement.tagName.toUpperCase() != 'FONT') break; this.SelectByVal(pElement.className); break; } } } } } }); pTaskbar.arElements['cssclass'] = pObjTemp; cell.appendChild(pObjTemp.pWnd); cell = row.insertCell(-1); cell.align = 'right'; var oSpan = pTaskbar.pMainObj.CreateElement("SPAN", {'innerHTML':BX_MESS.TPropSize}); cell.appendChild(oSpan); oSpan = null; cell = row.insertCell(-1); var oInput = pTaskbar.pMainObj.CreateElement("INPUT", {'size':'5', 'title': BX_MESS.TPropW, 'type': 'text'}); pTaskbar.arElements['width_val'] = cell.appendChild(oInput); oInput = null; var oSpan = pTaskbar.pMainObj.CreateElement("SPAN", {'innerHTML':'x'}); cell.appendChild(oSpan); oSpan = null; var oInput = pTaskbar.pMainObj.CreateElement("INPUT", {'size':'5', 'title': BX_MESS.TPropH, 'type': 'text'}); pTaskbar.arElements['height_val'] = cell.appendChild(oInput); oInput = null; row = tProp.insertRow(-1); cell = row.insertCell(-1); cell.align = 'right'; var oSpan = pTaskbar.pMainObj.CreateElement("SPAN", {'innerHTML':BX_MESS.TPropAlign}); cell.appendChild(oSpan); oSpan = null; cell = row.insertCell(-1); pObjTemp = pTaskbar.pMainObj.CreateCustomElement('BXTAlignPicker'); pTaskbar.arElements['talign'] = pObjTemp; cell.appendChild(pObjTemp.pWnd); pObjTemp = null; cell = row.insertCell(-1); cell.align = 'right'; var oSpan = pTaskbar.pMainObj.CreateElement("SPAN", {'innerHTML':BX_MESS.TPropBG}); cell.appendChild(oSpan); oSpan = null; cell = row.insertCell(-1); pObjTemp = pTaskbar.pMainObj.CreateCustomElement('BXEdColorPicker', {'with_input': true}); pTaskbar.arElements['bgcolor'] = pObjTemp; cell.appendChild(pObjTemp.pWnd); pObjTemp = null; row = tProp.insertRow(-1); cell = row.insertCell(-1); cell.align = 'right'; var oSpan = pTaskbar.pMainObj.CreateElement("SPAN", {'innerHTML': BX_MESS.TPropNoWrap+':'}); cell.appendChild(oSpan); oSpan = null; cell = row.insertCell(-1); var oInput = pTaskbar.pMainObj.CreateElement("INPUT", {'title': BX_MESS.TPropNoWrap, 'type': 'checkbox'}); pTaskbar.arElements['nowrap'] = cell.appendChild(oInput); oInput = null; arBarHandlersCache['td'] = [tProp, pTaskbar.arElements]; } tProp.id = 'tProp_td_leak'; pTaskbar.pCellProps.appendChild(tProp); pObjTemp = null; cell = null; row = null tProp = null; } pTaskbar.arElements['width_val'].value = pElement.width; pTaskbar.arElements['height_val'].value = pElement.height; pTaskbar.arElements['nowrap'].checked = pElement.noWrap; pTaskbar.arElements['bgcolor'].SetValue(pElement.bgColor); pTaskbar.arElements['talign'].SetValue(pElement.align, pElement.vAlign); pTaskbar.arElements['cssclass'].SelectByVal(pElement.className); var fChange = function () { pElement.width = pTaskbar.arElements['width_val'].value; pElement.height = pTaskbar.arElements['height_val'].value; pElement.noWrap = pTaskbar.arElements['nowrap'].checked; }; pTaskbar.arElements['height_val'].onchange = fChange; pTaskbar.arElements['width_val'].onchange = fChange; pTaskbar.arElements['nowrap'].onclick = fChange; pTaskbar.arElements['bgcolor'].OnChange = function (color) {pElement.bgColor = color;}; pTaskbar.arElements['talign'].OnChange = function (alH, alV) {pElement.align = alH; pElement.vAlign = alV;}; pTaskbar.arElements['cssclass'].OnChange = function (className) {pElement.className = className.value;}; } pPropertybarHandlers['a'] = function (bNew, pTaskbar, pElement) { var tProp, row, cell; if(bNew) { pTaskbar.arElements = []; var arBarHandlersCache = pTaskbar.pMainObj.arBarHandlersCache; if(arBarHandlersCache['a']) { tProp = arBarHandlersCache['a'][0]; pTaskbar.arElements = arBarHandlersCache['a'][1]; } else { tProp = BX.create('TABLE', {props: {className : "bxtaskbarprops"}}); row = tProp.insertRow(-1); // Url BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_a_url" class="bxpr-main">' + BX_MESS.TPropURL + ':</label>'}); pTaskbar.arElements.href = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("INPUT", {props: {size: '40', title: BX_MESS.TPropURL, type: 'text', id: "bxp_a_url"}})); // Target BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_a_target">' + BX_MESS.TPropTarget + ':</label>'}); pTaskbar.arElements.target = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("SELECT", {props: {title: BX_MESS.TPropTarget, id: "bxp_a_target"}})); var arOpt = [ ['', '- ' + BX_MESS.NoVal + ' -'], ['_blank', BX_MESS.TPropTargetBlank], ['_parent', BX_MESS.TPropTargetParent], ['_self', BX_MESS.TPropTargetSelf], ['_top', BX_MESS.TPropTargetTop] ], i, l = arOpt.length; for(i = 0; i < l; i++) pTaskbar.arElements.target.options.add(new Option(arOpt[i][1], arOpt[i][0], false, false)); row = tProp.insertRow(-1); // Title BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_a_title" class="bxpr-main">' + BX_MESS.TPropTitle + ':</label>'}); pTaskbar.arElements.title = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("INPUT", {props: {size: '40', type: 'text', title: BX_MESS.TPropTitle, id: "bxp_a_title"}})); // Class BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label>' + BX_MESS.TPropStyle + '</label>'}); pTaskbar.arElements.cssclass = pTaskbar.pMainObj.CreateCustomElement('BXStyleList', { id: 'linkStyleList', width: 200, field_size: 120, title: '(' + BX_MESS.Style + ')', tag_name: 'A', filter: ['A', 'DEFAULT'], disableOnCodeView: true, OnChange: function (arSelected) { SAttr(this.pElement, 'className', arSelected["value"]); } }); BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(pTaskbar.arElements.cssclass.pWnd); row = tProp.insertRow(-1); // Noindex pTaskbar.arElements.noindex = BX.adjust(row.insertCell(-1), {props: {align: 'right'}}).appendChild(BX.create("INPUT", {props: {type: 'checkbox', title: BX_MESS.LinkNoindex, id: "bxp_a_noindex"}})); BX.adjust(row.insertCell(-1), {props: {align: 'left'}, html: '<label for="bxp_a_noindex">' + BX_MESS.LinkNoindex + '</label>'}); // Id BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_a_id">ID:</label>'}); pTaskbar.arElements.id = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("INPUT", {props: {type: 'text', title: BX_MESS.TPropTitle, id: "bxp_a_id"}})); row = tProp.insertRow(-1); row.insertCell(-1); row.insertCell(-1); // Rel BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_a_rel">' + BX_MESS.Rel + ':</label>'}); pTaskbar.arElements.rel = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("INPUT", {props: {type: 'text', title: BX_MESS.Rel, id: "bxp_a_rel"}})); arBarHandlersCache['a'] = [tProp, pTaskbar.arElements]; } pTaskbar.pCellProps.appendChild(tProp); } var oTag = pTaskbar.pMainObj.GetBxTag(pElement); if (oTag.tag != 'a' || !oTag.params) return; pTaskbar.arElements.href.value = oTag.params.href || ''; pTaskbar.arElements.target.value = oTag.params.target || ''; pTaskbar.arElements.title.value = oTag.params.title || ''; pTaskbar.arElements.id.value = oTag.params.id || ''; pTaskbar.arElements.noindex.checked = !!oTag.params.noindex; if (oTag.params.noindex) { oTag.params.rel = "nofollow"; pTaskbar.arElements.rel.disabled = true; } else { pTaskbar.arElements.rel.disabled = false; } pTaskbar.arElements.rel.value = oTag.params.rel || ''; pTaskbar.arElements.cssclass.pElement = pElement; setTimeout(function() { //pTaskbar.arElements.cssclass.SelectByVal(oTag.params['class'], true); pTaskbar.arElements.cssclass.SelectByVal(pElement.className || "", true); }, 10); var arEls = ['href', 'title', 'id', 'rel', 'target']; pTaskbar.arElements.href.onchange = pTaskbar.arElements.title.onchange = pTaskbar.arElements.id.onchange = pTaskbar.arElements.rel.onchange = pTaskbar.arElements.noindex.onclick = pTaskbar.arElements.target.onchange = function () { oTag.params.href = pTaskbar.arElements.href.value; oTag.params.title = pTaskbar.arElements.title.value; oTag.params.id = pTaskbar.arElements.id.value; oTag.params.target = pTaskbar.arElements.target.value; oTag.params.noindex = !!pTaskbar.arElements.noindex.checked; if (oTag.params.noindex) { pTaskbar.arElements.rel.value = "nofollow"; pTaskbar.arElements.rel.disabled = true; } else { if (pTaskbar.arElements.rel.value == "nofollow" && this != pTaskbar.arElements.rel) pTaskbar.arElements.rel.value = ""; pTaskbar.arElements.rel.disabled = false; } oTag.params.rel = pTaskbar.arElements.rel.value; for (i = 0; i < l; i++) if (!pTaskbar.pMainObj.pParser.isPhpAttribute(oTag.params[arEls[i]])) SAttr(pElement, arEls[i], oTag.params[arEls[i]]); pTaskbar.pMainObj.SetBxTag(pElement, oTag); }; }; pPropertybarHandlers['anchor'] = function (bNew, pTaskbar, pElement) { if(bNew) { pTaskbar.arElements = []; var tProp; var arBarHandlersCache = pTaskbar.pMainObj.arBarHandlersCache; if(arBarHandlersCache['anchor']) { tProp = arBarHandlersCache['anchor'][0]; pTaskbar.arElements = arBarHandlersCache['anchor'][1]; } else { tProp = pTaskbar.pMainObj.CreateElement("TABLE"); tProp.className = "bxtaskbarprops"; tProp.style.width = "100%"; tProp.cellSpacing = 0; tProp.cellPadding = 1; var row, cell; row = tProp.insertRow(-1); cell = row.insertCell(-1); cell.align = 'right'; cell.width="50%"; cell.appendChild(pTaskbar.pMainObj.CreateElement("SPAN", {'innerHTML':BX_MESS.TPropName})); cell = row.insertCell(-1); cell.width="50%"; pTaskbar.arElements['name'] = cell.appendChild(pTaskbar.pMainObj.CreateElement("INPUT", {'size':'40', 'title': BX_MESS.TPropAnchorName, 'type': 'text'})); arBarHandlersCache['anchor'] = [tProp, pTaskbar.arElements]; } pTaskbar.pCellProps.appendChild(tProp); } var bxTag = pTaskbar.pMainObj.GetBxTag(pElement); pTaskbar.arElements['name'].value = pTaskbar.pMainObj.pParser.GetAnchorName(bxTag.params.value); pTaskbar.arElements['name'].onchange = function () { var bxTag = pTaskbar.pMainObj.GetBxTag(pElement); bxTag.params.value = pTaskbar.pMainObj.pParser.GetAnchorName(bxTag.params.value, pTaskbar.arElements.name.value); pTaskbar.pMainObj.SetBxTag(false, bxTag); }; }; pPropertybarHandlers['img'] = function (bNew, pTaskbar, pElement) { var tProp, row, cell; if(bNew) { pTaskbar.arElements = []; var arBarHandlersCache = pTaskbar.pMainObj.arBarHandlersCache; var arBarHandlersCache = []; if(arBarHandlersCache['img']) { tProp = arBarHandlersCache['img'][0]; pTaskbar.arElements = arBarHandlersCache['img'][1]; } else { tProp = BX.create('TABLE', {props: {className : "bxtaskbarprops"}}); row = tProp.insertRow(-1); // Src BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_img_src" class="bxpr-main">'+BX_MESS.TPropImgPath+'</label>'}); pTaskbar.arElements.src = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("INPUT", {props: {size: '40', title: BX_MESS.TPropImgPath2, type: 'text', id: "bxp_img_src"}})); // hspace BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_img_hspace">' + BX_MESS.TPropImgHSpace + '</label>'}); pTaskbar.arElements.hspace = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("INPUT", {props: {size: '6', title: BX_MESS.TPropImgHSpace, type: 'text', id: "bxp_img_hspace"}})); row = tProp.insertRow(-1); // Width and height BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_img_width" class="bxpr-main">' + BX_MESS.TPropSize + '</label>'}); var r = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("TABLE", {props: {className: "bx-sp-props-tbl"}})).insertRow(-1); var cell1 = r.insertCell(-1); pTaskbar.arElements.width = cell1.appendChild(BX.create("INPUT", {props: {size: '5', title: BX_MESS.TPropW, type: 'text', id: "bxp_img_width"}})); cell1.appendChild(BX.create("SPAN", {text : 'x', style: {margin: "0 3px"}})); pTaskbar.arElements.height = cell1.appendChild(BX.create("INPUT", {props: {size: '5', title: BX_MESS.TPropH, type: 'text', id: "bxp_img_height"}})); pTaskbar.arElements.saveProp = r.insertCell(-1).appendChild(BX.create("INPUT", {props: {title: BX_MESS.TPropW, type: 'checkbox', id: "bxp_img_save_prop", checked: true}, style: {marginLeft: "10px"}})); r.insertCell(-1).appendChild(BX.create("LABEL", {text: BX_MESS.SaveProp})).setAttribute("for", "bxp_img_save_prop"); // Vspace BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_img_vspace">' + BX_MESS.TPropImgVSpace + '</label>'}); pTaskbar.arElements.vspace = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("INPUT", {props: {size: '6', title: BX_MESS.TPropImgVSpace, type: 'text', id: "bxp_img_vspace"}})); row = tProp.insertRow(-1); // Title BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_img_title" class="bxpr-main">' + BX_MESS.TPropImgTitle + ':</label>'}); pTaskbar.arElements.title = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("INPUT", {props: {size: '40', title: BX_MESS.TPropImgTitle, type: 'text', id: "bxp_img_title"}})); // Style BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label>' + BX_MESS.TPropStyle + '</label>'}); pTaskbar.arElements.cssclass = pTaskbar.pMainObj.CreateCustomElement('BXStyleList', { id: 'imgStyleList', width: 200, field_size: 120, title: '(' + BX_MESS.Style + ')', tag_name: 'IMG', filter: ['IMG', 'DEFAULT'], disableOnCodeView: true, OnChange: function(arSelected) { SAttr(this.pElement, 'className', arSelected["value"]); } } ); BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(pTaskbar.arElements.cssclass.pWnd); row = tProp.insertRow(-1); // Alt BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_img_alt">' + BX_MESS.TPropImgAlt + ':</label>'}); pTaskbar.arElements.alt = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("INPUT", {props: {size: '40', title: BX_MESS.TPropImgAlt, type: 'text', id: "bxp_img_alt"}})); // Align BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label>' + BX_MESS.TPropAlign + '</label>'}); pTaskbar.arElements.talign = pTaskbar.pMainObj.CreateCustomElement('BXTAlignPicker', { type: 'image', OnChange: function (align) { pElement.align = align; } } ); BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(pTaskbar.arElements.talign.pWnd); row = tProp.insertRow(-1); // Border BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_img_border">' + BX_MESS.TPropImgBorder + ':</label>'}); pTaskbar.arElements.border = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("INPUT", {props: {size: '4', title: BX_MESS.TPropImgBorder, type: 'text', id: "bxp_img_border"}})); // Empty cells row.insertCell(-1); row.insertCell(-1); arBarHandlersCache['img'] = [tProp, pTaskbar.arElements]; } pTaskbar.pCellProps.appendChild(tProp); } var oTag = pTaskbar.pMainObj.GetBxTag(pElement); if (oTag.tag != 'img' || !oTag.params) return; var arEls = ['src', 'alt', 'title', 'hspace', 'vspace', 'border', 'width', 'height'], i, l = arEls.length; pTaskbar.arElements.src.value = oTag.params.src || ''; pTaskbar.arElements.alt.value = oTag.params.alt || ''; pTaskbar.arElements.title.value = oTag.params.title || ''; pTaskbar.arElements.hspace.value = oTag.params.hspace || ''; pTaskbar.arElements.vspace.value = oTag.params.vspace || ''; pTaskbar.arElements.border.value = oTag.params.border || ''; pTaskbar.arElements.talign.SetValue(oTag.params.align); pTaskbar.arElements.cssclass.pElement = pElement; pTaskbar.arElements.cssclass.SelectByVal(pElement.className || "", true); var w1 = parseInt(pElement.style.width) || parseInt(pElement.width) || parseInt(pElement.offsetWidth), h1 = parseInt(pElement.style.height) || parseInt(pElement.height) || parseInt(pElement.offsetHeight); pTaskbar.arElements.width.value = w1; pTaskbar.arElements.height.value = h1; if (w1 && h1) pTaskbar.iRatio = w1 / h1; else pTaskbar.iRatio = 1; var fChange = function () { oTag.params.src = pTaskbar.arElements.src.value; oTag.params.alt = pTaskbar.arElements.alt.value; oTag.params.title = pTaskbar.arElements.title.value; oTag.params.hspace = pTaskbar.arElements.hspace.value; oTag.params.vspace = pTaskbar.arElements.vspace.value; oTag.params.border = pTaskbar.arElements.border.value; var w = parseInt(pTaskbar.arElements.width.value); if (isNaN(w)) { pElement.removeAttribute('width'); pElement.style.width = ""; } else { pElement.removeAttribute('width'); if (parseInt(pElement.style.width) > 0) pElement.style.width = w + "px"; else SAttr(pElement, 'width', w); } var h = parseInt(pTaskbar.arElements.height.value); if (isNaN(h)) { pElement.removeAttribute('height'); pElement.style.height = ""; } else { pElement.removeAttribute('height'); if (parseInt(pElement.style.height) > 0) pElement.style.height = h + "px"; else SAttr(pElement, 'height', h); } for (i = 0; i < l; i++) { if (oTag.params[arEls[i]] && !pTaskbar.pMainObj.pParser.isPhpAttribute(oTag.params[arEls[i]]) && arEls[i] !== 'width' && arEls[i] !== 'height') SAttr(pElement, arEls[i], oTag.params[arEls[i]]); } pTaskbar.pMainObj.SetBxTag(pElement, oTag); } for (i = 0; i < l; i++) if (pTaskbar.arElements[arEls[i]]) pTaskbar.arElements[arEls[i]].onchange = fChange; // Save proportion feature pTaskbar.arElements.saveProp.onclick = function() { if (this.checked) pTaskbar.arElements.width.onchange(); }; pTaskbar.arElements.width.onchange = function() { var wval = parseInt(this.value); if (isNaN(wval)) return; pTaskbar.arElements.width.value = wval; if (pTaskbar.arElements.saveProp.checked && pTaskbar.iRatio) pTaskbar.arElements.height.value = Math.round(wval / pTaskbar.iRatio); fChange(); }; pTaskbar.arElements.height.onchange = function() { var hval = parseInt(this.value); if (isNaN(hval)) return; pTaskbar.arElements.height.value = hval; if (pTaskbar.arElements.saveProp.checked) pTaskbar.arElements.width.value = parseInt(hval * pTaskbar.iRatio); fChange(); }; pTaskbar.arElements.cssclass.onchange = function (sel) {pElement.className = sel['value'];}; pTaskbar.arElements.talign.OnChange = function (align) {pElement.align = align;}; }; pPropertybarHandlers['comments'] = pPropertybarHandlers['script'] = pPropertybarHandlers['php'] = pPropertybarHandlers['code'] = // For .Net pPropertybarHandlers['aspx_comment'] = // For .Net pPropertybarHandlers['.net component'] = // For .Net function (bNew, pTaskbar, pElement) { if(bNew) { pTaskbar.arElements = {}; pTaskbar.arElements.text = pTaskbar.pCellProps.appendChild(BX.create("TEXTAREA", {props: {cols: '60'}, style:{width: "100%", height: "120px"}})); if (IEplusDoctype) pTaskbar.arElements.text.rows = "20"; } var bxTag = pTaskbar.pMainObj.GetBxTag(pElement); pTaskbar.arElements.text.value = bxTag.params.value; pTaskbar.arElements.text.onchange = function () { var bxTag = pTaskbar.pMainObj.GetBxTag(pElement); bxTag.params.value = pTaskbar.arElements.text.value; pTaskbar.pMainObj.SetBxTag(false, bxTag); }; }; pPropertybarHandlers['default'] = function (bNew, pTaskbar, pElement) { if(!bNew) return; pTaskbar.arElements = []; var tProp, row; var arBarHandlersCache = pTaskbar.pMainObj.arBarHandlersCache; if(arBarHandlersCache['default']) { tProp = arBarHandlersCache['default'][0]; pTaskbar.arElements = arBarHandlersCache['default'][1]; } else { tProp = BX.create('TABLE', {props: {className : "bxtaskbarprops"}}); row = tProp.insertRow(-1); // Style BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label>' + BX_MESS.TPropStyle + '</label>'}); pTaskbar.arElements.cssclass = pTaskbar.pMainObj.CreateCustomElement('BXStyleList', { id: 'defaultStyleList', width: 200, field_size: 80, title: '(' + BX_MESS.Style + ')', filter: ['DEFAULT'], disableOnCodeView: true, OnChangeElement : function (arSelected) { SAttr(this.pElement, 'className', arSelected["value"]); }, OnChangeText : function (arSelected) { var pElement = this.pMainObj.GetSelectedNode(true); if(arSelected["value"] == '') this.RemoveClass(pElement); else this.OptimizeSelection( { nodes: this.pMainObj.WrapSelectionWith("span", {props: {className: arSelected["value"]}}), className: arSelected["value"] }); }, OnSelectionChange: function () { var pElement = this.pMainObj.GetSelectedNode(); if(pElement && pElement.nodeType == 1) { if(this.prevType != pElement.tagName.toUpperCase()) { this.prevType = pElement.tagName.toUpperCase(); this.tag_name = pElement.tagName.toUpperCase(); this.filter = [pElement.tagName.toUpperCase(), 'DEFAULT']; this.FillList(); } this.pElement = pElement; this.OnChange = this.OnChangeElement; this.SelectByVal(this.pElement.className); } else { this.OnChange = this.OnChangeText; if(this.prevType != 'DEFAULT') { this.prevType = 'DEFAULT'; this.filter = ['DEFAULT']; this.tag_name = ''; this.FillList(); } this.SelectByVal(); if(pElement) { if(BX.browser.IsIE() && pElement.parentElement && (pElement = pElement.parentElement())) pElement = pElement.childNodes[0]; while(pElement = pElement.parentNode) { if(pElement.nodeType == 1 && pElement.tagName.toUpperCase() == 'TABLE') break; if(pElement.nodeType == 1 && pElement.className) { if(pElement.tagName.toUpperCase() != 'SPAN' && pElement.tagName.toUpperCase() != 'FONT') break; this.SelectByVal(pElement.className); break; } } } } } }); BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(pTaskbar.arElements.cssclass.pWnd); // B I U S BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label>' + BX_MESS.TPropBIU + '</label>'}); cell = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}); // Bold cell.appendChild(pTaskbar.pMainObj.CreateCustomElement(arButtons['Bold'][0], arButtons['Bold'][1]).pWnd); // Italic cell.appendChild(pTaskbar.pMainObj.CreateCustomElement(arButtons['Italic'][0], arButtons['Italic'][1]).pWnd); // Underline cell.appendChild(pTaskbar.pMainObj.CreateCustomElement(arButtons['Underline'][0], arButtons['Underline'][1]).pWnd); // Strike cell.appendChild(pTaskbar.pMainObj.CreateCustomElement(arButtons['Strike'][0], arButtons['Strike'][1]).pWnd); row = tProp.insertRow(-1); // Font BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label>' + BX_MESS.Font + ':</label>'}); BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(pTaskbar.pMainObj.CreateCustomElement(arButtons['FontName'][0], arButtons['FontName'][1]).pWnd); // Font size BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label>' + BX_MESS.Size + ':</label>'}); BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(pTaskbar.pMainObj.CreateCustomElement(arButtons['FontSize'][0], arButtons['FontSize'][1]).pWnd); row = tProp.insertRow(-1); // Font Color BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label>' + BX_MESS.TPropColor + '</label>'}); BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(pTaskbar.pMainObj.CreateCustomElement(arButtons['ForeColor'][0], arButtons['ForeColor'][1]).pWnd); // Background Color BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label>' + BX_MESS.TPropBG + '</label>'}); BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(pTaskbar.pMainObj.CreateCustomElement(arButtons['BackColor'][0], arButtons['BackColor'][1]).pWnd); arBarHandlersCache['default'] = [tProp, pTaskbar.arElements]; } pTaskbar.pCellProps.appendChild(tProp); } function _DOMHandler(oDocument) { var ar = oDocument.getElementsByTagName('DIV'), pMainObj = oDocument.pMainObj, iLen = ar.length, j; for (j = 0; j < iLen; j++) { try { if (ar[j].style.pageBreakAfter == 'always') { var oImg = BX.adjust(oDocument.createElement("IMG"), {props: {src: image_path + "/break_page.gif"}, style: {height: "4px", width: "100%"}}); pMainObj.SetBxTag(oImg, {tag: "break_page"}); ar[j].parentNode.insertBefore(oImg, ar[j]); ar[j].parentNode.removeChild(ar[j]); } }catch(e){continue;} } } oBXEditorUtils.addDOMHandler(_DOMHandler); function Flash_Reload(oPreviewCont, src, height, width) { var flash_preview = BX("flash_preview_iframe"); if (flash_preview) flash_preview.parentNode.removeChild(flash_preview); oPreviewCont.appendChild(BX.create("IFRAME", {props: {id: "flash_preview_iframe", src: flash_preview_path + "?path=" + BX.util.urlencode(src) + "&width=" + width + "px&height=" + height + "px"}, style: {width: "97%", height: "97%"}})); } pPropertybarHandlers['flash'] = function (bNew, pTaskbar, pElement) { var tProp, row, cell, r, tProp1, arOpt; if(bNew) { pTaskbar.arElements = []; var arBarHandlersCache = pTaskbar.pMainObj.arBarHandlersCache; if(arBarHandlersCache['flash']) { var tProp = arBarHandlersCache['flash'][0]; pTaskbar.arElements = arBarHandlersCache['flash'][1]; pTaskbar.prCell = arBarHandlersCache['flash'][2]; } else { tProp = BX.create('TABLE', {props: {className : "bxtaskbarprops"}}); row = tProp.insertRow(-1); pTaskbar.prCell = BX.adjust(row.insertCell(-1), {props: {className: 'bxed-flash-prop'}}); tProp1 = row.insertCell(-1).appendChild(BX.create('TABLE')); // Path row = tProp1.insertRow(-1); BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_swf_path" class="bxpr-main">' + BX_MESS.PATH2SWF + ':</label>'}); pTaskbar.arElements.src = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("INPUT", {props: {type: 'text', title: BX_MESS.PATH2SWF, id: "bxp_swf_path", size: '50'}})); // Width & Height row = tProp1.insertRow(-1); BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_swf_width" class="bxpr-main">' + BX_MESS.TPropSize + '</label>'}); var r = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("TABLE", {props: {className: "bx-sp-props-tbl"}})).insertRow(-1); var cell1 = r.insertCell(-1); pTaskbar.arElements.width = cell1.appendChild(BX.create("INPUT", {props: {size: '5', title: BX_MESS.TPropW, type: 'text', id: "bxp_swf_width"}})); cell1.appendChild(BX.create("SPAN", {text : 'x', style: {margin: "0 3px"}})); pTaskbar.arElements.height = cell1.appendChild(BX.create("INPUT", {props: {size: '5', title: BX_MESS.TPropH, type: 'text', id: "bxp_swf_height"}})); //pTaskbar.arElements.saveProp = r.insertCell(-1).appendChild(BX.create("INPUT", {props: {title: BX_MESS.TPropW, type: 'checkbox', id: "bxp_swf_save_prop"}, style: {marginLeft: "10px"}})); //r.insertCell(-1).appendChild(BX.create("LABEL", {text: BX_MESS.SaveProp})).setAttribute("for", "bxp_img_save_prop"); // Id row = tProp1.insertRow(-1); BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_swf_id">' + BX_MESS.SWF_ID + ':</label>'}); pTaskbar.arElements.id = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("INPUT", {props: {type: 'text', title: BX_MESS.SWF_ID, id: "bxp_swf_id", size: '50'}})); // Title row = tProp1.insertRow(-1); BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_swf_title">' + BX_MESS.SWF_TITLE + ':</label>'}); pTaskbar.arElements.title = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("INPUT", {props: {type: 'text', title: BX_MESS.SWF_TITLE, id: "bxp_swf_title", size: '50'}})); // Class row = tProp1.insertRow(-1); BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_swf_className">' + BX_MESS.SWF_CLASSNAME + ':</label>'}); pTaskbar.arElements.className = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("INPUT", {props: {type: 'text', title: BX_MESS.SWF_CLASSNAME, id: "bxp_swf_className", size: '50'}})); // Style row = tProp1.insertRow(-1); BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_swf_style">' + BX_MESS.TPropStyle + ':</label>'}); pTaskbar.arElements.style = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("INPUT", {props: {type: 'text', title: BX_MESS.TPropStyle, id: "bxp_swf_style", size: '50'}})); // Quality row = tProp1.insertRow(-1); BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_swf_quality">' + BX_MESS.SWF_QUALITY + ':</label>'}); pTaskbar.arElements.quality = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("SELECT", {props: {title: BX_MESS.SWF_QUALITY, id: "bxp_swf_quality"}})); arOpt = [ ['', '- ' + BX_MESS.NoVal + ' -'], ['low', 'low'], ['medium', 'medium'], ['high', 'high'], ['autolow', 'autolow'], ['autohigh', 'autohigh'], ['best', 'best'] ], i, l = arOpt.length; for(i = 0; i < l; i++) pTaskbar.arElements.quality.options.add(new Option(arOpt[i][1], arOpt[i][0], false, false)); // WMode row = tProp1.insertRow(-1); BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_swf_wmode">' + BX_MESS.SWF_WMODE + ':</label>'}); pTaskbar.arElements.wmode = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("SELECT", {props: {title: BX_MESS.SWF_WMODE, id: "bxp_swf_wmode"}})); arOpt = [ ['', '- ' + BX_MESS.NoVal + ' -'], ['window', 'window'], ['opaque', 'opaque'], ['transparent', 'transparent'] ], i, l = arOpt.length; for(i = 0; i < l; i++) pTaskbar.arElements.wmode.options.add(new Option(arOpt[i][1], arOpt[i][0], false, false)); // Scale row = tProp1.insertRow(-1); BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_swf_scale">' + BX_MESS.SWF_SCALE + ':</label>'}); pTaskbar.arElements.scale = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("SELECT", {props: {title: BX_MESS.SWF_SCALE, id: "bxp_swf_scale"}})); arOpt = [ ['', '- ' + BX_MESS.NoVal + ' -'], ['showall', 'showall'], ['noborder', 'noborder'], ['exactfit', 'exactfit'] ], i, l = arOpt.length; for(i = 0; i < l; i++) pTaskbar.arElements.scale.options.add(new Option(arOpt[i][1], arOpt[i][0], false, false)); // Salign row = tProp1.insertRow(-1); BX.adjust(row.insertCell(-1), {props: {align: 'right'}, html: '<label for="bxp_swf_salign">' + BX_MESS.SWF_SALIGN + ':</label>'}); pTaskbar.arElements.salign = BX.adjust(row.insertCell(-1), {props: {align: 'left'}}).appendChild(BX.create("SELECT", {props: {title: BX_MESS.SWF_SALIGN, id: "bxp_swf_salign"}})); arOpt = [ ['', '- ' + BX_MESS.NoVal + ' -'], ['left', 'left'], ['top', 'top'], ['right', 'right'], ['bottom', 'bottom'], ['top left', 'top left'], ['top right', 'top right'], ['bottom left', 'bottom left'], ['bottom right', 'bottom right'] ], i, l = arOpt.length; for(i = 0; i < l; i++) pTaskbar.arElements.salign.options.add(new Option(arOpt[i][1], arOpt[i][0], false, false)); // Autoplay row = tProp1.insertRow(-1); pTaskbar.arElements.autoplay = BX.adjust(row.insertCell(-1), {props: {align: 'right'}}).appendChild(BX.create("INPUT", {props: {type: 'checkbox', title: BX_MESS.SWF_AUTOPLAY, id: "bxp_swf_autoplay"}})); BX.adjust(row.insertCell(-1), {props: {align: 'left'}, html: '<label for="bxp_swf_autoplay">' + BX_MESS.SWF_AUTOPLAY + '</label>'}); // Loop row = tProp1.insertRow(-1); pTaskbar.arElements.loop = BX.adjust(row.insertCell(-1), {props: {align: 'right'}}).appendChild(BX.create("INPUT", {props: {type: 'checkbox', title: BX_MESS.SWF_LOOP, id: "bxp_swf_loop"}})); BX.adjust(row.insertCell(-1), {props: {align: 'left'}, html: '<label for="bxp_swf_loop">' + BX_MESS.SWF_LOOP + '</label>'}); // Showmenu row = tProp1.insertRow(-1); pTaskbar.arElements.showmenu = BX.adjust(row.insertCell(-1), {props: {align: 'right'}}).appendChild(BX.create("INPUT", {props: {type: 'checkbox', title: BX_MESS.SWF_SHOW_MENU, id: "bxp_swf_showmenu"}})); BX.adjust(row.insertCell(-1), {props: {align: 'left'}, html: '<label for="bxp_swf_showmenu">' + BX_MESS.SWF_SHOW_MENU + '</label>'}); arBarHandlersCache['flash'] = [tProp, pTaskbar.arElements, pTaskbar.prCell]; } pTaskbar.pCellProps.appendChild(tProp); } var oTag = pTaskbar.pMainObj.GetBxTag(pElement); if (oTag.tag != 'flash' || !oTag.params) return; var k, i, el; for (i in oTag.params) { k = (i.toLowerCase() == 'class') ? 'className' : i; if (!pTaskbar.arElements[k]) continue if (pTaskbar.arElements[k].type.toLowerCase() == 'checkbox' && oTag.params[i]) pTaskbar.arElements[k].checked = true; else pTaskbar.arElements[k].value = oTag.params[i]; } pTaskbar.arElements.width.value = (parseInt(pElement.width) || parseInt(pElement.style.width)); pTaskbar.arElements.height.value = (parseInt(pElement.height) || parseInt(pElement.style.height)); Flash_Reload(pTaskbar.prCell, oTag.params.src, 250, 250); var fChange = function() { var i = this.id.substr('bxp_swf_'.length), k = (i.toLowerCase() == 'classname') ? 'class' : i; if (pTaskbar.arElements[i].type.toLowerCase() == 'checkbox') { oTag.params[k] = pTaskbar.arElements[i].checked || null; } else { if (k == 'width' || k == 'height') { pElement.style.width = (parseInt(pTaskbar.arElements.width.value) || 50) + 'px'; pElement.style.height = (parseInt(pTaskbar.arElements.height.value) || 25) + 'px'; } else if(k == 'src' && pTaskbar.arElements.src.value) { Flash_Reload(pTaskbar.prCell, pTaskbar.arElements.src.value, 250, 250); } oTag.params[k] = pTaskbar.arElements[i].value || null; } pTaskbar.pMainObj.SetBxTag(pElement, oTag); }; for (i in pTaskbar.arElements) { el = pTaskbar.arElements[i]; if (el.type.toLowerCase() == 'checkbox') el.onclick = fChange; else el.onchange = fChange; } }; if (!window.lightMode || window._showAllButtons) { oBXEditorUtils.appendButton("page_break", arButtons['page_break'], "standart"); oBXEditorUtils.appendButton("break_tag", arButtons['break_tag'], "standart"); oBXEditorUtils.appendButton("insert_flash", arButtons['insert_flash'], "standart"); } // * * * * * * * * * * * * * * * * * * // Light mode Toolbars: if (window.lightMode || window._showAllButtons) { var arGlobalToolbar = [ /* arButtons['Fullscreen'], */ arButtons['Settings'], arButtons['Cut'], arButtons['Copy'], arButtons['Paste'], arButtons['pasteword'], arButtons['pastetext'], arButtons['SelectAll'], arButtons['Undo'], arButtons['Redo'], arButtons['borders'], 'separator', arButtons['table'], arButtons['anchor'], arButtons['CreateLink'], arButtons['deletelink'], arButtons['image'], arButtons['SpecialChar'], arButtons['insert_flash'], arButtons['InsertHorizontalRule'], 'separator', arButtons['InsertOrderedList'], arButtons['InsertUnorderedList'], 'separator', arButtons['Outdent'], arButtons['Indent'], 'separator', arButtons['JustifyLeft'], arButtons['JustifyCenter'], arButtons['JustifyRight'], arButtons['JustifyFull'], 'new_line', arButtons['wysiwyg'], arButtons['source'], arButtons['split'], arButtons['Wrap'], arButtons['FontStyle'], arButtons['HeadingList'], arButtons['FontName'], arButtons['FontSize'], 'separator', arButtons['Bold'], arButtons['Italic'], arButtons['Underline'], arButtons['Strike'], 'separator', arButtons['RemoveFormat'], arButtons['Optimize'], 'separator', arButtons['BackColor'], arButtons['ForeColor'] ]; }