function wsTreeCtrl_skyddet_meny() { // Methods this.initializeDocument = initializeDocument; this.InsItem = InsItem; this.GenerateCode = GenerateCode; this.ToggleTree_skyddet_meny = ToggleTree_skyddet_meny; this.ResetItem = ResetItem; this.ExpandAllTree = ExpandAllTree; this.RecudeAllTree = RecudeAllTree; this.CheckNodeStatus_skyddet_meny = CheckNodeStatus_skyddet_meny; this.Username = Username; // constant var nCount = 0; var LastRootItem = 0; var ImgDir = "bilder/meny/"; var ItemImg = "bilder/meny/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(""); } else { DocWrite(""); } DocWrite(Item[i][1]); DocWrite(""); DocWrite("
"); DocWrite("
"); LastRootItem = GetRootItem(nCount-1); } function GetSpace(CurItem, Depth, bBlank) { var Space = ""; for(var i=0; i"; }else { Space += ""; } }else { 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) { 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 Username(session_id) { var user_id = session_id; SetCookie("user_id", user_id); } function replaceChar(entry, sub, add) { out = sub; // replace this add = add; // with this temp = "" + entry; // temporary holder while (temp.indexOf(out)>-1) { pos= temp.indexOf(out); temp = "" + (temp.substring(0, pos) + add + temp.substring((pos + out.length), temp.length)); } return temp; } function SetCookie(name, value) { document.cookie = name+"="+value; } function ReadCookie(name) { var theCookie=""+document.cookie; var index=theCookie.indexOf(name); if (index==-1 || name=="") { return ""; } var index1=theCookie.indexOf(';',index); if (index1==-1) { index1=theCookie.length; } return unescape(theCookie.substring(index+name.length+1,index1)); } function CheckNodeStatus_skyddet_meny(CurNode, NodeItem) { var arr = new Array(); var rep = ""; var cookiename = ""; if(NodeItem == "") {return; } arr = NodeItem.split(";"); rep = replaceChar(NodeItem, ";", "_"); username = ReadCookie("user_id"); cookiename = username + "_" + CurNode + "_" + rep; if(ReadCookie(cookiename) == "open") { //alert("This was an open node, now sets to close"); SetCookie(cookiename, "closed"); ToggleDisplayLayer(arr, CurNode, "none"); } else { //alert("This was a closed node, now sets to open"); SetCookie(cookiename, "closed"); ToggleDisplayLayer(arr, CurNode, ""); } } function ToggleTree_skyddet_meny(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") { NodeReplaced = replaceChar(ItemArray, ",", "_"); username = ReadCookie("user_id"); cookiename = username+"_"+CurNode+"_"+NodeReplaced; if(ReadCookie(cookiename) == "open") { SetCookie(cookiename, "open"); bShow = true; } else { SetCookie(cookiename, "closed"); bShow = false; } } else { NodeReplaced = replaceChar(ItemArray, ",", "_"); username = ReadCookie("user_id"); cookiename = username+"_"+CurNode+"_"+NodeReplaced; SetCookie(cookiename, "open"); 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_skyddet_meny(i, GetChildItems(i)); } } function RecudeAllTree() { for(var i=Item.length-1; i>=0; i--) { Item[i][5] = true; ToggleTree_skyddet_meny(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 GetRootItem(Item[ChildItem][0], Depth); } } function GetItemCount(CurItem, Depth) { var nRet = 0; for(var i=CurItem; i