/*
	Generated by Visual Folder Tree Builder 1.02 
		
		http://flybum.hypermart.net/vtree/ 
*/

//**************************************************************** 
// You are free to copy the "Folder-Tree" script as long as you  
// keep this copyright notice: 
// Script found in: http://www.geocities.com/Paris/LeftBank/2178/ 
// Author: Marcelino Alves Martins (martins@hks.com) December '97. 
//**************************************************************** 

/* Definition of class Folder */ 
 
function Folder(folderDescription, hreference)  
{ 
  this.desc = folderDescription 
  this.hreference = hreference 
  this.id = -1   
  this.navObj = 0  
  this.iconImg = 0  
  this.nodeImg = 0  
  this.isLastNode = 0 
 
  /* dynamic data */ 
  this.isOpen = true 
  this.iconSrc = "ftv2folderopen.gif"   
  this.children = new Array 
  this.nChildren = 0 
 
  /* methods */ 
  this.initialize = initializeFolder 
  this.setState = setStateFolder 
  this.addChild = addChild 
  this.createIndex = createEntryIndex 
  this.hide = hideFolder 
  this.display = display 
  this.renderOb = drawFolder 
  this.totalHeight = totalHeight 
  this.subEntries = folderSubEntries 
  this.outputLink = outputFolderLink 
} 
 
function setStateFolder(isOpen) 
{ 
  var subEntries 
  var totalHeight 
  var fIt = 0 
  var i=0 
 
  if (isOpen == this.isOpen) 
    return 
 
  if (browserVersion == 2)  
  { 
    totalHeight = 0 
    for (i=0; i < this.nChildren; i++) 
      totalHeight = totalHeight + this.children[i].navObj.clip.height 
      subEntries = this.subEntries() 
    if (this.isOpen) 
      totalHeight = 0 - totalHeight 
    for (fIt = this.id + subEntries + 1; fIt < nEntries; fIt++) 
      indexOfEntries[fIt].navObj.moveBy(0, totalHeight) 
  }  
  this.isOpen = isOpen 
  propagateChangesInState(this) 
} 
 
function propagateChangesInState(folder) 
{   
  var i=0 
 
  if (folder.isOpen) 
  { 
    if (folder.nodeImg) 
      if (folder.isLastNode) 
        folder.nodeImg.src = "ftv2mlastnode.gif" 
      else 
	  folder.nodeImg.src = "ftv2mnode.gif" 
    folder.iconImg.src = "ftv2folderopen.gif" 
    for (i=0; i<folder.nChildren; i++) 
      folder.children[i].display() 
  } 
  else 
  { 
    if (folder.nodeImg) 
      if (folder.isLastNode) 
        folder.nodeImg.src = "ftv2plastnode.gif" 
      else 
	  folder.nodeImg.src = "ftv2pnode.gif" 
    folder.iconImg.src = "ftv2folderclosed.gif" 
    for (i=0; i<folder.nChildren; i++) 
      folder.children[i].hide() 
  }  
} 
 
function hideFolder() 
{ 
  if (browserVersion == 1) { 
    if (this.navObj.style.display == "none") 
      return 
    this.navObj.style.display = "none" 
  } else { 
    if (this.navObj.visibility == "hiden") 
      return 
    this.navObj.visibility = "hiden" 
  } 
   
  this.setState(0) 
} 
 
