Your IP : 52.14.9.138
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"}}));
}
}