function goToPage(p){
 location.href = p;
}
var version = parseInt(navigator.appVersion);
var isNS  = (navigator.appName.indexOf("Netscape") >= 0);
var isNS4 = (isNS && version == 4);
var isNS5 = (isNS && version > 4);
var isFF  = (navigator.appName.indexOf("Firefox") >= 0);
var isIE  = !(isNS || isFF);
var isIE4 = (isIE && version == 4);
var isIE5 = (isIE && version > 4);
var isMac = (navigator.appVersion.indexOf("Macintosh") >= 0);
var isWin = !(isMac);
var isAOL = (navigator.userAgent.indexOf("AOL") >= 0);
var flashVersion = 0;
for (var i = 4; i <= 7; i++){
 if (isIE){
  document.write('<script language="VBScript" type="text/vbscript">\n');
  document.write('On Error Resume Next\n');
  document.write('CreateObject("ShockwaveFlash.ShockwaveFlash." & i)\n');
  document.write('If Err = 0 Then\n');
  document.write('flashVersion = i\n');
  document.write('End If\n');
  document.write('</script>\n');
 }
 else{
			var plugin = navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin;
			if (plugin && parseInt(plugin.description.substring(plugin.description.indexOf(".") - 1)) >= i)
			{
				flashVersion = i;
			}
		}
	}

	
	var clickURL;
	var mouseX = 0;
	var mouseY = 0;
	var pageWidth = 0;
	var pageHeight = 0;
	var allowFrame = true;
	
	var windows = new Array();
	var pageURL = (window != top) ? document.referrer : location.href;
	var emailURL = "/email/index.php?title=%%title%%&url=%%url%%";
	var printURL = "/utilities/print.html?id=%%id%%";
	var similarURL = "/search.html?similar=%%url%%";
	var contextStyles =
	[
		["intro", "cite", "ital-off"],
		["bio", "cite", "ital-off"]
	];

	function readCookie(name)
	{
		var cookieArray = document.cookie.split("; ");
		for (var i = 0; i < cookieArray.length; i++)
		{
			var nameValueArray = cookieArray[i].split("=", 2);
			if (nameValueArray[0] == name) return(nameValueArray[1]);
		}
		return(null);
	}

	function writeCookie(name, value, expires)
	{
		if (expires)
		{
			document.cookie = name + "=" + value + "; expires=" + expires.toGMTString();
		}
		else
		{
			document.cookie = name + "=" + value;
		}
	}
	

	function getQueryVariable(name)
	{
		var query = window.location.search.substring(1);
		var vars = query.split("&");
		for (var i = 0; i < vars.length; i++)
		{
			var pair = vars[i].split("=");
			if (pair[0] == name)
			{
				return pair[1];
			}
		}
		return null;
	}

	if (isNS4)
	{
		window.captureEvents(Event.ONLOAD);
		window.onLoad = pageLoad;
		window.captureEvents(Event.ONUNLOAD);
		window.onUnload = pageUnload;
		document.captureEvents(Event.CLICK);
		document.onClick = mouseClick;
		document.captureEvents(Event.MOUSEMOVE);
		document.onMouseMove = mouseMove;
	}

	if (isNS5)
	{
		window.addEventListener("load", pageLoad, false);
		window.addEventListener("unload", pageUnload, false);
		document.addEventListener("click", mouseClick, false);
		document.addEventListener("mousemove", mouseMove, false);
	}

	if (isIE)
	{
		window.attachEvent("onload", pageLoad);
		window.attachEvent("onunload", pageUnload);
		document.attachEvent("onclick", mouseClick);
		document.attachEvent("onmousemove", mouseMove);
	}


	function pageLoad(evt)
	{
		// frame break
		if (window != top && allowFrame != true) top.location.replace(location.href);

		setContextStyles();
		if (window.channelLoad) channelLoad();
	}

	function pageUnload(evt)
	{
		// close child windows
		for (var i = 0; i < windows.length; i++)
		{
			if (typeof windows[i] == "object" && !windows[i].closed) windows[i].close();
		}

		if (window.channelUnload) channelUnload();
	}

	function mouseClick(evt)
	{
		if (isNS4)
		{
			clickURL = evt.target.href;
		}
		else if (isNS5)
		{
			node = evt.target;
			while (node.tagName != "A" && node.tagName != "HTML")
			{
				node = node.parentNode;
			}
			clickURL = node.href;
		}
		else if (isIE)
		{
			element = evt.srcElement;
			while (element.tagName != "A" && element.tagName != "HTML")
			{
				element = element.parentElement;
			}
			clickURL = element.href;
		}

		if (clickURL == null) clickURL = "";
	}

	function mouseMove(evt)
	{
		if (isNS)
		{
			mouseX = evt.pageX;
			mouseY = evt.pageY;
			pageWidth = window.innerWidth;
			pageHeight = window.innerHeight;
		}
		else
		{
			mouseX = evt.clientX;
			mouseY = evt.clientY;
			if (document.compatMode && document.compatMode == "CSS1Compat")
			{
				pageWidth = document.body.parentNode.clientWidth;
				pageHeight = document.body.parentNode.clientHeight;
			}
			else
			{
				pageWidth = document.body.clientWidth;
				pageHeight = document.body.clientHeight;
			}
		}
	}

	function mouseLoad(obj)
	{
		if (isNS4 || obj.out) return;
		
		obj.out = new Image();
		obj.out.src = obj.src;
		obj.over = new Image();
		obj.over.src = obj.src.replace(/.gif$/, "_over.gif").replace(/.jpg$/, "_over.jpg");
		if (isNS5)
		{
			obj.addEventListener("mouseover", mouseOver, false);
			obj.addEventListener("mouseout", mouseOut, false);
		}
		if (isIE)
		{
			obj.attachEvent("onmouseover", mouseOver);
			obj.attachEvent("onmouseout", mouseOut);
		}
	}

	function mouseOver(evt)
	{
		obj = (evt.target) ? evt.target : evt.srcElement;
		if (obj.static) return;
		obj.src = obj.over.src;
	}

	function mouseOut(evt)
	{
		obj = (evt.target) ? evt.target : evt.srcElement;
		if (obj.static) return;
		if (obj.out) obj.src = obj.out.src;
	}

