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("
");
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