<!-- begin hiding

// size of horizontal indent per level
var indentPixels = 20

var collapsedWidget = "images/triDown.gif"
var expandedWidget = "images/triUp.gif"
var endpointWidget = "images/endPt.gif"
var widgetWidth = 12
var widgetHeight = 12

// Target for documents loaded when user clicks on a link.
// Specify your target frame name here.
//var displayTarget = "Frame2"

// Create array object containing outline content and attributes.
// To adapt outline for your use, modify this table.
// Start the array with [1], and continue without gaps to your last item.
// The order of the five parameters:
//    1. Boolean (true or false) whether _next_ item is indented.
//    2. String to display in outline entry (including <FONT> or style tags).
//    3. URL of link for outline entry; Use empty string ("") for no link
//    4. Target of the URL; Use empty string ("") for no new Target
//    5. Integer of indentation level (0 is leftmost margin level)
//    6. String for status line during onMouseOver (apostrophes require \\')
var db = new Array()
db[1] = new dbRecord(false, "Overview", "overview.shtml","",0,"Go to ASILWIG OVERVIEW PAGE.")
db[2] = new dbRecord(true,  "Programs", "programs.shtml","",0,"Go to ASILWIG PROGRAMS PAGE.")
db[3] = new dbRecord(true, "2002 Conference","programs2.shtml","",1,"Go to IWLC CONFERENCE PAGE.")
db[4] = new dbRecord(false, "Conference Program","7IWLC_Program.html","\'new\'",2,"View the IWLC PROGRAM PAGE.")
db[5] = new dbRecord(false, "Submit a Presentation Proposal","ASIL_AbstrSubmit.html","",2,"Submit a Presentation Proposal for the ASIL WIG Conference.")
db[6] = new dbRecord(false, "Registration Form","Registration.html","\'new\'",2,"Get a REGISTRATION FORM.")
db[7] = new dbRecord(false, "Hotel Accomodations","accom6.shtml","",2,"CONFERENCE HOTEL ACCOMODATIONS.")
db[8] = new dbRecord(false, "Directions to the Conference","DirectionstoWCL.shtml","",2,"DIRECTIONS to the IWLC CONFERENCE.")
db[9] = new dbRecord(false,  "Speakers Bureau", "","",1,"Go to ASILWIG SPEAKERS BUREAU PAGE.")
db[10] = new dbRecord(true,  "Publications","publications.shtml","",0,"Go to ASILWIG PUBLICATIONS PAGE.")
db[11] = new dbRecord(false, "Journal of IWL&P","journal.shtml","",1,"Go to JIWLP PAGE.")
db[12] = new dbRecord(false, "ASILWIG Papers","paper.shtml","",1,"Go to the OCCASIONAL PAPER SERIES PAGE.")
db[13] = new dbRecord(true,  "Resources",  "resources.shtml","",0,"Go to ASILWIG RESOURCES PAGE.")
db[14] = new dbRecord(false, "Bibliographies", "bib.shtml","",1,"Go to ASILWIG BIBLIOGRAPHIES PAGE.")
db[15] = new dbRecord(true, "Documents", "docs.shtml","",1,"Go to ASILWIG DOCUMENTS PAGE.")
db[16] = new dbRecord(false, "Reports & Plans of Action", "plans.shtml","",2,"Go to ASILWIG REPORTS & PLANS OF ACTION PAGE.")
db[17] = new dbRecord(false, "Judicial Bodies", "judicial.shtml","",2,"Go to ASILWIG Judicial Bodies PAGE.")
db[18] = new dbRecord(true, "Treaties/Soft Law Agreements", "treaties.shtml","",2,"Go to ASILWIG TREATIES/SOFT LAW AGREEMENTS PAGE.")
db[19] = new dbRecord(false, "Animal Welfare", "animal.shtml","",3,"Go to ASILWIG ANIMAL WELFARE PAGE.")
db[20] = new dbRecord(false, "Biological Diversity", "bio.shtml","",3,"Go to ASILWIG BIOLOGICAL DIVERSITY PAGE.")
db[21] = new dbRecord(false, "Fisheries", "fisheries.shtml","",3,"Go to ASILWIG FISHERIES PAGE.")
db[22] = new dbRecord(false, "Habitat Protection", "habitat.shtml","",3,"Go to ASILWIG HABITAT PROTECTION PAGE.")
db[23] = new dbRecord(false, "Ocean/Living Resources", "ocean.shtml","",3,"Go to ASILWIG OCEAN/LIVING RESOURCES PAGE.")
db[24] = new dbRecord(true, "Regional", "regional.shtml","",3,"Go to ASILWIG REGIONAL PAGE.")
db[25] = new dbRecord(false, "Antarctic", "aa.shtml","",4,"Go to ASILWIG ANTARCTIC PAGE.")
db[26] = new dbRecord(false, "Caribbean", "","",4,"Go to ASILWIG CARIBBEAN PAGE.")
db[27] = new dbRecord(false, "Europe", "eur.shtml","",4,"Go to ASILWIG EUROPE PAGE.")
db[28] = new dbRecord(false, "Pacific", "","",4,"Go to ASILWIG PACIFIC PAGE.")
db[29] = new dbRecord(false, "Soft Law Agreements/Declarations", "soft.shtml","",3,"Go to ASILWIG SOFT LAW AGREEMENTS/DECLARATIONS PAGE.")
db[30] = new dbRecord(false, "Species-Specific", "ss.shtml","",3,"Go to ASILWIG SPECIES-SPECIFIC PAGE.")
db[31] = new dbRecord(false, "Conference Resolutions", "conf.shtml","",2,"Go to ASILWIG CONFERENCE RESOLUTIONS PAGE.")
db[32] = new dbRecord(false, "National/Regional Wildlife Legislation", "legislat.shtml","",2,"Go to ASILWIG NATIONAL/REGIONAL WILDLIFE LEGISLATION PAGE.")
db[33] = new dbRecord(false, "Journal Submissions", "JournalSubList.shtml","",1,"Go to ASILWIG JOURNAL SUBMISSIONS LIST PAGE.")
db[34] = new dbRecord(false,"Discussion Lists", "discussion.shtml","",0,"Go to ASILWIG DISCUSSION LIST INFO.")
db[35] = new dbRecord(false,"Membership", "membership.shtml","",0,"Go to ASILWIG MEMBERSHIP PAGE.")
db[36] = new dbRecord(false,"Wildlife Links", "http://www.jiwlp.com/cgi/links.cgi","",0,"Go to ASILWIG WILDLIFE LINKS PAGE.")
db[37] = new dbRecord(false,"Contact Us", "contact.shtml","",0,"Go to ASILWIG CONTACT PAGE.")

