// var openFolder = "/images/openfolder.gif";
// var closedFolder = "/images/folder.gif";
var images = "/images/";
var openFolder = "tag.gif";
var closedFolder = "tag.gif";
var plus = "plus.gif";
// var plus = "btn_plus.gif";
var minus = "minus.gif";
// var minus = "btn_minus.gif";


function OnLoad()
{
   var sidebar = document.getElementById("sidebar");

   if (sidebar != null)
   {
      var items = document.getElementsByTagName("H2");

      if (items.length > 0)
      {
         with (sidebar.style) {
            display = "block";
         }

         var sidebar_header = document.createElement('div');

         var sidebar_header_class = document.createAttribute('class');
         sidebar_header_class.nodeValue = "tocheader";
         sidebar_header.setAttributeNode(sidebar_header_class);

         var sidebar_header_text = document.createTextNode("Table of Contents");
         
         sidebar_header.appendChild(sidebar_header_text);
         
         sidebar.appendChild(sidebar_header);

         var sidebar_folders = document.createElement('div');

         var sidebar_folders_class = document.createAttribute('class');
         sidebar_folders_class.nodeValue = "folders";
         sidebar_folders.setAttributeNode(sidebar_folders_class);

         sidebar.appendChild(sidebar_folders);
         
         if (is_ie)
         {
            sidebar.style.marginLeft = "5px";
            sidebar.style.marginRight = "5px";
            sidebar_folders.style.paddingBottom = "20px";
         }

         BuildTOC(sidebar_folders, 2);
      }
   }

   /*
   if (location.search.length > 0)
   {
      var search = decodeURI(location.search.substr(1));
      var evalString = "";
      
      var pairArray = search.split('#');
      var path = "";
      
      for (var ii = 0; ii < pairArray.length; ++ii)
      {
         var pair = pairArray[ii];
         var evalArray = pair.split('=');
         
         if (evalArray[0].toLowerCase() == "dirid")
         {
            path = evalArray[1];
         }
         
         var folder = document.getElementById(path);
         
         if (folder != null)
         {
            var foldername = document.getElementById("foldername_" + path);
            foldername.className = "foldernameselected";
            
            var parent = folder.parentElement;
            
            while (parent.className == "folder")
            {
               parent.style.display = "block";
               parent = parent.parentElement;
               
               while (parent.className == "subfolder")
               {
                  var expand = document.getElementById("expand_" + parent.id);
                  
                  if (expand.onclick != null)
                  {
                     expand.onclick();
                  }
                  
                  parent = parent.parentElement;
               }
            }
         }
      }
   }
   */
   
}

/*
function BuildTOC(dest, level)
{
   var tag = "H" + level;
   var items = document.getElementsByTagName(tag);
   var item = null;
   var i = 0;

   if (items.length > 0)
   {
      for (i = 0; i < items.length; ++i)
      {
         item = items[i];

         var text = "";

         if (item.childNodes.length > 1)
         {
            if (item.lastChild.tagName)
            {
               text = item.lastChild.lastChild.data;
            }
            else
            {
               text = item.lastChild.data;
            }
         }
         else
         {
            text = item.childNodes[0].data;
         }
         
         var node = document.createElement('div');

         var node_class = document.createAttribute('class');
         node_class.nodeValue = "folder";
         node.setAttributeNode(node_class);

         var node_onselectstart = document.createAttribute("onselectstart");
         node_onselectstart.nodeValue = "return false;";
         node.setAttributeNode(node_onselectstart);

         
         var icon = document.createElement('img');
         
         var img_id = document.createAttribute('id');
         img_id.nodeValue = "expand_" + item.id;
         icon.setAttributeNode(img_id);
         
         var img_class = document.createAttribute('class');
         img_class.nodeValue = "icon";
         icon.setAttributeNode(img_class);
         

         var link = document.createElement('a');
         
         var link_id = document.createAttribute("id");
         link_id.nodeValue = "foldername_" + item.id;
         link.setAttributeNode(link_id);

         var link_class = document.createAttribute("class");
         link_class.nodeValue = "foldername";
         // link.setAttributeNode(link_class);

         var link_href = document.createAttribute("href");
         link_href.nodeValue = "#" + item.id;
         link.setAttributeNode(link_href);

         var link_title = document.createAttribute("title");
         link_title.nodeValue = text;
         link.setAttributeNode(link_title);

         var text = document.createTextNode(" " + text);
         
         link.appendChild(text);

         // node.appendChild(icon);
         node.appendChild(link);

         var subfolder = document.createElement('div');

         var subfolder_id = document.createAttribute('id');
         subfolder_id.nodeValue = "subfolder_" + item.id;
         subfolder.setAttributeNode(subfolder_id);

         var subfolder_class = document.createAttribute('class');
         subfolder_class.nodeValue = "subfolder";
         subfolder.setAttributeNode(subfolder_class);

         node.appendChild(subfolder);
         
         var img_src = document.createAttribute('src');

         img_src.nodeValue = "/images/emptyfolder.gif";
         icon.setAttributeNode(img_src);
         
         dest.appendChild(node);
      }
   }

   return (items.length > 0);
}
*/

function CancelBubble(e)
{
   if (is_ie)
   {
      e = window.event;
      e.cancelBubble = true;
   }
   else if (is_dom)
   {
      e.stopPropagation();
   }
}


function OnExpandClick(folderID, e)
{
   CancelBubble(e);    
   
   var folder = document.getElementById("subfolder_" + folderID);
   var icon = document.getElementById("icon_" + folderID);
   var expand = document.getElementById("expand_" + folderID);
   
   var max = 0;
   
   if (folder.childNodes != null)
   {
      max = folder.childNodes.length;
   }
   
   if (folder.state == undefined)
   {
      // folder.state = (expand.src.substring(expand.src.lastIndexOf('/') + 1, expand.src.length) == minus);
      // expand.style.backgroundImage = "url('" + images + (folder.state ? minus : plus) + "')";
   }
   
   folder.state = !folder.state;
   
   folder.style.display = folder.state ? "block" : "none";
   
   if (icon != null)
   {
      icon.src = images + (folder.state ? openFolder : closedFolder);
   }
   
   expand.style.backgroundImage = "url('" + images + (folder.state ? minus : plus) + "')";
   
   /*
   if (folder.state)
   {
      var folderNodes = folder.childNodes;
      var index = folderNodes.length;
      
      while (--index && folderNodes[index] && (!folderNodes[index].tagName || folderNodes[index].tagName != "LI"))
      {
      }
      
      var itemNodes = folderNodes[index].childNodes;
      
      if (itemNodes)
      {
         index = itemNodes.length;
         
         while (--index && itemNodes[index] && (!itemNodes[index].tagName || itemNodes[index].tagName != "IMG"));
         while (--index && itemNodes[index] && (!itemNodes[index].tagName || itemNodes[index].tagName != "IMG"));
         
         var lastImg = itemNodes[index];
         
         if (lastImg)
         {
            lastImg.style.backgroundImage = "url('/images/lastfolderline.gif')";
            lastImg.style.backgroundRepeat = "no-repeat";
         }
      }
   }
   */
   
   return false;
}


function OnDocumentClick(e)
{
   CancelBubble(e);    
}


function SetHoverStyle(element, className, e)
{
   element.origClassName = element.className;
   element.className = className;
}


function ClearHoverStyle(element, className, e)
{
   element.className = element.origClassName;
   // element.className = className;
}


function EscapeChars(val)
{
   val = val.replace(/&/g, "%26");
   return val;
}

function OnResize()
{
}
