/************************************************************************************************************
  Static folder tree
  Copyright (C) October 2005  DTHMLGoodies.com, Alf Magne Kalleland

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with this library; if not, write to the Free Software
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

  Dhtmlgoodies.com., hereby disclaims all copyright interest in this script
  written by Alf Magne Kalleland.

  Alf Magne Kalleland, 2006
  Owner of DHTMLgoodies.com

 ************************************************************************************************************/	
var idOfFolderTrees = ['dhtmlgoodies_tree'];

var imageFolder = document.location.protocol + "//" +  document.location.hostname + '/img_tree2/';	
var folderImage = 'dhtmlgoodies_folder_dummy.gif';
var plusImage = 'dhtmlgoodies_plus.gif';
var minusImage = 'dhtmlgoodies_minus.gif';
var initExpandedNodes = '';	

var ajaxObjectArray = new Array();
var treeUlCounter = 0;
var nodeId = 1;

function Get_Cookie(name) { 
    var cookies = document.cookie.split("; ");
    for (var i = 0; i < cookies.length; i++) {
        var str = cookies[i].split("=");
        if (str[0] == name) {
            return unescape(str[1]);
        }
    }

//    var start = document.cookie.indexOf(name+"="); 
//    var len = start+name.length+1; 
//    if ((!start) && (name != document.cookie.substring(0,name.length))) return null; 
//    if (start == -1) return null; 
//    var end = document.cookie.indexOf(";",len); 
//    if (end == -1) end = document.cookie.length; 
//    return unescape(document.cookie.substring(len,end)); 
}

function Set_Cookie(name,value,expires,path,domain,secure) { 
    expires = expires * 60*60*24*1000;
    var today = new Date();
    var expires_date = new Date( today.getTime() + (expires) );
    var cookieString = name + "=" +escape(value) + 
        ( (expires) ? ";expires=" + expires_date.toGMTString() : "") + 
        ( (path) ? ";path=" + path : "") + 
        ( (domain) ? ";domain=" + domain : "") + 
        ( (secure) ? ";secure" : ""); 
    document.cookie = cookieString; 
} 
function expandAll(treeId)
{
    var menuItems = document.getElementById(treeId).getElementsByTagName('LI');
    for(var no=0;no<menuItems.length;no++){
        var subItems = menuItems[no].getElementsByTagName('UL');
        if(subItems.length>0 && subItems[0].style.display!='block'){
            showHideNode(false,menuItems[no].id.replace(/[^0-9]/g,''));
        }			
    }
}
function collapseAll(treeId)
{
    var menuItems = document.getElementById(treeId).getElementsByTagName('LI');
    for(var no=0;no<menuItems.length;no++){
        var subItems = menuItems[no].getElementsByTagName('UL');
        if(subItems.length>0 && subItems[0].style.display=='block'){
            showHideNode(false,menuItems[no].id.replace(/[^0-9]/g,''));
        }			
    }		
}
function showHideNode(e,inputId)
{
    if(inputId){
        if(!document.getElementById('dhtmlgoodies_treeNode'+inputId))return;
        thisNode = document.getElementById('dhtmlgoodies_treeNode'+inputId).getElementsByTagName('IMG')[0]; 
    }else {
        thisNode = this;
        if(this.tagName=='A')thisNode = this.parentNode.getElementsByTagName('IMG')[0];	
    }
    if(thisNode.style.display=='none')return;
    var parentNode = thisNode.parentNode;
    inputId = parentNode.id.replace(/[^0-9]/g,'');
    if(thisNode.src.indexOf(plusImage)>=0){
        thisNode.src = thisNode.src.replace(plusImage,minusImage);
        var ul = parentNode.getElementsByTagName('UL')[0];
        ul.style.display='block';
        if(!initExpandedNodes)initExpandedNodes = ',';
        if(initExpandedNodes.indexOf(',' + inputId + ',')<0) initExpandedNodes = initExpandedNodes + inputId + ',';

    }else{
        thisNode.src = thisNode.src.replace(minusImage,plusImage);
        parentNode.getElementsByTagName('UL')[0].style.display='none';
        initExpandedNodes = initExpandedNodes.replace(',' + inputId,'');
    }	
//    Set_Cookie('dhtmlgoodies_expandedNodes',initExpandedNodes,500);
    Set_Cookie('dhtmlgoodies_expandedNodes',initExpandedNodes, 500, '/');

    return false;
}
function jumpPage(e,inputId)
{
    if(inputId){
        if(!document.getElementById('dhtmlgoodies_treeNode'+inputId))return;
        thisNode = document.getElementById('dhtmlgoodies_treeNode'+inputId).getElementsByTagName('IMG')[0]; 
    }else {
        thisNode = this;
        if(this.tagName=='A')thisNode = this.parentNode.getElementsByTagName('IMG')[0];	
    }
    if(thisNode.style.display=='none')return;
    var parentNode = thisNode.parentNode;
    inputId = parentNode.id.replace(/[^0-9]/g,'');
    if(thisNode.src.indexOf(plusImage)>=0){
        if(!initExpandedNodes)initExpandedNodes = ',';
        initExpandedNodes = initExpandedNodes + inputId + ',';
    }	
//    Set_Cookie('dhtmlgoodies_expandedNodes',initExpandedNodes,500);
    Set_Cookie('dhtmlgoodies_expandedNodes',initExpandedNodes, 500, '/');

    return true;
}
function initTree()
{
    for(var treeCounter=0;treeCounter<idOfFolderTrees.length;treeCounter++){
        var dhtmlgoodies_tree = document.getElementById(idOfFolderTrees[treeCounter]);
        var menuItems = dhtmlgoodies_tree.getElementsByTagName('LI');	
        for(var no=0;no<menuItems.length;no++){					
            nodeId++;
            var subItems = menuItems[no].getElementsByTagName('UL');
            var img = document.createElement('IMG');
            img.src = imageFolder + plusImage;
            img.width = 30;
            img.height = 13;
            img.onclick = showHideNode;
            if(subItems.length==0)img.style.display='none';else{
                subItems[0].id = 'tree_ul_' + treeUlCounter;
                treeUlCounter++;
            }
            var aTag = menuItems[no].getElementsByTagName('A')[0];
            aTag.onclick = jumpPage;
            menuItems[no].insertBefore(img,aTag);
            if(!menuItems[no].id)menuItems[no].id = 'dhtmlgoodies_treeNode' + nodeId;
            var folderImg = document.createElement('IMG');
            if(menuItems[no].className){
                folderImg.src = imageFolder + menuItems[no].className;
                folderImg.width = 10;
                folderImg.height = 16;
            }else{
                folderImg.src = imageFolder + folderImage;
            }
            menuItems[no].insertBefore(folderImg,aTag);
        }	

    }
    initExpandedNodes = Get_Cookie('dhtmlgoodies_expandedNodes');
    if(initExpandedNodes){
        var nodes = initExpandedNodes.split(',');
        for(var no=0;no<nodes.length;no++){
            if(nodes[no])showHideNode(false,nodes[no]);	
        }			
    }	
}
window.onload = initTree;

