//v.2.0 build 81107 /* Copyright DHTMLX LTD. http://www.dhtmlx.com To use this component please contact sales@dhtmlx.com to obtain license */ function xmlPointer(data){this.d=data};xmlPointer.prototype={text:function(){if (!_isFF)return this.d.xml;var x = new XMLSerializer();return x.serializeToString(this.d)}, get:function(name){return this.d.getAttribute(name)}, exists:function(){return !!this.d }, content:function(){return this.d.firstChild?this.d.firstChild.data:""}, each:function(name,f,t,i){var a=this.d.childNodes;var c=new xmlPointer();if (a.length)for (i=i||0;i0){beforeNode=new Object;beforeNode.tr=parentObject.childNodes[0].tr.previousSibling};parentObject._has_top=true;for (ik=Count;ik>0;ik--)Nodes[ik]=Nodes[ik-1];Count=0;break}}};var n;if (!(n=this._idpull[itemId])|| n.span!=-1){n=Nodes[Count]=new dhtmlXTreeItemObject(itemId,itemText,parentObject,this,itemActionHandler,1);itemId = Nodes[Count].id;parentObject.childsCount++};if(!n.htmlNode){n.label=itemText;n.htmlNode=this._createItem((this.checkBoxOff?1:0),n);n.htmlNode.objBelong=n};if(image1)n.images[0]=image1;if(image2)n.images[1]=image2;if(image3)n.images[2]=image3;var tr=this._drawNewTr(n.htmlNode);if ((this.XMLloadingWarning)||(this._hAdI)) n.htmlNode.parentNode.parentNode.style.display="none";if ((beforeNode)&&(beforeNode.tr.nextSibling)) parentObject.htmlNode.childNodes[0].insertBefore(tr,beforeNode.tr.nextSibling);else if (this.parsingOn==parentObject.id){this.parsedArray[this.parsedArray.length]=tr}else parentObject.htmlNode.childNodes[0].appendChild(tr);if ((beforeNode)&&(!beforeNode.span)) beforeNode=null;if (this.XMLsource)if ((childs)&&(childs!=0)) n.XMLload=0;else n.XMLload=1;n.tr=tr;tr.nodem=n;if (parentObject.itemId==0)tr.childNodes[0].className="hiddenRow";if ((parentObject._r_logic)||(this._frbtr)) this._setSrc(n.htmlNode.childNodes[0].childNodes[0].childNodes[1].childNodes[0],this.imPath+this.radioArray[0]);if (optionStr){var tempStr=optionStr.split(",");for (var i=0;i=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);if (this._onradh){if (this.xmlstate==1){var old=this.onXLE;this.onXLE=function(id){this._onradh(itemId);if (old)old(id)}}else this._onradh(itemId)}};return n};dhtmlXTreeObject.prototype.enableContextMenu=function(menu){if (menu)this.cMenu=menu};dhtmlXTreeObject.prototype.setItemContextMenu=function(itemId,cMenu){var l=itemId.toString().split(this.dlmtr);for (var i=0;i=0;i--)if (temp.childNodes[i]._dmark)this.deleteItem(temp.childNodes[i].id)};var parsedNodeTop=this._globalIdStorageFind(this.parsingOn);for (var i=0;i1){if ( ( (Nodes[1].style.display!="none")|| (mode==1) ) && (mode!=2) ) {this.allTree.childNodes[0].border = "1";this.allTree.childNodes[0].border = "0";nodestyle="none"}else nodestyle="";for (var i=1;ithis._getNodeLevel(nodeB,0)) {if (!this.dropLower)return this._moveNodeTo(itemObject,nodeA.parentObject);else if (nodeB.id!=this.rootId)return this._moveNodeTo(itemObject,nodeB.parentObject,nodeB);else return this._moveNodeTo(itemObject,this.htmlNode,null)}else {return this._moveNodeTo(itemObject,nodeB.parentObject,nodeB)}}else return this._moveNodeTo(itemObject,targetObject)};dhtmlXTreeObject.prototype._fixNodesCollection=function(target,zParent){var flag=0;var icount=0;var Nodes=target.childNodes;var Count=target.childsCount-1;if (zParent==Nodes[Count])return;for (var i=0;i=2){this._correctPlus(Nodes[targetObject.childsCount-2]);this._correctLine(Nodes[targetObject.childsCount-2])};this._correctPlus(Nodes[targetObject.childsCount-1]);if (this.tscheck)this._correctCheckStates(targetObject);if (oldTree.tscheck)oldTree._correctCheckStates(z)};if (c>1){oldTree._correctPlus(z.childNodes[c-2]);oldTree._correctLine(z.childNodes[c-2])};oldTree._correctPlus(z);oldTree._correctLine(z);this._fixChildCountLabel(targetObject);oldTree._fixChildCountLabel(z);this.callEvent("onDrop",[itemObject.id,targetObject.id,(beforeNode?beforeNode.id:null),oldTree,targetObject.treeNod]);return itemObject.id};dhtmlXTreeObject.prototype._clearStyles=function(itemObject){if (!itemObject.htmlNode)return;var td1=itemObject.htmlNode.childNodes[0].childNodes[0].childNodes[1];var td3=td1.nextSibling.nextSibling;itemObject.span.innerHTML=itemObject.label;itemObject.i_sel=false;if (itemObject._aimgs)this.dragger.removeDraggableItem(td1.nextSibling);if (this.checkBoxOff){td1.childNodes[0].style.display="";td1.childNodes[0].onclick=this.onCheckBoxClick;this._setSrc(td1.childNodes[0],this.imPath+this.checkArray[itemObject.checkstate])}else td1.childNodes[0].style.display="none";td1.childNodes[0].treeNod=this;this.dragger.removeDraggableItem(td3);if (this.dragAndDropOff)this.dragger.addDraggableItem(td3,this);if (this._aimgs)this.dragger.addDraggableItem(td1.nextSibling,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;i0)) {if (node.childNodes[i].unParsed)var zb=this._getAllScraggyItemsXML(node.childNodes[i].unParsed,1);else var zb=this._getAllScraggyItems(node.childNodes[i]) if (zb)if (z)z+=this.dlmtr+zb;else z=zb}else if (!z)z=node.childNodes[i].id;else z+=this.dlmtr+node.childNodes[i].id};return z};dhtmlXTreeObject.prototype._getAllFatItems =function(node) {var z="";for (var i=0;i0)) {if (!z)z=node.childNodes[i].id;else z+=this.dlmtr+node.childNodes[i].id;if (node.childNodes[i].unParsed)var zb=this._getAllFatItemsXML(node.childNodes[i].unParsed,1);else var zb=this._getAllFatItems(node.childNodes[i]) if (zb)z+=this.dlmtr+zb}};return z};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;iz.childsCount)) return null;return z.childNodes[index].id};dhtmlXTreeObject.prototype.getChildItemIdByIndex=function(itemId,index){var z=this._globalIdStorageFind(itemId);if ((!z)||(index>=z.childsCount)) return null;return z.childNodes[index].id};dhtmlXTreeObject.prototype.setDragHandler=function(func){this.attachEvent("onDrag",func)};dhtmlXTreeObject.prototype._clearMove=function(){if (this._lastMark){this._lastMark.className=this._lastMark.className.replace(/dragAndDropRow/g,"");this._lastMark=null};this.selectionBar.style.display="none";this.allTree.className=this.allTree.className.replace(" selectionBox","")};dhtmlXTreeObject.prototype.enableDragAndDrop=function(mode,rmode){if (mode=="temporary_disabled"){this.dADTempOff=false;mode=true}else this.dADTempOff=true;this.dragAndDropOff=convertStringToBoolean(mode);if (this.dragAndDropOff)this.dragger.addDragLanding(this.allTree,this);if (arguments.length>1)this._ddronr=(!convertStringToBoolean(rmode))};dhtmlXTreeObject.prototype._setMove=function(htmlNode,x,y){if (htmlNode.parentObject.span){var a1=getAbsoluteTop(htmlNode);var a2=getAbsoluteTop(this.allTree);this.dadmodec=this.dadmode;this.dadmodefix=0;if (this.dadmode==2){var z=y-a1+this.allTree.scrollTop+(document.body.scrollTop||document.documentElement.scrollTop)-2-htmlNode.offsetHeight/2;if ((Math.abs(z)-htmlNode.offsetHeight/6)>0) {this.dadmodec=1;if (z<0)this.dadmodefix=0-htmlNode.offsetHeight}else this.dadmodec=0};if (this.dadmodec==0){var zN=htmlNode.parentObject.span;zN.className+=" dragAndDropRow";this._lastMark=zN}else{this._clearMove();this.selectionBar.style.top=(a1-a2+((parseInt(htmlNode.parentObject.span.parentNode.previousSibling.childNodes[0].style.height)||18)-1)+this.dadmodefix)+"px";this.selectionBar.style.left="5px";if (this.allTree.offsetWidth>20)this.selectionBar.style.width=(this.allTree.offsetWidth-(_isFF?30:25))+"px";this.selectionBar.style.display=""};this._autoScroll(null,a1,a2)}};dhtmlXTreeObject.prototype._autoScroll=function(node,a1,a2){if (this.autoScroll){if (node){a1=getAbsoluteTop(node);a2=getAbsoluteTop(this.allTree)};if ( (a1-a2-parseInt(this.allTree.scrollTop))>(parseInt(this.allTree.offsetHeight)-50) ) this.allTree.scrollTop=parseInt(this.allTree.scrollTop)+20;if ( (a1-a2)<(parseInt(this.allTree.scrollTop)+30) ) this.allTree.scrollTop=parseInt(this.allTree.scrollTop)-20}};dhtmlXTreeObject.prototype._createDragNode=function(htmlObject,e){if (!this.dADTempOff)return null;var obj=htmlObject.parentObject;if (!this.callEvent("onBeforeDrag",[obj.id])) return null;if (!obj.i_sel)this._selectItem(obj,e);this._checkMSelectionLogic();var dragSpan=document.createElement('div');var text=new Array();if (this._itim_dg)for (var i=0;i"+this._selected[i].span.innerHTML+"";else text=this.getSelectedItemText().split(this.dlmtr);dragSpan.innerHTML=text.join("");dragSpan.style.position="absolute";dragSpan.className="dragSpanDiv";this._dragged=(new Array()).concat(this._selected);return dragSpan};dhtmlXTreeObject.prototype._focusNode=function(item){var z=getAbsoluteTop(item.htmlNode)-getAbsoluteTop(this.allTree);if ((z>(this.allTree.scrollTop+this.allTree.offsetHeight-30))||(z-1)this._openItem(node._pageData[0]);node._pageData=null};dhtmlXTreeObject.prototype._prevPageCall=function(node){tree.deleteChildItems(node._pageData[0].id);node.parentNode.removeChild(node);var f=this._getOpenState(node._pageData[0]);var xz=node._pageData[1]-this._epgpsC;if (xz<0)xz=0;this._parseXMLTree(this,node._pageData[3],node._pageData[0].id,node._pageData[2],null,xz);this._redrawFrom(this,node._pageData[0],0);if (f>-1)this._openItem(node._pageData[0]);node._pageData=null};dhtmlXTreeObject.prototype.enableTextSigns=function(mode){this._txtimg=convertStringToBoolean(mode)};dhtmlXTreeObject.prototype.preventIECaching=function(mode){this.no_cashe = convertStringToBoolean(mode);this.XMLLoader.rSeed=this.no_cashe};dhtmlXTreeObject.prototype.preventIECashing=dhtmlXTreeObject.prototype.preventIECaching;dhtmlXTreeObject.prototype.disableCheckbox=function(itemId,mode) {if (typeof(itemId)!="object") var sNode=this._globalIdStorageFind(itemId,0,1);else var sNode=itemId;if (!sNode)return;sNode.dscheck=convertStringToBoolean(mode)?(((sNode.checkstate||0)%3)+3):((sNode.checkstate>2)?(sNode.checkstate-3):sNode.checkstate);this._setCheck(sNode);if (sNode.dscheck<3)sNode.dscheck=false};dhtmlXTreeObject.prototype.smartRefreshBranch=function(itemId,source){this._branchUpdate=1;this.smartRefreshItem(itemId,source)};dhtmlXTreeObject.prototype.smartRefreshItem=function(itemId,source){var sNode=this._globalIdStorageFind(itemId);for (var i=0;i0)) {if (node.childNodes[i].unParsed)var zb=this._getAllScraggyItemsXML(node.childNodes[i].unParsed,1);else var zb=this._getAllScraggyItems(node.childNodes[i]) if (zb)if (z)z+=this.dlmtr+zb;else z=zb}else if (!z)z=node.childNodes[i].id;else z+=this.dlmtr+node.childNodes[i].id};return z};dhtmlXTreeObject.prototype._getAllFatItems =function(node) {var z="";for (var i=0;i0)) {if (!z)z=node.childNodes[i].id;else z+=this.dlmtr+node.childNodes[i].id;if (node.childNodes[i].unParsed)var zb=this._getAllFatItemsXML(node.childNodes[i].unParsed,1);else var zb=this._getAllFatItems(node.childNodes[i]) if (zb)z+=this.dlmtr+zb}};return z};dhtmlXTreeObject.prototype.getAllItemsWithKids =function(){return this._getAllFatItems(this.htmlNode)};dhtmlXTreeObject.prototype.getAllFatItems=dhtmlXTreeObject.prototype.getAllItemsWithKids;dhtmlXTreeObject.prototype.getAllChecked=function(){return this._getAllChecked("","",1)};dhtmlXTreeObject.prototype.getAllUnchecked=function(itemId){if (itemId)itemId=this._globalIdStorageFind(itemId);return this._getAllChecked(itemId,"",0)};dhtmlXTreeObject.prototype.getAllPartiallyChecked=function(){return this._getAllChecked("","",2)};dhtmlXTreeObject.prototype.getAllCheckedBranches=function(){var temp= this._getAllChecked("","",1);if (temp!="")temp+=this.dlmtr;return temp+this._getAllChecked("","",2)};dhtmlXTreeObject.prototype._getAllChecked=function(htmlNode,list,mode){if (!htmlNode)htmlNode=this.htmlNode;if (htmlNode.checkstate==mode)if (!htmlNode.nocheckbox){if (list)list+=this.dlmtr+htmlNode.id;else list=htmlNode.id};var j=htmlNode.childsCount;for (var i=0;i