/*	contentsDatabase Copyright (c) 2007, 2008 by Gary L. Bradshaw.  All rights reserved.
	Written by Gary Bradshaw
	
	see /jScript/contentsReadMe.html for more info
	
	Modified 9/16/08.  Updated the number of fields in a record, updated records, added code to display all parts of a module.
	Code is now (somewhat) consistent with a full generation down to pages in a module.
*/

var currentView = -1; // Not yet initialized

var world = -1, // These are static variables that we can use for displaying different views
	topic = -1, //
	area = -1, 
	subarea = -1,
	module = -1,
	part = -1;

function ePC ( world, topic, area, subarea, module, part, resource, text, url)
  { this.world = world;
	this.topic = topic;
  	this.area = area;
	this.subarea = subarea;
	this.module = module;
	this.part = part;
	this.resource = resource; // 0 = world; 1 = foundation; 2 = advanced; 3 = specialty; 4 = nothing; 5 = demo; 6 = experiment; 7 = video
  	this.text = text;
	this.url = url;
	}
  
  var contentsCount = 0;
  var newContents;
  var contents = new Array();
  var printElement = new Array();

  contents[contentsCount++] = new ePC (1, 0, 0, 0, 0, 0, 0, "The Science of Psychology", "sciencePsychology/index.html");
  contents[contentsCount++] = new ePC (1, 1, 0, 0, 0, 0, 1, "I. Welcome to ePsych", "sciencePsychology/intro/index.html");
  contents[contentsCount++] = new ePC (1, 2, 0, 0, 0, 0, 1, "II.  The History Lesson", "sciencePsychology/historyLesson/index.html");
  
                               //world, topic, area, subarea, module, part, resource, text, url  
  contents[contentsCount++] = new ePC (2, 0, 0, 0, 0, 0, 0, "The Biological Mind", "biological/index.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 0, 0, 1, "III. The Neuron", "biological/neuron/index.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 1, 1, "Part I: Anatomy of the Neuron", "biological/neuron/Part1/index.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 1, 5, "Neural Messages", "biological/neuron/Part1/index.html?13.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 1, 1, "Part II: The Nervous Impulse", "biological/neuron/Part2/index.html");
  
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 2, 5, "Sodium Entry into Neuron", "biological/neuron/Part2/index.html?12.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 2, 5, "Sodium Propogation Triggers Ion Channel", "biological/neuron/Part2/index.html?13.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 2, 5, "Neural Impulse Travels Down Axon.", "biological/neuron/Part2/index.html?14.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 2, 5, "Sodium and Potassium Channels", "biological/neuron/Part2/index.html?15.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 2, 5, "Sodium/Potassium Impulse Propogation", "biological/neuron/Part2/index.html?17.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 2, 7, "Effect of Myelin on Neural Conduction", "biological/neuron/Part2/index.html?18.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 2, 5, "Intensity coding in Neural Conduction.", "biological/neuron/Part2/index.html?26.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 1, 1, "Part III: The Synapse", "biological/neuron/Part3/index.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 3, 5, "Acetylcholine molecule ", "biological/neuron/Part3/index.html?8.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 3, 5, "Neurotransmitter triggers ion channel", "biological/neuron/Part3/index.html?11.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 3, 5, "Chlorine ion channel", "biological/neuron/Part3/index.html?13.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 3, 5, "Neurotransmitters and the Synaptic Cleft.", "biological/neuron/Part3/index.html?15.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 3, 5, "Enzymatic Degredation of Neurotransmitters.", "biological/neuron/Part3/index.html?16.html");
    contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 4, 1, "Part IV: Drugs and Neural Computation", "biological/neuron/index.html");

  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 4, 5, "Temporal Summation", "biological/neuron/Part4/index.html?9.html");
  contents[contentsCount++] = new ePC (2, 1, 0, 0, 1, 3, 5, "Spatial Summation", "biological/neuron/Part4/index.html?10.html");

  contents[contentsCount++] = new ePC (2, 2, 0, 0, 0, 0, 1, "IV.  The Brain", "biological/neuroanatomy/index.html");
  contents[contentsCount++] = new ePC (2, 2, 0, 0, 1, 3, 5, "Phineas Gage: Frontal Lobotomy Damage", "biological/neuroanatomy/Part3/index.html?14.html");

  contents[contentsCount++] = new ePC (2, 3, 0, 0, 0, 0, 1, "The Eye", "biological/eye/index.html");
  contents[contentsCount++] = new ePC (2, 3, 0, 0, 1, 1, 1, "V.   DRAFT: The Eye", "biological/eye/about/index.html");
  contents[contentsCount++] = new ePC (2, 3, 0, 0, 1, 1, 5, "Floaters in the eye", "biological/eye/about/index.html?2.html");
  contents[contentsCount++] = new ePC (2, 3, 0, 0, 1, 2, 1, "VI.  Color Vision", "biological/eye/color/index.html");
  contents[contentsCount++] = new ePC (2, 3, 0, 0, 1, 2, 5, "Additive Color Mixer", "biological/eye/color/index.html?11.html");
  contents[contentsCount++] = new ePC (2, 3, 0, 0, 1, 2, 5, "Microspectrophotometry", "biological/eye/color/index.html?20.html");
  contents[contentsCount++] = new ePC (2, 3, 0, 0, 0, 0, 1, "VII. DRAFT: Hearing: I'm All Ears", "biological/ear/intro/index.html");
  contents[contentsCount++] = new ePC (2, 4, 0, 0, 0, 0, 2, "A I.  An Introduction to Neural Networks.", "biological/NeuralNetworks/index.html");
  contents[contentsCount++] = new ePC (2, 4, 0, 0, 0, 0, 5, "Three-node neural network simulator", "biological/NeuralNetworks/Part1/index.html?13.html");
  contents[contentsCount++] = new ePC (2, 4, 0, 0, 0, 0, 5, "Four-node neural network simulator", "biological/NeuralNetworks/Part1/index.html?15.html");
  contents[contentsCount++] = new ePC (2, 4, 0, 0, 0, 0, 5, "Five-node hidden layer simulator", "biological/NeuralNetworks/Part1/index.html?20.html");
  contents[contentsCount++] = new ePC (2, 4, 0, 0, 0, 0, 5, "Six-node hidden layer simulator", "biological/NeuralNetworks/Part1/index.html?21.html");
  contents[contentsCount++] = new ePC (2, 4, 0, 0, 0, 1, 5, "Bias-node hidden layer simulator", "biological/NeuralNetworks/Part2/index.html?9.html");
  contents[contentsCount++] = new ePC (2, 4, 0, 0, 0, 2, 5, "Backpropogation neural network simulator", "biological/NeuralNetworks/Part3/index.html?18.html");

  contents[contentsCount++] = new ePC (3, 0, 0, 0, 0, 0, 0, "The Adaptive Mind", "adaptive/index.html");
  contents[contentsCount++] = new ePC (3, 1, 0, 0, 0, 1, 2, "A II. Learning Curves", "adaptive/learningCurves/index.html");
  contents[contentsCount++] = new ePC (3, 1, 0, 0, 0, 1, 6, "Learning Curves: Maze experiment", "adaptive/learningCurves/mazeApplet.html");
  contents[contentsCount++] = new ePC (3, 1, 0, 0, 0, 1, 6, "Learning Curves: Reading Backwards experiment", "adaptive/learningCurves/finishMaze.html?9.html");
  contents[contentsCount++] = new ePC (3, 1, 0, 0, 1, 0, 3, "Operant Conditioning", "adaptive/Fuzz/index.html");
  contents[contentsCount++] = new ePC (3, 1, 0, 0, 1, 0, 5, "Operant Conditioning Simulation", "adaptive/Fuzz/index.html?2.html");
  contents[contentsCount++] = new ePC (3, 2, 0, 0, 0, 0, 2, "A III. Viki: A home-reared Chimpanzee", "adaptive/vikiVideo/index.html");
  contents[contentsCount++] = new ePC (3, 2, 0, 0, 0, 0, 7, "Mechanical Interest and Ability in a Home-Raised Chimpanzee (74 videos)", "adaptive/vikiVideo/index.html?comIndex.html#mechanical");
  contents[contentsCount++] = new ePC (3, 2, 0, 0, 0, 0, 7, "Imitation in a Home-Raised Chimpanzee (14 videos)", "adaptive/vikiVideo/index.html?comIndex.html#imitation");
  contents[contentsCount++] = new ePC (3, 2, 0, 0, 0, 0, 7, "Vocalization and Speech in Chimpanzees (11 videos)", "adaptive/vikiVideo/index.html?comIndex#vocalization");
  contents[contentsCount++] = new ePC (3, 2, 0, 0, 0, 1, 3, "Viki: Learning by Observation", "adaptive/learningByObservation/index.html");
  contents[contentsCount++] = new ePC (3, 2, 0, 0, 0, 1, 7, "Viki opens a friction-lid can", "adaptive/learningByObservation/index.html?lidDes.html");
  contents[contentsCount++] = new ePC (3, 2, 0, 0, 0, 1, 7, "Viki uses a hammer on a stake", "adaptive/learningByObservation/index.html?hamDes.html");
  contents[contentsCount++] = new ePC (3, 2, 0, 0, 0, 1, 7, "Viki uses sandpaper on a stake", "adaptive/learningByObservation/index.html?sandDes.html");

  contents[contentsCount++] = new ePC (6, 0, 0, 0, 0, 0, 0, "The Individual Mind", "individual/index.html");
  contents[contentsCount++] = new ePC (6, 0, 0, 0, 0, 2, 1, "Personality", "individual/personality/index.html");
  contents[contentsCount++] = new ePC (6, 0, 0, 0, 0, 2, 6, "IPIP Personality Assessment", "individual/personality/index.html?2.html");

