function wsTreeCtrl() { // Methods this.initializeDocument = initializeDocument; this.InsItem = InsItem; this.GenerateCode = GenerateCode; this.ToggleTree = ToggleTree; this.ResetItem = ResetItem; this.ExpandAllTree = ExpandAllTree; this.RecudeAllTree = RecudeAllTree; // constant var nCount = 0; var LastRootItem = 0; var ImgDir = "../images/Analysis/"; var ItemImg = "../images/Analysis/html.gif"; // variable var Doc; var browserVersion; var id = ""; var Item = new Array(); function initializeDocument() { if (document.all) { //IE4 Doc = document.all; browserVersion = 1; }else if (document.layers) { //NS4 Doc = document.layers; browserVersion = 2; }else if(document.getElementById) { //NS6 Doc = document; browserVersion = 3; }else { //other Doc = document.all; browserVersion = 0; } } function InsItem(parentItem, description, hreference, target) { var iDepth = 0; var iLength = Item.length; if(parentItem == null) { parentItem = iLength; } if(Item[parentItem] != null) { iDepth = Item[parentItem][4]; iDepth++; } Item[iLength] = new Array(); Item[iLength][0] = parentItem; Item[iLength][1] = description; Item[iLength][2] = hreference; Item[iLength][3] = target; Item[iLength][4] = iDepth; Item[iLength][5] = true; nCount++; return iLength; } function GenerateCode() { var NextItemDepth = 0; var CurItemDepth = 0; DocWrite(""); for(var i=0; i"); } DocWrite("
"); DocWrite("
"); DocWrite(GetSpace(i, Item[i][4], false)); DocWrite(""); DocWrite(""); var TempNodeImg; if(GetItemCount(i, Item[i][4]) == 1) { if(Item.length == 1) { TempNodeImg = "r.gif"; } else { TempNodeImg = "L.gif"; } } else { if(i == 0) { TempNodeImg = "f.gif"; } else { TempNodeImg = "T.gif"; } } DocWrite(""); DocWrite(""); DocWrite(""); DocWrite(""); DocWrite(""); DocWrite(" "); if(Item[i][2] != "" && Item[i][2] != null) { DocWrite(""); } DocWrite(Item[i][1]); if(Item[i][2] != "" && Item[i][2] != null) { DocWrite(""); } DocWrite("
"); DocWrite("
"); LastRootItem = GetRootItem(nCount-1); } function GetSpace(CurItem, Depth, bBlank) { var Space = ""; for(var i=0; i"; }else { Space += ""; } }else { Space += ""; } } //alert("Space===["+Space+"]"); return Space; } function bHaveSameDepthChildItem(CurItem, Depth) { if(CurItem < 0 || CurItem > Item.length) { return false; } var PItem = Item[CurItem][0]; var RootItem = GetRootItemEx(PItem, Depth); if(GetItemCount(RootItem, Depth) >= 2) { //alert("true"); return true; }else { return false; } } function GetChildItems(iNode) { var ChildItems = ""; var CurDepth = Item[iNode][4]; for(var i=iNode+1; i= Item[i][4]) { return ChildItems; } if(Item[i][4] > Item[iNode][4]) { ChildItems += i + ";" } } return ChildItems; } function ToggleTree(CurNode, NodeItem) { if(NodeItem == "") { return; } var NodeStatus; var arr = new Array(); arr = NodeItem.split(";"); if(Item[CurNode][5] == true) { ToggleDisplayLayer(arr, CurNode, "none"); Item[CurNode][5] = false; }else { ToggleDisplayLayer(arr, CurNode, ""); Item[CurNode][5] = true; ResetItem(CurNode); } } function ToggleDisplayLayer(ItemArray, CurNode, Display) { var NodeImg; var ItemImg; var bShow; if(Display == "none") { bShow = false; } else{ bShow = true; } if(!bShow) { ItemImg = ImgDir + "folder.gif"; if(GetItemCount(CurNode,Item[CurNode][4]) == 1) { if(GetItemCount(GetRootItemEx(CurNode, 0),0) == 1 && CurNode == 0) { NodeImg = ImgDir + "Rplus.gif"; }else { NodeImg = ImgDir + "Lplus.gif"; } }else { if(CurNode == 0) { NodeImg = ImgDir + "fplus.gif"; }else { NodeImg = ImgDir + "Tplus.gif"; } } } else { ItemImg = ImgDir + "folderopen.gif"; if(GetItemCount(CurNode,Item[CurNode][4]) == 1) { if(GetItemCount(GetRootItemEx(CurNode, 0),0) == 1 && CurNode == 0) { NodeImg = ImgDir + "Rminus.gif"; }else { NodeImg = ImgDir + "Lminus.gif"; } }else { if(CurNode == 0) { NodeImg = ImgDir + "fminus.gif"; }else { NodeImg = ImgDir + "Tminus.gif"; } } } for(var i=0; i=0; i--) { Item[i][5] = false; ToggleTree(i, GetChildItems(i)); } } function RecudeAllTree() { for(var i=Item.length-1; i>=0; i--) { Item[i][5] = true; ToggleTree(i, GetChildItems(i)); } } function GetRootItem(ChildItem) { if(Item[ChildItem][4] == 0) { return ChildItem; }else { return GetRootItem(Item[ChildItem][0]); } } function GetRootItemEx(ChildItem, Depth) { if(Item[ChildItem][4] == Depth) { return ChildItem; }else { return GetRootItemEx(Item[ChildItem][0], Depth); } } function GetItemCount(CurItem, Depth) { var nRet = 0; for(var i=CurItem; i