function dhtmlXContainer(obj) {
var that = this;
this.obj = obj;
this.dhxcont = null;
this.st = document.createElement("DIV");
this.st.style.position = "absolute";
this.st.style.left = "-200px";
this.st.style.top = "0px";
this.st.style.width = "100px";
this.st.style.height = "1px";
this.st.style.visibility = "hidden";
this.st.style.overflow = "hidden";
document.body.insertBefore(this.st, document.body.childNodes[0]);
this.obj._getSt = function() {
// return this.st object, needed for content moving
return that.st;
}
this.obj.dv = "def"; // default
this.obj.av = this.obj.dv; // active for usage
this.obj.cv = this.obj.av; // current opened
this.obj.vs = {}; // all
this.obj.vs[this.obj.av] = {};
this.obj.view = function(name) {
if (!this.vs[name]) {
this.vs[name] = {};
this.vs[name].dhxcont = this.vs[this.dv].dhxcont;
var mainCont = document.createElement("DIV");
mainCont.style.position = "relative";
mainCont.style.left = "0px";
mainCont.style.width = "200px";
mainCont.style.height = "200px";
mainCont.style.overflow = "hidden";
that.st.appendChild(mainCont);
this.vs[name].dhxcont.mainCont[name] = mainCont;
}
this.avt = this.av;
this.av = name;
return this;
}
this.obj.setActive = function() {
if (!this.vs[this.av]) return;
this.cv = this.av;
// detach current content
if (this.vs[this.avt].dhxcont == this.vs[this.avt].dhxcont.mainCont[this.avt].parentNode) {
that.st.appendChild(this.vs[this.avt].dhxcont.mainCont[this.avt]);
if (this.vs[this.avt].menu) that.st.appendChild(document.getElementById(this.vs[this.avt].menuId));
if (this.vs[this.avt].toolbar) that.st.appendChild(document.getElementById(this.vs[this.avt].toolbarId));
if (this.vs[this.avt].sb) that.st.appendChild(document.getElementById(this.vs[this.avt].sbId));
}
// adjust content
if (this._isCell) {
//this.adjustContent(this.childNodes[0], (this._noHeader?0:this.skinParams[this.skin]["cpanel_height"]));
}
//this.vs[this.av].dhxcont.mainCont[this.av].style.width = this.vs[this.av].dhxcont.mainCont[this.avt].style.width;
//this.vs[this.av].dhxcont.mainCont[this.av].style.height = this.vs[this.av].dhxcont.mainCont[this.avt].style.height;
if (this.vs[this.av].dhxcont != this.vs[this.av].dhxcont.mainCont[this.av].parentNode) {
this.vs[this.av].dhxcont.insertBefore(this.vs[this.av].dhxcont.mainCont[this.av],this.vs[this.av].dhxcont.childNodes[this.vs[this.av].dhxcont.childNodes.length-1]);
if (this.vs[this.av].menu) this.vs[this.av].dhxcont.insertBefore(document.getElementById(this.vs[this.av].menuId), this.vs[this.av].dhxcont.childNodes[0]);
if (this.vs[this.av].toolbar) this.vs[this.av].dhxcont.insertBefore(document.getElementById(this.vs[this.av].toolbarId), this.vs[this.av].dhxcont.childNodes[(this.vs[this.av].menu?1:0)]);
if (this.vs[this.av].sb) this.vs[this.av].dhxcont.insertBefore(document.getElementById(this.vs[this.av].sbId), this.vs[this.av].dhxcont.childNodes[this.vs[this.av].dhxcont.childNodes.length-1]);
}
if (this._doOnResize) this._doOnResize();
this.avt = null;
}
this.obj._viewRestore = function() {
var t = this.av;
if (this.avt) { this.av = this.avt; this.avt = null; }
return t;
}
this.setContent = function(data) {
/*
this.dhxcont = data;
this.dhxcont.innerHTML = "
"+
"";
this.dhxcont.mainCont = this.dhxcont.childNodes[0];
this.obj.vs[this.obj.av].dhxcont = this.dhxcont;
*/
this.obj.vs[this.obj.av].dhxcont = data;
this.obj._init();
}
this.obj._init = function() {
this.vs[this.av].dhxcont.innerHTML = ""+
"";
this.vs[this.av].dhxcont.mainCont = {};
this.vs[this.av].dhxcont.mainCont[this.av] = this.vs[this.av].dhxcont.childNodes[0];
}
this.obj._genStr = function(w) {
var s = ""; var z = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for (var q=0; q 0) objB.appendChild(objA.childNodes[0]);
//this.vs[a] = null;
}
cont.view(this.av).setActive();
}
this.obj.adjustContent = function(parentObj, offsetTop, marginTop, notCalcWidth, offsetBottom) {
this.vs[this.av].dhxcont.style.left = (this._offsetLeft||0)+"px";
this.vs[this.av].dhxcont.style.top = (this._offsetTop||0)+offsetTop+"px";
//
var cw = parentObj.clientWidth+(this._offsetWidth||0);
if (notCalcWidth !== true) this.vs[this.av].dhxcont.style.width = Math.max(0, cw)+"px";
if (notCalcWidth !== true) if (this.vs[this.av].dhxcont.offsetWidth > cw) this.vs[this.av].dhxcont.style.width = Math.max(0, cw*2-this.vs[this.av].dhxcont.offsetWidth)+"px";
//
var ch = parentObj.clientHeight+(this._offsetHeight||0);
this.vs[this.av].dhxcont.style.height = Math.max(0, ch-offsetTop)+(marginTop!=null?marginTop:0)+"px";
if (this.vs[this.av].dhxcont.offsetHeight > ch - offsetTop) this.vs[this.av].dhxcont.style.height = Math.max(0, (ch-offsetTop)*2-this.vs[this.av].dhxcont.offsetHeight)+"px";
if (offsetBottom) if (!isNaN(offsetBottom)) this.vs[this.av].dhxcont.style.height = Math.max(0, parseInt(this.vs[this.av].dhxcont.style.height)-offsetBottom)+"px";
// main window content
if (this.vs[this.av]._minDataSizeH != null) {
// height for menu/toolbar/status bar should be included
if (parseInt(this.vs[this.av].dhxcont.style.height) < this.vs[this.av]._minDataSizeH) this.vs[this.av].dhxcont.style.height = this.vs[this.av]._minDataSizeH+"px";
}
if (this.vs[this.av]._minDataSizeW != null) {
if (parseInt(this.vs[this.av].dhxcont.style.width) < this.vs[this.av]._minDataSizeW) this.vs[this.av].dhxcont.style.width = this.vs[this.av]._minDataSizeW+"px";
}
if (notCalcWidth !== true) {
this.vs[this.av].dhxcont.mainCont[this.av].style.width = this.vs[this.av].dhxcont.clientWidth+"px";
// allow border to this.dhxcont.mainCont
if (this.vs[this.av].dhxcont.mainCont[this.av].offsetWidth > this.vs[this.av].dhxcont.clientWidth) this.vs[this.av].dhxcont.mainCont[this.av].style.width = Math.max(0, this.vs[this.av].dhxcont.clientWidth*2-this.vs[this.av].dhxcont.mainCont[this.av].offsetWidth)+"px";
}
var menuOffset = (this.vs[this.av].menu!=null?(!this.vs[this.av].menuHidden?this.vs[this.av].menuHeight:0):0);
var toolbarOffset = (this.vs[this.av].toolbar!=null?(!this.vs[this.av].toolbarHidden?this.vs[this.av].toolbarHeight:0):0);
var statusOffset = (this.vs[this.av].sb!=null?(!this.vs[this.av].sbHidden?this.vs[this.av].sbHeight:0):0);
// allow border to this.dhxcont.mainCont
this.vs[this.av].dhxcont.mainCont[this.av].style.height = this.vs[this.av].dhxcont.clientHeight+"px";
if (this.vs[this.av].dhxcont.mainCont[this.av].offsetHeight > this.vs[this.av].dhxcont.clientHeight) this.vs[this.av].dhxcont.mainCont[this.av].style.height = Math.max(0, this.vs[this.av].dhxcont.clientHeight*2-this.vs[this.av].dhxcont.mainCont[this.av].offsetHeight)+"px";
this.vs[this.av].dhxcont.mainCont[this.av].style.height = Math.max(0, parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.height)-menuOffset-toolbarOffset-statusOffset)+"px";
}
this.obj.coverBlocker = function() {
return this.vs[this.av].dhxcont.childNodes[this.vs[this.av].dhxcont.childNodes.length-1];
}
this.obj.showCoverBlocker = function() {
this.coverBlocker().style.display = "";
}
this.obj.hideCoverBlocker = function() {
this.coverBlocker().style.display = "none";
}
this.obj.updateNestedObjects = function() {
if (this.vs[this.av].grid) { this.vs[this.av].grid.setSizes(); }
if (this.vs[this.av].sched) { this.vs[this.av].sched.setSizes(); }
if (this.vs[this.av].tabbar) {
this.vs[this.av].tabbar.adjustOuterSize();
}
if (this.vs[this.av].folders) { this.vs[this.av].folders.setSizes(); }
if (this.vs[this.av].editor) {
if (!_isIE) this.vs[this.av].editor._prepareContent(true);
this.vs[this.av].editor.setSizes();
}
//if (_isOpera) { var t = this; window.setTimeout(function(){t.editor.adjustSize();},10); } else { this.vs[this.av].editor.adjustSize(); } }
if (this.vs[this.av].layout) {
if (this.vs[this.av]._isAcc && this.vs[this.av].skin == "dhx_skyblue") {
this.vs[this.av].layoutObj.style.width = parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.width)+2+"px";
this.vs[this.av].layoutObj.style.height = parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.height)+2+"px";
} else {
this.vs[this.av].layoutObj.style.width = this.vs[this.av].dhxcont.mainCont[this.av].style.width;
this.vs[this.av].layoutObj.style.height = this.vs[this.av].dhxcont.mainCont[this.av].style.height;
}
this.vs[this.av].layout.setSizes();
}
if (this.vs[this.av].accordion != null) {
if (this.vs[this.av].skin == "dhx_web") {
this.vs[this.av].accordionObj.style.width = parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.width)+"px";
this.vs[this.av].accordionObj.style.height = parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.height)+"px";
} else {
this.vs[this.av].accordionObj.style.width = parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.width)+2+"px";
this.vs[this.av].accordionObj.style.height = parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.height)+2+"px";
}
this.vs[this.av].accordion.setSizes();
}
// docked layout's cell
if (this.vs[this.av].dockedCell) { this.vs[this.av].dockedCell.updateNestedObjects(); }
/*
if (win.accordion != null) { win.accordion.setSizes(); }
if (win.layout != null) { win.layout.setSizes(win); }
*/
if (this.vs[this.av].form) this.vs[this.av].form.setSizes();
}
/**
* @desc: attaches a status bar to a window
* @type: public
*/
this.obj.attachStatusBar = function() {
if (this.vs[this.av].sb) return;
var sbObj = document.createElement("DIV");
if (this._isCell) {
sbObj.className = "dhxcont_sb_container_layoutcell";
} else {
sbObj.className = "dhxcont_sb_container";
}
sbObj.id = "sbobj_"+this._genStr(12);
sbObj.innerHTML = "";
if (this.cv == this.av) this.vs[this.av].dhxcont.insertBefore(sbObj, this.vs[this.av].dhxcont.childNodes[this.vs[this.av].dhxcont.childNodes.length-1]); else that.st.appendChild(sbObj);
sbObj.setText = function(text) { this.childNodes[0].innerHTML = text; }
sbObj.getText = function() { return this.childNodes[0].innerHTML; }
sbObj.onselectstart = function(e) { e=e||event; e.returnValue=false; return false; }
this.vs[this.av].sb = sbObj;
this.vs[this.av].sbHeight = (this.skin=="dhx_web"?41:(this.skin=="dhx_skyblue"?23:sbObj.offsetHeight));
this.vs[this.av].sbId = sbObj.id;
if (this._doOnAttachStatusBar) this._doOnAttachStatusBar("init");
this.adjust();
return this.vs[this._viewRestore()].sb;
}
/**
* @desc: detaches a status bar from a window
* @type: public
*/
this.obj.detachStatusBar = function() {
if (!this.vs[this.av].sb) return;
this.vs[this.av].sb.setText = null;
this.vs[this.av].sb.getText = null;
this.vs[this.av].sb.onselectstart = null;
this.vs[this.av].sb.parentNode.removeChild(this.vs[this.av].sb);
this.vs[this.av].sb = null;
this.vs[this.av].sbHeight = null;
this.vs[this.av].sbId = null;
this._viewRestore();
if (this._doOnAttachStatusBar) this._doOnAttachStatusBar("unload");
}
/**
* @desc: attaches a dhtmlxMenu to a window
* @type: public
*/
this.obj.attachMenu = function(skin) {
if (this.vs[this.av].menu) return;
var menuObj = document.createElement("DIV");
menuObj.style.position = "relative";
menuObj.style.overflow = "hidden";
menuObj.id = "dhxmenu_"+this._genStr(12);
if (this.cv == this.av) this.vs[this.av].dhxcont.insertBefore(menuObj, this.vs[this.av].dhxcont.childNodes[0]); else that.st.appendChild(menuObj);
this.vs[this.av].menu = new dhtmlXMenuObject(menuObj.id, (skin||this.skin));
this.vs[this.av].menuHeight = (this.skin=="dhx_web"?29:menuObj.offsetHeight);
this.vs[this.av].menuId = menuObj.id;
if (this._doOnAttachMenu) this._doOnAttachMenu("init");
this.adjust();
return this.vs[this._viewRestore()].menu;
}
/**
* @desc: detaches a dhtmlxMenu from a window
* @type: public
*/
this.obj.detachMenu = function() {
if (!this.vs[this.av].menu) return;
var menuObj = document.getElementById(this.vs[this.av].menuId);
this.vs[this.av].menu.unload();
this.vs[this.av].menu = null;
this.vs[this.av].menuId = null;
this.vs[this.av].menuHeight = null;
menuObj.parentNode.removeChild(menuObj);
menuObj = null;
this._viewRestore();
if (this._doOnAttachMenu) this._doOnAttachMenu("unload");
}
/**
* @desc: attaches a dhtmlxToolbar to a window
* @type: public
*/
this.obj.attachToolbar = function(skin) {
if (this.vs[this.av].toolbar) return;
var toolbarObj = document.createElement("DIV");
toolbarObj.style.position = "relative";
toolbarObj.style.overflow = "hidden";
toolbarObj.id = "dhxtoolbar_"+this._genStr(12);
if (this.cv == this.av) this.vs[this.av].dhxcont.insertBefore(toolbarObj, this.vs[this.av].dhxcont.childNodes[(this.vs[this.av].menu!=null?1:0)]); else that.st.appendChild(toolbarObj);
this.vs[this.av].toolbar = new dhtmlXToolbarObject(toolbarObj.id, (skin||this.skin));
this.vs[this.av].toolbarHeight = (this.skin=="dhx_web"?41:toolbarObj.offsetHeight+(this._isLayout&&this.skin=="dhx_skyblue"?2:0));
this.vs[this.av].toolbarId = toolbarObj.id;
if (this._doOnAttachToolbar) this._doOnAttachToolbar("init");
this.adjust();
return this.vs[this._viewRestore()].toolbar;
}
/**
* @desc: detaches a dhtmlxToolbar from a window
* @type: public
*/
this.obj.detachToolbar = function() {
if (!this.vs[this.av].toolbar) return;
var toolbarObj = document.getElementById(this.vs[this.av].toolbarId);
this.vs[this.av].toolbar.unload();
this.vs[this.av].toolbar = null;
this.vs[this.av].toolbarId = null;
this.vs[this.av].toolbarHeight = null;
toolbarObj.parentNode.removeChild(toolbarObj);
toolbarObj = null;
this._viewRestore();
if (this._doOnAttachToolbar) this._doOnAttachToolbar("unload");
}
/**
* @desc: attaches a dhtmlxGrid to a window
* @type: public
*/
this.obj.attachGrid = function() {
if (this._isWindow && this.skin == "dhx_skyblue") {
this.vs[this.av].dhxcont.mainCont[this.av].style.border = "#a4bed4 1px solid";
this._redraw();
}
var obj = document.createElement("DIV");
obj.id = "dhxGridObj_"+this._genStr(12);
obj.style.width = "100%";
obj.style.height = "100%";
obj.cmp = "grid";
document.body.appendChild(obj);
this.attachObject(obj.id, false, true);
this.vs[this.av].grid = new dhtmlXGridObject(obj.id);
this.vs[this.av].grid.setSkin(this.skin);
if (this.skin != "dhx_web") {
this.vs[this.av].grid.entBox.style.border = "0px solid white";
this.vs[this.av].grid._sizeFix=0;
}
this.vs[this.av].gridId = obj.id;
this.vs[this.av].gridObj = obj;
return this.vs[this._viewRestore()].grid;
}
/**
* @desc: attaches a dhtmlxScheduler to a window
* @type: public
*/
this.obj.attachScheduler = function(day,mode) {
var obj = document.createElement("DIV");
obj.id = "dhxSchedObj_"+this._genStr(12);
obj.innerHTML = '';
document.body.appendChild(obj.firstChild);
this.attachObject(obj.id, false, true);
this.vs[this.av].sched = scheduler;
this.vs[this.av].schedId = obj.id;
scheduler.setSizes = scheduler.update_view;
scheduler.destructor=function(){};
scheduler.init(obj.id,day,mode);
return this.vs[this._viewRestore()].sched;
}
/**
* @desc: attaches a dhtmlxTree to a window
* @param: rootId - not mandatory, tree super root, see dhtmlxTree documentation for details
* @type: public
*/
this.obj.attachTree = function(rootId) {
if (this._isWindow && this.skin == "dhx_skyblue") {
this.vs[this.av].dhxcont.mainCont[this.av].style.border = "#a4bed4 1px solid";
this._redraw();
}
var obj = document.createElement("DIV");
obj.id = "dhxTreeObj_"+this._genStr(12);
obj.style.width = "100%";
obj.style.height = "100%";
obj.cmp = "tree";
document.body.appendChild(obj);
this.attachObject(obj.id, false, true);
this.vs[this.av].tree = new dhtmlXTreeObject(obj.id, "100%", "100%", (rootId||0));
this.vs[this.av].tree.setSkin(this.skin);
// this.tree.allTree.style.paddingTop = "2px";
this.vs[this.av].tree.allTree.childNodes[0].style.marginTop = "2px";
this.vs[this.av].tree.allTree.childNodes[0].style.marginBottom = "2px";
this.vs[this.av].treeId = obj.id;
this.vs[this.av].treeObj = obj;
return this.vs[this._viewRestore()].tree;
}
/**
* @desc: attaches a dhtmlxTabbar to a window
* @type: public
*/
this.obj.attachTabbar = function(mode) {
if (this._isWindow && this.skin == "dhx_skyblue") {
this.vs[this.av].dhxcont.style.border = "none";
this.setDimension(this.w, this.h);
}
var obj = document.createElement("DIV");
obj.id = "dhxTabbarObj_"+this._genStr(12);
obj.style.width = "100%";
obj.style.height = "100%";
obj.style.overflow = "hidden";
obj.cmp = "tabbar";
document.body.appendChild(obj);
this.attachObject(obj.id, false, true);
// manage dockcell if exists
if (this.className == "dhtmlxLayoutSinglePoly") this.hideHeader();
//
this.vs[this.av].tabbar = new dhtmlXTabBar(obj.id, mode||"top", 20);
if (!this._isWindow) this.vs[this.av].tabbar._s.expand = true;
this.vs[this.av].tabbar.setSkin(this.skin);
this.vs[this.av].tabbar.adjustOuterSize();
this.vs[this.av].tabbarId = obj.id;
this.vs[this.av].tabbarObj = obj;
return this.vs[this._viewRestore()].tabbar;
}
/**
* @desc: attaches a dhtmlxFolders to a window
* @type: public
*/
this.obj.attachFolders = function() {
if (this._isWindow && this.skin == "dhx_skyblue") {
this.vs[this.av].dhxcont.mainCont[this.av].style.border = "#a4bed4 1px solid";
this._redraw();
}
var obj = document.createElement("DIV");
obj.id = "dhxFoldersObj_"+this._genStr(12);
obj.style.width = "100%";
obj.style.height = "100%";
obj.style.overflow = "hidden";
obj.cmp = "folders";
document.body.appendChild(obj);
this.attachObject(obj.id, false, true);
this.vs[this.av].folders = new dhtmlxFolders(obj.id);
this.vs[this.av].folders.setSizes();
this.vs[this.av].foldersId = obj.id;
this.vs[this.av].foldersObj = obj;
return this.vs[this._viewRestore()].folders;
}
/**
* @desc: attaches a dhtmlxAccordion to a window
* @type: public
*/
this.obj.attachAccordion = function() {
if (this._isWindow && this.skin == "dhx_skyblue") {
this.vs[this.av].dhxcont.mainCont[this.av].style.border = "#a4bed4 1px solid";
this._redraw();
}
var obj = document.createElement("DIV");
obj.id = "dhxAccordionObj_"+this._genStr(12);
if (this.skin == "dhx_web") {
obj.style.left = "0px";
obj.style.top = "0px";
obj.style.width = parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.width)+"px";
obj.style.height = parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.height)+"px";
} else {
obj.style.left = "-1px";
obj.style.top = "-1px";
obj.style.width = parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.width)+2+"px";
obj.style.height = parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.height)+2+"px";
}
//
obj.style.position = "relative";
obj.cmp = "accordion";
document.body.appendChild(obj);
this.attachObject(obj.id, false, true);
this.vs[this.av].accordion = new dhtmlXAccordion(obj.id, this.skin);
this.vs[this.av].accordion.setSizes();
this.vs[this.av].accordionId = obj.id;
this.vs[this.av].accordionObj = obj;
return this.vs[this._viewRestore()].accordion;
}
/**
* @desc: attaches a dhtmlxLayout to a window
* @param: view - layout's pattern
* @param: skin - layout's skin
* @type: public
*/
this.obj.attachLayout = function(view, skin) {
// attach layout to layout
if (this._isCell && this.skin == "dhx_skyblue") {
this.hideHeader();
this.vs[this.av].dhxcont.style.border = "0px solid white";
this.adjustContent(this.childNodes[0], 0);
}
if (this._isCell && this.skin == "dhx_web") {
this.hideHeader();
}
var obj = document.createElement("DIV");
obj.id = "dhxLayoutObj_"+this._genStr(12);
obj.style.overflow = "hidden";
obj.style.position = "absolute";
obj.style.left = "0px";
obj.style.top = "0px";
obj.style.width = parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.width)+"px";
obj.style.height = parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.height)+"px";
if (this._isAcc && this.skin == "dhx_skyblue") {
obj.style.left = "-1px";
obj.style.top = "-1px";
obj.style.width = parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.width)+2+"px";
obj.style.height = parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.height)+2+"px";
}
// needed for layout's init
obj.dhxContExists = true;
obj.cmp = "layout";
document.body.appendChild(obj);
this.attachObject(obj.id, false, true);
this.vs[this.av].layout = new dhtmlXLayoutObject(obj, view, (skin||this.skin));
// window/layout events configuration
if (this._isWindow) this.attachEvent("_onBeforeTryResize", this.vs[this.av].layout._defineWindowMinDimension);
this.vs[this.av].layoutId = obj.id;
this.vs[this.av].layoutObj = obj;
// this.adjust();
return this.vs[this._viewRestore()].layout;
}
/**
* @desc: attaches a dhtmlxEditor to a window
* @param: skin - not mandatory, editor's skin
* @type: public
*/
this.obj.attachEditor = function(skin) {
if (this._isWindow && this.skin == "dhx_skyblue") {
this.vs[this.av].dhxcont.mainCont[this.av].style.border = "#a4bed4 1px solid";
this._redraw();
}
var obj = document.createElement("DIV");
obj.id = "dhxEditorObj_"+this._genStr(12);
obj.style.position = "relative";
obj.style.display = "none";
obj.style.overflow = "hidden";
obj.style.width = "100%";
obj.style.height = "100%";
obj.cmp = "editor";
document.body.appendChild(obj);
//
this.attachObject(obj.id, false, true);
//
this.vs[this.av].editor = new dhtmlXEditor(obj.id, this.skin);
this.vs[this.av].editorId = obj.id;
this.vs[this.av].editorObj = obj;
return this.vs[this._viewRestore()].editor;
}
this.obj.attachMap = function(opts) {
var obj = document.createElement("DIV");
obj.id = "GMapsObj_"+this._genStr(12);
obj.style.position = "relative";
obj.style.display = "none";
obj.style.overflow = "hidden";
obj.style.width = "100%";
obj.style.height = "100%";
obj.cmp = "gmaps";
document.body.appendChild(obj);
this.attachObject(obj.id, false, true);
if (!opts) opts = {center: new google.maps.LatLng(40.719837,-73.992348), zoom: 11, mapTypeId: google.maps.MapTypeId.ROADMAP};
this.vs[this.av].gmaps = new google.maps.Map(obj, opts);
return this.vs[this.av].gmaps;
}
/**
* @desc: attaches an object into a window
* @param: obj - object or object id
* @param: autoSize - set true to adjust a window to object's dimension
* @type: public
*/
this.obj.attachObject = function(obj, autoSize, localCall) {
if (typeof(obj) == "string") obj = document.getElementById(obj);
if (autoSize) {
obj.style.visibility = "hidden";
obj.style.display = "";
var objW = obj.offsetWidth;
var objH = obj.offsetHeight;
}
this._attachContent("obj", obj);
if (autoSize && this._isWindow) {
obj.style.visibility = "visible";
this._adjustToContent(objW, objH);
/* this._engineAdjustWindowToContent(this, objW, objH); */
}
if (!localCall) this._viewRestore();
}
/**
*
*
*/
this.obj.detachObject = function(remove, moveTo) {
// detach dhtmlx components
var p = null;
var pObj = null;
var t = ["tree","grid","layout","tabbar","accordion","folders"];
for (var q=0; q 0) pObj.removeChild(pObj.childNodes[0]);
pObj.parentNode.removeChild(pObj);
pObj = null;
p = null;
} else {
document.body.appendChild(pObj);
pObj.style.display = "none";
}
this.vs[this.av][t[q]] = null;
this.vs[this.av][t[q]+"Id"] = null;
this.vs[this.av][t[q]+"Obj"] = null;
}
}
if (p != null && pObj != null) return new Array(p, pObj);
// detach any other content
if (remove && this.vs[this.av]._frame) {
this._detachURLEvents();
this.vs[this.av]._frame = null;
}
var objA = this.vs[this.av].dhxcont.mainCont[this.av];
while (objA.childNodes.length > 0) {
if (remove == true) {
// add frame events removing
objA.removeChild(objA.childNodes[0]);
} else {
var obj = objA.childNodes[0];
if (moveTo != null) {
if (typeof(moveTo) != "object") moveTo = document.getElementById(moveTo);
moveTo.appendChild(obj);
} else {
document.body.appendChild(obj);
}
obj.style.display = "none";
}
}
}
/**
* @desc: appends an object into a window
* @param: obj - object or object id
* @type: public
*/
this.obj.appendObject = function(obj) {
if (typeof(obj) == "string") { obj = document.getElementById(obj); }
this._attachContent("obj", obj, true);
}
/**
* @desc: attaches an html string as an object into a window
* @param: str - html string
* @type: public
*/
this.obj.attachHTMLString = function(str) {
this._attachContent("str", str);
var z=str.match(/