contents[contentsCount++] = new ePC (4, 0, 0, 0, 0, 0, 0, "The Descriptive Mind", "descriptive/index.html");

  contents[contentsCount++] = new ePC (4, 1, 0, 0, 0, 0, 1, "Auditory Aisle", "descriptive/Hearing/index.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 1, 2, "A IV. Good Vibrations: Sound and Music", "descriptive/Hearing/intro/index.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 1, 5, "Sound compressing molecules in air", "descriptive/Hearing/intro/index.html?2.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 1, 5, "Periodic sound waves: Square, Sine, Triangle", "descriptive/Hearing/intro/index.html?5.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 1, 5, "Oscilloscope: Variation in amplitude", "descriptive/Hearing/intro/index.html?8.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 1, 5, "Amplitude and frequency interactions", "descriptive/Hearing/intro/index.html?10.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 1, 5, "Oscilloscope: Amplitude and Frequency", "descriptive/Hearing/intro/index.html?12.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 1, 5, "Piano: increasing pitch", "descriptive/Hearing/intro/index.html?14.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 1, 5, "Oscilloscope: Chirp", "descriptive/Hearing/intro/index.html?16.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 1, 5, "Oscilloscope: Triangle, square, and white noise", "descriptive/Hearing/intro/index.html?17.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 2, 5, "Piano: Octaves", "descriptive/Hearing/tone/index.html?2.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 2, 5, "Piano: Melody shifted by octaves", "descriptive/Hearing/tone/index.html?4.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 2, 5, "Helix: Notes across octaves", "descriptive/Hearing/tone/index.html?7.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 2, 5, "Helix: Notes within an octave illustrating chroma", "descriptive/Hearing/tone/index.html?8.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 3, 6, "Stevens experiment: Pitch and Frequency", "descriptive/Hearing/pitch/index.html?4.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 4, 5, "Ascending Shepard Tones", "descriptive/Hearing/shepard/index.html?5.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 4, 5, "Descending Shepard Tones", "descriptive/Hearing/shepard/index.html?6.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 5, 5, "Ambiguous Deutsch Tritones", "descriptive/Hearing/tritone/index.html?7.html");
  contents[contentsCount++] = new ePC (4, 1, 0, 0, 1, 5, 6, "Deutsch Tritone Experiment", "descriptive/Hearing/tritone/index.html?14.html");

  contents[contentsCount++] = new ePC (4, 2, 0, 0, 0, 0, 1, "Vision Island", "descriptive/Vision/index.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 0, 0, 1, "Vision: Motile Mountains", "descriptive/Vision/motile/index.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 1, 1, 3, "Structure from Motion", "descriptive/Vision/motile/Structure/index.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 1, 1, 5, "Rigid structure from motion", "descriptive/Vision/motile/Structure/index.html?2.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 1, 1, 5, "Fluid structure from motion", "descriptive/Vision/motile/Structure/index.html?3.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 1, 1, 5, "3-D structure from motion", "descriptive/Vision/motile/Structure/index.html?5.html");  
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 2, 1, 3, "Judgments of Egomotion", "descriptive/Vision/motile/egoMotion/index.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 2, 1, 5, "Egomotion: Height from splay", "descriptive/Vision/motile/egoMotion/index.html?2.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 2, 1, 5, "Egomotion: Forward motion from optic flow", "descriptive/Vision/motile/egoMotion/index.html?3.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 2, 1, 5, "Egomotion: Horizontal motion from sweep", "descriptive/Vision/motile/egoMotion/index.html?4.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 2, 1, 5, "Egomotion: Height from compression", "descriptive/Vision/motile/egoMotion/index.html?5.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 2, 1, 5, "Egomotion: Compound motion", "descriptive/Vision/motile/egoMotion/index.html?6.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 2, 1, 5, "Egomotion: Curved tunnel focus of expansion", "descriptive/Vision/motile/egoMotion/index.html?20.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 2, 1, 5, "Egomotion: Global optic flow", "descriptive/Vision/motile/egoMotion/index.html?22.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 2, 1, 5, "Egomotion: Starfield focus of expansion", "descriptive/Vision/motile/egoMotion/index.html?28.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 3, 1, 3, "Apparent Motion", "descriptive/Vision/motile/apparentMotion/index.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 3, 1, 5, "Apparent motion simulator", "descriptive/Vision/motile/apparentMotion/index.html?3.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 3, 1, 3, "Motion Parallax", "descriptive/Vision/motile/mparallax/index.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 4, 1, 3, "Vision in Motion", "descriptive/Vision/motile/visionMotion/index.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 5, 1, 3, "Biological Motion", "descriptive/Vision/motile/BioMotion/index.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 5, 1, 7, "Biological Motion: Person walking", "descriptive/Vision/motile/BioMotion/index.html?2.html");
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 5, 1, 7, "Biological Motion: Person bowling", "descriptive/Vision/motile/BioMotion/index.html?3.html");  

  contents[contentsCount++] = new ePC (4, 2, 2, 0, 1, 1, 3, "Motion Capture", "descriptive/Vision/motionCapture/index.html");
  contents[contentsCount++] = new ePC (4, 2, 2, 0, 1, 1, 5, "Motion capture demo", "descriptive/Vision/motionCapture/Scene3.html");

  contents[contentsCount++] = new ePC (4, 2, 1, 0, 0, 0, 1, "Vision: Depth Valley", "descriptive/Vision/DepthValley/index.html");
  contents[contentsCount++] = new ePC (4, 2, 3, 0, 1, 1, 2, "Secrets of Depth Valley", "descriptive/Vision/DepthValley/secrets/index.html");
  contents[contentsCount++] = new ePC (4, 2, 3, 0, 2, 1, 3, "The Ponzo Illusion", "descriptive/Vision/DepthValley/ponzo/index.html");
  contents[contentsCount++] = new ePC (4, 2, 3, 0, 2, 1, 5, "Interactive Ponzo Illusion Demonstration", "descriptive/Vision/DepthValley/ponzo/index.html?18.html");
  contents[contentsCount++] = new ePC (4, 2, 3, 0, 2, 1, 5, "Ponzo Illusion Experiment", "descriptive/Vision/DepthValley/ponzo/index.html?21.html");  
  contents[contentsCount++] = new ePC (4, 2, 3, 0, 3, 1, 3, "The Poggendorf Illusion", "descriptive/Vision/DepthValley/Poggendorf/index.html");
  contents[contentsCount++] = new ePC (4, 2, 3, 0, 3, 1, 5, "Interactive Poggendorf Demonstration", "descriptive/Vision/DepthValley/Poggendorf/index.html?7.html");
  contents[contentsCount++] = new ePC (4, 2, 3, 0, 3, 1, 6, "Poggendorf Illusion Experiment", "descriptive/Vision/DepthValley/Poggendorf/index.html?10.html");
  
  contents[contentsCount++] = new ePC (4, 2, 3, 0, 4, 1, 3, "The Mueller-Lyer Illusion", "descriptive/Vision/DepthValley/muller_ly/index.html");
  contents[contentsCount++] = new ePC (4, 2, 3, 0, 4, 1, 5, "Interactive Mueller-Lyer Demonstration", "descriptive/Vision/DepthValley/muller_ly/index.html?4.html");
  contents[contentsCount++] = new ePC (4, 2, 3, 0, 4, 1, 6, "Mueller-Lyer Experiment", "descriptive/Vision/DepthValley/muller_ly/index.html?13.html");
  contents[contentsCount++] = new ePC (4, 2, 3, 0, 5, 1, 3, "The Horizontal-Vertical Illusion", "descriptive/Vision/DepthValley/hor_vert/index.html");
  contents[contentsCount++] = new ePC (4, 2, 3, 0, 5, 1, 6, "Horizontal-Vertical Illusion Experiment", "descriptive/Vision/DepthValley/hor_vert/index.html?7.html");
  
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 0, 0, 1, "Vision: Swamp Recognition", "descriptive/Vision/swamp/index.html");
  contents[contentsCount++] = new ePC (4, 2, 4, 0, 1, 1, 3, "Pandemonium", "descriptive/Vision/swamp/Pandemonium/index.html");
  contents[contentsCount++] = new ePC (4, 2, 4, 0, 1, 1, 5, "First Pandemonium Simulation", "descriptive/Vision/swamp/Pandemonium/PandemoniumApplet.html");
  contents[contentsCount++] = new ePC (4, 2, 4, 0, 1, 1, 5, "Improved Pandemonium Simulation", "descriptive/Vision/swamp/Pandemonium/PandemoniumMarkII.html");

  contents[contentsCount++] = new ePC (4, 2, 1, 0, 0, 0, 1, "Vision: Miscellaneous Meadows", "descriptive/Vision/miscMeadows/index.html");
  contents[contentsCount++] = new ePC (4, 2, 5, 0, 1, 1, 3, "Mental Rotation", "descriptive/Vision/miscMeadows/MentalRotation/index.html");
  contents[contentsCount++] = new ePC (4, 2, 5, 0, 1, 1, 6, "Mental Rotation Experiment", "descriptive/Vision/miscMeadows/MentalRotation/index.html?4.html");
  contents[contentsCount++] = new ePC (4, 2, 5, 0, 2, 1, 3, "Change Blindness", "descriptive/Vision/miscMeadows/Flicker/index.html");
  contents[contentsCount++] = new ePC (4, 2, 5, 0, 2, 1, 5, "Retinal Scan Demonstration", "descriptive/Vision/miscMeadows/Flicker/index.html?7.html");
  contents[contentsCount++] = new ePC (4, 2, 5, 0, 2, 1, 6, "Change Blindness Experiment", "descriptive/Vision/miscMeadows/Flicker/index.html?20.html");  

  contents[contentsCount++] = new ePC (4, 2, 1, 0, 0, 0, 1, "Vision: Professor Shadow's Illusions", "descriptive/Vision/motile/index.html");
  contents[contentsCount++] = new ePC (4, 2, 6, 2, 1, 1, 3, "The Ball and Shadow Illusion", "descriptive/Vision/shadow/magic/index.html");
  contents[contentsCount++] = new ePC (4, 2, 6, 1, 2, 1, 3, "Professor Shadow's Gallery of Illusions", "descriptive/Vision/shadow/gallery/index.html");
  contents[contentsCount++] = new ePC (4, 2, 6, 2, 2, 0, 3, "Professor Shadow's Motion Illusions", "descriptive/Vision/shadow/motion/index.html");
  contents[contentsCount++] = new ePC (4, 2, 6, 2, 2, 1, 5, "The Lilac Chaser", "descriptive/Vision/shadow/motion/1/index.html");
  
  contents[contentsCount++] = new ePC (4, 2, 1, 0, 0, 0, 1, "Cross-modal Isthmuus", "descriptive/crossModal/index.html");
  contents[contentsCount++] = new ePC (4, 3, 0, 0, 0, 0, 2, "The McGurk Effect", "descriptive/crossModal/mcgurk/index.html");
  contents[contentsCount++] = new ePC (4, 3, 0, 0, 0, 0, 7, "McGurk: Ma+Ka=Na", "descriptive/crossModal/mcgurk/mcgurk3.html");
  contents[contentsCount++] = new ePC (4, 3, 0, 0, 0, 0, 7, "McGurk: Ba+Ga=Da", "descriptive/crossModal/mcgurk/McGurk.html?4.html");
  contents[contentsCount++] = new ePC (4, 3, 0, 0, 0, 0, 7, "McGurk: My Dad Taught Me to Drive", "descriptive/crossModal/mcgurk/McGurk.html?6.html");
  contents[contentsCount++] = new ePC (4, 3, 0, 0, 0, 0, 7, "McGurk: Ba+Tha=Va", "descriptive/crossModal/mcgurk/McGurk.html?8.html");
  contents[contentsCount++] = new ePC (4, 3, 0, 0, 0, 0, 7, "McGurk: Ba, Va, Tha, Ga", "descriptive/crossModal/mcgurk/McGurk.html?10.html");
  contents[contentsCount++] = new ePC (4, 3, 0, 0, 0, 0, 7, "McGurk: Bay+Gay=Day", "descriptive/crossModal/mcgurk/McGurk.html?12.html");
  contents[contentsCount++] = new ePC (4, 3, 0, 0, 0, 0, 7, "McGurk: Bay+They=Vay", "descriptive/crossModal/mcgurk/McGurk.html?14.html");
  contents[contentsCount++] = new ePC (4, 3, 0, 0, 0, 0, 7, "McGurk: May+Kay=Nay", "descriptive/crossModal/mcgurk/McGurk.html?16.html");
  contents[contentsCount++] = new ePC (4, 3, 0, 0, 0, 0, 7, "McGurk: Base+Vase=Vase", "descriptive/crossModal/mcgurk/McGurk.html?8.html");  
  
  contents[contentsCount++] = new ePC (5, 0, 0, 0, 0, 0, 0, "The Deliberate Mind", "deliberate/index.html");
  contents[contentsCount++] = new ePC (5, 0, 0, 0, 0, 1, 3, "Simple and Choice Reaction Time", "deliberate/SimpleRT/index.html");
  contents[contentsCount++] = new ePC (5, 0, 0, 0, 0, 1, 6, "Simple Reaction Time Experiment", "deliberate/SimpleRT/index.html?4.html");
  contents[contentsCount++] = new ePC (5, 0, 0, 0, 0, 1, 6, "Choice Reaction Time Experiment: Right-handed", "deliberate/SimpleRT/index.html?7ChoiceRightRT.html");
  contents[contentsCount++] = new ePC (5, 0, 0, 0, 0, 1, 6, "Choice Reaction Time Experiment: Left-handed", "deliberate/SimpleRT/index.html?7ChoiceLeftRT.html");
  contents[contentsCount++] = new ePC (5, 0, 0, 0, 0, 2, 3, "The Stroop Effect", "deliberate/Stroop/index.html");
  contents[contentsCount++] = new ePC (5, 0, 0, 0, 0, 2, 6, "Stroop Effect: Color Naming", "deliberate/Stroop/index.html?6.html");
  contents[contentsCount++] = new ePC (5, 0, 0, 0, 0, 2, 6, "Stroop Effect: Word Reading", "deliberate/Stroop/index.html?10.html");
  contents[contentsCount++] = new ePC (5, 0, 0, 0, 0, 3, 3, "Signal Detection", "deliberate/sig_det/index.html");
  contents[contentsCount++] = new ePC (5, 0, 0, 0, 0, 3, 6, "Signal Detection Experiment", "deliberate/sig_det/index.html?8.html");

  
