以下是引用片段: <script> 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.οnmοusedοwn=null; htmlNode.dragStarter=null; htmlNode.dragLanding=null; } dhtmlDragAndDropObject.prototype.addDraggableItem=function(htmlNode,dhtmlObject){ htmlNode.οnmοusedοwn=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.οnmοuseup=window.dhtmlDragAndDrop.tempDOMU; document.body.οnmοusemοve=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.οnmοuseup=window.dhtmlDragAndDrop.preCreateDragCopy; document.body.οnmοusemοve=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.οnmοuseup=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.οnmοuseup=dragger.tempDOMU; document.body.οnmοusemοve=dragger.tempDOMM; dragger.tempDOMU=null; dragger.tempDOMM=null; dragger.waitDrag=0; } </script> <!-- dhtmlXTree.js --> <script>
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); return this; };
function dhtmlXTreeItemObject(itemId,itemText,parentObject,treeObject,actionHandler,mode){ this.htmlNode=""; this.acolor=""; this.scolor=""; 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'); 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,url,beforeNode){ 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); 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,url){ var parentObject=this._globalIdStorageFind(parentId); if(!parentObject)return(-1); return this._attachChildNode(parentObject,itemId,itemText,itemActionHandler,image1,image2,image3,optionStr,childs,url); }; 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 url=node.childNodes[i].getAttribute("url"); 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,url); 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(!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; 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'); 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.οnclick=this.onCheckBoxClick; inp.treeNod=this; inp.parentObject=itemObject; var td12=document.createElement('td'); td12.className="standartTreeImage"; var img=document.createElement("img");img.οnmοusedοwn=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";} </script> |