function initializeFolder(level, lastNode, leftSide) 
{ 
var j=0 
var i=0 
var numberOfFolders 
var numberOfDocs 
var nc 
      
  nc = this.nChildren 
   
  this.createIndex() 
 
  var auxEv = "" 
 
  if (browserVersion > 0) 
    auxEv = "<a href='javascript:;' onMouseDown='return clickOnNode("+this.id+")'>" 
  else 
    auxEv = "<a>" 
 
  if (level>0) 
    if (lastNode) /* the last 'brother' in the children array */ 
    { 
      this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mlastnode.gif' width=16 height=22 border=0></a>") 
      leftSide = leftSide + "<img src='ftv2blank.gif' width=16 height=22>"  
      this.isLastNode = 1 
    } 
    else 
    { 
      this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mnode.gif' width=16 height=22 border=0></a>") 
      leftSide = leftSide + "<img src='ftv2vertline.gif' width=16 height=22>" 
      this.isLastNode = 0 
    } 
  else 
    this.renderOb("") 
   
  if (nc > 0) 
  { 
    level = level + 1 
    for (i=0 ; i < this.nChildren; i++)  
    { 
      if (i == this.nChildren-1) 
        this.children[i].initialize(level, 1, leftSide) 
      else 
        this.children[i].initialize(level, 0, leftSide) 
      } 
  } 
} 
 
function drawFolder(leftSide) 
{ 
  if (browserVersion == 2) { 
    if (!doc.yPos) 
      doc.yPos=8 
    doc.write("<layer id='folder" + this.id + "' top=" + doc.yPos + " visibility=hiden>") 
  } 
   
  doc.write("<TABLE ") 
  if (browserVersion == 1) 
    doc.write(" id='folder" + this.id + "' style='position:block;' ") 
  doc.write(" BORDER=0 CELLSPACING=0 CELLPADDING=0>") 
  doc.write("<TR><TD>") 
  doc.write(leftSide) 
  this.outputLink() 
  doc.write("<img name='folderIcon" + this.id + "' ") 
  doc.write("src='" + this.iconSrc+"' border=0></a>") 
  doc.write("</TD><TD VALIGN=middle nowrap>") 
  if (USETEXTLINKS) 
  { 
    this.outputLink() 
    doc.write("<NOBR>" + this.desc + "</NOBR></a>")  
  } 
  else 
    doc.write("<NOBR>" + this.desc + "</NOBR>") 
  doc.write("</TD>")  
  doc.write("</TR></TABLE>") 
   
  if (browserVersion == 2) { 
    doc.write("</layer>") 
  } 
 
  if (browserVersion == 1) { 
    this.navObj = doc.all["folder"+this.id] 
    this.iconImg = doc.all["folderIcon"+this.id] 
    this.nodeImg = doc.all["nodeIcon"+this.id] 
  } else if (browserVersion == 2) { 
    this.navObj = doc.layers["folder"+this.id] 
    this.iconImg = this.navObj.document.images["folderIcon"+this.id] 
    this.nodeImg = this.navObj.document.images["nodeIcon"+this.id] 
    doc.yPos=doc.yPos+this.navObj.clip.height 
  } 
} 
 
function outputFolderLink() 
{ 
  if (this.hreference) 
  { 
    doc.write("<a href='" + this.hreference + "' TARGET=\"" + TFRAME + "\" ") 
    if (browserVersion > 0) 
      doc.write("onMouseDown='clickOnFolder("+this.id+")'>") 
  }else{
  	if (this.id!=0) 
	  doc.write("<a href='javascript:;' onMouseDown='clickOnFolder("+this.id+"); return false'>") /* 100600 */
  }
} 
 
function addChild(childNode) 
{ 
  this.children[this.nChildren] = childNode 
  this.nChildren++ 
  return childNode 
} 
 
function folderSubEntries() 
{ 
  var i = 0 
  var se = this.nChildren 
 
  for (i=0; i < this.nChildren; i++){ 
    if (this.children[i].children) //is a folder 
      se = se + this.children[i].subEntries() 
  } 
 
  return se 
} 
 
 
/* Definition of class Item (a document or link inside a Folder) */
 
function Item(itemDescription, itemLink)
{ 
  /* constant data */ 
  this.desc = itemDescription 
  this.link = itemLink 
  this.id = -1 //initialized in initalize() 
  this.navObj = 0 //initialized in render() 
  this.iconImg = 0 //initialized in render() 
  this.iconSrc = "ftv2doc.gif" 
  this.ic0 = "ftv2doc_2.gif" 

  /* methods */ 
  this.initialize = initializeItem 
  this.createIndex = createEntryIndex 
  this.hide = hideItem 
  this.display = display 
  this.renderOb = drawItem 
  this.totalHeight = totalHeight 
} 
 