/*  contents[contentsCount++] = new ePC (, "", "/index.html");
  contents[contentsCount++] = new ePC (, "", "/index.html");
  contents[contentsCount++] = new ePC (, "", "/index.html");
  contents[contentsCount++] = new ePC (, "", "/index.html");
  contents[contentsCount++] = new ePC (, "", "/index.html");
  contents[contentsCount++] = new ePC (, "", "/index.html");
  */

  contents[contentsCount++] = new ePC (21, 0, 0, 0, 0, 0, 0, "Classic Research in Psychology", "eLibrary/index.html");

  var contentNodes = new Array();
  var contentNodesA = new Array();
  var textNodes = new Array();
  var textNodesA = new Array();
  var newPNode, newPNode2;
  var oldPNode, oldPNode2, removedPNode, removedPNode2;
  var showContentsCount = 0;

  function setList ()
    { var showLevel, i;
	  newContents = '';
	  var multiColumn = false;
	  var columnSplit;
	  showContentsCount = 0;
	  var totalContentsCount = 0;
	  newPNode = top.middleFrame.document.createElement("div");
	  newPNode2 = top.middleFrame.document.createElement("div");
	
	  if (currentView == "Contents") showLevel = 0;
	  else if (currentView == "Foundations") showLevel = 1;
	  else if (currentView == "Advanced") showLevel = 2;
	  else if (currentView == "Specialty") showLevel = 3;
	  else if (currentView == "Modules") showLevel = 4;  // Won't be any entries with this value
	  else if (currentView == "Demos") showLevel = 5;
	  else if (currentView == "Experiments") showLevel = 6;
	  else if (currentView == "Videos") showLevel = 7;
	  else showLevel=8;

// Figure out how many elements we have to show
	  totalContentsCount = 0;
	for (i = 0; i < contents.length; i++)
		{  if (part > -1) // Show the page view.  Display all pages for the current module and all of the other contents for the other modules
			  { if (world == contents[i].world && topic == contents[i].topic && area == contents[i].area && contents[i].subarea == subarea &&
					 contents[i].module == module)
			  		printElement[totalContentsCount++] = i;
			  }
			else if (module > -1) // Show the moduule view.  Display all resources for the current module
			  { if (world == contents[i].world && topic == contents[i].topic && area == contents[i].area && contents[i].subarea == subarea &&
					 contents[i].module == module)
			  		printElement[totalContentsCount++] = i;
			  }
			else if (subarea > -1) // Show the subarea view.  Display all resources for the modules in this area
			  { if (world == contents[i].world && topic == contents[i].topic && area == contents[i].area && contents[i].subarea == subarea)
			  		printElement[totalContentsCount++] = i;
			  }
			else if (area > -1) // Show the topic view.  Display all modules in this area
			  { if (world == contents[i].world && topic == contents[i].topic && area == contents[i].area && 
						(contents[i].resource == 0 || contents[i].resource == showLevel || showLevel == 8 || (showLevel == 4 && contents[i].resource < 4)))
			  		printElement[totalContentsCount++] = i;
			  }
			else if (topic > -1) // Show the topic view.  Display all modules in this area
			  { if (world == contents[i].world && topic == contents[i].topic && 
						(contents[i].resource == 0 || contents[i].resource == showLevel || showLevel == 8 || (showLevel == 4 && contents[i].resource < 4)))
			  		printElement[totalContentsCount++] = i;
			  }
			else if ((world == -1 || world == contents[i].world) && (contents[i].resource == 0 || contents[i].resource == showLevel || showLevel == 8 || 
						(showLevel == 4 && contents[i].resource < 4)))
				printElement[totalContentsCount++]=i;
		}
		
	var temp;
	if (totalContentsCount > 28 || (top.showSkin == 'phone' && totalContentsCount > 1))
	    { 	multiColumn = true;
			var firstSplit;
			firstSplit = Math.round(totalContentsCount/2);
			columnSplit = firstSplit;
			
			for (i = 0; i < firstSplit - 1; i++)
			  { if (contents[printElement[firstSplit+i]].resource == 0)
			  	  { columnSplit = firstSplit+i; break; }
				else if (contents[printElement[firstSplit-i]].resource == 0)
			  	  { columnSplit = firstSplit-i; break; }
			  }
		}
  	  for (i = 0; i < totalContentsCount; i++)
		{  if (i >= columnSplit)
				showContents(contents[printElement[i]], newPNode2);
			  else
				showContents(contents[printElement[i]], newPNode);
		}

	  if (world > -1) // Show up link
	    {	if (multiColumn) addUpLink(newPNode2);
			else addUpLink(newPNode);
		}
	  oldPNode = top.middleFrame.document.getElementById("contentsNode").firstChild;
	  removedPNode = top.middleFrame.document.getElementById("contentsNode").replaceChild(newPNode, oldPNode);
	  oldPNode2 = top.middleFrame.document.getElementById("contentsNode2").firstChild;
	  removedPNode2 = top.middleFrame.document.getElementById("contentsNode2").replaceChild(newPNode2, oldPNode2);
	}
	
  function showContents (cE, node)
  	{ var i;
	  var contentsLevel;
		contentNodes[showContentsCount] = top.middleFrame.document.createElement("div");
		var anchorNode = top.middleFrame.document.createElement("a");
		anchorNode.href = cE.url;
		anchorNode.target = "_top";
		if (cE.resource > 4) contentsLevel = 2;
		else if (cE.resource > 0) contentsLevel = 1;
		else contentsLevel = 0;
		if (cE.area > 0) contentsLevel++;
		if (cE.subarea > 0) contentsLevel++;
		if (cE.module > 0) contentsLevel++;
		if (cE.part > 0) contentsLevel++;
		contentNodes[showContentsCount].className="H"+contentsLevel;
		anchorNode.className="H"+contentsLevel;
		textNodes[showContentsCount] = top.middleFrame.document.createTextNode(cE.text);
		anchorNode.appendChild(textNodes[showContentsCount]);
		contentNodes[showContentsCount].appendChild(anchorNode);
		node.appendChild(contentNodes[showContentsCount]);
	}
	
  function addUpLink (node)
  	{ var upNode = top.middleFrame.document.createElement("div");
		var documentLocation = top.document.URL;
		var anchorNode = top.middleFrame.document.createElement("a");
		if (topic > -1) 
		  {	var slashIndex = documentLocation.lastIndexOf("/");
		  	var docLoc2 = documentLocation.substring(0, slashIndex)
			var slashIndex = docLoc2.lastIndexOf("/");
			documentLocation = docLoc2.substring(0, slashIndex)+"/index.html";
			if (slashIndex <= 0) anchorNode.href = "/Contents.html"; // Shouldn't happen
			else anchorNode.href = documentLocation;
		  }
		else anchorNode.href = "../Contents.html";
		
		anchorNode.target = "_top";
		
		anchorNode.className="H0";
		var text = top.middleFrame.document.createTextNode("UP");
		anchorNode.appendChild(text);
		upNode.appendChild(anchorNode);
		node.appendChild(upNode);
	}
	
  function writeContentsFrameset()
    { switch (showSkin)
		{ case "loVision":
		  case "loVision2":
			{ 	document.write('<frameset rows="*,88" border="0" frameborder="0" framespacing="0">');
				document.write('<frame src="/contentsMiddleloVision.html" name="middleFrame" id="middleFrame" />');
				document.write('<frame src="/contentsBottomloVision.html" frameborder="no" scrolling="no"/></frameset>');
				break;
			}
		  case "phone":
		    {	document.write('<frameset rows="*,61" border="0" frameborder="0" framespacing="0">');
				document.write('<frame src="/contentsMiddlePhoneVision.html" name="middleFrame" id="middleFrame" />');
				document.write('<frame src="/cPF1.html" frameborder="no" scrolling="no"/></frameset>');
				break;
			}
		  default:
			{ 	document.write('<frameset rows="*,88" border="0" frameborder="0" framespacing="0">');
				document.write('<frame src="/contentsMiddleFrame.html" name="middleFrame" id="middleFrame" />');
				document.write('<frame src="/contentsBottomFrame.html" frameborder="no" scrolling="no"/></frameset>');
			}
		}
	}
