function clickAction(thisNode){
if (selectedNode) 
	{
	if (selectedNode.isFolder)
		selectedNode.setIcon("default","default","default","default")
	else
		selectedNode.setIcon("default","default")
	if (!selectedNode.iconImg)
	{
	if (bV == 2) selectedNode.iconImg = selectedNode.navObj.document.images["nodeIcon"+selectedNode.id]
	else if (bV == 1 || doc.images) selectedNode.iconImg = doc.images["nodeIcon"+selectedNode.id]
	}	
	selectedNode.iconImg.src = selectedNode.nodeIcon("",iNA)
	if (bV == 1) {
	if (selectedNode.navObj.children) {
		selectedChild = selectedNode.navObj.children[0]
		selectedChild.style.fontStyle = "italic"
		selectedChild.rows[0].children[1].style.backgroundColor = "transparent"
		if (selectedChild.rows[0].children[1].children[0].children[0]) {
			selectedChild.rows[0].children[1].children[0].children[0].style.color = document.vlinkColor
		} else {
			selectedChild.rows[0].children[1].children[0].style.color = document.vlinkColor
		}
		selectedChild.style.fontWeight = "normal"
		selectedChild.style.fontStyle = "normal"
	}

	}
	}
	if (thisNode.isFolder)
		thisNode.setIcon("arrow","arrow","arrow","arrow")
	else
		thisNode.setIcon("arrow","arrow")
	selectedNode = thisNode
	if (!selectedNode.iconImg)
	{
	if (bV == 2) selectedNode.iconImg = selectedNode.navObj.document.images["nodeIcon"+selectedNode.id]
	else if (bV == 1 || doc.images) selectedNode.iconImg = doc.images["nodeIcon"+selectedNode.id]
	}	

	thisNode.iconImg.src = thisNode.nodeIcon("",iNA)
	if (bV == 1) {

	if (!selectedNode.navObj) selectedNode.navObj = doc.all["node" + selectedNode.id]
	if (selectedNode.navObj.children) {
	selectedChild = selectedNode.navObj.children[0]
	selectedChild.style.fontStyle = "italic"
	selectedChild.rows[0].children[1].style.backgroundColor = "darkblue"
	if (selectedChild.rows[0].children[1].children[0].children[0]) {
		selectedChild.rows[0].children[1].children[0].children[0].style.color = "white"
	} else {
		selectedChild.rows[0].children[1].children[0].style.color = "white"
	}
	selectedChild.style.fontWeight = "bold"
	}
	}
}
addImage("globe","globe.gif")
addImage("arrow","ft_arrow.gif")
styleSheetFile = "TOCEssstyle.css"
useTextLinks = 1

fT =  gFld("<b>Computational Science Textbook</b>")
  insDoc(fT,gLnk("Home", "Texbookf1.html")) 
  insDoc(fT,gLnk("Preface", "preface.html"))
  insDoc(fT,gLnk("Authors", "authors.html"))

TOC = insFld(fT, gFld("<b>Table of Contents</b>"))
unit1 = insFld(TOC, gFld("<b>Unit 1: Computational Science</b>"))
  insDoc(unit1,gLnk("1.1: Definition and Applications", "unit1/compsci_n1.html"))

unit2 = insFld(TOC, gFld("<b>Unit 2: Project Development</b>"))
  insDoc(unit2,gLnk("2.1: Overview of a Computational Science Project", "unit2/projdev2.1.html"))
  insDoc(unit2,gLnk("2.2: Example Projects", "unit2/example_projects/proj_menu.html"))
  
  unit23 = insFld(unit2,gFld("2.3: Project Development", "unit2/projdev2.3.html"))
    insDoc(unit23,gLnk("2.3.1: Topic Selection", "unit2/projdev2.3.1.html"))
    insDoc(unit23,gLnk("2.3.2: Topic Research", "unit2/projdev2.3.2.html"))
    insDoc(unit23,gLnk("2.3.3: Problem Definition", "unit2/projdev2.3.3.html"))
    insDoc(unit23,gLnk("2.3.4: Background Information", "unit2/projdev2.3.4.html"))
    insDoc(unit23,gLnk("2.3.5: Mathematical Modeling", "unit2/projdev2.3.5.html"))
    insDoc(unit23,gLnk("2.3.6: Method of Solution", "unit2/projdev2.3.6.html"))
    insDoc(unit23,gLnk("2.3.7: Results", "unit2/projdev2.3.7.html"))
    insDoc(unit23,gLnk("2.3.8: Conclusions and Further Research", "unit2/projdev2.3.8.html"))
  
  unit24 = insFld(unit2,gFld("2.4: Project Presentation", "unit2/projdev2.4.html"))
    insDoc(unit24,gLnk("2.4.1: Technical Paper", "unit2/projdev2.4.1.html"))
    insDoc(unit24,gLnk("2.4.2: Oral Presentation", "unit2/projdev2.4.2.html"))
  insDoc(unit2,gLnk("2.5: Mentors", "unit2/projdev2.5.html"))

