	btn_csph_home_lo = new Image()
	btn_csph_home_hi = new Image()
	btn_csph_home_lo.src = "http://www.lsro.org/csph/images/btn_csph_home_1.gif"
	btn_csph_home_hi.src = "http://www.lsro.org/csph/images/btn_csph_home_3.gif"

	btn_csph_agenda_lo = new Image()
	btn_csph_agenda_hi = new Image()
	btn_csph_agenda_lo.src = "http://www.lsro.org/csph/images/btn_csph_agenda_1.gif"
	btn_csph_agenda_hi.src = "http://www.lsro.org/csph/images/btn_csph_agenda_3.gif"

	btn_csph_register_lo = new Image()
	btn_csph_register_hi = new Image()
	btn_csph_register_lo.src = "http://www.lsro.org/csph/images/btn_csph_register_1.gif"
	btn_csph_register_hi.src = "http://www.lsro.org/csph/images/btn_csph_register_3.gif"

	btn_csph_speakers_lo = new Image()
	btn_csph_speakers_hi = new Image()
	btn_csph_speakers_lo.src = "http://www.lsro.org/csph/images/btn_csph_speakers_1.gif"
	btn_csph_speakers_hi.src = "http://www.lsro.org/csph/images/btn_csph_speakers_3.gif"

	btn_csph_bios_lo = new Image()
	btn_csph_bios_hi = new Image()
	btn_csph_bios_lo.src = "http://www.lsro.org/csph/images/btn_csph_bios_1.gif"
	btn_csph_bios_hi.src = "http://www.lsro.org/csph/images/btn_csph_bios_3.gif"

	btn_csph_participants_lo = new Image()
	btn_csph_participants_hi = new Image()
	btn_csph_participants_lo.src = "http://www.lsro.org/csph/images/btn_csph_participants_1.gif"
	btn_csph_participants_hi.src = "http://www.lsro.org/csph/images/btn_csph_participants_3.gif"

	btn_csph_presentations_lo = new Image()
	btn_csph_presentations_hi = new Image()
	btn_csph_presentations_lo.src = "http://www.lsro.org/csph/images/btn_csph_presentations_1.gif"
	btn_csph_presentations_hi.src = "http://www.lsro.org/csph/images/btn_csph_presentations_3.gif"

	btn_csph_directions_lo = new Image()
	btn_csph_directions_hi = new Image()
	btn_csph_directions_lo.src = "http://www.lsro.org/csph/images/btn_csph_directions_1.gif"
	btn_csph_directions_hi.src = "http://www.lsro.org/csph/images/btn_csph_directions_3.gif"

	btn_csph_contact_lo = new Image()
	btn_csph_contact_hi = new Image()
	btn_csph_contact_lo.src = "http://www.lsro.org/csph/images/btn_csph_contact_1.gif"
	btn_csph_contact_hi.src = "http://www.lsro.org/csph/images/btn_csph_contact_3.gif"
	
	var list_of_ids = ""		
	var list_of_menu_items = ""		

	var idList = ""		
	var objectList = ""		

	function addToIdList(objId)	{
		// creates a list of the object ids and the corresponding object names
		if (idList.length){
			idList += ","
			objectList += ","
			}
		var objName = "o" + objId
		idList += objId
		objectList += objName
	}

	function initialize2()	{
		initialize()
		
		var arrIds = new Array()
		var cnt = 0

		addToIdList ("menuOutline")
		addToIdList ("contentOutline")
		addToIdList ("menutitle")
		addToIdList ("menu_home")
//		addToIdList ("menu_speakers")
		addToIdList ("menu_bios")
		addToIdList ("menu_participants")
		addToIdList ("menu_presentations")
		addToIdList ("menu_agenda")
		addToIdList ("menu_register")
		addToIdList ("menu_directions")
//		addToIdList ("menu_mtgreg")
//		addToIdList ("menu_reg4updates")
//		addToIdList ("menu_relatedlinks")
		addToIdList ("menu_contact")
		addToIdList ("bottomSpace")
		addToIdList ("tablewrapper")
		addToIdList ("googleWrap")
		addToIdList ("srchBtnWrap")
		addToIdList ("pageTitle")
		addToIdList ("subtitle")
		addToIdList ("contentBody")
		addToIdList ("contentBodyHomepage")
		addToIdList ("bottomMenu")

//	Create an object for each item in the arrIds list
//		Object name is arrIds[] name preceeded by lowercase "o"
	var arrIds = new Array
	var arrObjects = new Array
	arrIds = idList.split(",")
	arrObjects = objectList.split(",")
	for (i=0; i<arrIds.length; i++)	{
		idString = arrIds[i]
		objString = arrObjects[i]
		cmd = "var " + objString + "= document.getElementById('" + idString + "')"
		eval (cmd)
	}

// position google logo
		var trL = parseInt (otablewrapper.style.left)
		var trT = otablewrapper.offsetTop
		gL = trL + 728
		ogoogleWrap.style.left = gL + "px"
		gH = trT + 109
		ogoogleWrap.style.top = gH + "px"
		ogoogleWrap.style.visibility = "visible"

// position search button
		sbL = trL + 793
		osrchBtnWrap.style.left = sbL + "px"
		sbH = trT + 108
		osrchBtnWrap.style.top = sbH + "px"
		osrchBtnWrap.style.visibility = "visible"

// position outline for left (menu) column
		var trH = parseInt (otablewrapper.offsetHeight)
		var lcT = trH + trT - 1
		omenuOutline.style.top = lcT + "px"
		omenuOutline.style.visibility = "visible"

// position outline for right (page content) column
		ocontentOutline.style.top = omenuOutline.style.top
		menuWidth = omenuOutline.offsetWidth
		menuLeft = parseInt (omenuOutline.style.left)
		menuRight = menuLeft + menuWidth
		ocontentOutline.style.left = menuRight - 1 + "px"
		var fullpageLeft = parseInt(otablewrapper.style.left)
		var fullpageWidth = otablewrapper.offsetWidth
		var fullpageRight = fullpageLeft + fullpageWidth
		contentW = fullpageRight - menuRight + 1
		ocontentOutline.style.width = contentW + "px"

		// Do this because offsetWidth differs from style.width,
		//		and needs to be equal to difference between
		//		fullpageRight and menuRight; 
		//		because offsetWidth cannot be set directly, use this
		//		reiterative method of successive adjustment
		var cnt = 0
		//	[cnt] is a safety valve
		while ( (ocontentOutline.offsetWidth != contentW) && (cnt <100) )	{
			var i = 1
			if (ocontentOutline.offsetWidth > contentW){i = -1}
			ocontentOutline.style.width = parseInt(ocontentOutline.style.width) + i + "px"	
			cnt++
		}

		ocontentOutline.style.visibility = "visible"
		
// set the minimum height of the menu outline
		var lastobject_inmenu = omenu_contact
		var lastBottom = lastobject_inmenu.offsetTop + lastobject_inmenu.offsetHeight
		menuOutlineTop = omenuOutline.offsetTop
		menuBottom = lastBottom + 20
		menuOutlineMinimumHeight = menuBottom - menuOutlineTop
		omenuOutline.style.height = menuOutlineMinimumHeight + "px"
		
/* Position Page contents */

	// Position title
		var pageTitleBottom = ocontentOutline.offsetTop + 15
		var subtitleBottom = ocontentOutline.offsetTop + 15
		
		if (opageTitle)	{
			opageTitle.style.top = ocontentOutline.offsetTop + 15 + "px"
			opageTitle.style.left = (ocontentOutline.offsetWidth - opageTitle.offsetWidth)/2 + ocontentOutline.offsetLeft + "px"
			pageTitleBottom = opageTitle.offsetTop + opageTitle.offsetHeight
		}
		
	// Position subtitle
		if (osubtitle)	{
		osubtitle.style.top = pageTitleBottom + 15 + "px"
		osubtitle.style.left = (ocontentOutline.offsetWidth - osubtitle.offsetWidth)/2 + ocontentOutline.offsetLeft + "px"
		subtitleBottom = osubtitle.offsetTop + osubtitle.offsetHeight
		}

	// Position contentBody
	
		if (ocontentBody)	{  // Homepage lacks a contentBody <div>
			var contentHorizOffset = 25
			ocontentBody.style.left = ocontentOutline.offsetLeft + contentHorizOffset + "px"
			ocontentBody.style.top = subtitleBottom + 25 + "px"
			ocontentBody.style.width = ocontentOutline.offsetWidth - (2 * contentHorizOffset) + "px"
			contentBodyBottom = ocontentBody.offsetTop + ocontentBody.offsetHeight + 2
			ocontentOutline.style.height = (contentBodyBottom - ocontentOutline.offsetTop) + "px"
		}
		if (ocontentBodyHomepage)	{  // Homepage has contentBodyHomepage <div>
			ocontentBodyHomepage.style.top = ocontentOutline.offsetTop + 1 + "px"
			ocontentBodyHomepage.style.left = ocontentOutline.offsetLeft + 1 + "px"
			contentBodyBottom = ocontentBodyHomepage.offsetTop + ocontentBodyHomepage.offsetHeight + 2
			ocontentOutline.style.height = (contentBodyBottom - ocontentOutline.offsetTop) + "px"
		}
/* END: Position Page contents */


// set page contents outline and menu outlines to the height of the higher of the two
		if (menuBottom > contentBodyBottom)	{
				x = omenuOutline.offsetHeight
		}
		else {
				x = ocontentOutline.offsetHeight
		}
		ocontentOutline.style.height = x + "px"
		omenuOutline.style.height = x + "px"

		adjust_bottom_menu()

//  make all menu items visible
		for (i=0; i<arrObjects.length; i++){
			x = 0
			cmd = "if (" + arrObjects[i] + ") {x=1}"
			eval (cmd)
			if (x)	{
				cmd = arrObjects[i] + ".style.visibility = 'visible'"
				eval (cmd)
			}
		}
		obottomMenu.style.visibility = "visible"
		
		// call function specific for the page, located on the page
		specific_page_functions ()
	}

	function adjust_bottom_menu()	{
		var ocontentOutline = document.getElementById ('contentOutline')		
		var oMenuOutline = document.getElementById ('MenuOutline')		
		var obottomMenu = document.getElementById ('bottomMenu')		
		var obottomSpace = document.getElementById ('bottomSpace')		
		var otablewrapper = document.getElementById ('tablewrapper')		
		var fullpageLeft = parseInt(otablewrapper.style.left)
		var fullpageWidth = otablewrapper.offsetWidth

		// place the bottom menu 25px below the menu and content outlines
		var contentBodyBottom = ocontentOutline.offsetTop + ocontentOutline.offsetHeight
		var bottomMenuTop = contentBodyBottom + 25
		obottomMenu.style.top = bottomMenuTop + "px"

		// center the bottom menu
		btmMenuWidth = obottomMenu.offsetWidth
		btmMenuMarginWidth = (fullpageWidth - btmMenuWidth)/2
		obottomMenu.style.left = fullpageLeft + btmMenuMarginWidth + "px"

		// set the top of the bottom spacer 25px below the bottom menu
		obottomSpace.style.top = obottomMenu.offsetTop + obottomMenu.offsetHeight + 25 + "px"
	}


	function findPosX(obj) {
	  var curLeft = 0;
	  if (obj.offsetParent) {
	    do {
	      curLeft += obj.offsetLeft;
	    } while (obj = obj.offsetParent);
	  }
	  else if (obj.x) {
	    curLeft += obj.x;
	  }
	  return curLeft;
	}
	

	function findPosY(obj) {
	  var curTop = 0;
	  if (obj.offsetParent) {
	    do {
	      curTop += obj.offsetTop;
	    } while (obj = obj.offsetParent);
	  }
	  else if (obj.y) {
	    curTop += obj.y;
	  }
	  return curTop;
	}

	function setPosX(obj, xVal) {
	  var addLeft = 0;
	  if (obj.offsetParent) {
	  	var obj2 = obj
		while (obj2 = obj2.offsetParent) {
	      addLeft += obj2.offsetLeft;
		}
		obj.style.position="absolute"
		obj.style.left = xVal - addLeft + "px"
	  }
	  else if (obj.x) {
	    obj.x = xVal
	  }
	  return 1;
	}


	function setPosY(obj, yVal) {
	  var addTop = 0;
	  if (obj.offsetParent) {
	  	var obj2 = obj
		while (obj2 = obj2.offsetParent) {
	      addTop += obj2.offsetTop;
		}
		obj.style.position="absolute"
		obj.style.top = yVal - addTop + "px"
	  }
	  else if (obj.y) {
	    obj.y = yVal
	  }
	  return 1;
	}
	

	function str_trim(s1)
	{
		var s2 = "" + s1 // cast content of s1 as string regardless of what it is
		var s3 = ""
		var i = 0
		var goFlag = true
		while (s2.substring(i, i+1) == " " && i < s2.length){
			i++
		}
		if (i >= s2.length)	{
				goFlag = false
			}
		if (goFlag)	{
			s3 = s3 + s2.substring(i, s2.length)
			s2 = "" + s3
			i = s2.length
			while (s2.substring(i-1, i) == " " && i > 0)	{
				i--
			}
			if (i <= 0)	{
				goFlag = false
			}
			if (goFlag){
				s3 = s2.substring(0, i)
			}
		}

		if (goFlag)
			return s3
		else
			return ""
	}	// End function str_trim()