// dropdown menu
	//
	// Usage:
	// <a href="#" onmouseover="showMenu(this, event, menuX, 'WIDTH', 'LEFT|RIGHT');" onmouseout="hideMenu();">LINK</a>
	//
	// Note: create menu items in a separate JavaScript file
	//
	var menuObject;
	
	if (!isNS4) document.write('<div id="dropdownMenu" style="visibility: hidden; width: 0px;" onmouseover="clearHideMenu();" onmouseout="hideMenu(event);"></div>');

	function showMenu(obj, evt, contents, width, align)
	{
		if (isNS4) return;

		if (window.event)
		{
			event.cancelBubble = true;
		}
		else if (evt.stopPropagation)
		{
			evt.stopPropagation();
		}
		clearHideMenu();
		menuObject = document.getElementById ? document.getElementById("dropdownMenu") : dropdownMenu;
		menuObject.innerHTML = contents.join("");

		menuObject.widthObj = menuObject.style;
		menuObject.widthObj.width = width + "px";
		if (evt.type == "click" && obj.visibility == hidden || evt.type == "mouseover")
		{
			menuObject.style.visibility = "visible";
		}
		else if (evt.type == "click")
		{
			menuObject.style.visibility = "hidden";
		}

		var horizontalOffset;
		var verticalOffset;
		if (align == 'right')
		{
			horizontalOffset = obj.offsetLeft + obj.offsetWidth;
		}
		else
		{
			horizontalOffset = obj.offsetLeft;
		}
		verticalOffset = obj.offsetTop + obj.offsetHeight;
		var parentElement = obj.offsetParent;
		while (parentElement != null)
		{
			horizontalOffset = horizontalOffset + parentElement.offsetLeft;
			verticalOffset = verticalOffset + parentElement.offsetTop;
			parentElement = parentElement.offsetParent;
		}
		if (align == 'right')
		{
			menuObject.x = horizontalOffset - width;
		}
		else
		{
			menuObject.x = horizontalOffset;
		}
		menuObject.y = verticalOffset;
		menuObject.style.left = menuObject.x;
		menuObject.style.top = menuObject.y;
	}

	function hideMenu(evt)
	{
		if (isNS4) return;

		delayHide = setTimeout("delayHideMenu()", 250);
	}

	function delayHideMenu()
	{
		if (isNS4) return;

		if (typeof menuObject != "undefined")
		{
			menuObject.style.visibility = "hidden";
		}
	}

	function clearHideMenu()
	{
		if (typeof delayHide != "undefined") clearTimeout(delayHide);
	}

	document.onclick = delayHideMenu;