unit3 = insFld(TOC, gFld("<b>Unit 3: Team Development</b>"))
    insDoc(unit3,gLnk("3.1: Team Development", "unit3/teamdev3.1.html"))

unit4 = insFld(TOC, gFld("<b>Unit 4: Internet Resources</b>"))

  unit41 = insFld(unit4,gFld("4.1  World Wide Web", "unit4/netres4.1.html"))
    insDoc(unit41,gLnk("4.1.1 Network Browsers", "unit4/netres4.1.1.html"))
    insDoc(unit41,gLnk("4.1.2 Research on the Internet", "unit4/netres4.1.2.html"))
  insDoc(unit4,gLnk("4.2  Pine Mail Utility", "unit4/netres4.2.html"))
  insDoc(unit4,gLnk("4.3  HTML Document Writing ", "unit4/netres4.3.html"))
  insDoc(unit4,gLnk("4.4  Internet Etiquette and Ethics", "unit4/netres4.4.html"))

unit5 = insFld(TOC, gFld("<b>Unit 5: UNIX and Text Editors</b>"))
   insDoc(unit5,gLnk("5.1  Basic UNIX Commands", "unit5/unix5.1.html"))
   insDoc(unit5,gLnk("5.2  Pico", "unit5/unix5.2.html"))
   insDoc(unit5,gLnk("5.3  vi", "unit5/unix5.3.html"))

unit6 = insFld(TOC, gFld("<b>Unit 6: Introduction to Computing</b>"))
   insDoc(unit6,gLnk("6.1  Computer Components", "unit6/introcomp6.1.html"))

   unit62 = insFld(unit6,gFld("6.2  Computing Languages", "unit6/introcomp6.2.html"))
     insDoc(unit62,gLnk("6.2.1 Fortran", "unit6/introcomp6.2.1.html"))
     insDoc(unit62,gLnk("6.2.2 C and C++", "unit6/introcomp6.2.2.html"))
   insDoc(unit6,gLnk("6.3  Problem Solving With a Computer ", "unit6/introcomp6.3.html"))
   insDoc(unit6,gLnk("6.4  Compile and Execute", "unit6/introcomp6.4.html"))

unit7 = insFld(TOC, gFld("<b>Unit 7: Programming Languages</b>"))

   unit71=insFld(unit7,gFld("7.1 Fortran 90"))
     insDoc(unit71,gLnk("7.1.1 Example Fortran Program ", "unit8/fortran8.2.html"))
     insDoc(unit71,gLnk("7.1.2 Constants and Data Types ", "unit8/fortran8.3.html"))
     insDoc(unit71,gLnk("7.1.3 Derived Types", "unit8/fortran8.4.html"))
     insDoc(unit71,gLnk("7.1.4 Assignment Statements and Arithmetic Operators", "unit8/fortran8.5.html"))
     insDoc(unit71,gLnk("7.1.5 Intrinsic Functions", "unit8/fortran8.6.html"))
     insDoc(unit71,gLnk("7.1.6 Logical Expressions", "unit8/fortran8.7.html"))
     insDoc(unit71,gLnk("7.1.7 If Structures ", "unit8/fortran8.8.html"))
     insDoc(unit71,gLnk("7.1.8 Loops", "unit8/fortran8.9.html"))
     insDoc(unit71,gLnk("7.1.9 Data Files", "unit8/fortran8.10.html"))
     insDoc(unit71,gLnk("7.1.10 Formatted Input/Output", "unit8/fortran8.11.html"))
     insDoc(unit71,gLnk("7.1.11 Arrays", "unit8/fortran8.12.html"))

     unit7112=insFld(unit71,gFld("7.1.12 Introduction to Subprograms", "unit8/fortran8.13.html")) 
       insDoc(unit7112,gLnk("7.1.12.1 Functions", "unit8/fortran8.13.1.html"))
       insDoc(unit7112,gLnk("7.1.12.2 Subroutines", "unit8/fortran8.13.2.html"))

   unit72=insFld(unit7,gFld("7.2 C++"))
     insDoc(unit72,gLnk("7.2.1  Sample C++ Program", "unit7/CPP7.3.1.html"))
     insDoc(unit72,gLnk("7.2.2  Valid Identifiers", "unit7/CPP7.3.2.html"))

     unit723=insFld(unit72,gFld("7.2.3  Data Types", "unit7/CPP7.3.3.html"))
       insDoc(unit723,gLnk("7.2.3.1  Pointers", "unit7/CPP7.3.3.1.html"))
     insDoc(unit72,gLnk("7.2.4  Expressions and Operators", "unit7/CPP7.3.4.html"))
     insDoc(unit72,gLnk("7.2.5  Assignment Statements", "unit7/CPP7.3.5.html"))
     insDoc(unit72,gLnk("7.2.6  Basic Input/Output", "unit7/CPP7.3.6.html"))
     insDoc(unit72,gLnk("7.2.7  Formatting Output", "unit7/CPP7.3.7.html"))
     insDoc(unit72,gLnk("7.2.8  Data Files", "unit7/CPP7.3.8.html"))
     insDoc(unit72,gLnk("7.2.9  Functions", "unit7/CPP7.3.9.html"))
     insDoc(unit72,gLnk("7.2.10  Function Communication", "unit7/CPP7.3.10.html"))
     insDoc(unit72,gLnk("7.2.11  If Structures", "unit7/CPP7.3.11.html"))
     insDoc(unit72,gLnk("7.2.12  Switch Statement", "unit7/CPP7.3.12.html"))
     insDoc(unit72,gLnk("7.2.13  Loops", "unit7/CPP7.3.13.html"))
     unit7214=insFld(unit72,gFld("7.2.14  Arrays", "unit7/CPP7.3.14.html"))
       insDoc(unit7214,gLnk("7.2.14.1  Numeric Arrays", "unit7/CPP7.3.14.1.html"))
       insDoc(unit7214,gLnk("7.2.14.2  Character Arrays", "unit7/CPP7.3.14.2.html"))
     insDoc(unit72,gLnk("7.2.15  String Handling Functions", "unit7/CPP7.3.15.html"))

