function dtmlXMLLoaderObject(funcObject, dhtmlObject) {
this.xmlDoc = "";
this.onloadAction = funcObject || null;
this.mainObject = dhtmlObject || null;
return this;
}
dtmlXMLLoaderObject.prototype.waitLoadFunction = function (dhtmlObject) {
this.check = function () {
if (!dhtmlObject.xmlDoc.readyState) {
dhtmlObject.onloadAction(dhtmlObject.mainObject);
} else {
if (dhtmlObject.xmlDoc.readyState != 4) {
return false;
} else {
dhtmlObject.onloadAction(dhtmlObject.mainObject);
}
}
};
return this.check;
};
dtmlXMLLoaderObject.prototype.getXMLTopNode = function (tagName) {
if (this.xmlDoc.responseXML) {
var temp = this.xmlDoc.responseXML.getElementsByTagName(tagName);
var z = temp[0];
} else {
var z = this.xmlDoc.documentElement;
}
if (z) {
return z;
}
alert("Incorrect XML");
return document.createElement("DIV");
};
dtmlXMLLoaderObject.prototype.loadXMLString = function (xmlString) {
try {
var parser = new DOMParser();
this.xmlDoc = parser.parseFromString(xmlString, "text/xml");
}
catch (e) {
this.xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
this.xmlDoc.loadXML(xmlString);
}
this.onloadAction(this.mainObject);
};
dtmlXMLLoaderObject.prototype.loadXML = function (filePath) {
try {
this.xmlDoc = new XMLHttpRequest();
this.xmlDoc.open("GET", filePath, true);
this.xmlDoc.onreadystatechange = new this.waitLoadFunction(this);
this.xmlDoc.send(null);
}
catch (e) {
if (document.implementation && document.implementation.createDocument) {
this.xmlDoc = document.implementation.createDocument("", "", null);
this.xmlDoc.onload = new this.waitLoadFunction(this);
} else {
this.xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
this.xmlDoc.async = "true";
this.xmlDoc.onreadystatechange = new this.waitLoadFunction(this);
}
this.xmlDoc.load(filePath);
}
};
function callerFunction(funcObject, dhtmlObject) {
this.handler = function (e) {
if (!e) {
e = event;
}
funcObject(e, dhtmlObject);
return true;
};
return this.handler;
}
function getAbsoluteLeft(htmlObject) {
var xPos = htmlObject.offsetLeft;
var temp = htmlObject.offsetParent;
while (temp != null) {
xPos += temp.offsetLeft;
temp = temp.offsetParent;
}
return xPos;
}
function getAbsoluteTop(htmlObject) {
var yPos = htmlObject.offsetTop;
var temp = htmlObject.offsetParent;
while (temp != null) {
yPos += temp.offsetTop;
temp = temp.offsetParent;
}
return yPos;
}
function convertStringToBoolean(inputString) {
if (typeof (inputString) == "string") {
inputString = inputString.toLowerCase();
}
switch (inputString) {
case "1":
case "true":
case "yes":
case "y":
case 1:
case true:
return true;
break;
default:
return false;
}
}
function getUrlSymbol(str) {
if (str.indexOf("?") != -1) {
return "&";
} else {
return "?";
}
}
function dhtmlDragAndDropObject() {
this.lastLanding = 0;
this.dragNode = 0;
this.dragStartNode = 0;
this.dragStartObject = 0;
this.tempDOMU = null;
this.tempDOMM = null;
this.waitDrag = 0;
if (window.dhtmlDragAndDrop) {
return window.dhtmlDragAndDrop;
}
window.dhtmlDragAndDrop = this;
return this;
}
dhtmlDragAndDropObject.prototype.removeDraggableItem = function (htmlNode) {
htmlNode.onmousedown = null;
htmlNode.dragStarter = null;
htmlNode.dragLanding = null;
};
dhtmlDragAndDropObject.prototype.addDraggableItem = function (htmlNode, dhtmlObject) {
htmlNode.onmousedown = this.preCreateDragCopy;
htmlNode.dragStarter = dhtmlObject;
this.addDragLanding(htmlNode, dhtmlObject);
};
dhtmlDragAndDropObject.prototype.addDragLanding = function (htmlNode, dhtmlObject) {
htmlNode.dragLanding = dhtmlObject;
};
dhtmlDragAndDropObject.prototype.preCreateDragCopy = function (e) {
if (window.dhtmlDragAndDrop.waitDrag) {
window.dhtmlDragAndDrop.waitDrag = 0;
document.body.onmouseup = window.dhtmlDragAndDrop.tempDOMU;
document.body.onmousemove = window.dhtmlDragAndDrop.tempDOMM;
return;
}
window.dhtmlDragAndDrop.waitDrag = 1;
window.dhtmlDragAndDrop.tempDOMU = document.body.onmouseup;
window.dhtmlDragAndDrop.tempDOMM = document.body.onmousemove;
window.dhtmlDragAndDrop.dragStartNode = this;
window.dhtmlDragAndDrop.dragStartObject = this.dragStarter;
document.body.onmouseup = window.dhtmlDragAndDrop.preCreateDragCopy;
document.body.onmousemove = window.dhtmlDragAndDrop.callDrag;
};
dhtmlDragAndDropObject.prototype.callDrag = function (e) {
if (!e) {
e = window.event;
}
dragger = window.dhtmlDragAndDrop;
if (!dragger.dragNode) {
dragger.dragNode = dragger.dragStartObject._createDragNode(dragger.dragStartNode);
document.body.appendChild(dragger.dragNode);
document.body.onmouseup = dragger.stopDrag;
dragger.waitDrag = 0;
}
dragger.dragNode.style.left = e.clientX + 15 + document.body.scrollLeft;
dragger.dragNode.style.top = e.clientY + 3 + document.body.scrollTop;
if (!e.srcElement) {
var z = e.target;
} else {
z = e.srcElement;
}
dragger.checkLanding(z);
};
dhtmlDragAndDropObject.prototype.checkLanding = function (htmlObject) {
if (htmlObject.dragLanding) {
if (this.lastLanding) {
this.lastLanding.dragLanding._dragOut(this.lastLanding);
}
this.lastLanding = htmlObject;
this.lastLanding = this.lastLanding.dragLanding._dragIn(this.lastLanding, this.dragStartNode);
} else {
if (htmlObject.tagName != "BODY") {
this.checkLanding(htmlObject.parentNode);
} else {
if (this.lastLanding) {
this.lastLanding.dragLanding._dragOut(this.lastLanding);
}
this.lastLanding = 0;
}
}
};
dhtmlDragAndDropObject.prototype.stopDrag = function (e) {
dragger = window.dhtmlDragAndDrop;
if (dragger.lastLanding) {
dragger.lastLanding.dragLanding._drag(dragger.dragStartNode, dragger.dragStartObject, dragger.lastLanding);
}
dragger.lastLanding = 0;
dragger.dragNode.parentNode.removeChild(dragger.dragNode);
dragger.dragNode = 0;
dragger.dragStartNode = 0;
dragger.dragStartObject = 0;
document.body.onmouseup = dragger.tempDOMU;
document.body.onmousemove = dragger.tempDOMM;
dragger.tempDOMU = null;
dragger.tempDOMM = null;
dragger.waitDrag = 0;
};
function dhtmlXTreeObject(htmlObject, width, height, rootId) {
if (typeof (htmlObject) != "object") {
this.parentObject = document.getElementById(htmlObject);
} else {
this.parentObject = htmlObject;
}
this.mytype = "tree";
this.width = width;
this.height = height;
this.rootId = rootId;
this.style_pointer = "pointer";
if (navigator.appName == "Microsoft Internet Explorer") {
this.style_pointer = "hand";
}
this.hfMode = 0;
this.nodeCut = 0;
this.XMLsource = 0;
this.XMLloadingWarning = 0;
this._globalIdStorage = new Array();
this.globalNodeStorage = new Array();
this._globalIdStorageSize = 0;
this.treeLinesOn = true;
this.checkFuncHandler = 0;
this.openFuncHandler = 0;
this.dblclickFuncHandler = 0;
this.tscheck = false;
this.timgen = true;
this.imPath = "treeGfx/";
this.checkArray = new Array("iconUnCheckAll.gif", "iconCheckAll.gif", "iconCheckGray.gif");
this.lineArray = new Array("line2.gif", "line3.gif", "line4.gif", "blank.gif", "blank.gif");
this.minusArray = new Array("minus2.gif", "minus3.gif", "minus4.gif", "minus.gif", "minus5.gif");
this.plusArray = new Array("plus2.gif", "plus3.gif", "plus4.gif", "plus.gif", "plus5.gif");
this.imageArray = new Array("leaf.gif", "folderOpen.gif", "folderClosed.gif");
this.cutImg = new Array(0, 0, 0);
this.cutImage = "but_cut.gif";
this.dragger = new dhtmlDragAndDropObject();
this.htmlNode = new dhtmlXTreeItemObject(this.rootId, "", 0, this);
this.htmlNode.htmlNode.childNodes[0].childNodes[0].style.display = "none";
this.htmlNode.htmlNode.childNodes[0].childNodes[0].childNodes[0].className = "hiddenRow";
this.allTree = this._createSelf();
this.allTree.appendChild(this.htmlNode.htmlNode);
this.allTree.onselectstart = new Function("return false;");
this.XMLLoader = new dtmlXMLLoaderObject(this._parseXMLTree, this);
this.dragger.addDragLanding(this.allTree, this);
this.disIcon = false;
this.disRowSelect = false;
return this;
}
function dhtmlXTreeItemObject(itemId, itemText, parentObject, treeObject, actionHandler, mode,
isItemTextBold, isItemTextItalic, isEditLinkShow, isAddLinkShown, isDelLinkShown) {
this.htmlNode = "";
this.acolor = "";
this.scolor = "";
this.tbold = convertStringToBoolean(isItemTextBold);
this.titalic = convertStringToBoolean(isItemTextItalic);
this.editlink = convertStringToBoolean(isEditLinkShow);
this.addlink = convertStringToBoolean(isAddLinkShown);
this.dellink = convertStringToBoolean(isDelLinkShown);
this.tr = 0;
this.childsCount = 0;
this.tempDOMM = 0;
this.tempDOMU = 0;
this.dragSpan = 0;
this.dragMove = 0;
this.span = 0;
this.closeble = 1;
this.childNodes = new Array();
this.checkstate = 0;
this.treeNod = treeObject;
this.label = itemText;
this.parentObject = parentObject;
this.actionHandler = actionHandler;
this.images = new Array(treeObject.imageArray[0], treeObject.imageArray[1], treeObject.imageArray[2]);
this.id = treeObject._globalIdStorageAdd(itemId, this);
if (this.treeNod.checkBoxOff) {
this.htmlNode = this.treeNod._createItem(1, this, mode);
} else {
this.htmlNode = this.treeNod._createItem(0, this, mode);
}
this.htmlNode.objBelong = this;
return this;
}
dhtmlXTreeObject.prototype._globalIdStorageAdd = function (itemId, itemObject) {
if (this._globalIdStorageFind(itemId)) {
d = new Date();
itemId = d.valueOf() + "_" + itemId;
return this._globalIdStorageAdd(itemId, itemObject);
}
this._globalIdStorage[this._globalIdStorageSize] = itemId;
this.globalNodeStorage[this._globalIdStorageSize] = itemObject;
this._globalIdStorageSize++;
return itemId;
};
dhtmlXTreeObject.prototype._globalIdStorageSub = function (itemId) {
for (var i = 0; i < this._globalIdStorageSize; i++) {
if (this._globalIdStorage[i] == itemId) {
this._globalIdStorage[i] = this._globalIdStorage[this._globalIdStorageSize - 1];
this.globalNodeStorage[i] = this.globalNodeStorage[this._globalIdStorageSize - 1];
this._globalIdStorageSize--;
this._globalIdStorage[this._globalIdStorageSize] = 0;
this.globalNodeStorage[this._globalIdStorageSize] = 0;
}
}
};
dhtmlXTreeObject.prototype._globalIdStorageFind = function (itemId) {
for (var i = 0; i < this._globalIdStorageSize; i++) {
if (this._globalIdStorage[i] == itemId) {
return this.globalNodeStorage[i];
}
}
return 0;
};
dhtmlXTreeObject.prototype._drawNewTr = function (htmlObject) {
var tr = document.createElement("tr");
tr.style.verticalAlign = "top";
var td1 = document.createElement("td");
var td2 = document.createElement("td");
td1.appendChild(document.createTextNode(" "));
td2.colSpan = 3;
td2.appendChild(htmlObject);
tr.appendChild(td1);
tr.appendChild(td2);
return tr;
};
dhtmlXTreeObject.prototype.loadXMLString = function (xmlString) {
this.XMLLoader.loadXMLString(xmlString);
};
dhtmlXTreeObject.prototype.loadXML = function (file) {
this.XMLLoader.loadXML(file);
};
dhtmlXTreeObject.prototype._attachChildNode = function (parentObject, itemId, itemText, itemActionHandler,
image1, image2, image3, optionStr, childs, beforeNode, isItemTextBold, isItemTextItalic,
isEditLinkShow, isAddLinkShown, isDelLinkShown) {
if (beforeNode) {
parentObject = beforeNode.parentObject;
}
if (((parentObject.XMLload == 0) && (this.XMLsource)) && (!this.XMLloadingWarning)) {
parentObject.XMLload = 1;
this.loadXML(this.XMLsource + getUrlSymbol(this.XMLsource) + "itemId=" + escape(parentObject.itemId));
}
var Count = parentObject.childsCount;
var Nodes = parentObject.childNodes;
if ((!itemActionHandler) && (this.aFunc)) {
itemActionHandler = this.aFunc;
}
Nodes[Count] = new dhtmlXTreeItemObject(itemId, itemText, parentObject, this, itemActionHandler, 1,
isItemTextBold, isItemTextItalic, isEditLinkShow, isAddLinkShown, isDelLinkShown);
if (image1) {
Nodes[Count].images[0] = image1;
}
if (image2) {
Nodes[Count].images[1] = image2;
}
if (image3) {
Nodes[Count].images[2] = image3;
}
parentObject.childsCount++;
var tr = this._drawNewTr(Nodes[Count].htmlNode);
if (this.XMLloadingWarning) {
Nodes[Count].htmlNode.parentNode.parentNode.style.display = "none";
}
if (optionStr) {
var tempStr = optionStr.split(",");
for (var i = 0; i < tempStr.length; i++) {
switch (tempStr[i]) {
case "TOP":
if (parentObject.childsCount > 1) {
beforeNode = parentObject.htmlNode.childNodes[0].childNodes[1].nodem.previousSibling;
}
break;
}
}
}
if ((beforeNode) && (beforeNode.tr.nextSibling)) {
parentObject.htmlNode.childNodes[0].insertBefore(tr, beforeNode.tr.nextSibling);
} else {
parentObject.htmlNode.childNodes[0].appendChild(tr);
}
if (this.XMLsource) {
if ((childs) && (childs != 0)) {
Nodes[Count].XMLload = 0;
} else {
Nodes[Count].XMLload = 1;
}
}
Nodes[Count].tr = tr;
tr.nodem = Nodes[Count];
if (parentObject.itemId == 0) {
tr.childNodes[0].className = "hitemIddenRow";
}
if (optionStr) {
var tempStr = optionStr.split(",");
for (var i = 0; i < tempStr.length; i++) {
switch (tempStr[i]) {
case "SELECT":
this.selectItem(itemId, false);
break;
case "CALL":
this.selectItem(itemId, true);
break;
case "CHILD":
Nodes[Count].XMLload = 0;
break;
case "CHECKED":
if (this.XMLloadingWarning) {
this.setCheckList += itemId;
} else {
this.setCheck(itemId, 1);
}
break;
case "OPEN":
Nodes[Count].openMe = 1;
break;
}
}
}
if (!this.XMLloadingWarning) {
if (this._getOpenState(parentObject) < 0) {
this.openItem(parentObject.id);
}
if (beforeNode) {
this._correctPlus(beforeNode);
this._correctLine(beforeNode);
}
this._correctPlus(parentObject);
this._correctLine(parentObject);
this._correctPlus(Nodes[Count]);
if (parentObject.childsCount >= 2) {
this._correctPlus(Nodes[parentObject.childsCount - 2]);
this._correctLine(Nodes[parentObject.childsCount - 2]);
}
if (parentObject.childsCount != 2) {
this._correctPlus(Nodes[0]);
}
if (this.tscheck) {
this._correctCheckStates(parentObject);
}
}
return Nodes[Count];
};
dhtmlXTreeObject.prototype.insertNewItem = function (parentId, itemId, itemText, itemActionHandler,
image1, image2, image3, optionStr, childs, isItemTextBold, isItemTextItalic,
isEditLinkShow, isAddLinkShown, isDelLinkShown) {
var parentObject = this._globalIdStorageFind(parentId);
if (!parentObject) {
return (-1);
}
return this._attachChildNode(parentObject, itemId, itemText, itemActionHandler,
image1, image2, image3, optionStr, childs, 0, isItemTextBold, isItemTextItalic,
isEditLinkShow, isAddLinkShown, isDelLinkShown);
};
dhtmlXTreeObject.prototype._parseXMLTree = function (dhtmlObject, node, parentId, level) {
dhtmlObject.XMLloadingWarning = 1;
var nodeAskingCall = "";
if (!node) {
node = dhtmlObject.XMLLoader.getXMLTopNode("tree");
parentId = node.getAttribute("id");
dhtmlObject.setCheckList = "";
}
for (var i = 0; i < node.childNodes.length; i++) {
if ((node.childNodes[i].nodeType == 1) && (node.childNodes[i].tagName == "item")) {
var name = node.childNodes[i].getAttribute("text");
var cId = node.childNodes[i].getAttribute("id");
var im0 = node.childNodes[i].getAttribute("im0");
var im1 = node.childNodes[i].getAttribute("im1");
var im2 = node.childNodes[i].getAttribute("im2");
var aColor = node.childNodes[i].getAttribute("aCol");
var sColor = node.childNodes[i].getAttribute("sCol");
var chd = node.childNodes[i].getAttribute("child");
var atop = node.childNodes[i].getAttribute("top");
var aopen = node.childNodes[i].getAttribute("open");
var aselect = node.childNodes[i].getAttribute("select");
var acall = node.childNodes[i].getAttribute("call");
var achecked = node.childNodes[i].getAttribute("checked");
var closeable = node.childNodes[i].getAttribute("closeable");
var zST = "";
if (aselect) {
zST += ",SELECT";
}
if (atop) {
zST += ",TOP";
}
if (acall) {
nodeAskingCall = cId;
}
if (achecked) {
zST += ",CHECKED";
}
if ((aopen) && (aopen != "0")) {
zST += ",OPEN";
}
var temp = dhtmlObject._globalIdStorageFind(parentId);
temp.XMLload = 1;
dhtmlObject.insertNewItem(parentId, cId, name, 0, im0, im1, im2, zST, chd);
if (dhtmlObject.parserExtension) {
dhtmlObject.parserExtension._parseExtension(node.childNodes[i], dhtmlObject.parserExtension, cId, parentId);
}
dhtmlObject.setItemColor(cId, aColor, sColor);
if ((closeable == "0") || (closeable == "1")) {
dhtmlObject.setItemCloseable(cId, closeable);
}
var zcall = dhtmlObject._parseXMLTree(dhtmlObject, node.childNodes[i], cId, 1);
if (zcall != "") {
nodeAskingCall = zcall;
}
} else {
if ((node.childNodes[i].nodeType == 1) && (node.childNodes[i].tagName == "userdata")) {
var name = node.childNodes[i].getAttribute("name");
if ((name) && (node.childNodes[i].childNodes[0])) {
dhtmlObject.setUserData(parentId, name, node.childNodes[i].childNodes[0].data);
}
}
}
}
if (!level) {
dhtmlObject.lastLoadedXMLId = parentId;
dhtmlObject._redrawFrom(dhtmlObject);
dhtmlObject.XMLloadingWarning = 0;
var chArr = dhtmlObject.setCheckList.split(",");
for (var n = 0; n < chArr.length; n++) {
if (chArr[n]) {
dhtmlObject.setCheck(chArr[n], 1);
}
}
if (nodeAskingCall != "") {
dhtmlObject.selectItem(nodeAskingCall, true);
}
}
return nodeAskingCall;
};
dhtmlXTreeObject.prototype._redrawFrom = function (dhtmlObject, itemObject) {
if (!itemObject) {
var tempx = dhtmlObject._globalIdStorageFind(dhtmlObject.lastLoadedXMLId);
dhtmlObject.lastLoadedXMLId = -1;
if (!tempx) {
return 0;
}
} else {
tempx = itemObject;
}
for (var i = 0; i < tempx.childsCount; i++) {
if (!itemObject) {
tempx.childNodes[i].htmlNode.parentNode.parentNode.style.display = "";
}
if (tempx.childNodes[i].openMe == 1) {
for (var zy = 0; zy < tempx.childNodes[i].childNodes.length; zy++) {
tempx.childNodes[i].htmlNode.childNodes[0].childNodes[zy + 1].style.display = "";
}
}
dhtmlObject._redrawFrom(dhtmlObject, tempx.childNodes[i]);
dhtmlObject._correctLine(tempx.childNodes[i]);
dhtmlObject._correctPlus(tempx.childNodes[i]);
}
dhtmlObject._correctLine(tempx);
dhtmlObject._correctPlus(tempx);
};
dhtmlXTreeObject.prototype._createSelf = function () {
var div = document.createElement("div");
div.className = "containerTableStyle";
div.style.width = this.width;
div.style.height = this.height;
this.parentObject.appendChild(div);
return div;
};
dhtmlXTreeObject.prototype._xcloseAll = function (itemObject) {
if (this.rootId != itemObject.id) {
this._HideShow(itemObject, 1);
}
for (var i = 0; i < itemObject.childsCount; i++) {
this._xcloseAll(itemObject.childNodes[i]);
}
};
dhtmlXTreeObject.prototype._xopenAll = function (itemObject) {
this._HideShow(itemObject, 2);
for (var i = 0; i < itemObject.childsCount; i++) {
this._xopenAll(itemObject.childNodes[i]);
}
};
dhtmlXTreeObject.prototype._correctPlus = function (itemObject) {
var workArray = this.lineArray;
if ((this.XMLsource) && (!itemObject.XMLload)) {
var workArray = this.plusArray;
itemObject.htmlNode.childNodes[0].childNodes[0].childNodes[2].childNodes[0].src = this.imPath + itemObject.images[2];
} else {
try {
if (itemObject.childsCount) {
if (itemObject.htmlNode.childNodes[0].childNodes[1].style.display != "none") {
var workArray = this.minusArray;
itemObject.htmlNode.childNodes[0].childNodes[0].childNodes[2].childNodes[0].src = this.imPath + itemObject.images[1];
} else {
var workArray = this.plusArray;
itemObject.htmlNode.childNodes[0].childNodes[0].childNodes[2].childNodes[0].src = this.imPath + itemObject.images[2];
}
} else {
itemObject.htmlNode.childNodes[0].childNodes[0].childNodes[2].childNodes[0].src = this.imPath + itemObject.images[0];
}
}
catch (e) {
}
}
var tempNum = 2;
if (!itemObject.treeNod.treeLinesOn) {
itemObject.htmlNode.childNodes[0].childNodes[0].childNodes[0].childNodes[0].src = this.imPath + workArray[3];
} else {
if (itemObject.parentObject) {
tempNum = this._getCountStatus(itemObject.id, itemObject.parentObject);
}
itemObject.htmlNode.childNodes[0].childNodes[0].childNodes[0].childNodes[0].src = this.imPath + workArray[tempNum];
}
};
dhtmlXTreeObject.prototype._correctLine = function (itemObject) {
var sNode = itemObject.parentObject;
try {
if (sNode) {
if ((this._getLineStatus(itemObject.id, sNode) == 0) || (!this.treeLinesOn)) {
for (var i = 1; i <= itemObject.childsCount; i++) {
itemObject.htmlNode.childNodes[0].childNodes[i].childNodes[0].style.backgroundImage = "";
itemObject.htmlNode.childNodes[0].childNodes[i].childNodes[0].style.backgroundRepeat = "";
}
} else {
for (var i = 1; i <= itemObject.childsCount; i++) {
itemObject.htmlNode.childNodes[0].childNodes[i].childNodes[0].style.backgroundImage = "url(" + this.imPath + "line1.gif)";
itemObject.htmlNode.childNodes[0].childNodes[i].childNodes[0].style.backgroundRepeat = "repeat-y";
}
}
}
}
catch (e) {
}
};
dhtmlXTreeObject.prototype._getCountStatus = function (itemId, itemObject) {
try {
if (itemObject.childsCount <= 1) {
if (itemObject.id == this.rootId) {
return 4;
} else {
return 0;
}
}
if (itemObject.htmlNode.childNodes[0].childNodes[1].nodem.id == itemId) {
if (!itemObject.id) {
return 2;
} else {
return 1;
}
}
if (itemObject.htmlNode.childNodes[0].childNodes[itemObject.childsCount].nodem.id == itemId) {
return 0;
}
}
catch (e) {
}
return 1;
};
dhtmlXTreeObject.prototype._getLineStatus = function (itemId, itemObject) {
if (itemObject.htmlNode.childNodes[0].childNodes[itemObject.childsCount].nodem.id == itemId) {
return 0;
}
return 1;
};
dhtmlXTreeObject.prototype._HideShow = function (itemObject, mode) {
if (((this.XMLsource) && (!itemObject.XMLload)) && (!mode)) {
itemObject.XMLload = 1;
this.loadXML(this.XMLsource + getUrlSymbol(this.XMLsource) + "id=" + escape(itemObject.id));
return;
}
var Nodes = itemObject.htmlNode.childNodes[0].childNodes;
var Count = Nodes.length;
if (Count > 1) {
if (((Nodes[1].style.display != "none") || (mode == 1)) && (mode != 2)) {
nodestyle = "none";
} else {
nodestyle = "";
}
for (var i = 1; i < Count; i++) {
Nodes[i].style.display = nodestyle;
}
}
this._correctPlus(itemObject);
};
dhtmlXTreeObject.prototype._getOpenState = function (itemObject) {
var z = itemObject.htmlNode.childNodes[0].childNodes;
if (z.length <= 1) {
return 0;
}
if (z[1].style.display != "none") {
return 1;
} else {
return -1;
}
};
dhtmlXTreeObject.prototype.onRowClick2 = function () {
if (this.parentObject.treeNod.dblclickFuncHandler) {
if (!this.parentObject.treeNod.dblclickFuncHandler(this.parentObject.id)) {
return 0;
}
}
if ((this.parentObject.closeble) && (this.parentObject.closeble != "0")) {
this.parentObject.treeNod._HideShow(this.parentObject);
} else {
this.parentObject.treeNod._HideShow(this.parentObject, 2);
}
};
dhtmlXTreeObject.prototype.onRowClick = function () {
if (this.parentObject.treeNod.openFuncHandler) {
if (!this.parentObject.treeNod.openFuncHandler(this.parentObject.id, this.parentObject.treeNod._getOpenState(this.parentObject))) {
return 0;
}
}
if ((this.parentObject.closeble) && (this.parentObject.closeble != "0")) {
this.parentObject.treeNod._HideShow(this.parentObject);
} else {
this.parentObject.treeNod._HideShow(this.parentObject, 2);
}
};
dhtmlXTreeObject.prototype.onRowSelect = function (e, htmlObject, mode) {
if(this.parentObject.treeNod.disRowSelect) {
return;
}
if (!htmlObject) {
htmlObject = this;
}
htmlObject.childNodes[0].className = "selectedTreeRow";
if (htmlObject.parentObject.scolor) {
htmlObject.parentObject.span.style.color = htmlObject.parentObject.scolor;
}
if ((htmlObject.parentObject.treeNod.lastSelected) && (htmlObject.parentObject.treeNod.lastSelected != htmlObject)) {
htmlObject.parentObject.treeNod.lastSelected.childNodes[0].className = "standartTreeRow";
if (htmlObject.parentObject.treeNod.lastSelected.parentObject.acolor) {
htmlObject.parentObject.treeNod.lastSelected.parentObject.span.style.color = htmlObject.parentObject.treeNod.lastSelected.parentObject.acolor;
}
}
htmlObject.parentObject.treeNod.lastSelected = htmlObject;
if (!mode) {
if (htmlObject.parentObject.actionHandler) {
htmlObject.parentObject.actionHandler(htmlObject.parentObject.id);
}
}
};
dhtmlXTreeObject.prototype._correctCheckStates = function (dhtmlObject) {
if (!this.tscheck) {
return;
}
if (dhtmlObject.id == this.rootId) {
return;
}
var act = dhtmlObject.htmlNode.childNodes[0].childNodes;
var flag1 = 0;
var flag2 = 0;
if (act.length < 2) {
return;
}
for (var i = 1; i < act.length; i++) {
if (act[i].nodem.checkstate == 0) {
flag1 = 1;
} else {
if (act[i].nodem.checkstate == 1) {
flag2 = 1;
} else {
flag1 = 1;
flag2 = 1;
break;
}
}
}
if ((flag1) && (flag2)) {
this._setCheck(dhtmlObject, "notsure");
} else {
if (flag1) {
this._setCheck(dhtmlObject, false);
} else {
this._setCheck(dhtmlObject, true);
}
}
this._correctCheckStates(dhtmlObject.parentObject);
};
dhtmlXTreeObject.prototype.onCheckBoxClick = function (e) {
if (this.treeNod.tscheck) {
if (this.parentObject.checkstate == 1) {
this.treeNod._setSubChecked(false, this.parentObject);
} else {
this.treeNod._setSubChecked(true, this.parentObject);
}
} else {
if (this.parentObject.checkstate == 1) {
this.treeNod._setCheck(this.parentObject, false);
} else {
this.treeNod._setCheck(this.parentObject, true);
}
}
this.treeNod._correctCheckStates(this.parentObject.parentObject);
if (this.treeNod.checkFuncHandler) {
return (this.treeNod.checkFuncHandler(this.parentObject.id, this.parentObject.checkstate));
} else {
return true;
}
};
dhtmlXTreeObject.prototype._createItem = function (acheck, itemObject, mode) {
var table = document.createElement("table");
table.cellSpacing = 0;
table.cellPadding = 0;
var ie = (navigator.appName.indexOf("Microsoft") != -1) ? 1 : 0;
table.border = 0;
if (this.hfMode) {
table.style.tableLayout = "fixed";
}
table.style.margin = 0;
table.style.padding = 0;
var tbody = document.createElement("tbody");
var tr = document.createElement("tr");
tr.style.verticalAlign = "top";
var td1 = document.createElement("td");
td1.className = "standartTreeImage";
var img0 = document.createElement("img");
img0.border = "0";
td1.appendChild(img0);
img0.style.padding = 0;
var td11 = document.createElement("td");
var inp = document.createElement("img");
inp.checked = 0;
inp.src = this.imPath + this.checkArray[0];
inp.style.width = "16px";
inp.style.height = "16px";
if (!acheck) {
inp.style.display = "none";
}
td11.appendChild(inp);
td11.width = "16px";
inp.onclick = this.onCheckBoxClick;
inp.treeNod = this;
inp.parentObject = itemObject;
var td12 = document.createElement("td");
td12.className = "standartTreeImage";
var img = document.createElement("img");
img.onmousedown = this._preventNsDrag;
img.border = "0";
if (!mode) {
img.src = this.imPath + this.imageArray[0];
}
td12.appendChild(img);
img.style.padding = 0;
img.style.margin = 0;
if (this.timgen) {
img.style.width = "18px";
img.style.height = "18px";
} else {
img.style.width = "0px";
img.style.height = "0px";
}
if(this.disIcon) {
img.style.display = 'none';
}
var td2 = document.createElement("td");
td2.noWrap = true;
itemObject.span = document.createElement("span");
if(itemObject.tbold) {
if(itemObject.titalic) {
itemObject.span.className = 'standartTreeRow-bold-italic';
}
else {
itemObject.span.className = 'standartTreeRow-bold';
}
}
else if(itemObject.titalic) {
itemObject.span.className = 'standartTreeRow-italic';
}
else {
itemObject.span.className = "standartTreeRow";
}
td2.style.width = "100%";
itemObject.span.appendChild(document.createTextNode(itemObject.label));
td2.appendChild(itemObject.span);
td2.parentObject = itemObject;
td1.parentObject = itemObject;
td2.onclick = this.onRowSelect;
td1.onclick = this.onRowClick;
td2.ondblclick = this.onRowClick2;
if (this.dragAndDropOff) {
this.dragger.addDraggableItem(td2, this);
}
td2.style.verticalAlign = "top";
td2.style.textAlign = "left";
td2.style.cursor = this.style_pointer;
if(itemObject.addlink || itemObject.editlink || itemObject.dellink) {
itemObject.span = document.createElement("span");
var nodeid = this.getCurrentId(itemObject);
if(itemObject.addlink) {
var addLink = document.createElement('a');
addLink.setAttribute('href', "javascript:doEditClick('" + nodeid + "', 'add');");
addLink.appendChild(document.createTextNode('Add'));
itemObject.span.appendChild(document.createTextNode(' '));
itemObject.span.appendChild(addLink);
}
if(itemObject.editlink) {
var editLink = document.createElement('a');
editLink.setAttribute('href', "javascript:doEditClick('" + nodeid + "', 'edit');");
editLink.appendChild(document.createTextNode('Edit'));
itemObject.span.appendChild(document.createTextNode(' '));
itemObject.span.appendChild(editLink);
}
if(itemObject.dellink) {
var delLink = document.createElement('a');
delLink.setAttribute('href', "javascript:doDelete('" + nodeid + "');");
delLink.appendChild(document.createTextNode('Del'));
itemObject.span.appendChild(document.createTextNode(' '));
itemObject.span.appendChild(delLink);
}
td2.appendChild(itemObject.span);
}
tr.appendChild(td1);
tr.appendChild(td11);
tr.appendChild(td12);
tr.appendChild(td2);
tbody.appendChild(tr);
table.appendChild(tbody);
return table;
};
dhtmlXTreeObject.prototype.setImagePath = function (newPath) {
this.imPath = newPath;
};
dhtmlXTreeObject.prototype.setOnClickHandler = function (func) {
if (typeof (func) == "function") {
this.aFunc = func;
} else {
this.aFunc = eval(func);
}
};
dhtmlXTreeObject.prototype.setXMLAutoLoading = function (filePath) {
this.XMLsource = filePath;
};
dhtmlXTreeObject.prototype.setOnCheckHandler = function (func) {
if (typeof (func) == "function") {
this.checkFuncHandler = func;
} else {
this.checkFuncHandler = eval(func);
}
};
dhtmlXTreeObject.prototype.setOnOpenHandler = function (func) {
if (typeof (func) == "function") {
this.openFuncHandler = func;
} else {
this.openFuncHandler = eval(func);
}
};
dhtmlXTreeObject.prototype.setOnDblClickHandler = function (func) {
if (typeof (func) == "function") {
this.dblclickFuncHandler = func;
} else {
this.dblclickFuncHandler = eval(func);
}
};
dhtmlXTreeObject.prototype.openAllItems = function (itemId) {
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
}
this._xopenAll(temp);
};
dhtmlXTreeObject.prototype.getOpenState = function (itemId) {
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return "";
}
return this._getOpenState(temp);
};
dhtmlXTreeObject.prototype.closeAllItems = function (itemId) {
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
}
this._xcloseAll(temp);
};
dhtmlXTreeObject.prototype.setUserData = function (itemId, name, value) {
var sNode = this._globalIdStorageFind(itemId);
if (!sNode) {
return;
}
if (name == "hint") {
sNode.htmlNode.childNodes[0].childNodes[0].title = value;
}
sNode[name] = value;
};
dhtmlXTreeObject.prototype.getUserData = function (itemId, name) {
var sNode = this._globalIdStorageFind(itemId);
if (!sNode) {
return;
}
return eval("sNode." + name);
};
dhtmlXTreeObject.prototype.getSelectedItemId = function () {
if (this.lastSelected) {
if (this._globalIdStorageFind(this.lastSelected.parentObject.id)) {
return this.lastSelected.parentObject.id;
}
}
return ("");
};
dhtmlXTreeObject.prototype.getItemColor = function (itemId) {
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
}
var res = new Object();
if (temp.acolor) {
res.acolor = temp.acolor;
}
if (temp.acolor) {
res.scolor = temp.scolor;
}
return res;
};
dhtmlXTreeObject.prototype.setItemColor = function (itemId, defaultColor, selectedColor) {
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
} else {
if ((this.lastSelected) && (temp.tr == this.lastSelected.parentObject.tr)) {
if (selectedColor) {
temp.span.style.color = selectedColor;
}
} else {
if (defaultColor) {
temp.span.style.color = defaultColor;
}
}
if (selectedColor) {
temp.scolor = selectedColor;
}
if (defaultColor) {
temp.acolor = defaultColor;
}
}
};
dhtmlXTreeObject.prototype.getItemText = function (itemId) {
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
}
return (temp.htmlNode.childNodes[0].childNodes[0].childNodes[3].childNodes[0].innerHTML);
};
dhtmlXTreeObject.prototype.getParentId = function (itemId) {
var temp = this._globalIdStorageFind(itemId);
if ((!temp) || (!temp.parentObject)) {
return "";
}
return temp.parentObject.id;
};
dhtmlXTreeObject.prototype.changeItemId = function (itemId, newItemId) {
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
}
temp.id = newItemId;
for (var i = 0; i < this._globalIdStorageSize; i++) {
if (this._globalIdStorage[i] == itemId) {
this._globalIdStorage[i] = newItemId;
}
}
};
dhtmlXTreeObject.prototype.doCut = function () {
if (this.nodeCut) {
this.clearCut();
}
this.nodeCut = this.lastSelected;
if (this.nodeCut) {
var tempa = this.nodeCut.parentObject;
this.cutImg[0] = tempa.images[0];
this.cutImg[1] = tempa.images[1];
this.cutImg[2] = tempa.images[2];
tempa.images[0] = tempa.images[1] = tempa.images[2] = this.cutImage;
this._correctPlus(tempa);
}
};
dhtmlXTreeObject.prototype.doPaste = function (itemId) {
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
}
if (this.nodeCut) {
if ((!this._checkParenNodes(this.nodeCut.parentObject.id, temp)) && (id != this.nodeCut.parentObject.parentObject.id)) {
this._moveNode(temp, this.nodeCut.parentObject);
}
this.clearCut();
}
};
dhtmlXTreeObject.prototype.clearCut = function () {
if (this.nodeCut) {
var tempa = this.nodeCut.parentObject;
tempa.images[0] = this.cutImg[0];
tempa.images[1] = this.cutImg[1];
tempa.images[2] = this.cutImg[2];
if (tempa.parentObject) {
this._correctPlus(tempa);
}
if (tempa.parentObject) {
this._correctLine(tempa);
}
this.nodeCut = 0;
}
};
dhtmlXTreeObject.prototype._moveNode = function (itemObject, targetObject) {
if (this.dragFunc) {
if (!this.dragFunc(itemObject.id, targetObject.id)) {
return false;
}
}
if ((targetObject.XMLload == 0) && (this.XMLsource)) {
targetObject.XMLload = 1;
this.loadXML(this.XMLsource + getUrlSymbol(this.XMLsource) + "id=" + escape(targetObject.id));
}
this.openItem(targetObject.id);
var oldTree = itemObject.treeNod;
var c = itemObject.parentObject.childsCount;
var z = itemObject.parentObject;
var Count = targetObject.childsCount;
var Nodes = targetObject.childNodes;
Nodes[Count] = itemObject;
itemObject.treeNod = targetObject.treeNod;
targetObject.childsCount++;
var tr = this._drawNewTr(Nodes[Count].htmlNode);
targetObject.htmlNode.childNodes[0].appendChild(tr);
itemObject.parentObject.htmlNode.childNodes[0].removeChild(itemObject.tr);
for (var i = 0; i < z.childsCount; i++) {
if (z.childNodes[i].id == itemObject.id) {
z.childNodes[i] = 0;
break;
}
}
oldTree._compressChildList(z.childsCount, z.childNodes);
z.childsCount--;
itemObject.tr = tr;
tr.nodem = itemObject;
itemObject.parentObject = targetObject;
if (oldTree != targetObject.treeNod) {
if (itemObject.treeNod._registerBranch(itemObject, oldTree)) {
return;
}
this._clearStyles(itemObject);
}
if (c > 1) {
oldTree._correctPlus(z.childNodes[c - 2]);
oldTree._correctLine(z.childNodes[c - 2]);
}
this._correctPlus(targetObject);
this._correctLine(targetObject);
oldTree._correctPlus(z);
this._correctLine(itemObject);
this._correctPlus(Nodes[Count]);
if (targetObject.childsCount >= 2) {
this._correctPlus(Nodes[targetObject.childsCount - 2]);
this._correctLine(Nodes[targetObject.childsCount - 2]);
}
if (this.tscheck) {
this._correctCheckStates(targetObject);
}
if (oldTree.tscheck) {
oldTree._correctCheckStates(z);
}
return true;
};
dhtmlXTreeObject.prototype._checkParenNodes = function (itemId, htmlObject, shtmlObject) {
if (shtmlObject) {
if (shtmlObject.parentObject.id == htmlObject.id) {
return 1;
}
}
if (htmlObject.id == itemId) {
return 1;
}
if (htmlObject.parentObject) {
return this._checkParenNodes(itemId, htmlObject.parentObject);
} else {
return 0;
}
};
dhtmlXTreeObject.prototype._clearStyles = function (itemObject) {
var td1 = itemObject.htmlNode.childNodes[0].childNodes[0].childNodes[1];
var td3 = td1.nextSibling.nextSibling;
if (this.checkBoxOff) {
td1.childNodes[0].style.display = "";
td1.childNodes[0].onclick = this.onCheckBoxClick;
} else {
td1.childNodes[0].style.display = "none";
}
td1.childNodes[0].treeNod = this;
this.dragger.removeDraggableItem(td3);
if (this.dragAndDropOff) {
this.dragger.addDraggableItem(td3, this);
}
td3.childNodes[0].className = "standartTreeRow";
td3.onclick = this.onRowSelect;
td3.ondblclick = this.onRowClick2;
td1.previousSibling.onclick = this.onRowClick;
this._correctLine(itemObject);
this._correctPlus(itemObject);
for (var i = 0; i < itemObject.childsCount; i++) {
this._clearStyles(itemObject.childNodes[i]);
}
};
dhtmlXTreeObject.prototype._registerBranch = function (itemObject, oldTree) {
itemObject.id = this._globalIdStorageAdd(itemObject.id, itemObject);
itemObject.treeNod = this;
if (oldTree) {
oldTree._globalIdStorageSub(itemObject.id);
}
for (var i = 0; i < itemObject.childsCount; i++) {
this._registerBranch(itemObject.childNodes[i], oldTree);
}
return 0;
};
dhtmlXTreeObject.prototype.enableThreeStateCheckboxes = function (mode) {
this.tscheck = convertStringToBoolean(mode);
};
dhtmlXTreeObject.prototype.enableTreeImages = function (mode) {
this.timgen = convertStringToBoolean(mode);
};
dhtmlXTreeObject.prototype.enableFixedMode = function (mode) {
this.hfMode = convertStringToBoolean(mode);
};
dhtmlXTreeObject.prototype.enableCheckBoxes = function (mode) {
this.checkBoxOff = convertStringToBoolean(mode);
};
dhtmlXTreeObject.prototype.setStdImages = function (image1, image2, image3) {
this.imageArray[0] = image1;
this.imageArray[1] = image2;
this.imageArray[2] = image3;
};
dhtmlXTreeObject.prototype.enableTreeLines = function (mode) {
this.treeLinesOn = convertStringToBoolean(mode);
};
dhtmlXTreeObject.prototype.setImageArrays = function (arrayName, image1, image2, image3, image4, image5) {
switch (arrayName) {
case "plus":
this.plusArray[0] = image1;
this.plusArray[1] = image2;
this.plusArray[2] = image3;
this.plusArray[3] = image4;
this.plusArray[4] = image5;
break;
case "minus":
this.minusArray[0] = image1;
this.minusArray[1] = image2;
this.minusArray[2] = image3;
this.minusArray[3] = image4;
this.minusArray[4] = image5;
break;
}
};
dhtmlXTreeObject.prototype.openItem = function (itemId) {
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
}
this._HideShow(temp, 2);
if ((temp.parentObject) && (this._getOpenState(temp.parentObject) < 0)) {
this.openItem(temp.parentObject.id);
}
};
dhtmlXTreeObject.prototype.closeItem = function (itemId) {
if (this.rootId == itemId) {
return 0;
}
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
}
if (temp.closeble) {
this._HideShow(temp, 1);
}
};
dhtmlXTreeObject.prototype.getLevel = function (itemId) {
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
}
return this._getNodeLevel(temp, 0);
};
dhtmlXTreeObject.prototype.setItemCloseable = function (itemId, flag) {
flag = convertStringToBoolean(flag);
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
}
temp.closeble = flag;
};
dhtmlXTreeObject.prototype._getNodeLevel = function (itemObject, count) {
if (itemObject.parentObject) {
return this._getNodeLevel(itemObject.parentObject, count + 1);
}
return (count);
};
dhtmlXTreeObject.prototype.hasChildren = function (itemId) {
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
} else {
if ((this.XMLsource) && (!temp.XMLload)) {
return true;
} else {
return temp.childsCount;
}
}
};
dhtmlXTreeObject.prototype.setItemText = function (itemId, newLabel) {
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
}
temp.label = newLabel;
temp.htmlNode.childNodes[0].childNodes[0].childNodes[3].childNodes[0].innerHTML = newLabel;
};
dhtmlXTreeObject.prototype.refreshItem = function (itemId) {
if (!itemId) {
itemId = this.rootId;
}
var temp = this._globalIdStorageFind(itemId);
this.deleteChildItems(itemId);
this.loadXML(this.XMLsource + getUrlSymbol(this.XMLsource) + "id=" + escape(itemId));
};
dhtmlXTreeObject.prototype.setItemImage2 = function (itemId, image1, image2, image3) {
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
}
temp.images[1] = image2;
temp.images[2] = image3;
temp.images[0] = image1;
this._correctPlus(temp);
};
dhtmlXTreeObject.prototype.setItemImage = function (itemId, image1, image2) {
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
}
if (image2) {
temp.images[1] = image1;
temp.images[2] = image2;
} else {
temp.images[0] = image1;
}
this._correctPlus(temp);
};
dhtmlXTreeObject.prototype.getSubItems = function (itemId) {
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
}
var z = "";
for (i = 0; i < temp.childsCount; i++) {
if (!z) {
z = temp.childNodes[i].id;
} else {
z += "," + temp.childNodes[i].id;
}
}
return z;
};
dhtmlXTreeObject.prototype.getAllSubItems = function (itemId) {
return this._getAllSubItems(itemId);
};
dhtmlXTreeObject.prototype._getAllSubItems = function (itemId, z, node) {
if (node) {
temp = node;
} else {
var temp = this._globalIdStorageFind(itemId);
}
if (!temp) {
return 0;
}
z = "";
for (var i = 0; i < temp.childsCount; i++) {
if (!z) {
z = temp.childNodes[i].id;
} else {
z += "," + temp.childNodes[i].id;
}
var zb = this._getAllSubItems(0, z, temp.childNodes[i]);
if (zb) {
z += "," + zb;
}
}
return z;
};
dhtmlXTreeObject.prototype.selectItem = function (itemId, mode) {
mode = convertStringToBoolean(mode);
var temp = this._globalIdStorageFind(itemId);
if (!temp) {
return 0;
}
if (this._getOpenState(temp.parentObject) == -1) {
this.openItem(itemId);
}
if (mode) {
this.onRowSelect(0, temp.htmlNode.childNodes[0].childNodes[0].childNodes[3], false);
} else {
this.onRowSelect(0, temp.htmlNode.childNodes[0].childNodes[0].childNodes[3], true);
}
};
dhtmlXTreeObject.prototype.getSelectedItemText = function () {
if (this.lastSelected) {
return this.lastSelected.parentObject.htmlNode.childNodes[0].childNodes[0].childNodes[3].childNodes[0].innerHTML;
} else {
return ("");
}
};
dhtmlXTreeObject.prototype._compressChildList = function (Count, Nodes) {
Count--;
for (var i = 0; i < Count; i++) {
if (Nodes[i] == 0) {
Nodes[i] = Nodes[i + 1];
Nodes[i + 1] = 0;
}
}
};
dhtmlXTreeObject.prototype._deleteNode = function (itemId, htmlObject, skip) {
if (!skip) {
this._globalIdStorageRecSub(htmlObject);
}
if ((!htmlObject) || (!htmlObject.parentObject)) {
return 0;
}
var tempos = 0;
var tempos2 = 0;
if (htmlObject.tr.nextSibling) {
tempos = htmlObject.tr.nextSibling.nodem;
}
if (htmlObject.tr.previousSibling) {
tempos2 = htmlObject.tr.previousSibling.nodem;
}
var sN = htmlObject.parentObject;
var Count = sN.childsCount;
var Nodes = sN.childNodes;
for (var i = 0; i < Count; i++) {
if (Nodes[i].id == itemId) {
if (!skip) {
sN.htmlNode.childNodes[0].removeChild(Nodes[i].tr);
}
Nodes[i] = 0;
break;
}
}
this._compressChildList(Count, Nodes);
if (!skip) {
sN.childsCount--;
}
if (tempos) {
this._correctPlus(tempos);
this._correctLine(tempos);
}
if (tempos2) {
this._correctPlus(tempos2);
this._correctLine(tempos2);
}
if (this.tscheck) {
this._correctCheckStates(sN);
}
};
dhtmlXTreeObject.prototype.setCheck = function (itemId, state) {
state = convertStringToBoolean(state);
var sNode = this._globalIdStorageFind(itemId);
if (!sNode) {
return;
}
if (!this.tscheck) {
return this._setSubChecked(state, sNode);
} else {
this._setCheck(sNode, state);
}
this._correctCheckStates(sNode.parentObject);
};
dhtmlXTreeObject.prototype._setCheck = function (sNode, state) {
var z = sNode.htmlNode.childNodes[0].childNodes[0].childNodes[1].childNodes[0];
if (state == "notsure") {
sNode.checkstate = 2;
} else {
if (state) {
sNode.checkstate = 1;
} else {
sNode.checkstate = 0;
}
}
z.src = this.imPath + this.checkArray[sNode.checkstate];
};
dhtmlXTreeObject.prototype.setSubChecked = function (itemId, state) {
var sNode = this._globalIdStorageFind(itemId);
this._setSubChecked(state, sNode);
this._correctCheckStates(sNode.parentObject);
};
dhtmlXTreeObject.prototype._setSubChecked = function (state, sNode) {
state = convertStringToBoolean(state);
if (!sNode) {
return;
}
for (var i = 0; i < sNode.childsCount; i++) {
this._setSubChecked(state, sNode.childNodes[i]);
}
var z = sNode.htmlNode.childNodes[0].childNodes[0].childNodes[1].childNodes[0];
if (state) {
sNode.checkstate = 1;
} else {
sNode.checkstate = 0;
}
z.src = this.imPath + this.checkArray[sNode.checkstate];
};
dhtmlXTreeObject.prototype.isItemChecked = function (itemId) {
var sNode = this._globalIdStorageFind(itemId);
if (!sNode) {
return;
}
return sNode.checkstate;
};
dhtmlXTreeObject.prototype.getAllChecked = function () {
return this._getAllChecked("", "", 1);
};
dhtmlXTreeObject.prototype.getAllCheckedBranches = function () {
return this._getAllChecked("", "", 0);
};
dhtmlXTreeObject.prototype._getAllChecked = function (htmlNode, list, mode) {
if (!htmlNode) {
htmlNode = this.htmlNode;
}
if (((mode) && (htmlNode.checkstate == 1)) || ((!mode) && (htmlNode.checkstate > 0))) {
if (list) {
list += "," + htmlNode.id;
} else {
list = htmlNode.id;
}
}
var j = htmlNode.childsCount;
for (var i = 0; i < j; i++) {
list = this._getAllChecked(htmlNode.childNodes[i], list, mode);
}
if (list) {
return list;
} else {
return "";
}
};
dhtmlXTreeObject.prototype.deleteChildItems = function (itemId) {
var sNode = this._globalIdStorageFind(itemId);
if (!sNode) {
return;
}
var j = sNode.childsCount;
for (var i = 0; i < j; i++) {
this._deleteNode(sNode.childNodes[0].id, sNode.childNodes[0]);
}
};
dhtmlXTreeObject.prototype.deleteItem = function (itemId, selectParent) {
this._deleteItem(itemId, selectParent);
};
dhtmlXTreeObject.prototype._deleteItem = function (itemId, selectParent, skip) {
selectParent = convertStringToBoolean(selectParent);
var sNode = this._globalIdStorageFind(itemId);
if (!sNode) {
return;
}
if (selectParent) {
this.selectItem(this.getParentId(this.getSelectedItemId()), 1);
}
if (!skip) {
this._globalIdStorageRecSub(sNode);
}
var zTemp = sNode.parentObject;
this._deleteNode(itemId, sNode, skip);
this._correctPlus(zTemp);
this._correctLine(zTemp);
};
dhtmlXTreeObject.prototype._globalIdStorageRecSub = function (itemObject) {
for (var i = 0; i < itemObject.childsCount; i++) {
this._globalIdStorageRecSub(itemObject.childNodes[i]);
this._globalIdStorageSub(itemObject.childNodes[i].id);
}
this._globalIdStorageSub(itemObject.id);
};
dhtmlXTreeObject.prototype.insertNewNext = function (parentItemId, itemId, itemName, itemActionHandler, image1, image2, image3, optionStr, childs) {
var sNode = this._globalIdStorageFind(parentItemId);
if (!sNode) {
return (0);
}
this._attachChildNode(0, itemId, itemName, itemActionHandler, image1, image2, image3, optionStr, childs, sNode, true);
};
dhtmlXTreeObject.prototype.getItemIdByIndex = function (itemId, index) {
var z = this._globalIdStorageFind(itemId);
if (!z) {
return 0;
}
var temp = z.htmlNode.childNodes[0].childNodes[0];
while (index > 0) {
temp = temp.nextSibling;
if ((!temp) || (!temp.nodem)) {
return 0;
}
index--;
}
return temp.nodem.id;
};
dhtmlXTreeObject.prototype.getChildItemIdByIndex = function (itemId, index) {
var sNode = this._globalIdStorageFind(itemId);
if (!sNode) {
return (0);
}
if (this.hasChildren(itemId) < index) {
return 0;
}
return sNode.htmlNode.childNodes[0].childNodes[index].nodem.id;
};
dhtmlXTreeObject.prototype.setDragHandler = function (func) {
if (typeof (func) == "function") {
this.dragFunc = func;
} else {
this.dragFunc = eval(func);
}
};
dhtmlXTreeObject.prototype._clearMove = function (htmlNode) {
if (htmlNode.parentObject.span) {
htmlNode.parentObject.span.className = "standartTreeRow";
if (htmlNode.parentObject.acolor) {
htmlNode.parentObject.span.style.color = htmlNode.parentObject.acolor;
}
}
};
dhtmlXTreeObject.prototype.enableDragAndDrop = function (mode) {
this.dragAndDropOff = convertStringToBoolean(mode);
};
dhtmlXTreeObject.prototype._setMove = function (htmlNode) {
if (htmlNode.parentObject.span) {
htmlNode.parentObject.span.className = "selectedTreeRow";
if (htmlNode.parentObject.scolor) {
htmlNode.parentObject.span.style.color = htmlNode.parentObject.scolor;
}
}
};
dhtmlXTreeObject.prototype._createDragNode = function (htmlObject) {
dhtmlObject = htmlObject.parentObject;
if (this.lastSelected) {
this._clearMove(this.lastSelected);
}
var dragSpan = document.createElement("div");
dragSpan.appendChild(document.createTextNode(dhtmlObject.label));
dragSpan.style.position = "absolute";
dragSpan.className = "dragSpanDiv";
return dragSpan;
};
dhtmlXTreeObject.prototype._preventNsDrag = function (e) {
if ((e) && (e.preventDefault)) {
e.preventDefault();
return false;
}
};
dhtmlXTreeObject.prototype._drag = function (sourceHtmlObject, dhtmlObject, targetHtmlObject) {
if (!targetHtmlObject.parentObject) {
targetHtmlObject = this.htmlNode.htmlNode.childNodes[0].childNodes[0].childNodes[1].childNodes[0];
} else {
this._clearMove(targetHtmlObject);
}
if (dhtmlObject.lastSelected) {
dhtmlObject._setMove(dhtmlObject.lastSelected);
}
if ((!this.dragMove) || (this.dragMove())) {
this._moveNode(sourceHtmlObject.parentObject, targetHtmlObject.parentObject);
}
};
dhtmlXTreeObject.prototype._dragIn = function (htmlObject, shtmlObject) {
if (!htmlObject.parentObject) {
return htmlObject;
}
if ((!this._checkParenNodes(shtmlObject.parentObject.id, htmlObject.parentObject, shtmlObject.parentObject)) && (htmlObject.parentObject.id != shtmlObject.parentObject.id)) {
this._setMove(htmlObject);
if (this._getOpenState(htmlObject.parentObject) < 0) {
this._autoOpenTimer = window.setTimeout(new callerFunction(this._autoOpenItem, this), 1000);
}
this._autoOpenId = htmlObject.parentObject.id;
return htmlObject;
} else {
return 0;
}
};
dhtmlXTreeObject.prototype._autoOpenItem = function (e, treeObject) {
treeObject.openItem(treeObject._autoOpenId);
};
dhtmlXTreeObject.prototype._dragOut = function (htmlObject) {
if (!htmlObject.parentObject) {
return 0;
}
this._clearMove(htmlObject);
if (this._autoOpenTimer) {
clearTimeout(this._autoOpenTimer);
}
};
dhtmlXTreeObject.prototype.disableIcon = function (mode) {
this.disIcon = convertStringToBoolean(mode);
};
dhtmlXTreeObject.prototype.disableRowSelect = function (mode) {
this.disRowSelect = convertStringToBoolean(mode);
};
dhtmlXTreeObject.prototype.setItemChecked = function(itemId) {
var pid = tree._globalIdStorageFind(itemId);
if(!pid) {
return;
}
var nid = pid.htmlNode.childNodes[0].childNodes[0].childNodes[1].firstChild;
if(!nid) {
return;
}
if (nid.treeNod.tscheck) {
nid.treeNod._setSubChecked(true, nid.parentObject);
} else {
nid.treeNod._setCheck(nid.parentObject, true);
}
nid.treeNod._correctCheckStates(nid.parentObject.parentObject);
if (nid.treeNod.checkFuncHandler) {
return (nid.treeNod.checkFuncHandler(nid.parentObject.id, nid.parentObject.checkstate));
} else {
return true;
}
};
dhtmlXTreeObject.prototype.getAllItems = function () {
return this._getAllItems("", "", 1);
};
dhtmlXTreeObject.prototype._getAllItems = function (htmlNode, list, mode) {
if (!htmlNode) {
htmlNode = this.htmlNode;
}
if (list) {
list += "," + htmlNode.id;
} else {
list = htmlNode.id;
}
var j = htmlNode.childsCount;
for (var i = 0; i < j; i++) {
list = this._getAllItems(htmlNode.childNodes[i], list, mode);
}
if (list) {
return list;
} else {
return "";
}
};
dhtmlXTreeObject.prototype.onEdit = function (e, htmlObject, mode) {
if (!htmlObject) {
htmlObject = this;
}
/*
//htmlObject.childNodes[0].className = "selectedTreeRow";
if (htmlObject.parentObject.scolor) {
htmlObject.parentObject.span.style.color = htmlObject.parentObject.scolor;
}
if ((htmlObject.parentObject.treeNod.lastSelected) && (htmlObject.parentObject.treeNod.lastSelected != htmlObject)) {
htmlObject.parentObject.treeNod.lastSelected.childNodes[0].className = "standartTreeRow";
if (htmlObject.parentObject.treeNod.lastSelected.parentObject.acolor) {
htmlObject.parentObject.treeNod.lastSelected.parentObject.span.style.color = htmlObject.parentObject.treeNod.lastSelected.parentObject.acolor;
}
}
htmlObject.parentObject.treeNod.lastSelected = htmlObject;
if (!mode) {
if (htmlObject.parentObject.actionHandler) {
htmlObject.parentObject.actionHandler(htmlObject.parentObject.id);
}
}*/
alert('Edit=' + htmlObject.parentObject.id);
};
dhtmlXTreeObject.prototype.getCurrentId = function(htmlObject) {
if (htmlObject) {
return htmlObject.id;
}
return '';
}