function hideItem() 
{ 
  if (browserVersion == 1) { 
    if (this.navObj.style.display == "none") 
      return 
    this.navObj.style.display = "none" 
  } else { 
    if (this.navObj.visibility == "hiden") 
      return 
    this.navObj.visibility = "hiden" 
  }     
} 
 
function initializeItem(level, lastNode, leftSide) 
{  
  this.createIndex() 
 
  if (level>0) 
    if (lastNode) //the last 'brother' in the children array 
    { 
      this.renderOb(leftSide + "<img src='ftv2lastnode.gif' width=16 height=22>") 
      leftSide = leftSide + "<img src='ftv2blank.gif' width=16 height=22>"  
    } 
    else 
    { 
      this.renderOb(leftSide + "<img src='ftv2node.gif' width=16 height=22>") 
      leftSide = leftSide + "<img src='ftv2vertline.gif' width=16 height=22>" 
    } 
  else 
    this.renderOb("")   
} 
 
function drawItem(leftSide) 
{ 
  if (browserVersion == 2) 
    doc.write("<layer id='item" + this.id + "' top=" + doc.yPos + " visibility=hiden>") 
     
  doc.write("<TABLE ") 
  if (browserVersion == 1) 
    doc.write(" id='item" + this.id + "' style='position:block;' ") 
  doc.write(" BORDER=0 CELLSPACING=0 CELLPADDING=0>") 
  doc.write("<TR><TD>") 
  doc.write(leftSide) 
  if (this.link) 
      doc.write("<a href=" + this.link + ">") 
  doc.write("<img id='itemIcon"+this.id+"' ") 
   switch(this.id){
   case 66: doc.write("src='"+this.ic0+"' border=0>"); break;
   default: doc.write("src='"+this.iconSrc+"' border=0>");
   } 

  doc.write("</a>") 
  doc.write("</TD><TD VALIGN=middle nowrap>") 
  if (USETEXTLINKS && this.link) 
    doc.write("<NOBR><a href=" + this.link + ">" + this.desc + "</NOBR></a>") 
  else 
    doc.write("<NOBR>" + this.desc + "</NOBR>") 
  doc.write("</TD></TR></TABLE>") 
   
  if (browserVersion == 2) 
    doc.write("</layer>") 
 
  if (browserVersion == 1) { 
    this.navObj = doc.all["item"+this.id] 
    this.iconImg = doc.all["itemIcon"+this.id] 
  } else if (browserVersion == 2) { 
    this.navObj = doc.layers["item"+this.id] 
    this.iconImg = this.navObj.document.images["itemIcon"+this.id] 
    doc.yPos=doc.yPos+this.navObj.clip.height 
  } 
} 
 
 
/* Methods common to both objects (pseudo-inheritance) */ 
 
function display() 
{ 
  if (browserVersion == 1) 
    this.navObj.style.display = "block" 
  else 
    this.navObj.visibility = "show" 
} 
 
function createEntryIndex() 
{ 
  this.id = nEntries 
  indexOfEntries[nEntries] = this 
  nEntries++ 
} 
 
/* total height of subEntries open */ 
function totalHeight() //used with browserVersion == 2 
{ 
  var h = this.navObj.clip.height 
  var i = 0 
   
  if (this.isOpen) //is a folder and _is_ open 
    for (i=0 ; i < this.nChildren; i++)  
      h = h + this.children[i].totalHeight() 
 
  return h 
} 
  
function clickOnFolder(folderId) 
{ 
  var clicked = indexOfEntries[folderId] 
 
  if (!clicked.isOpen) 
    clickOnNode(folderId) 
 
  return 
 
  if (clicked.isSelected) 
    return 
} 
 
function clickOnNode(folderId) 
{ 
  var clickedFolder = 0 
  var state = 0 
 
  clickedFolder = indexOfEntries[folderId] 
  state = clickedFolder.isOpen 
 
  clickedFolder.setState(!state)

  return false;  
} 
 
 
/* Auxiliary Functions for Folder-Tree backward compatibility */ 
 
