
function set_cookie(name, value, expires)
{
   document.cookie = name + '=' + escape(value) + '; path=/' + (typeof expires != 'undefined' ? '; expires=' + expires.toGMTString() : '');
}

function delete_cookie(name)
{
   document.cookie = name + '=' + '; expires=Thu, 01-Jan-70 00:00:01 GMT' +  '; path=/';
}

function fetch_cookie(name)
{
   cookie_name = name + '=';
   cookie_length = document.cookie.length;
   cookie_begin = 0;
   while (cookie_begin < cookie_length)
   {
      value_begin = cookie_begin + cookie_name.length;
      if (document.cookie.substring(cookie_begin, value_begin) == cookie_name)
      {
         var value_end = document.cookie.indexOf (';', value_begin);
         if (value_end == -1)
         {
            value_end = cookie_length;
         }
         return unescape(document.cookie.substring(value_begin, value_end));
      }
      cookie_begin = document.cookie.indexOf(' ', cookie_begin) + 1;
      if (cookie_begin == 0)
      {
         break;
      }
   }
   return null;
}


function on_click_tree(tree){
   if (typeof(tree)==='object'){
      tree.caption_onclick = function (node) {
         expires = new Date();
         expires.setTime(expires.getTime() + (1000*60*60));
         set_cookie('index',  node.index, expires);
         set_cookie('link',  node.getUrl(), expires);
      };
   }
}

function expand_tree(tree){
   if (typeof(tree)==='object'){
      var treeindex= fetch_cookie('index');
//      var treelink= fetch_cookie('link');
//      if (treelink){
//         url = self.location.pathname;
//         re =  new RegExp(treelink,"i");
//         if (url.search(re)>0)
            if (treeindex){
               node=  tree.nodeByIndex(treeindex);
               tree.expandNode(node.index, true,true)  ;
               nodep=node.getParent();
               while (nodep){
                  tree.expandNode(nodep.index, true,true)  ;
                  nodep=nodep.getParent();
               }
            }
//      }
   }
}
