<%@ Language=JScript %> <% Session("StartPage") = "LevelsTree.asp"; %> <% var ROOT_LEVEL = "localhost"; // name of the first element in the hierarchy var PARENT_INCLUDED = 1;//definition of the parent level included var PARENT_NOT_INCLUDED = 0; //definition of the parent level not included //defintions for LevelDef pattern , first-ID, second- Name , third -Inhibited var LEVEL_ID_MEMBER = 0; var LEVEL_NAME_MEMBER = 1; var LEVEL_INHIBIT_MEMBER = 2; try { /******************************************************************************************/ // CreateXMLTree // /******************************************************************************************/ function CreateXMLTree() { var pi; var VBArrayObj ; VBArrayObj = null ; var JSArray ; var theParent = ""; var XMLlevels = Server.CreateObject("Microsoft.XMLDOM"); pi = Factory.createProcessingInstruction("xml", " version='1.0'"); XMLlevels.appendChild(pi); newElement = Factory.createElement("Root"); XMLlevels.appendChild(newElement) // Get definiton to the first level if (WizproASPObj != null) { VBArrayObj = new VBArray(WizproASPObj.GetAlarmLevelChildren(ROOT_LEVEL, PARENT_INCLUDED)) ; JSArray = VBArrayObj.toArray(); } theParent = JSArray[0]; AppendChilds(XMLlevels.documentElement, theParent); return XMLlevels; } /******************************************************************************************/ // CetWizlevelChields //Call to Wizcon API to get children of the level //IN: parent name //OUT: Array of levels, where aech level presented // by delimetered string "ID, LEVEL_NAME, INHIBIT" /******************************************************************************************/ function CetWizlevelChilds(parent) { var sParent = new String(parent); var VBArrayObj ; VBArrayObj = null ; var JSArray ; if (WizproASPObj != null) { VBArrayObj = new VBArray(WizproASPObj.GetAlarmLevelChildren(parent, PARENT_NOT_INCLUDED)) ; JSArray = VBArrayObj.toArray(); //Response.Write("array size = " + JSArray.length) } return JSArray; }//CetWizlevelChields /******************************************************************************************/ // GetNameFromPath //IN:Full path of the level //OUT: specific name of the level /******************************************************************************************/ function GetNameFromPath(path) { var levelname; var tempArray; var tempArrSize; var sPath = new String(path); tempArray = sPath.split("."); tempArrSize = tempArray.length; name = tempArray[tempArrSize - 1]; return name; }//GetNameFromPath /******************************************************************************************/ // CreateXMLTree //Recursive function to create the XML tree /******************************************************************************************/ function AppendChilds(XMLParentNode, ParentName ) { var i; var levelName; var inhibit = "false"; var parent = new String() var pName = new String(ParentName); var levelDef; //array var levelsArray;// = new Array;//array with children strings var arrSize; var newElement; var textNode; levelDef = pName.split(","); parent =levelDef[1]; levelsArray = CetWizlevelChilds(parent); arrSize = levelsArray.length; if(arrSize == 0) { //create an Item element newElement = Factory.createElement("Item"); newElement.setAttribute ("Id", levelDef[LEVEL_ID_MEMBER]); if(levelDef[LEVEL_INHIBIT_MEMBER] == "1") inhibit = "true"; else inhibit = "false"; newElement.setAttribute ("Inhibit", inhibit); levelName = GetNameFromPath(levelDef[LEVEL_NAME_MEMBER]); textNode = Factory.createTextNode (levelName); newElement.appendChild(textNode); } else { newElement = Factory.createElement("Level"); newElement.setAttribute ("Opened", "true"); newElement.setAttribute ("Loaded", "true"); levelName = GetNameFromPath(levelDef[LEVEL_NAME_MEMBER]); newElement.setAttribute ("Name", levelName); newElement.setAttribute ("Id", levelDef[LEVEL_ID_MEMBER]); if(levelDef[LEVEL_INHIBIT_MEMBER] == "1") inhibit = "true"; else inhibit = "false"; newElement.setAttribute ("Inhibit", inhibit); } for(i = 0; i" +e.description); } %>