function gFld(description, ref) 
{ 
  if (DWIN && ref) ref = "javascript:go(\""+ref+"\")"
  
  folder = new Folder(description, ref) 
  return folder 
} 
 
function gLnk(target, description, ref) 
{ 
  fullLink = "" 

  if (DWIN && ref) ref = "javascript:go(\""+ref+"\")"

  if (ref) 
   if (target==0) 
     fullLink = "'"+ref+"' target=\"" + TFRAME + "\"" 
   else 
     fullLink = "'"+ref+"' target=_blank" 
   
  linkItem = new Item(description, fullLink)   
  return linkItem 
} 
 
function insFld(parentFolder, childFolder) 
{ 
  return parentFolder.addChild(childFolder) 
} 
 
function insDoc(parentFolder, document) 
{ 
  parentFolder.addChild(document) 
} 
 

function initializeDocument() 
{ 
  if (doc.all) 
    browserVersion = 1 /* IE */
  else 
    if (doc.layers) 
    {
	browserVersion = 2 /* NS */ 
	self.onresize = self.doResize	
    } 
    else 
      browserVersion = 0 /* other */

  foldersTree.initialize(0, 1, "") 
  foldersTree.display()
  
  if (browserVersion > 0) 
  { 
    doc.write("<layer top="+indexOfEntries[nEntries-1].navObj.top+">&nbsp;</layer>") 
 
    /* close the whole tree */ 
    clickOnNode(0) 
    /* open the root folder */ 
    clickOnNode(0)

  } 
} 

function go(s)
{
	onerror=goNewW; /* IE */
	sErrREF = s; /* IE */
	
	if (!opener.closed)
		opener.document.location=s;
	else
		window.open(s,"newW"); /* NS */
}

function goNewW() /* IE */ 
{
	window.open(sErrREF,"newW");
}

function doResize() /* NS */
{
	document.location.reload();
}

function hideLayer(layerName){
  eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="hidden"');
}

indexOfEntries = new Array 
nEntries = 0 
doc = document 
browserVersion = 0 
selectedFolder=0 
sErrREF = ""; /* IE */
layerRef="document.all";
styleSwitch=".style";
  if (navigator.appName == "Netscape") {
    layerRef="document.layers";
	styleSwitch="";
  }
USETEXTLINKS = 1 
TFRAME="main_frame" 
DWIN=0 

