//Preload Images
img1=new Image()
img1.src= url + "/images/nav/more.gif"
img2=new Image()
img2.src= url + "/images/nav/less.gif"

// an array of ID's for preserving state of expand/collapse menu
var StrIDs = getCookie("IDsCookie");
var IDsArray = new Array();

if (StrIDs != null) {
	if (StrIDs.length > 0) {
		IDsArray = StrIDs.split(",");
	}
}

if (document.getElementById){
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}

// CR_11855-G - beginning of change
// collapse other branches when expanding a node
// fw
// 6/1/2006
 
function AddID(id) {
	IDsArray.push(id);
	setCookie("IDsCookie",IDsArray.toString());
    return;
}

function RemoveID(id) {
	var i;
	for (i=0; i< IDsArray.length; i++) {
		if (IDsArray[i] == id) {
			IDsArray.splice(i, 1);
			setCookie("IDsCookie", IDsArray.toString());
			return;
		}
	}
	return;
}

function HideMenuItem(obj){
    try{
		var el = document.getElementById(obj);
		var im = document.getElementById("img" + obj);
	    el.style.display = "none";
	    im.src = img1.src;
	    im.alt = "Click here to expand.";
    }
    catch(e){}    
}

function SwitchMenu(obj){

	if(document.getElementById){
		if(obj == null){
			AddID(obj,block);
			return;
		}
		var el = document.getElementById(obj);
		var im = document.getElementById("img" + obj);
		if(el.style.display != "block"){ 
			el.style.display = "block";
			im.src = img2.src;
			im.alt = "Click here to collapse.";
			AddID(obj);
		} else {
			RemoveID(obj);
			HideMenuItem(obj);
		}
	}
}

// End of change - CR_11855-G

function setMenu() {
	var i;
	for (i=0; i< IDsArray.length; i++) {
		var el = document.getElementById(IDsArray[i]);
		el.style.display = "block";
		var im = document.getElementById("img" + IDsArray[i]);
		im.src = img2.src;
	}
	return;
}

function setCookie(name, value, expires, path){
	document.cookie= name + "=" + escape(value) +
  	((expires) ? "; expires=" + expires.toGMTString() : "") +
    ("; path=/" );
}

function getCookie(name){
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1){
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	}else{
		begin += 2;
	}
	var end = document.cookie.indexOf(";", begin);
	if (end == -1){
		end = dc.length;
	}
  return unescape(dc.substring(begin + prefix.length, end));
}


/* /////////////////////////////////////////////////////////////////////////// 
Added by CS ISB on Oct 13, 2006
*/

function drawItem (myMenuItem) {
  
  var description = myMenuItem.desc;
  var hreference = myMenuItem.hreference;
  var targetwindow = myMenuItem.hreftarget;
  var myRow = "";
  var spacer = "";
  var myIconId = "sub";

  if (hreference == null) {
    hreference = subweb;
  } else {
    var chkRef = hreference.slice(0, 4);
    if (chkRef != "http") {
      hreference = subweb + hreference;
    }
  }

  if(myMenuItem.level > 1) {
    if (myMenuItem.children.length > 0) {
      myIconId += myMenuItem.folderID;
      spacer += "<td width=5 valign='top' align='left'><img src='" + url + "/images/nav/more.gif' id='img"+myIconId;
      spacer +="' border=0 onclick=\"SwitchMenu('" + myIconId + "', 'masterdiv')\";></td>";
      
    } else {
      spacer += "<td width=5 valign='top'><img src='" + url + "/images/nav/spacer.gif' border=0 width=16 height=12></td>";
    }
  }

  myRow = spacer + myRow; 
  myRow += "<td style='Font: 0.70em Verdana, Arial, Helvetica, sans-serif'>"; 
  
  if (hreference != null) {
    myRow = myRow + "<a href='"+ hreference + "'";
    
    if (targetwindow == 1){
      myRow = myRow + "target='_blank'>" +  description + "</a><br>";
    } else {
      myRow = myRow + "target='_self'>" +  description + "</a><br>"; 
    }
    
  } else {
    myRow = myRow + description + "<br>";
  }
  
  return myRow;

}

function Folder (folderDescription, hreference, target) {
   
   this.folderID = "";
   this.desc = folderDescription;
   this.hreference = hreference;
   this.hreftarget = target;
   this.children = new Array;
   this.parentObj = null;
   this.nChildren = 0;
   this.level = 0;
   //methods;
   this.addChild = addChild;
         
}

function addChild(childNode) 
{ 
  this.children[this.nChildren] = childNode; 
  childNode.parentObj = this;
  childNode.folderID = this.folderID + this.nChildren.toString();
  this.nChildren++; 
  return childNode;
} 

function createTree(folderDescription, hreference, target) {
   folder = new Folder(folderDescription, hreference, target);
   folder.level++;
   return folder;
}

function insertFolder(parentFolder, childFolder) {
   return parentFolder.addChild(childFolder);
}

function printTree(folders) {

    
    var myRow = drawItem(folders);
    var myLevel = folders.level;
    var myFldId = "sub"+folders.folderID;
    
    if (myLevel > 1) {
     
      myRow = "<table style='WIDTH: 100%;BORDER-COLLAPSE: collapse;'><tr>" +  myRow;

      document.write(myRow);
    } 
      
    if(folders.nChildren > 0) {   
    
    document.write("<div id='"+myFldId+"'");
    if(myLevel > 1) { 
      document.write(" style='display:none'"); 
    }
    document.write(">");
    document.write("<table style='WIDTH: 100%;BORDER-COLLAPSE: collapse;'><tr>");
           
      document.write("<td>");
                 
      for(var i=0; i < folders.children.length; i++) {
       
       folders.children[i].level += folders.level;
       printTree(folders.children[i]);
  
      }
      
     document.write("</td></tr></table>");
     document.write("</div>");
    
    } 
    
   
    if (myLevel > 1) {
    document.write("</td></tr></table>");
    }
    
    return;
}