unitA = insDoc(TOC, gLnk("<b>Appendix A - Tables of Units</b>", "appendices/appendixA.html"))

unitB = insDoc(TOC, gLnk("<b>Appendix B - Dimensional Analysis</b>", "appendices/appendixB.html"))

unitC = insFld(TOC, gFld("<b>Appendix C - Math Notes</b>"))
  insDoc(unitC,gLnk("Matrices","unit7/matrices.html"))
  insDoc(unitC,gLnk("Functions and Their Graphs","appendices/funct_graph.html"))

unitD = insFld(TOC, gFld("<b>Appendix D - Fortran 77</b>"))
  insDoc(unitD,gLnk("1 - Example FORTRAN Program","unit7/fortran7.2.html"))
  insDoc(unitD,gLnk("2 - Constants and Data Types","unit7/fortran7.3.html"))
  insDoc(unitD,gLnk("3 - Assignment Statements and Arithmetic Operators","unit7/fortran7.4.html"))
  insDoc(unitD,gLnk("4 -Intrinsic Functions","unit7/fortran7.5.html"))
  insDoc(unitD,gLnk("5 - Logical Expressions","unit7/fortran7.6.html"))
  insDoc(unitD,gLnk("6 - If Structures","unit7/fortran7.7.html"))
  insDoc(unitD,gLnk("7 - Loops","unit7/fortran7.8.html"))
  insDoc(unitD,gLnk("8 - Data Files","unit7/fortran7.9.html"))
  insDoc(unitD,gLnk("9 - Formatted Input/Output","unit7/fortran7.10.html"))
  insDoc(unitD,gLnk("10 - Arrays","unit7/fortran7.11.html"))
  unitD11 = insFld(unitD,gFld("11 - Introduction to Subprograms","unit7/fortran7.12.html"))
  insDoc(unitD11,gLnk("11.1 - Function Subprograms","unit7/fortran7.12.1.html"))
  insDoc(unitD11,gLnk("11.2 - Subroutines<br>","unit7/fortran7.12.2.html"))
  
unitE = insDoc(TOC, gLnk("<b>Appendix E - Bibliography</b>", "biblio.html"))


PR = insFld(fT, gFld("<b>Project Resources</b>"))
  
unit1 = insFld(PR, gFld("<b>Unit 1: Computational Science</b>"))
  insDoc(unit1,gLnk("1.1: Definition and Applications", "resources/unit1/topic1.1.html"))