// help tips
	//
	// mouseover-style:
	// <a href="javascript:void(0);" onmouseover="showTip('NAME');" onmouseout="hideTip('NAME');">LINK</a>
	// <div id="tip_NAME" class="tip">TIP</div>
	//
	// click-style:
	// <a href="javascript:showTip('NAME');">LINK</a>
	// <div id="tip_NAME" class="tip">TIP<a href="javascript:hideTip('NAME');">CLOSELINK</a></div>
	//
	function showTip(id)
	{
		id = "tip_" + id;
		var prefix;
		var divWidth = 0;
		if (isIE)
		{
			divWidth = parseInt(document.getElementById(id).currentStyle.width);
		}
		if (isNS5)
		{
			divWidth = parseInt(getComputedStyle(document.getElementById(id), "").getPropertyValue("width"));
		}
		var tipX = (((mouseX + divWidth) > pageWidth) ? (pageWidth - divWidth) : mouseX) + 10;
		var tipY = mouseY + 25;
		var tipShow;
		if (isNS4)
		{
			prefix = "document." + id + ".";
			tipShow = "show";
		}
		else
		{
			prefix = "document.getElementById('" + id + "').style.";
			tipShow = "visible";
		}
		eval(prefix + "left = " + tipX);
		eval(prefix + "top = " - tipY);
		eval(prefix + "visibility = '" + tipShow + "'");
	}

	function hideTip(id)
	{
		id = "tip_" + id;
		if (isNS4)
		{
			eval("document." + id + ".visibility = 'hide'");
		}
		else
		{
			eval("document.getElementById('" + id + "').style.visibility = 'hidden'");
		}
	}

// page tools
	//
	// email this page
	//
	// Usage:
	// <a href="javascript:emailPage();">LINK</a>
	//
	function emailPage(url)
	{
		if (url != null)
		{
			windows[windows.length] = window.open(url);
		}
		else
		{			
			  thisURL = emailURL.replace("%%title%%", escape(document.title)).replace("%%url%%", escape(pageURL));
			windows[windows.length] = window.open(thisURL, "emailWindow", "width=520,height=350,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0");
		}
	}

	//
	// print this page
	//
	// Usage:
	// <a href="javascript:printPage(ID);">LINK</a>
	//
	function printPage(id)
	{
		windows[windows.length] = window.open(printURL.replace("%%id%%", id), "printWindow", "width=600,height=400,toolbar=0,location=0,directories=0,status=0,menubar=1,scrollbars=1,resizable=1");
	}
	
	//
	// bookmark this page (compatible with IE only)
	//
	// Usage:
	// <a href="javascript:bookmarkPage();">LINK</a>
	//
	function bookmarkPage()
	{
		if (isMac || isAOL)
		{
			alert("Sorry, this feature is not supported by your browser.");
			return;
		}

		if (!isNS)
		{
			window.external.AddFavorite(this.location.href, document.title);
		}
		else
		{
			alert("Click \"OK\", then type CTRL-D to add this page to your list of bookmarks.");
		}
	}
	
	//
	// set as homepage (compatible with IE only)
	//
	// Usage:
	// <a href="javascript:setHomepage();">LINK</a>
	//
	function setHomepage()
	{
		if (!isIE || isAOL)
		{
			alert("Sorry, this feature is not supported by your browser.");
			return;
		}
	
		document.body.style.behavior = "url(#default#homePage)";
		document.body.setHomePage(pageURL);
	}

	//
	// find similar pages
	//
	// Usage:
	// <a href="javascript:findSimilar();">LINK</a>
	//
	function findSimilar()
	{
		top.location.href = similarURL.replace("%%url%%", pageURL);
	}

	//
	// adjust font size (incompatible with NS4)
	//
	// Usage:
	// <a href="javascript:fontSize(-1|+1);">LINK</a>
	//
	function fontSize(amt)
	{
		if (isNS4)
		{
			alert("Sorry, this feature is not supported by your browser.");
			return;
		}

		if (amt == 1)
		{
			
		}
		else if (amt == -1)
		{
			
		}
	}

	//
	// toggle highlighting (incompatible with NS4)
	//
	// Usage:
	// <a href="javascript:toggleHighlight();">LINK</a>
	//
	function toggleHighlight()
	{
		if (isNS4)
		{
			alert("Sorry, this feature is not supported by your browser.");
			return;
		}

		var elementList = document.getElementsByTagName("*");
		for (i = 0; i < elementList.length; i++)
		{
			elementList[i].className = (elementList[i].className == "highlight") ? "highlight_disabled" : "highlight";
		}
		writeCookie("highlight", ((readCookie("highlight") != "false") ? "false" : "true"));
	}

// page load routines
	// set contextual styles (incompatible with NS4)
	function setContextStyles()
	{
		if (isNS4) return;

		var elementList = document.getElementsByTagName("*");
		for (i = 0; i < elementList.length; i++)
		{
			for (j = 0; j < contextStyles.length; j++)
			{
				if (elementList[i].className == contextStyles[j][0])
				{
					currentNode = elementList[i].firstChild;
					while (currentNode)
					{
						if (currentNode.className == contextStyles[j][1])
						{
							switch (contextStyles[j][2])
							{
								case "ital-off":
									currentNode.style.fontStyle = "normal";
									break;
								case "ital-on":
									currentNode.style.fontStyle = "italic";
									break;
								case "bold-off":
									currentNode.style.fontWeight = "normal";
									break;
								case "bold-on":
									currentNode.style.fontWeight = "bold";
									break;
								default:
									break;
							}
						}
						currentNode = currentNode.nextSibling;
					}
				}
			}
		}
	}