foldersTree = gFld("Rubber Bob", "home.htm")
a1 = insFld(foldersTree, gFld("Tops", "shirtsm.htm"))
insDoc(a1, gLnk(0, "Vests", "vests.htm"))
insDoc(a1, gLnk(0, "T-shirts", "tshirt.htm"))
insDoc(a1, gLnk(0, "Polo", "polo.htm"))
insDoc(a1, gLnk(0, "Levis Style", "levisshirt.htm"))
a7 = insFld(foldersTree, gFld("Shorts & Briefs", "shorts.htm"))
insDoc(a7, gLnk(0, "Cycle Style", "cycle.htm"))
insDoc(a7, gLnk(0, "Boxer Style", "boxers.htm"))
insDoc(a7, gLnk(0, "Briefs", "briefs.htm"))
insDoc(a7, gLnk(0, "Jock", "jock.htm"))
insDoc(a7, gLnk(0, "Leotard", "leotard.htm"))
a13 = insFld(foldersTree, gFld("Jeans", "jeans.htm"))
insDoc(a13, gLnk(0, "Skin Style", "skinjeans.htm"))
insDoc(a13, gLnk(0, "Levis Style", "levijeans.htm"))
insDoc(a13, gLnk(0, "Sailor Style", "sailor.htm"))
a17 = insFld(foldersTree, gFld("Jackets", "jackets.htm"))
insDoc(a17, gLnk(0, "Biker Style", "bikerjack.htm"))
insDoc(a17, gLnk(0, "Cut Down", "cutdown.htm"))
insDoc(a17, gLnk(0, "Levis Style", "levisjk.htm"))
a21 = insFld(foldersTree, gFld("Suits", "suits.htm"))
insDoc(a21, gLnk(0, "One Piece", "onepiece.htm"))
insDoc(a21, gLnk(0, "Andy Style", "andysuit.htm"))
insDoc(a21, gLnk(0, "Body", "bodysuit.htm"))
insDoc(a21, gLnk(0, "Surf", "surfsuit.htm"))
insDoc(a21, gLnk(0, "Jogging", "joggingsuit.htm"))
insDoc(a21, gLnk(0, "Wrestling", "wrestlingsuit.htm"))
insDoc(a21, gLnk(0, "Jump", "jump.htm"))
insDoc(a21, gLnk(0, "Flying", "flyingsuit.htm"))
insDoc(a21, gLnk(0, "Boiler", "boiler.htm"))
insDoc(a21, gLnk(0, "Dungarees", "dungarees.htm"))
insDoc(a21, gLnk(0, "Bib & Brace", "bibnbrace.htm"))
a33 = insFld(foldersTree, gFld("Chaps", "chapsm.htm"))
insDoc(a33, gLnk(0, "Chaps", "bikerchaps.htm"))
a35 = insFld(foldersTree, gFld("Masks & Hoods", "masks.htm"))
insDoc(a35, gLnk(0, "Pull on type", "hood1.htm"))
insDoc(a35, gLnk(0, "Bikers Bclava", "hood2.htm"))
insDoc(a35, gLnk(0, "Inflatable", "hood3.htm"))
insDoc(a35, gLnk(0, "Bondage", "hood4.htm"))
a40 = insFld(foldersTree, gFld("Bits & Bobs", "access.htm"))
insDoc(a40, gLnk(0, "Moulded Gear", "moulded.htm"))
insDoc(a40, gLnk(0, "Play Sheet", "playsheet.htm"))
insDoc(a40, gLnk(0, "Silicone Spray", "silicone.htm"))
insDoc(a40, gLnk(0, "Cap", "cap.htm"))
insDoc(a40, gLnk(0, "Aprons", "apron.htm"))
insDoc(a40, gLnk(0, "Waist Bag", "waistbag.htm"))
insDoc(a40, gLnk(0, "Boot Bag", "bootbag.htm"))
a48 = insFld(foldersTree, gFld("BD & Restraints", "bondm.htm"))
insDoc(a48, gLnk(0, "Straight Jkt", "strjack.htm"))
insDoc(a48, gLnk(0, "Restraints", "restraint.htm"))
insDoc(a48, gLnk(0, "Sleep Sack", "sleepsack.htm"))
insDoc(a48, gLnk(0, "Harnesses", "harnes.htm"))
insDoc(a48, gLnk(0, "Collars", "collar.htm"))
insDoc(a48, gLnk(0, "Bicep Strap", "bicep.htm"))
a55 = insFld(foldersTree, gFld("Playroom", "household.htm"))
insDoc(a55, gLnk(0, "General", "general.htm"))
a57 = insFld(foldersTree, gFld("Your Rubber", "yrrubber.htm"))
insDoc(a57, gLnk(0, "Colours", "colors.htm"))
insDoc(a57, gLnk(0, "Gauge", "thick.htm"))
insDoc(a57, gLnk(0, "Care info.", "care.htm"))
insDoc(a57, gLnk(0, "Repair Service", "repairs.htm"))
a62 = insFld(foldersTree, gFld("Order", "orderm.htm"))
insDoc(a62, gLnk(0, "Details", "order.htm"))
insDoc(a62, gLnk(0, "Order Form", "orders.htm"))
//insDoc(foldersTree, gLnk(0, "Order", "closed.htm"))
insDoc(foldersTree, gLnk(0, "Contact Bob", "email.htm"))
insDoc(foldersTree, gLnk(0, "Bob & Strappa", "about.htm"))