// object constructor for each outline entry
function dbRecord(mother,display,URL,target,indent,statusMsg){
	this.mother = mother   // is this item a parent?
	this.display = display // text to display
	this.URL = URL         // link tied to text; if empty string, item appears as straight text
	this.target = target         // target tied to text; if empty string, target is same as current page
	this.indent = indent   // how many levels nested?
	this.statusMsg = statusMsg  // descriptive text for status bar 
	return this
}

// pre-load all images into cache
var fillerImg = new Image(1,1)
fillerImg.src = "images/transp.gif"
var collapsedImg = new Image(widgetWidth,widgetHeight)
collapsedImg.src = collapsedWidget
var expandedImg = new Image(widgetWidth,widgetHeight)
expandedImg.src = expandedWidget
var endpointImg = new Image(widgetWidth,widgetHeight)
endpointImg.src = endpointWidget

// ** functions that get and set persistent cookie data **
// set cookie data
var mycookie = document.cookie
function setCurrState(setting) {
        mycookie = document.cookie = "currState=" + escape(setting)
}
// retrieve cookie data
function getCurrState() {
        var label = "currState="
        var labelLen = label.length
        var cLen = mycookie.length
        var i = 0
        while (i < cLen) {
                var j = i + labelLen
                if (mycookie.substring(i,j) == label) {
                        var cEnd = mycookie.indexOf(";",j)
                        if (cEnd ==     -1) {
                                cEnd = mycookie.length
                        }
                        return unescape(mycookie.substring(j,cEnd))
                }
                i++
        }
        return ""
}

// **function that updates persistent storage of state**
// toggles an outline mother entry, storing new value in the cookie
function toggle(n) {
	if (n != 0) {
		var newString = ""
		var currState = getCurrState() // of whole outline
		var expanded = currState.charAt(n-1) // of clicked item
		newString += currState.substring(0,n-1)
		newString += expanded ^ 1 // Bitwise XOR clicked item
		newString += currState.substring(n,currState.length)
		setCurrState(newString) // write new state back to cookie
	}
}

// **functions used in assembling updated outline**
// returns the proper GIF file name for each entry's control
function getGIF(n) {
	var mom = db[n].mother  // is entry a parent?
	var expanded = getCurrState().charAt(n-1) // of clicked item
	if (!mom) {
		return endpointWidget
	} else {
		if (expanded == 1) {
			return expandedWidget
		}
	}
	return collapsedWidget
}

// returns the proper status line text based on the icon style
function getGIFStatus(n) {
	var mom = db[n].mother  // is entry a parent
	var expanded = getCurrState().charAt(n-1) // of rolled item
	if (!mom) {
		return "No further items"
	} else {
		if (expanded == 1) {
			return "Click to collapse nested items"
		}
	}
	return "Click to expand nested items"
}

// initialize 'current state' storage field
if (getCurrState() == "" || getCurrState().length != (db.length-1)) {
	initState = ""
	for (i = 1; i < db.length; i++) {
		initState += "0"
	}
	setCurrState(initState)
}

// end -->