unit2 = insFld(PR, gFld("<b>Unit 2: Project Development</b>"))
  insDoc(unit2,gLnk("2.1: Overview of a Computational Science Project"))
  insDoc(unit2,gLnk("2.2: Example Projects"))
  
  unit23 = insFld(unit2,gFld("2.3: Project Development"))
    insDoc(unit23,gLnk("2.3.1: Topic Selection", "resources/unit2/topic2.3.1.html"))
    
    unit232 = insFld(unit23,gFld("2.3.2: Topic Research"))
      insDoc(unit232,gLnk("General research tools and methods", "resources/unit2/topic2.3.2.html"))
      insDoc(unit232,gLnk("Astronomy and cosmology", "resources/unit2/astronomy.html"))
      insDoc(unit232,gLnk("Biology and medicine ", "resources/unit2/biology.html"))
      insDoc(unit232,gLnk("Chemistry", "resources/unit2/chemistry.html"))
      insDoc(unit232,gLnk("Environmental science", "resources/unit2/environment.html"))
      insDoc(unit232,gLnk("General science references", "resources/unit2/general_science.html"))
      insDoc(unit232,gLnk("Mathematics", "resources/unit2/math.html"))
      insDoc(unit232,gLnk("Physics and engineering", "resources/unit2/physics.html"))
      insDoc(unit232,gLnk("Social sciences", "resources/unit2/social_science.html"))

    insDoc(unit23,gLnk("2.3.3: Problem Definition"))
    insDoc(unit23,gLnk("2.3.4: Background Information"))
    insDoc(unit23,gLnk("2.3.5: Mathematical Modeling", "resources/unit2/topic2.3.5.html"))
    insDoc(unit23,gLnk("2.3.6: Method of Solution"))
    insDoc(unit23,gLnk("2.3.7: Results"))
    insDoc(unit23,gLnk("2.3.8: Conclusions and Further Research"))
  
  unit24 = insFld(unit2,gFld("2.4: Project Presentation"))
    insDoc(unit24,gLnk("2.4.1: Technical Paper"))
    insDoc(unit24,gLnk("2.4.2: Oral Presentation"))
  insDoc(unit2,gLnk("2.5: Mentors", "resources/unit2/topic2.5.html"))

unit3 = insFld(PR, gFld("<b>Unit 3: Team Development</b>"))
    insDoc(unit3,gLnk("3.1: Team Development", "resources/unit3/topic3.1.html"))

runit4 = insFld(PR, gFld("<b>Unit 4: Internet Resources</b>"))

  runit41 = insFld(runit4,gFld("4.1: World Wide Web"))
    insDoc(runit41,gLnk("4.1.1: Network Browsers"))
    insDoc(runit41,gLnk("4.1.2: Research on the Internet"))
  insDoc(runit4,gLnk("4.2: Pine Mail Utility"))
  insDoc(runit4,gLnk("4.3: HTML Document Writing ", "resources/unit4/topic4.3.html"))
  insDoc(runit4,gLnk("4.4: Internet Etiquette and Ethics"))

unit5 = insFld(PR, gFld("<b>Unit 5: UNIX and Text Editors</b>"))
   insDoc(unit5,gLnk("5.1: Basic UNIX Commands"))
   insDoc(unit5,gLnk("5.2: Pico"))
   insDoc(unit5,gLnk("5.3: vi"))

unit6 = insFld(PR, gFld("<b>Unit 6: Introduction to Computing</b>"))
   insDoc(unit6,gLnk("6.1: Computer Components"))

   unit62 = insFld(unit6,gFld("6.2: Computing Languages"))
     insDoc(unit62,gLnk("6.2.1: Fortran"))
     insDoc(unit62,gLnk("6.2.2: C and C++"))
   insDoc(unit6,gLnk("6.3: Problem Solving With a Computer "))
   insDoc(unit6,gLnk("6.4: Compile and Execute"))

unit7 = insFld(PR, gFld("<b>Unit 7: Programming Languages</b>"))

   unit71=insFld(unit7,gFld("7.1: Fortran 90"))
     insDoc(unit71,gLnk("7.1.1: Example Fortran Program "))
     insDoc(unit71,gLnk("7.1.2: Constants and Data Types "))
     insDoc(unit71,gLnk("7.1.3: Derived Types"))
     insDoc(unit71,gLnk("7.1.4: Assignment Statements and Arithmetic Operators"))
     insDoc(unit71,gLnk("7.1.5: Intrinsic Functions"))
     insDoc(unit71,gLnk("7.1.6: Logical Expressions"))
     insDoc(unit71,gLnk("7.1.7: If Structures "))
     insDoc(unit71,gLnk("7.1.8: Loops"))
     insDoc(unit71,gLnk("7.1.9: Data Files"))
     insDoc(unit71,gLnk("7.1.10: Formatted Input/Output"))
     insDoc(unit71,gLnk("7.1.11: Arrays"))

     unit7112=insFld(unit71,gFld("7.1.12: Introduction to Subprograms")) 
       insDoc(unit7112,gLnk("7.1.12.1: Functions"))
       insDoc(unit7112,gLnk("7.1.12.2: Subroutines"))
     insDoc(unit7,gLnk("7.2: C++"))

runitA = insFld(PR, gFld("<b>Appendices</b>"))
  insDoc(runitA,gLnk("Appendix A: Table of Units"))
  insDoc(runitA,gLnk("Appendix B: Dimensional Analysis"))
  insDoc(runitA,gLnk("Appendix C: Math Notes"))
  insDoc(runitA,gLnk("Appendix D: Fortran 77"))
  insDoc(runitA,gLnk("Appendix E: Bibliography"))


