Current Path : /var/www/www-root/data/webdav/www.catalog.monolith-realty.ru/bitrix/admin/htmleditor2/ |
Current File : /var/www/www-root/data/webdav/www.catalog.monolith-realty.ru/bitrix/admin/htmleditor2/bars.js |
function BXTaskbarSet(pColumn, pMainObj, iNum) { if (typeof SETTINGS[pMainObj.name].arTBSetsSettings != 'object' ) SETTINGS[pMainObj.name].arTBSetsSettings = arTBSetsSettings_default; var arTBSetsSet = SETTINGS[pMainObj.name].arTBSetsSettings, _this = this, bVertical = (iNum == 1 || iNum==2); ar_BXTaskbarSetS.push(this); this.pParentWnd = pColumn; this.pParentWnd.unselectable = "on"; this.pMainObj = pMainObj; this.bVertical = bVertical; this.iNum = iNum; this.bShowing = !!arTBSetsSet[iNum].show; this.bFirstDisplay = true; this.pWnd = BX.findChild(this.pParentWnd, {tagName: "TABLE"}); this.sActiveTaskbar = ''; this.pMoveColumn = this.pWnd.rows[0].cells[0]; if (this.iNum == 2) //right { this.pTitleColumn = this.pWnd.rows[0].cells[1]; this.pMainCell = this.pWnd.rows[1].cells[0]; this.pBottomColumn = this.pWnd.rows[2].cells[0]; } else //this.iNum == 3 - bottom { this.pTitleColumn = this.pWnd.rows[1].cells[0]; this.pMainCell = this.pWnd.rows[2].cells[0]; this.pBottomColumn = this.pWnd.rows[3].cells[0]; } this.pDataColumn = this.pMainCell.appendChild(BX.create("DIV", {props: {className: "bxedtaskbar-scroll"}})); this.arTaskbars = []; this.pMoveColumn.style.display = "none"; this.pMoveColumn.unselectable = "on"; this.pMoveColumn.ondragstart = function (e){return BX.PreventDefault(e);}; this.pMoveColumn.onmousedown = function(e){_this.MouseDown(e); return false;}; if (!CACHE_DISPATCHER['TranspToggle']) CACHE_DISPATCHER['TranspToggle'] = document.body.appendChild(BX.create('IMG', {props: {src: one_gif_src}, styles: {display: 'none'}})); } BXTaskbarSet.prototype = { // Start move toogle MouseDown: function (e) { var val, maxVal, minVal, bVertical, w, h; if (this.iNum == 2) // Right { val = parseInt(this.pWnd.offsetWidth); maxVal = val + parseInt(this.pMainObj.cEditor.offsetWidth) - 155; minVal = 210; bVertical = false; w = false; h = this.pMoveColumn.offsetHeight; } else // Bottom { val = parseInt(this.pWnd.offsetHeight); maxVal = val + parseInt(this.pMainObj.cEditor.offsetHeight) - (BX.browser.IsIE() ? 50 : 155); minVal = 120; bVertical = true; w = this.pMoveColumn.offsetWidth; h = false; } this.pMainObj.ClearPosCache(); showTranspToggle({ e: e, bVertical: bVertical, pMainObj: this.pMainObj, pos: BX.pos(this.pMoveColumn), width: w, height: h, callbackFunc: this.Resize, callbackObj: this, value: val, maxValue: maxVal, minValue: minVal }); }, Resize: function (value, bSave, bSetTmpClass) { // Get value from saved settings resize if (value === false || typeof value == 'undefined') { value = SETTINGS[this.pMainObj.name].arTBSetsSettings[this.iNum].size; bSave = false; } if (!this.bShowing) { value = 0; bSave = false; } var maxVal, minVal; if (this.iNum == 2) // Right { maxVal = parseInt(this.pMainObj.pWnd.offsetWidth) - 200; minVal = 210; } else // Bottom { maxVal = parseInt(this.pMainObj.pWnd.offsetHeight) - 250; minVal = 120; } if (value > maxVal && maxVal > minVal) value = maxVal; if (value < minVal && value !== 0 && minVal < maxVal) value = minVal; value = parseInt(value); var _this = this, rightTaskbar = this.pMainObj.arTaskbarSet[2], bottomTaskbar = this.pMainObj.arTaskbarSet[3], h = parseInt(this.pMainObj.pWnd.offsetHeight), // sceleton height h1 = parseInt(this.pMainObj.pTopToolbarset.offsetHeight), // top toolbarset h2 = 29; //taskbars tabs // If editor is invisible - try to resize it every 0.5 sec if (!h || !h1) return setTimeout(function(){_this.Resize(value, bSave, bSetTmpClass);}, 500); if (this.iNum == 2) // Resize vertical taskbar set { var h4 = bottomTaskbar.pWnd.offsetHeight; this.pParentWnd.style.height = (h - h1 - h2 - h4) + "px"; if (this.bShowing) { this.pWnd.style.width = value + 'px'; this.pDataColumn.style.width = (value - 8) + 'px'; this.pParentWnd.style.width = value + 'px'; } var w = parseInt(this.pMainObj.pWnd.offsetWidth); // sceleton width this.pMainObj.cEditor.style.width = (w - value - 2) + 'px'; } else // Resize horizontal taskbar set { this.pMainObj.cEditor.style.height = (h - h1 - h2 - value) + "px"; rightTaskbar.pParentWnd.style.height = (h - h1 - h2 - value) + "px"; if (this.bShowing) { this.pWnd.style.height = value + 'px'; this.pDataColumn.style.height = (value - 34) + 'px'; } } if (this.adjustTimeout) clearTimeout(this.adjustTimeout); this.adjustTimeout = setTimeout(function() { var h3 = rightTaskbar.pDataColumn.parentNode.offsetHeight, w3 = rightTaskbar.pDataColumn.parentNode.offsetWidth; h3 = BX.findParent(rightTaskbar.pDataColumn, {tagName: "TABLE"}).offsetHeight - 26 /*top title*/; if (rightTaskbar.arTaskbars.length > 1) h3 -= 26; if (h3 > 0) rightTaskbar.pDataColumn.style.height = h3 + "px"; if (w3 > 0) rightTaskbar.pDataColumn.style.width = w3 + "px"; if (BX.browser.IsIE()) rightTaskbar.pWnd.parentNode.appendChild(rightTaskbar.pWnd); // IE needs to refresh DOM tree if (bSetTmpClass !== false) _this._SetTmpClass(false); }, 100); if (bSave !== false) { SETTINGS[this.pMainObj.name].arTBSetsSettings[this.iNum].size = value; this.SaveConfig(); } }, _SetTmpClass: function(bSet) { var d2 = this.pMainObj.arTaskbarSet[2].pDataColumn, d3 = this.pMainObj.arTaskbarSet[3].pDataColumn, c = "bxedtaskbar-scroll-tmp"; if (bSet) { BX.addClass(d2, c); BX.addClass(d3, c); } else { BX.removeClass(d2, c); BX.removeClass(d3, c); } }, SaveConfig: function () { this.pMainObj.SaveConfig("taskbars", { tskbrsetset: SETTINGS[this.pMainObj.name].arTBSetsSettings, tskbrset: SETTINGS[this.pMainObj.name].arTaskbarSettings }); }, Show: function () { this.bShowing = true; SETTINGS[this.pMainObj.name].arTBSetsSettings[this.iNum].show = true; var _this = this; var btt = this.pMainObj.oBXTaskTabs; if (this.pMainObj.visualEffects && btt) this.pMainObj.oBXVM.Show({ sPos: btt.GetVPos(), ePos: this.GetVPos(), callback: function(){_this.Display(true);} }); else this.Display(true); }, Hide: function () { this.bShowing = false; SETTINGS[this.pMainObj.name].arTBSetsSettings[this.iNum].show = false; this.Display(false); if (this.pMainObj.oBXTaskTabs) { if (this.pMainObj.visualEffects) this.pMainObj.oBXVM.Show({sPos: this.GetVPos(), ePos: this.pMainObj.oBXTaskTabs.GetVPos()}); this.pMainObj.oBXTaskTabs.Refresh(); } this.SaveConfig(); }, Display: function(bDisplay) { // It's first taskbarset opening - lets draw tabs for taskbars if (this.bFirstDisplay) { this.DrawTabs(); this.bFirstDisplay = false; } this.bShowing = !!bDisplay && this.arTaskbars.length > 0; var dispStr = bDisplay ? '' : 'none'; if (bDisplay) this._SetTmpClass(true); var _this = this; setTimeout(function() { _this.Resize(); _this.pWnd.style.display = _this.pWnd.parentNode.style.display = dispStr; if (!_this.bVertical) _this.pWnd.parentNode.parentNode.style.display = dispStr; }, 10); }, ShowToggle: function(e) { if(this.bShowing) this.Hide(); else this.Show(); SETTINGS[this.pMainObj.name].arTBSetsSettings[this.iNum].show = this.bShowing; this.SaveConfig(); BX.PreventDefault(e); }, AddTaskbar: function (pTaskbar, bDontRefresh) { var arTBSetsSet = SETTINGS[this.pMainObj.name].arTBSetsSettings; pTaskbar.pWnd.style.display = ""; pTaskbar.pWnd.style.width = "100%"; pTaskbar.pWnd.style.height = "100%"; pTaskbar.pTaskbarSet = this; pTaskbar.parentCell = this.pWnd; //this.pWnd.style.height = '100%'; // ??????????????/ this.arTaskbars.push(pTaskbar); this.pMoveColumn.style.display = ""; if (this.bVertical) { this.pWnd.style.width = arTBSetsSet[this.iNum].size + "px"; this.pWnd.style.height = "100%"; this.pWnd.parentNode.style.height = "100%"; } else { this.pWnd.style.width = "100%"; this.pWnd.style.height = arTBSetsSet[this.iNum].size + "px"; } if (this.arTaskbars.length > 0) { this.DrawTabs(); // We add tab to taskbar set - need for resize right taskbar this._SetTmpClass(true); this.Resize(); } pTaskbar.OnCreate(); }, GetVPos: function (pTaskbar, bDontRefresh) { var arVPos = []; var iNum = this.iNum; //var edPos = GetRealPos(this.pMainObj.pWnd); var edPos = BX.pos(this.pMainObj.pWnd); if (this.bVertical) { arVPos[iNum] = { t: parseInt(edPos.top) + 60, l: parseInt(edPos.right) - 200, w: 200, h: parseInt(this.pMainObj.pWnd.offsetHeight) - 150 }; } else { arVPos[iNum] = { t: parseInt(edPos.bottom) - 200, l: parseInt(edPos.left), w: parseInt(this.pMainObj.pWnd.offsetWidth), h: 200 }; } return arVPos[iNum]; }, DelTaskbar: function (pTaskbar, bRedrawTabs) { if (pTaskbar.pWnd && pTaskbar.pWnd.parentNode) pTaskbar.pWnd.parentNode.removeChild(pTaskbar.pWnd); //ar_BXTaskbarS[pTaskbar.name + "_" + this.pMainObj.name] = null; for(var i = 0; i < this.arTaskbars.length; i++) { if(pTaskbar.id == this.arTaskbars[i].id) { this.arTaskbars = BX.util.deleteFromArray(this.arTaskbars, i); this.DrawTabs(); if(this.arTaskbars.length > 0) this.ActivateTaskbar(this.arTaskbars[0].id, false); } } if (bRedrawTabs !== false) { this.pMainObj.oBXTaskTabs.Draw(); this.pMainObj.oBXTaskTabs.Refresh(); } if(this.arTaskbars.length == 0) this.Display(false); }, DrawTabs: function () { this.pMoveColumn.style.display = this.arTaskbars.length == 0 ? "none" : ""; if(this.arTaskbars.length <= 1) { //this.pBottomColumn.parentNode.style.display = this.pBottomColumn.style.display = 'none'; this.pBottomColumn.style.display = 'none'; return; } //If more than one taskbars for one taskbarsets //this.pBottomColumn.parentNode.style.display = this.pBottomColumn.style.display = ""; this.pBottomColumn.style.display = ""; BX.cleanNode(this.pBottomColumn); var _this = this, pIconTable = this.pBottomColumn.appendChild(BX.create("TABLE", {props: {className: "bx-taskbar-tabs", unselectable: "on"}})), r = pIconTable.insertRow(0), c, tabIsAct, cn, k, l = this.arTaskbars.length; BX.adjust(r.insertCell(-1), {style: {width: "9px"}}).appendChild(BX.create("DIV", {props: {className: 'tabs_common bx_btn_tabs_0a'}})); this.sActiveTaskbar = this.arTaskbars[0].id; for(k = 0; k < l; k++) { tabIsAct = true; if (k != 0) { BX.adjust(r.insertCell(-1), {style: {width: "9px"}}).appendChild(BX.create("DIV", {props: {className: 'tabs_common ' + (k==1 ? 'bx_btn_tabs_ad' : 'bx_btn_tabs_dd')}})); tabIsAct = false; } c = BX.adjust(r.insertCell(-1), {props: {className: tabIsAct ? 'bx-tsb-tab-act' : 'bx-tsb-tab'}, style:{width: "0%"}, html: '<span unselectable="on" class="bx-tsb-title">' + this.arTaskbars[k].title + '</span>'}); c.tid = this.arTaskbars[k].id; c.onclick = function (e){_this.ActivateTaskbar(this.tid);}; } BX.adjust(r.insertCell(-1), {style: {width: "9px"}}).appendChild(BX.create("DIV", {props: {className: 'tabs_common bx_btn_tabs_d0'}})); BX.adjust(r.insertCell(-1), {props: {className: "bxedtaskbaricontable", unselectable: "on"}}); }, ActivateTaskbar: function(id, bSave) { if (this.bShowing && this.bFirstDisplay) this.Show(); BX.cleanNode(this.pDataColumn); BX.cleanNode(this.pTitleColumn); var j, i, l = this.arTaskbars.length, oActiveTaskbar; for(j = 0; j < l; j++) { this.arTaskbars[j].bActivated = false; if(this.arTaskbars[j].id == id) { this.pDataColumn.appendChild(this.arTaskbars[j].pWnd); this.pTitleColumn.appendChild(this.arTaskbars[j].pHeaderTable); this.arTaskbars[j].pWnd.style.display = ""; this.sActiveTaskbar = id; oActiveTaskbar = this.arTaskbars[j]; this.arTaskbars[j].bActivated = true; //this.Resize(); // ??? } SETTINGS[this.pMainObj.name].arTaskbarSettings[this.arTaskbars[j].name].active = this.arTaskbars[j].bActivated; } if(this.pBottomColumn.childNodes[0]) { var tsb_cells = this.pBottomColumn.childNodes[0].rows[0].cells; for(i = 0; i < tsb_cells.length - 1; i++) { if (i == 0) { if (tsb_cells[1].tid == id) tsb_cells[i].firstChild.className = 'tabs_common bx_btn_tabs_0a'; else tsb_cells[i].firstChild.className = 'tabs_common bx_btn_tabs_0d'; continue; } else if (i == tsb_cells.length - 2) { if (tsb_cells[tsb_cells.length-3].tid==id) tsb_cells[i].firstChild.className = 'tabs_common bx_btn_tabs_a0'; else tsb_cells[i].firstChild.className = 'tabs_common bx_btn_tabs_d0'; } else if((i+1)%2==0) { //TaskbarTasb cells if (tsb_cells[i].tid==id) { tsb_cells[i].className = 'bxedtaskbaricontableact'; tsb_cells[i].style.backgroundImage = 'url(' + image_path + '/taskbar_tabs/a-bg.gif)'; } else { tsb_cells[i].className = 'bxedtaskbaricontable'; tsb_cells[i].style.backgroundImage = 'url(' + image_path + '/taskbar_tabs/d-bg.gif)'; } } else { //switching between tabs if (tsb_cells[i-1].tid==id) tsb_cells[i].firstChild.className = 'tabs_common bx_btn_tabs_ad'; else if (tsb_cells[i+1].tid==id) tsb_cells[i].firstChild.className = 'tabs_common bx_btn_tabs_da'; else tsb_cells[i].firstChild.className = 'tabs_common bx_btn_tabs_dd'; } } tsb_cells = null; } if (this.pMainObj.oBXTaskTabs) this.pMainObj.oBXTaskTabs.Refresh(); if (bSave !== false) this.SaveConfig(); } } function BXTaskbar() { } BXTaskbar.prototype = { Create: function(name, pMainObj, title, dx, dy) { this.name = name; ar_BXTaskbarS[this.name + "_" + pMainObj.name] = this; this.pMainObj = pMainObj; this.pref = this.pMainObj.name.toUpperCase()+'_BXTaskBar_'; this.id = "tb_" + Math.round(Math.random() * 100000); this.bVertical = false; this.title = title; this.bDeleted = false; this.thirdlevel = false; var _this = this; this.fullyLoaded = true; this.bActivated = false; if (!SETTINGS[this.pMainObj.name].arTaskbarSettings[this.name]) SETTINGS[this.pMainObj.name].arTaskbarSettings[this.name] = arTaskbarSettings_default[this.name]; this.bActive = SETTINGS[this.pMainObj.name].arTaskbarSettings[this.name].active; this.pWnd = BX.create("DIV", {props: {className: "bxedtaskbar", unselectable: "on"}}); this.rootElementsCont = BX.create("DIV", {props: {className: "bxedtaskbar-root"}}); }, OnCreate: function() { // Create taskbar title var _this = this; var pHeaderTable = this.pTaskbarSet.pTitleColumn.appendChild(BX.create("TABLE", {props: {className: "bxedtaskbartitletext"}})); pHeaderTable.setAttribute("__bxtagname", "_taskbar_default"); this.pHeaderTable = pHeaderTable; var r = pHeaderTable.insertRow(-1); this.iconDiv = BX.adjust(r.insertCell(-1), {props: {className: 'def'}, style: {width: "1%", paddingLeft: "2px"}}).appendChild(BX.create("DIV")); BX.adjust(r.insertCell(-1), {props: {className: "head_text", noWrap: true, unselectable: "on"}, text: this.title}); var cmBut = BX.adjust(r.insertCell(-1), {props:{className: "head-button-menu", title: BX_MESS.Actions}}).appendChild(BX.create("DIV")); cmBut.onmouseover = function(e) { this.style.margin = "0px"; this.style.border = "#4B4B6F 1px solid"; this.style.backgroundColor = "#FFC678"; }; cmBut.onmouseout = function(e) { this.style.margin = "1px"; this.style.borderStyle = "none";; this.style.backgroundColor = "transparent"; }; cmBut.onclick = function(e) { var _bxtgn = pHeaderTable.getAttribute("__bxtagname"); if (!_bxtgn) return; var pos = BX.pos(this); pos.left += 22; pos.top += 20; oBXContextMenu.Show(2500, 0, pos, false, {pTaskbar: _this, bxtagname: _bxtgn}, _this.pMainObj, true); }; var hideBut = BX.adjust(r.insertCell(-1), {props:{className: "head-button-hide", title: BX_MESS.Hide}, style: {width: "20px"}}).appendChild(BX.create("DIV")); hideBut.onclick = function(e) { _this.pTaskbarSet.Hide(); SETTINGS[_this.pMainObj.name].arTBSetsSettings[_this.pTaskbarSet.iNum].show = false; _this.pTaskbarSet.SaveConfig(); }; if(this.OnTaskbarCreate) this.OnTaskbarCreate(); }, SetActive: function () { if(this.pTaskbarSet) this.pTaskbarSet.ActivateTaskbar(this.id); }, Close: function(bRedrawTabs, bSaveConfig) { SETTINGS[this.pMainObj.name].arTaskbarSettings[this.name].show = false; SETTINGS[this.pMainObj.name].arTaskbarSettings[this.name].active = false; ar_BXTaskbarS[this.name + "_" + this.pMainObj.name].bDeleted = true; if(this.pTaskbarSet) { if (bSaveConfig !== false) this.pTaskbarSet.SaveConfig(); this.pTaskbarSet.DelTaskbar(this, bRedrawTabs); } }, SetContent: function (sContent) { this.pWnd.innerHTML = sContent; }, CreateScrollableArea: function (pParent) { return pParent; return pParent.appendChild(BX.create("DIV", {props: {className: "bx-taskbar-scroll"}})); var res = this.pMainObj.pDocument.createElement("DIV"); res.style.position = "relative"; res.style.left = "0px"; res.style.right = "0px"; res.style.width = "100%"; res.style.height = "100%"; pParent = pParent.appendChild(res); res = null; res = this.pMainObj.pDocument.createElement("DIV"); res.style.position = "absolute"; res.style.left = "0px"; res.style.right = "0px"; res.style.width = "100%"; res.style.height = "100%"; if(!BX.browser.IsIE()) res.style.overflow = "-moz-scrollbars-vertical"; //res.style.overflowY = "scroll"; res.style.overflowY = "auto"; res.style.overflowX = "hidden"; res.style.scrollbar3dLightColor = "#C0C0C0"; res.style.scrollbarArrowColor = "#252525"; res.style.scrollbarBaseColor = "#C0C0C0"; res.style.scrollbarDarkShadowColor = "#252525"; res.style.scrollbarFaceColor = "#D4D4D4"; res.style.scrollbarHighlightColor = "#EFEFEF"; res.style.scrollbarShadowColor = "#EFEFEF"; res.style.scrollbarTrackColor = "#DFDFDF"; pParent = pParent.appendChild(res); res = null; return pParent; }, DisplayElementList: function (arElements, oCont) { BX.cleanNode(oCont); var hi, hlen = arElements.length; for (hi = 0; hi < hlen; hi++) this.DisplayElement(arElements[hi], oCont); }, DisplayElement: function (arElement, oCont, orderInd, sPath) { if (orderInd == undefined) orderInd = -1; if (arElement['isGroup']) this.DisplayGroupElement(arElement, oCont, orderInd, sPath); else { if (arElement['thirdlevel']) { if(this.thirdlevel.name && this.thirdlevel.name != arElement['thirdlevel']) this.Display3rdLevelSep(oCont,this.thirdlevel.sPath); this.DisplaySingleElement(arElement,oCont,orderInd,sPath); this.thirdlevel = { name : arElement['thirdlevel'], sPath : sPath }; } else { if(this.thirdlevel.name) { this.Display3rdLevelSep(oCont,this.thirdlevel.sPath); this.thirdlevel = []; } this.DisplaySingleElement(arElement,oCont,orderInd,sPath); } } if (this.rootElementsCont.parentNode) this.rootElementsCont.parentNode.removeChild(this.rootElementsCont); oCont.appendChild(this.rootElementsCont); }, DisplaySingleElement: function (oElement, oCont, orderInd, sPath) { if (sPath==undefined) sPath=''; var _oTable = BX.create('TABLE', {props: {className: 'bxgroupblock1', title: BX_MESS.InsertTitle}}); _oTable.setAttribute('__bxgroup1', '__' + oElement.name); var rowTitle = _oTable.insertRow(-1); //Group header //Left cell - icon var c = BX.adjust(rowTitle.insertCell(-1), {props: {className: 'iconcell1', unselectable: "on"}}); var _this = this; //*** ICON *** ic = this.pMainObj.CreateElement('IMG', {src: oElement.icon || (image_path + '/component.gif')}); ic.onerror = function(){this.src = image_path + '/component.gif';}; ic.ondragstart = function(){if(window.event) window.event.cancelBubble = true;}; this.pMainObj.SetBxTag(ic, {tag: oElement.tagname, params: oElement.params}); if (_this.OnElementClick) ic.onclick = function(e){_this.OnElementClick(this, oElement);}; _oTable.ondblclick = function() { var ic = BX.findChild(this, {tagName: 'IMG'}, true); if (!ic || !ic.id) return; var draggedElId = ic.id; _this.pMainObj.insertHTML('<img src="' + ic.src + '" id="' + ic.id + '">'); setTimeout(function() { _this.OnElementDragEnd(_this.pMainObj.pEditorDocument.getElementById(draggedElId)); }, 20); }; if(BX.browser.IsIE()) { ic.onmousedown = function (e) { _this.pMainObj.nLastDragNDropElement = this.id; }; ic.ondragend = function (e) { _this.pMainObj.nLastDragNDropElementFire = false; if (_this.OnElementDragEnd != undefined) _this.pMainObj.nLastDragNDropElementFire = _this.OnElementDragEnd; _this.pMainObj.OnDragDrop(); }; } else { ic.onmousedown = function (e) { _this.pMainObj.SetFocus(); _this.pMainObj.nLastDragNDropElement = this.id; _this.pMainObj.nLastDragNDropElementFire = false; if (_this.OnElementDragEnd != undefined) _this.pMainObj.nLastDragNDropElementFire = _this.OnElementDragEnd; }; ic.ondragend = function (e) // For Firefox 3.5 and later { _this.pMainObj.nLastDragNDropElementFire = false; if (_this.OnElementDragEnd != undefined) _this.pMainObj.nLastDragNDropElementFire = _this.OnElementDragEnd; _this.pMainObj.OnDragDrop(); }; } c.appendChild(ic); c.id = 'element_' + oElement.name; ic = null; //*** TITLE *** c = rowTitle.insertCell(-1); c.style.paddingLeft = '5px'; c.className = 'titlecell1'; c.appendChild(document.createTextNode(oElement.title || oElement.name)); if (sPath == '') { this.rootElementsCont.appendChild(_oTable); } else { var oGroup = this.GetGroup(oCont, sPath); if (oGroup) oGroup.rows[1].cells[0].appendChild(_oTable); } }, Display3rdLevelSep: function (oCont,sPath) { var _oSeparator = document.createElement('TABLE'); _oSeparator.style.width = BX.browser.IsIE() ? '80%' : '100%'; _oSeparator.style.height = "1px"; var _oSepTR = _oSeparator.insertRow(-1); var _oSepTD = _oSepTR.insertCell(-1); _oSepTD.style.backgroundImage = 'url(' + image_path + '/new_taskbars/point.gif)'; if (sPath=='') oCont.appendChild(_oSeparator); else { var oGroup = this.GetGroup(oCont,sPath); var childCell = oGroup.rows[1].cells[0]; childCell.appendChild(_oSeparator); } _oSepTD = null; _oSepTR = null; _oSeparator = null; }, DisplayGroupElement: function (arElement, oCont, orderInd, sPath) { // create group var _this = this; if (sPath == undefined) sPath = ''; if (sPath=='') { //Hight level group var _oTable = document.createElement('TABLE'); oCont.appendChild(_oTable); _oTable.cellPadding = 0; _oTable.cellSpacing = 0; _oTable.width = '100%'; _oTable.className = 'bxgroupblock0'; _oTable.setAttribute('__bxgroup0', '__'+arElement.name); var rowTitle = _oTable.insertRow(-1); //Group header c = rowTitle.insertCell(-1); // Plus/Minus cell c.className = 'pluscell0'; c.unselectable = "on"; c.style.width = '20px'; c.style.backgroundImage = 'url(' + image_path + '/new_taskbars/part_l.gif)'; c.appendChild(this.pMainObj.CreateElement("DIV", {className: 'tskbr_common bx_btn_tabs_plus_small', id: this.pref + 'Group_plus_'+arElement.name})); c = rowTitle.insertCell(-1); //Central cell - title c.className = 'titlecell0'; c.style.width = '900px'; c.unselectable = "on"; c.innerHTML = BXReplaceSpaceByNbsp((arElement.title) ? arElement.title : arElement.name); c.style.backgroundImage = 'url(' + image_path + '/new_taskbars/part_l.gif)'; var rowData = _oTable.insertRow(-1); // Cell with child elements rowData.id = this.pref + 'Group_' + arElement.name; rowData.style.display = GetDisplStr(0); c = rowData.insertCell(-1); c.className = 'datacell0'; c.colSpan = "2"; arElement.hidden = true; rowTitle._el = arElement; rowTitle.onclick = function() { if (_this.PreBuildList && !_this.fullyLoaded) { var __this = this; BX.showWait(); setTimeout(function() { _this.PreBuildList(); _this.HideGroup(__this._el, !__this._el.hidden, 0); BX.closeWait(); }, 1); } else _this.HideGroup(this._el, !this._el.hidden, 0); }; var len = arElement.childElements.length; if (len<=0) return; for (var i=0; i<len; i++) this.DisplayElement(arElement.childElements[i],oCont,-1,arElement.name); } else { //1st level subgroup if (sPath.indexOf(',')!=-1) return; try { var oGroup = this.GetGroup(oCont,sPath); var childCell = oGroup.rows[1].cells[0]; var _oTable = document.createElement('TABLE'); _oTable.cellPadding = 0; _oTable.cellSpacing = 0; _oTable.width = '100%'; _oTable.className = 'bxgroupblock1'; _oTable.setAttribute('__bxgroup1','__'+arElement.name); var rowTitle = _oTable.insertRow(-1); //group title var c = rowTitle.insertCell(-1); //plus c.unselectable = "on"; c.style.width = '0%'; c.className = 'pluscell1'; c.appendChild(this.pMainObj.CreateElement("IMG", {src: one_gif_src, className: 'tskbr_common bx_btn_tabs_plus_big', id: this.pref + 'Plus_1_icon_'+arElement.name})); var c = rowTitle.insertCell(-1); //icon c.unselectable = "on"; c.style.width = '0%'; c.className = 'iconfoldercell1'; c.appendChild(this.pMainObj.CreateElement("DIV", {className: 'tskbr_common bx_btn_tabs_folder_c', id: this.pref + 'Folder_1_icon_'+arElement.name})); c = rowTitle.insertCell(-1); // title c.unselectable = "on"; c.className = 'titlecell1'; c.innerHTML = (arElement.title) ? arElement.title : arElement.name; var rowData = _oTable.insertRow(-1); //Cell with child elements rowData.style.display = GetDisplStr(0); rowData.id = this.pref + 'Group_1_'+arElement.name; c = rowData.insertCell(-1); c.className = 'datacell1'; c.colSpan = "3"; rowTitle._el = arElement; rowTitle.onclick = function(){_this.HideGroup(this._el,!this._el.hidden,1)}; childCell.appendChild(_oTable); arElement.hidden = true; var len = arElement.childElements.length; if (len<=0) return; for (var i=0;i<len;i++) this.DisplayElement(arElement.childElements[i],oCont,-1,arElement.name); } catch(e) { return false; } } rowTitle = null; rowData = null; rowBottom = null; c = null; r = null; }, //sPath - path in tree AddElement: function(oElement, oCont, sPath, orderInd) { if (orderInd==undefined) orderInd = -1; this.DisplayElement(oElement, oCont, orderInd, sPath || ""); }, RemoveElement: function(elName, oCont, sPath) { if (sPath == "") { var child, __bxgroup; for (var i = 0; i < oCont.childNodes.length; i++) { child = oCont.childNodes[i]; __bxgroup = child.getAttribute('__bxgroup'); if (__bxgroup == '__' + elName) oCont.removeChild(child); } } else { var arPath = sPath.split(','); var _len = arPath.length; if (_len == 0 || _len > 1) return false; for (var iCh = 0;iCh<oCont.childNodes.length;iCh++) { try { var grName = oCont.childNodes[iCh].getAttribute('__bxgroup'), row; if(grName == '__'+arPath[0]) { _oCont = BX(this.pref + 'Group_'+arPath[0]); for (var j=0;j<_oCont.rows.length;j++) { row = _oCont.rows[j]; if (row.cells[0].id=='element_'+elName) row.parentNode.removeChild(row); } break; } } catch(e) { continue; } } } return true; }, HideGroup: function (arElement, bHide, ilevel) { if (ilevel==undefined) ilevel = 0; if (ilevel==0) { var im_plus = BX(this.pref + 'Group_plus_'+arElement.name); var elementsGroup = BX(this.pref + 'Group_'+arElement.name); if(!bHide) { arElement.hidden = false; elementsGroup.style.display = GetDisplStr(1); im_plus.className = 'tskbr_common bx_btn_tabs_minus_small'; } else { arElement.hidden = true; elementsGroup.style.display = GetDisplStr(0); im_plus.className = 'tskbr_common bx_btn_tabs_plus_small'; } } else if(ilevel==1) { var plusIcon = BX(this.pref + 'Plus_1_icon_'+arElement.name); var groupIcon = BX(this.pref + 'Folder_1_icon_'+arElement.name); var elementsGroup1 = BX(this.pref + 'Group_1_'+arElement.name); if(!bHide) { arElement.hidden = false; elementsGroup1.style.display = GetDisplStr(1); plusIcon.className = 'tskbr_common bx_btn_tabs_minus_big'; groupIcon.className = "tskbr_common bx_btn_tabs_folder_o"; } else { arElement.hidden = true; elementsGroup1.style.display = GetDisplStr(0); plusIcon.className = 'tskbr_common bx_btn_tabs_plus_big'; groupIcon.className = "tskbr_common bx_btn_tabs_folder_c"; } } }, GetGroup: function(oCont, sPath) { var arPath = sPath.split(','); var len = arPath.length, grName, grName2, newCont; if (len<=2) { for (var iCh = 0; iCh < oCont.childNodes.length; iCh++) { try { grName = oCont.childNodes[iCh].getAttribute('__bxgroup0'); if(grName == '__'+arPath[0]) { if (len==1) return oCont.childNodes[iCh]; else { newCont = oCont.childNodes[iCh].rows[1].cells[0]; for (var iCh2 = 0; iCh2<newCont.childNodes.length; iCh2++) { grName2 = newCont.childNodes[iCh2].getAttribute('__bxgroup1'); if(grName2 == '__'+arPath[1]) return newCont.childNodes[iCh2]; } } } } catch(e) { continue; } } } return false; }, insertHTML: function(_html){this.pMainObj.insertHTML(_html);} } //BXPropertiesTaskbar function BXPropertiesTaskbar() { ar_BXPropertiesTaskbarS.push(this); var obj = this; obj.bDefault = false; obj.emptyInnerHTML = "<br /><span style='padding-left: 15px;'>" + BX_MESS.SelectAnyElement + "</span>"; BXPropertiesTaskbar.prototype.OnTaskbarCreate = function () { this.pHeaderTable.setAttribute("__bxtagname", "_taskbar_properties"); BX.addClass(obj.pWnd, "bx-props-taskbar") this.pMainObj.oPropertiesTaskbar = this; this.icon = 'properties'; this.iconDiv.className = 'tb_icon bxed-taskbar-icon-' + this.icon; var table = this.pMainObj.pDocument.createElement("TABLE"); table.style.width = "100%"; this.pCellPath = table.insertRow(-1).insertCell(-1); this.pCellPath.className = "bxproptagspath"; this.pCellProps = table.insertRow(-1).insertCell(-1); this.pCellProps.style.height = "100%"; this.pCellProps.vAlign = "top"; this.pWnd.appendChild(table); this.pCellPath.style.height = "0%"; this.pCellProps.style.height = "100%"; this.pCellProps = this.CreateScrollableArea(this.pCellProps); this.pCellProps.className = "bxtaskbarprops"; this.pCellProps.innerHTML = obj.emptyInnerHTML; this.pMainObj.AddEventHandler("OnSelectionChange", obj.OnSelectionChange); table = null; } BXPropertiesTaskbar.prototype.OnSelectionChange = function (sReloadControl, pElement) { try{ // In split mode in IE fast view mode changing occurs Permission denied ERROR if (!obj.bActivated || !obj.pTaskbarSet.bShowing) return; var oSelected, pElementTemp, strPath = ''; if (pElement) oSelected = pElement; else pElement = oSelected = obj.pMainObj.GetSelectionObject(); if (pElement && pElement.ownerDocument != obj.pMainObj.pEditorDocument) { try{ var pBody = obj.pMainObj.pEditorDocument.body; pElement = pBody.lastChild || pBody.appendChild(obj.pMainObj.pEditorDocument.createElement('BR')); obj.pMainObj.SelectElement(pElement); }catch(e){} } if(sReloadControl == "always" || !obj.oOldSelected || !BXElementEqual(oSelected, obj.oOldSelected)) { obj.oOldSelected = oSelected; BX.cleanNode(obj.pCellPath); var tPath = BX.create("TABLE"); tPath.className = "bxproptagspathinl"; tPath.cellSpacing = 0; tPath.cellPadding = 1; var bxTag, rPath = tPath.insertRow(-1), cPath, pBut, oRange, cActiveTag = null, fPropertyPanel = null, fPropertyPanelElement = null; if(obj.pMainObj.pEditorDocument.body.createTextRange) oRange = obj.pMainObj.pEditorDocument.body.createTextRange(); while(pElement && (pElementTemp = pElement.parentNode) != null) { if(pElementTemp.nodeType !=1 || !pElement.tagName) { pElement = pElementTemp; continue; } strPath = pElement.tagName.toLowerCase(); bxTag = obj.pMainObj.GetBxTag(pElement); if (bxTag.tag) { strPath = bxTag.tag; fPropertyPanel = false; tPath.deleteRow(rPath); rPath = tPath.insertRow(-1); } if(strPath == 'tbody') { pElement = pElementTemp; continue; } cPath = rPath.insertCell(0); if(!fPropertyPanel && pPropertybarHandlers[strPath]) { fPropertyPanel = pPropertybarHandlers[strPath]; fPropertyPanelElement = pElement; cActiveTag = cPath; } cPath.innerHTML = '<' + strPath + '>'; cPath.pElement = pElement; cPath.oRange = oRange; cPath.pMainObj = obj.pMainObj; cPath.onclick = function () { if(this.oRange && this.oRange.moveToElementText) { this.oRange.moveToElementText(this.pElement); this.oRange.select(); } else { this.pMainObj.pEditorWindow.getSelection().selectAllChildren(this.pElement); } this.pMainObj.OnEvent("OnSelectionChange"); }; pElement = pElementTemp; } // temp hack... var cPathLast = rPath.insertCell(-1); cPathLast.style.width = '100%'; cPathLast.innerHTML = " "; var bDefault = false; obj.pCellPath.appendChild(tPath); if(!fPropertyPanel) { fPropertyPanel = pPropertybarHandlers['default']; fPropertyPanelElement = oSelected; bDefault = true; } if(cActiveTag) cActiveTag.className = 'bxactive-tag'; if(fPropertyPanelElement && fPropertyPanelElement.tagName && (!(obj.oOldPropertyPanelElement && BXElementEqual(fPropertyPanelElement, obj.oOldPropertyPanelElement)) || sReloadControl == "always")) { var sRealTag = fPropertyPanelElement.tagName.toLowerCase(); bxTag = obj.pMainObj.GetBxTag(fPropertyPanelElement); if (bxTag.tag) sRealTag = bxTag.tag; obj.oOldPropertyPanelElement = fPropertyPanelElement; var bNew = false; if((sReloadControl == "always") || (bDefault && obj.bDefault != bDefault) || (!bDefault && (!obj.sOldTag || obj.sOldTag != sRealTag))) { obj.pMainObj.OnChange("OnPropertyChange", ""); bNew = true; BX.cleanNode(obj.pCellProps); } obj.sOldTag = sRealTag; if(fPropertyPanel) fPropertyPanel(bNew, obj, fPropertyPanelElement); var w = (parseInt(obj.pTaskbarSet.pDataColumn.parentNode.offsetWidth) - 2); obj.pTaskbarSet.pDataColumn.style.width = (w > 0 ? w : 0) + 'px'; obj.pMainObj.OnEvent("OnPropertybarChanged"); ar_PROP_ELEMENTS.push(obj); obj.bDefault = bDefault; } tPath = rPath = cPath = pBut = null; } pElement = null; oSelected = null; }catch(e){} return true; } } oBXEditorUtils.addTaskBar('BXPropertiesTaskbar', 3 , BX_MESS.CompTBProp, [], 5); function BXCreateTaskbars(pMainObj) { var _sort = function(arr) { var l = arr.length, tmp, flag = false, i = 0; while (i < l - 1) { if (arr[i].sort - arr[i + 1].sort > 0) { tmp = arr[i + 1]; arr[i + 1] = arr[i]; arr[i] = tmp; i--; } i++; } } _sort(arBXTaskbars); if (!SETTINGS[pMainObj.name].arTaskbarSettings) SETTINGS[pMainObj.name].arTaskbarSettings = arTaskbarSettings_default; var _old_visualEffects = pMainObj.visualEffects; pMainObj.visualEffects = false; var i, aroTBSet, l = arBXTaskbars.length, oTB, tbkey, pTaskbar; for(i = 0; i < l; i++) { oTB = arBXTaskbars[i]; tbkey = oTB.name + "_" + pMainObj.name; if (ar_BXTaskbarS[tbkey] && (ar_BXTaskbarS[tbkey].pMainObj.name == pMainObj.name) && !ar_BXTaskbarS[tbkey].bDeleted) continue; aroTBSet = SETTINGS[pMainObj.name].arTaskbarSettings[oTB.name]; if (!aroTBSet || !pMainObj.allowedTaskbars[oTB.name]) continue; if (!aroTBSet.show && oTB.name != "BXPropertiesTaskbar") continue; if (oTB.pos !== 2) // Right or bottom oTB.pos = 3; if ((oTB.arParams['bWithoutPHP'] === false && !pMainObj.arConfig["bWithoutPHP"]) || oTB.arParams['bWithoutPHP'] !== false) { BX.extend(window[oTB.name], window.BXTaskbar); pTaskbar = new window[oTB.name](); pTaskbar.Create(oTB.name, pMainObj, oTB.title); pMainObj.arTaskbarSet[oTB.pos].AddTaskbar(pTaskbar, true); } } var tbs, l, i, j, bActivate; for(i in pMainObj.arTaskbarSet) { tbs = pMainObj.arTaskbarSet[i]; if (!tbs || typeof tbs !== 'object' || !tbs.arTaskbars || !tbs.arTaskbars[0]) continue; l = tbs.arTaskbars.length; if (l == 1 && !tbs.bShowing) { tbs.sActiveTaskbar = tbs.arTaskbars[0].id; } else { bActivate = false; for (j = 0; j < l; j++) { if (SETTINGS[pMainObj.name].arTaskbarSettings[tbs.arTaskbars[j].name].active) { tbs.ActivateTaskbar(tbs.arTaskbars[j].id, false); bActivate = true; break; // Activate and exit if we find active taskbar } } // If no active taskbars find - activate first if (!bActivate) tbs.ActivateTaskbar(tbs.arTaskbars[0].id, false); } } if (!pMainObj.oBXTaskTabs) pMainObj.oBXTaskTabs = new BXTaskTabs(pMainObj); // Refresh Taskbars var arTskbrSet = SETTINGS[pMainObj.name].arTaskbarSettings; var tId, tTitle, BXTaskbar; for (var k in ar_BXTaskbarS) { BXTaskbar = ar_BXTaskbarS[k]; if(!pMainObj.CheckTaskbar(BXTaskbar)) continue; tId = BXTaskbar.name; if (BXTaskbar.pMainObj.name != pMainObj.name || !arTskbrSet || !arTskbrSet[tId]) continue; if (arTskbrSet[tId].show && !BXTaskbar.pTaskbarSet) pMainObj.arTaskbarSet[arTskbrSet[tId].position[0]].AddTaskbar(BXTaskbar, true); else if (!arTskbrSet[tId].show && BXTaskbar.pTaskbarSet) BXTaskbar.Close(false); } pMainObj.oBXTaskTabs.Draw(); pMainObj.oBXTaskTabs.Refresh(); setTimeout(function(){pMainObj.visualEffects = _old_visualEffects; pMainObj.oBXTaskTabs.Refresh();}, 500); } function BXTaskTabs(pMainObj) { this.pMainObj = pMainObj; this.bRendered = false; }; BXTaskTabs.prototype = { Draw: function() { var tbs, i, j, l, k, tb, pTab, _this = this, id; this.arTabs = []; this.arTabIndex = {}; BX.cleanNode(this.pTabsCont); for(i in this.pMainObj.arTaskbarSet) { tbs = this.pMainObj.arTaskbarSet[i]; if (!tbs || typeof tbs !== 'object' || !tbs.arTaskbars || !tbs.arTaskbars.length) continue; for(j = 0, k = tbs.arTaskbars.length; j < k; j++) { if (!this.bRendered) { this.pTabsCont = this.pMainObj.pTaskTabs.appendChild(BX.create("DIV", {props: {className: 'bxed-tasktab-cnt', unselectable : "on"}})); this.bRendered = true; } tb = tbs.arTaskbars[j]; id = "tab_" + tb.id; pTab = BX.create("SPAN", { props: { id: id, className: "bxed-tasktab", title: tb.title, unselectable: "on" }, events: { click: function(){_this.OnClick(this)}, mouseover: function(){_this.OnMouseOver(this)}, mouseout: function(){_this.OnMouseOut(this)} }, html: '<i class="tasktab-left"></i><span class="tasktab-center"><span class="tasktab-icon bxed-taskbar-icon-' + tb.icon + '" unselectable="on"></span><span class="tasktab-text" unselectable="on">' + tb.title + '</span></span><i class="tasktab-right"></i>' }); this.arTabs.push({ id: id, cont: pTab, tb: tb, tbs: tbs, bPushed: tbs.sActiveTaskbar == tb.id }); this.arTabIndex[id] = this.arTabs.length - 1; if (tbs.sActiveTaskbar == tb.id && tbs.bShowing) BX.addClass(pTab, "bxed-tasktab-pushed"); this.pTabsCont.appendChild(pTab); } } }, Refresh: function() { var i, l = this.arTabs.length, tab, bAct; for(i = 0; i < l; i++) { tab = this.arTabs[i]; bAct = (tab.tbs.bShowing && tab.tb.id == tab.tbs.sActiveTaskbar); if (tab.bPushed == bAct) continue; tab.bPushed = bAct; if (bAct) BX.addClass(tab.cont, "bxed-tasktab-pushed"); else BX.removeClass(tab.cont, "bxed-tasktab-pushed"); } }, OnClick: function(pObj) { var oTab = this.arTabs[this.arTabIndex[pObj.id]]; if (oTab.bPushed) { oTab.bPushed = false; BX.removeClass(pObj, "bxed-tasktab-pushed"); oTab.tbs.Hide(); } else { oTab.bPushed = true; BX.addClass(pObj, "bxed-tasktab-pushed"); if (!oTab.tbs.bShowing) oTab.tbs.Show(); oTab.tbs.ActivateTaskbar(oTab.tb.id); } SETTINGS[oTab.tbs.pMainObj.name].arTBSetsSettings[oTab.tbs.iNum].show = oTab.bPushed; }, OnMouseOver: function(pObj) { BX.addClass(pObj, "bxed-tasktab-over"); }, OnMouseOut: function(pObj) { BX.removeClass(pObj, "bxed-tasktab-over"); }, GetVPos: function() { var edPos = BX.pos(this.pMainObj.pWnd); return { t: parseInt(edPos.bottom) - 25, l: parseInt(edPos.left) + 50, w: 300, h: 25 }; } } function BXVisualMinimize(par) { this.oDiv = document.body.appendChild(BX.create('DIV', {props: {className: 'visual_minimize'}, style: {display: 'none'}})); } BXVisualMinimize.prototype.Show = function(par) { par.num = BX.browser.IsIE() ? 4 : 8; par.time = BX.browser.IsIE() ? 1 : 5; this.oDiv.style.display = 'block'; var _this = this, i = 0, dt = Math.round((par.ePos.t - par.sPos.t) / par.num), dl = Math.round((par.ePos.l - par.sPos.l) / par.num), dw = Math.round((par.ePos.w - par.sPos.w) / par.num), dh = Math.round((par.ePos.h - par.sPos.h) / par.num), show = function() { i++; if (i > par.num - 1) { clearInterval(intId); _this.oDiv.style.display = 'none'; if (par.callback) par.callback(); return; } _this.oDiv.style.top = (par.sPos.t + dt * i) + 'px'; _this.oDiv.style.left = (par.sPos.l + dl * i) + 'px'; _this.oDiv.style.width = Math.abs(par.sPos.w + dw * i) + 'px'; _this.oDiv.style.height = Math.abs(par.sPos.h + dh * i) + 'px'; }, intId = setInterval(show, par.time); }; function showTranspToggle(arParams) { if (!arParams) return; var pMainObj = arParams.pMainObj; var e = arParams.e; // For main document var TranspToggleMove = function(e) { e = getRealMousePos(e, pMainObj); if (arParams.bVertical) TranspToggle.style.top = adjustValue(arParams.pos.top, dY + e.realY); else TranspToggle.style.left = adjustValue(arParams.pos.left, dX + e.realX); }; // For editor document var TranspToggleMoveF = function(e) { e = getRealMousePos(e, pMainObj, true); if (arParams.bVertical) TranspToggle.style.top = adjustValue(arParams.pos.top, dY + e.realY); else TranspToggle.style.left = adjustValue(arParams.pos.left, dX + e.realX); }; var adjustValue = function(value, new_value) { var _cursor = cursor; if ((new_value < value) && (value - new_value > maxDiff)) { new_value = value - maxDiff; _cursor = "not-allowed"; } else if((new_value > value) && (new_value - value > minDiff)) { new_value = value + minDiff; _cursor = "not-allowed"; } if (curCursor != _cursor) { curCursor = _cursor; pBXEventDispatcher.SetCursor(curCursor); } return new_value + 'px'; }; // MouseUp handler var TranspToggleMouseUp = function() { pMainObj.arTaskbarSet[2]._SetTmpClass(true); // Clean event handlers removeAdvEvent(document, "mousemove", TranspToggleMove, true); removeAdvEvent(document, "mouseup", TranspToggleMouseUp, true); removeAdvEvent(pMainObj.pEditorDocument, "mousemove", TranspToggleMoveF, true); removeAdvEvent(pMainObj.pEditorDocument, "mouseup", TranspToggleMouseUp, true); if (BX.browser.IsIE()) { removeAdvEvent(pMainObj.pEditorDocument, "selectstart", preventselect, true); removeAdvEvent(document, "selectstart", preventselect, true); } // Remove toggle TranspToggle.style.display = 'none'; pBXEventDispatcher.SetCursor("default"); var value = arParams.value - (arParams.bVertical ? (parseInt(TranspToggle.style.top) - arParams.pos.top) : (parseInt(TranspToggle.style.left) - arParams.pos.left)); if (arParams.callbackObj) arParams.callbackFunc.apply(arParams.callbackObj, [value]); else arParams.callbackFunc(value); }; var w, h, dY, dX, cursor, className, top, left, maxDiff = arParams.maxValue - arParams.value, minDiff = arParams.value - arParams.minValue; e = getRealMousePos(e, pMainObj); if (arParams.bVertical) { w = parseInt(arParams.width) + "px", h = parseInt(arParams.height ? arParams.height : 6) + "px"; dY = e.realY - parseInt(arParams.pos.top) - 6; top = (arParams.pos.top + 10) + "px"; left = arParams.pos.left + "px"; cursor = "row-resize"; className = "transp_tog_h"; } else { h = parseInt(arParams.height) + "px"; w = parseInt((arParams.width) ? arParams.width : 6) + "px"; dX = e.realX - parseInt(arParams.pos.left) - 6; top = arParams.pos.top + "px"; left = (arParams.pos.left + 10) + "px"; cursor = "col-resize"; className = "transp_tog_v"; } var curCursor = cursor; pBXEventDispatcher.SetCursor(cursor); // Create toggle var TranspToggle = CACHE_DISPATCHER['TranspToggle']; BX.adjust(TranspToggle, {props: {className: className}, style: {display: 'block', width: w, height: h, top: top, left: left}}); addAdvEvent(document, "mousemove", TranspToggleMove, true); addAdvEvent(document, "mouseup", TranspToggleMouseUp, true); addAdvEvent(pMainObj.pEditorDocument, "mousemove", TranspToggleMoveF, true); addAdvEvent(pMainObj.pEditorDocument, "mouseup", TranspToggleMouseUp, true); if (BX.browser.IsIE()) { addAdvEvent(pMainObj.pEditorDocument, "selectstart", preventselect, true); addAdvEvent(document, "selectstart", preventselect, true); } return BX.PreventDefault(e); } // # # # # # # # # # # # # # # # # ONE BIG TOOLBAR # # # # # # # # # # # # # # # # // For lightMode == true function BXGlobalToolbar(pMainObj) { this.pMainObj = pMainObj; this.oCont = this.pMainObj.pTopToolbarset; this.oCont.style.display = this.oCont.parentNode.style.display = ""; this.oCont.className = "bxedtoolbarset"; this.oCont.unselectable = "on"; this.oCont.appendChild(BX.create("DIV", {style: {width: '100%'}})); } BXGlobalToolbar.prototype = { AddButton: function(pButton) { this.oCont.firstChild.appendChild(BX.create("DIV", {props: {className: "bx-g-tlbr-but"}})).appendChild(pButton.pWnd); }, LineBegin: function(bFirst) { // Hack for IE 7 if (!bFirst && BX.browser.IsIE()) this.oCont.firstChild.appendChild(BX.create("IMG", {props: {src: one_gif_src, className: "bx-g-tlbr-line-ie"}})); this.oCont.firstChild.appendChild(BX.create("DIV", {props: {className: "bx-g-tlbr-line-begin"}})); }, LineEnd: function() { this.oCont.firstChild.appendChild(BX.create("DIV", {props: {className: "bx-g-tlbr-line-end"}})); } }