// THIS FILE IS DEPRECATED IN FAVOR OF dlese_script_1_1.js (DLESE SHARED v2.2) 

// --------------------------------------- DLESE Script ---------------------------------------
// $Id: dlese_script.js,v 1.33 2007/01/30 01:42:15 jweather Exp $ 

var dlese_isFrontPage = false; 				// Set to true only for homepage (no specialty areas button)
var dlese_vocabQueryString = '';			// Only used by Discovery searches
var dlese_vocabsShowing = false; 			// are any vocab flyouts showing?
var dlese_DISCOVERY_ROOT = '/library/'; 	// Root (servlet context) of the library Web portal
var dlese_menusOnly = false;				// CRS site does not use search banner
var dlese_ddsQueryForm = null; 				// HTML/Struts query form
var dlese_ddsQueryFormName = "ddsQueryForm"; // Name of the library/discovery query form
var dlese_isDevServer = false;				// Dev servers have absolute links re-written
var dlese_myHost = document.location.href.substring( 0, 
		document.location.href.indexOf( '/', 7 ) ); // Current URL host address
var dlese_debuggingOn = true; 				// Allows for page CSS debugging when true
var dlese_allNav = new Array(); 			// List of every navigation list defined so far
var dlese_navSelected = ''; 				// which banner button is highlighted (not used)
var dlese_isFrames = false; 				// banners rendering inside a frameset?
var dlese_pageHasVocabs = false; 			// used by survey flyout positioning
var mouseClickedOnOpenVocab = false;		// When mouseDown occurs, is it over an open vocab?
var dlese_pageShowsVocabSelected = false;	// Does the current page display criteria state?

// SIDE MENUS BACKWARDS-COMPATIBILITY (Tree Menus v1.x):
var SIDE_MENU_TOP = 120;		// Side menus default position
var SIDE_MENU_WIDTH = 163;		// Side menus default width
var SIDE_MENU_BACK_IMG = "/dlese_shared/images/side_nav_background.gif"; // default image for side menus background

if ( ( dlese_myHost.indexOf( 'local' ) > -1 ) ||
		( dlese_myHost.indexOf( 'wwwqa' ) > -1 ) || 
		( dlese_myHost.indexOf( 'wwwdev' ) > -1 ) || 
		( dlese_myHost.indexOf( 'aegean' ) > -1 ) || 
		( dlese_myHost.indexOf( 'ionian' ) > -1 ) || 
		( dlese_myHost.indexOf( 'bolide' ) > -1 ) || 
		( dlese_myHost.indexOf( 'dev.dpc' ) > -1 ) || 
		( dlese_myHost.indexOf( 'dev.dlese' ) > -1 ) || 
		( dlese_myHost.indexOf( 'beta.dlese' ) > -1 ) || 
		( dlese_myHost.indexOf( 'preaccession.dlese' ) > -1 ) ||
		( dlese_myHost.indexOf( 'sat.dlsciences' ) > -1 ) ||  		
		( dlese_myHost.indexOf( 'aegean.dlese' ) > -1 ) || 
		( dlese_myHost.indexOf( 'preview.dlese' ) > -1 ) || 
		( dlese_myHost.indexOf( 'porcupine' ) > -1 ) ||
		( dlese_myHost.indexOf( '66.7.185.166' ) > -1 ) ||			
		( dlese_myHost.indexOf( 'tremor.dpc' ) > -1 ) )
	dlese_isDevServer = true;
if ( document.location.href.indexOf( "dev=false" ) > -1 ) {
	dlese_isDevServer = false;
	dlese_createCookie( "dleseDev", "false" );
}
else if ( document.location.href.indexOf( "dev=true" ) > -1 ) {
	dlese_isDevServer = true;
	dlese_createCookie( "dleseDev", "true" );
}
if ( dlese_readCookie( "dleseDev" ) == "false" )
	dlese_isDevServer = false;
else if ( dlese_readCookie( "dleseDev" ) == "true" )
	dlese_isDevServer = true;

function dlese_highlightSectionTitle() {
	if ( !dlese_noscript ) {
		var obj = getObject( 'dlese_sectionTitle' );
		if ( obj && !obj.innerHTML && !( dlese_isMac && dlese_isIE ) ) {
			obj.innerHTML = "Welcome to<br/>DLESE!";
		}
	}
}

// ------------------------------------- Browser detection -------------------------------------
var dlese_isIE;
var dlese_isNetscape;
var dlese_isN4 = false;
var dlese_isSafari = false;
var dlese_isMac = false;
var dlese_agt = navigator.userAgent.toLowerCase();
var dlese_noscript = true; 
var dlese_isSearchPage = false;
var dlese_isNewsOpps = false;
var dlese_isSiteSearch = false;
var dlese_surveyMOCount = 0;  // mouseOver detection of survey (click outside closes it)
if ( navigator.appName.indexOf( 'Microsoft' ) > -1 )
	dlese_isIE = true;
if ( navigator.appName == 'Netscape' ) {
	if ( parseInt( navigator.appVersion ) == 4 ) {
		dlese_isN4 = true;
		dlese_noscript = true;
	}
}
var dlese_browserVersion = navigator.appVersion;
var dlese_isOldIE = false;	// Pre-version 7
var ind = dlese_browserVersion.indexOf( "MSIE" );
if ( ind  > -1 ) {
	var ind2 = dlese_browserVersion.indexOf( ";", ind + 1 );
	if ( ind2 > -1 ) {
		dlese_browserVersion = parseInt( dlese_browserVersion.substring( ind + 5, ind2 ) );
		if ( dlese_browserVersion < 7 )
			dlese_isOldIE = true;
	}
}
if ( document.getElementById  ) {	
	dlese_noscript = false;
	if ( navigator.appName == 'Netscape' ) {
		dlese_isNetscape = true;
	}
}
if ( dlese_agt.indexOf( "safari" ) > -1 )
	dlese_isSafari = true;
if ( dlese_agt.indexOf( "mac" ) != -1 )
	dlese_isMac = true;

if ( dlese_isMac && dlese_isIE )
	document.writeln( "<style type='text/css'>.dlese_treeMenuIcons { height: 18px; visibility: hidden; }</style>" );

// ------------------------------------- DDS/Site searches -------------------------------------

function dlese_siteSearch() {
	var stype = '';
	if ( dlese_isFrontPage ) {
		if ( dlese_ddsQueryForm.over[ 0 ].checked )
			stype = 1;
		if ( dlese_ddsQueryForm.over[ 1 ].checked )
			stype = 2;
		if ( dlese_ddsQueryForm.over[ 2 ].checked )
			stype = 3;
		if ( dlese_ddsQueryForm.over[ 3 ].checked )
			stype = 4;
	}
	else {
		stype = dlese_ddsQueryForm.over.value;
	}
	clearPopupsStatus();
	dlese_createCookie( "searchOverSelected", stype - 1 );
	clearPopupsStatus();
	var query = "q=" + dlese_ddsQueryForm.q.value + "&s=0";
	if ( stype == 1 )
		query += dlese_vocabQueryString; 
	else
		query += "&over=" + stype;
	if ( dlese_isDevServer )
		top.location.href = dlese_DISCOVERY_ROOT + "query.do?" + query;
	else {
		if ( self != top )
			top.location.href = "http://www.dlese.org" + dlese_DISCOVERY_ROOT + "query.do?" + query;
		else
			document.location.href = "http://www.dlese.org" + dlese_DISCOVERY_ROOT + "query.do?" + query;
	}
	return false;
}
function dlese_setSearchOver() {
	// Set the search over select list to whatever was just searched over:
	ind = docLocation.indexOf( '&over=' );
	if ( ind > -1 ) {
		var overIndex = docLocation.substring( ind + 6, ind + 7 );
		dlese_ddsQueryForm.over.selectedIndex = overIndex - 1;
	}
	else {
		if ( docLocation.indexOf( '/news_opportunities/' ) > -1 ) {
			dlese_ddsQueryForm.over.selectedIndex = 1;
			dlese_isNewsOpps = true;
		}
	}
}
function dlese_setQueryStringForBannerSearches() {
	var docLocation = document.location.href;
	docLocation = docLocation.replace( /\?q=/, "?&q=" );
	var ind = docLocation.indexOf( '&q=' );
	var indAdd = 3;
	if ( ind == -1 ) {
		ind = docLocation.indexOf( '&query=' );
		indAdd = 7;
	}
	if ( ind > -1 ) {
		var ind2 = docLocation.indexOf( '&', ind + 1 );
		if ( ind2 == -1 )
			ind2 = docLocation.length;
		if ( dlese_ddsQueryForm ) {
			dlese_ddsQueryForm.q.value = unescape( docLocation.substring( ind + indAdd, ind2 ) );
			dlese_ddsQueryForm.q.value = removePluses( dlese_ddsQueryForm.q.value );
		}
	}
}
function removePluses( str ) {
	var ret = str;
	var ind = ( ret.indexOf( "+" ) );
	while ( ind > -1 ) {
		ret = ret.substring( 0, ind ) + " " + ret.substring( ind + 1, ret.length );
		ind = ( ret.indexOf( "+" ) );
	}
	return ret;
}
var omnitureInserted = false;
function insertOmnitureCode() {
	if ( !omnitureInserted ) {
		omnitureInserted = true;
		if ( dlese_isIE ) {
			// fix .exampleCode CSS style for IE (since it can't properly handle % widths)
			var minWidth = document.body.clientWidth - 20;
			if ( document.getElementById( "dlese_treeMenuDiv" ) ) {
				minWidth = document.body.clientWidth - 190;
			}
			document.writeln( "<style type='text/css'>.exampleCode { padding-right: 0px; margin-right: 0px; width: " + minWidth + "px; overflow: scroll; } </style>" );
		}
		document.writeln( "<script type='text/javascript' src='/dlese_shared/s_code_remote.js'></script>" );
		var obj = getObject( 'dlese_sectionTitle' );
		if ( !obj && !dlese_isFrontPage ) {
			document.writeln( "<div id='dlese_sectionTitle' class='dlese_sectionTitle'>Welcome to<br/>DLESE!</div>" );
		}
		dlese_highlightSectionTitle();
	}
}
function dlese_changeDevDomains() {
	// Change developer domains:
	if ( dlese_isDevServer ) {
		// Change all doc links that go to http://www.dlese.org to current domain:
		for ( var i = 0; i < document.links.length; i++ ) {
			if ( document.links[ i ].href.indexOf( 'javascript:' ) == -1 ) {
				var ind = document.links[ i ].href.indexOf( 'http://www.dlese.org' );
				if ( ind == 0 ) {
					document.links[ i ].href = dlese_myHost + document.links[ i ].href.substring( 20, document.links[ i ].href.length );
				}
			}
		}
		if ( dlese_ddsQueryForm ) {
			if ( dlese_ddsQueryForm.action.indexOf( "http://" ) > -1 ) {
				var ind = dlese_ddsQueryForm.action.indexOf( "/", 8 );
				if ( ind > -1 )
					dlese_ddsQueryForm.action = dlese_myHost + dlese_ddsQueryForm.action.substring( ind, dlese_ddsQueryForm.action.length );
			}
			else
				dlese_ddsQueryForm.action = dlese_myHost + dlese_ddsQueryForm.action;				
		}
	}
}
dlese_pageOnLoad();
function dlese_pageOnLoad() {	
	dlese_ddsQueryForm = document.getElementById( "ddsQueryForm" );
	if ( !dlese_ddsQueryForm )
		setTimeout( "dlese_pageOnLoad()", 100 );
	else {
		dlese_bodyOnLoad();
		if ( dlese_pageHasVocabs )
			dlese_searchOnLoad();
	}
}
function dlese_bodyOnLoad() {
	dlese_ddsQueryForm = document.getElementById( "ddsQueryForm" );
	if ( !dlese_isNewsOpps && !dlese_isSiteSearch && dlese_ddsQueryForm && dlese_ddsQueryForm.q.value == '' )
		dlese_ddsQueryForm.q.focus();
	var cook = parseInt( dlese_readCookie( "searchOverSelected" ) );
	if ( cook && dlese_ddsQueryForm && dlese_ddsQueryForm.over && ( dlese_isStaticPage() || dlese_isFrontPage ) ) {
		if ( dlese_isFrontPage ) {
			eval( "dlese_ddsQueryForm.over[ " + parseInt( cook ) + " ].checked = true;" );
		}
		else
			dlese_ddsQueryForm.over.selectedIndex = cook;		
	}
	setTimeout( "dlese_changeDevDomains()", 10 );	
}
function dlese_isStaticPage() {
	var docLocation = document.location.href;
	if ( docLocation.indexOf( dlese_DISCOVERY_ROOT ) > -1 )
		return false;
	if ( docLocation.indexOf( "/news_opportunities/" ) > -1 )
		return false;
	if ( docLocation.indexOf( "/site_search/" ) > -1 )
		return false;
	return true;
}
function dlese_changeDevDomainSingleLink( link ) {
	// Change developer domains:
	if ( dlese_isDevServer ) {
		var ind = link.indexOf( 'http://www.dlese.org' );
		if ( ind == 0 ) {
				link = dlese_myHost + link.substring( 20, link.length );
		}
	}
	return link;
}

// ------------------------------------- Include survey Javascript ---------------------------
if ( document.dlese_surveyIsPresent )
	document.writeln( "<script type='text/javascript' src='/dlese_shared/dlese_script_user_survey.js'></script>" );

// ------------------------------------ Site navigation functions ------------------------------------
// Banner site navigation fly-downs (click to open, click *outside* to close)

var siteNavButtonsRendered = false;
function dlese_renderSiteNavButtons() {
	if ( !siteNavButtonsRendered ) {
		for ( var i = 0; i < dlese_allNav.length; i++ ) {
			dlese_NavigationRender( eval( dlese_allNav[ i ] ) );
		}
		siteNavButtonsRendered = true;
		if ( document.dlese_surveyIsPresent ) {
			initializeSurvey();
		}		
	}
}
function dlese_NavigationList( name, 
		imgClosed, 
		imgOpen, 
		imgSelectedClosed, 
		imgSelectedOpen, 
		imgWidth, 
		imgHeight, 
		left, 
		top, 
		noscriptHref,
		altText ) {
	this.name = name;
	this.div = name + 'navDiv';
	this.closeCall = 0;
	this.imgClosed = new Image();
	this.imgClosedSrc = imgClosed;	
	this.imgOpen = new Image();
	this.imgSelectedClosed = new Image();
	this.imgSelectedClosedSrc = imgSelectedClosed;	
	this.imgSelectedOpen = new Image();
	if ( imgClosed ) {	
		this.imgClosed.src = imgClosed;	
		this.imgOpen.src = imgOpen;
		this.imgSelectedClosed.src = imgSelectedClosed;
		this.imgSelectedOpen.src = imgSelectedOpen;
	}
	this.imgWidth = imgWidth;
	this.imgHeight = imgHeight;
	this.left = left;
	this.top = top;
	this.noscriptHref = noscriptHref;
	this.buttonAltText = altText;
	this.altText = new Array();
	this.moCount = 0;
	this.isOpen = false;
	this.parent = 0;
	this.label = new Array();
	this.href = new Array();
	this.target = new Array();	
	this.sublist = new Array();
	dlese_allNav[ dlese_allNav.length ] = name;
}
function dlese_AddNav( list, label, href, target, sublist, altText ) {
	var ind = list.label.length;
	list.label[ ind ] = label;
	list.href[ ind ] = href;
	list.target[ ind ] = target;
	list.altText[ ind ] = altText;
	if ( !target )
		list.target[ ind ] = '_top';
	if ( sublist ) {
		list.sublist[ ind ] = sublist;
		sublist.parent = list;
	}
}	
function dlese_displayNavList( list, left, top ) {
	if ( list.label.length > 0 ) {
		var topList = list;
		while ( topList.parent )
			topList = topList.parent;
		if ( left && top ) {
			left += 2; top += 2;
			document.writeln( "<style type='text/css'><!--" );
			document.writeln( ".navDivStyle" + list.div + " { display: none; visibility: hidden; position: absolute;" );
			document.writeln( "left: " + left + "px; top: " + top + "px; " );
			document.writeln( "background-color: #FFFFFF; font-family: arial, helvetica, sans-serif;" );
			document.writeln( "margin: 0px; padding: 5px; border: 2px outset #DDDDDD; z-index: 100000; }" );
			document.writeln( "-->\n</style>" );
			document.writeln( "<div id='" + list.div 
				+ "' class='navDivStyle" + list.div + "' "
				+ "onMouseOver='dlese_navOver( " + topList.name + " );' "
				+ "onMouseOut='setTimeout( \"dlese_navOut( " + topList.name + " );\", 1 )'>" );
		}
		else
			document.writeln( "<div id='" + list.div + "' class='dlese_siteNavInnerLayer' onMouseOver='dlese_navOver( " + topList.name + " );' "
				+ "onMouseOut='setTimeout( \"dlese_navOut( " + topList.name + " );\", 1 )'>" );
		document.writeln( "<table border='0' cellpadding='0' cellspacing='0' onMouseOver='dlese_navOver( " + topList.name + " );' "
			+ "onMouseOut='setTimeout( \"dlese_navOut( " + topList.name + " );\", 1 )'>" );
		for ( var i = 0; i < list.label.length; i++ ) {
			var hasTarget = false;
			var target = " target='" + list.target[ i ] + "'";
			if ( list.target[ i ] != '_top' )
				hasTarget = true;
			if ( list.sublist[ i ] ) {
				document.writeln( "<tr><td valign='top' nowrap><a href='javascript:dlese_toggleNav( " 
					+ list.sublist[ i ].name + " );' "
					+ "onMouseOver='dlese_navOver( " + topList.name + " ); window.status=\"\"; "
					+ "return true;' onMouseOut='setTimeout( \"dlese_navOut( " + topList.name + " );\", 1 )' "
					+ "class='dlese_siteNavLinks'>" + list.label[ i ] 
					+ " <img alt='List of " + list.label[ i ] + "' border='0' src='" 
					+ dlese_ARROW_CLOSED_DROPDOWN_SRC + "' id='" + list.sublist[ i ].name + "navToggle'></a>" ); 
				dlese_displayNavList( list.sublist[ i ] );
				document.writeln( "</td></tr>" );
			}
			else {
				document.writeln( "<tr><td valign='top' nowrap>" );
				var titleTipText = "";
				if ( list.altText[ i ] )
					titleTipText =  " title='" + list.altText[ i ] + "'";
				if ( list.href[ i ] && !hasTarget && !dlese_isFrames )
					document.write( "<a" + titleTipText + " href='" 
					+ dlese_changeDevDomainSingleLink( list.href[ i ] ) + "'" + target 
					+ " class='dlese_siteNavLinks' onMouseOver='dlese_navOver( " + topList.name + " );' "
					+ "onMouseOut='setTimeout( \"dlese_navOut( " + topList.name + " );\", 1 )'>" );
				else if ( list.href[ i ] )
					document.write( "<a" + titleTipText + " href='" + list.href[ i ] + "'" + target 
					+ " class='dlese_siteNavLinks' onMouseOver='dlese_navOver( " + topList.name + " );' "
					+ "onMouseOut='setTimeout( \"dlese_navOut( " + topList.name + " );\", 1 )'>" );
				document.write( list.label[ i ] );
				if ( list.href[ i ] )
					document.write( "</a>" );
				document.writeln( "</td></tr>" );
			}
		}		
		document.writeln( "</table></div>" );
	}
}
function dlese_NavigationRender( list ) {
	if ( !dlese_noscript ) {
		var imgSrc = list.imgClosedSrc;
		if ( dlese_navSelected == list.name )
			imgSrc = list.imgSelectedClosedSrc;
		document.writeln( "<style type='text/css'>" );
		document.writeln( ".dlese_Nav" + list.name + " { position: absolute; left: " 
			+ list.left + "px; top: " + list.top + "px; z-index: 50000; padding: 0px; margin: 0px; }" );
		document.writeln( "</style>" );
		if ( list.label.length > 0 ) {
			document.writeln( "<div class='dlese_bannerNavButtons'>" );
			var buttonLink = document.getElementById( "dlese_NavButton" + list.name );
			if ( buttonLink ) {
				buttonLink.href = "javascript:dlese_toggleNavButton( " + list.name + " )";
			}
			var buttonDiv = document.getElementById( "dlese_NavDiv" + list.name );
			document.writeln( "<div class='dlese_Nav" + list.name + "' id='dlese_NavButton" + list.name
				+ "'><a href='javascript:dlese_toggleNavButton( " 
				+ list.name + " )' onMouseOver='dlese_navOver( " + list.name + " ); "
				+ "window.status=\"\"; return false;' "
				+ "onMouseOut='setTimeout( \"dlese_navOut( " + list.name + " );\", 1 )'><img border='0' alt=\"" 
				+ list.buttonAltText + "\"  title=\"" 
				+ list.buttonAltText + "\" src='" + imgSrc + "' width='" + list.imgWidth + "' " + "height='" 
				+ list.imgHeight + "' id='" + list.name	+ "navImg'>" + "</a></div>" );
			document.writeln( "</div>" );
		}
		else {
			document.writeln( "<div class='dlese_Nav" + list.name + "'><a href='" + list.noscriptHref 
				+ "'><img border='0' alt=\"" + list.buttonAltText + "\" title=\"" + list.buttonAltText + "\" src='" + imgSrc + "' width='" + list.imgWidth + "' " + "height='" 
				+ list.imgHeight + "'>" + "</a></div>" );	
		}	
		dlese_displayNavList( list, list.left - 2, list.top + list.imgHeight - 1 );
	}
}
// ------------------------------------ Assign the DIV code to the given object's innerHTML 
// (alternate version of above that can be rendered after page has already loaded) ------------------------------------
function dlese_NavigationRenderInnerHtml( list, divName ) {
	if ( !dlese_noscript ) {
		var newInner = "";
		var imgSrc = list.imgClosedSrc;
		if ( dlese_navSelected == list.name )
			imgSrc = list.imgSelectedClosedSrc;
		newInner += "<style type='text/css'><!--";
		newInner += ".dlese_Nav" + list.name + " { position: absolute; left: " 
			+ list.left + "px; top: " + list.top + "px; border: 1px solid #000000; z-index: 50000; padding: 0px; margin: 0px; }";
		newInner += "-->\n</style>";
		if ( list.label.length > 0 ) {
			newInner += "<div class='dlese_Nav" + list.name + "' id='dlese_NavButton" + list.name
				+ "'><a href='javascript:dlese_toggleNavButton( " 
				+ list.name + " )' onMouseOver='dlese_navOver( " + list.name + " ); "
				+ "window.status=\"\"; return false;' "
				+ "onMouseOut='setTimeout( \"dlese_navOut( " + list.name + " );\", 1 )'><img border='0' alt=\"" 
				+ list.buttonAltText + "\" title=\"" 
				+ list.buttonAltText + "\" src='" + imgSrc + "' width='" + list.imgWidth + "' " + "height='" 
				+ list.imgHeight + "' id='" + list.name	+ "navImg'>" + "</a></div>";
		}
		else {
			newInner += "<div class='dlese_Nav" + list.name + "'><a href='" + list.noscriptHref 
				+ "'><img border='0' alt=\"" + list.buttonAltText + "\" title=\"" + list.buttonAltText + "\" src='" 
				+ imgSrc + "' width='" + list.imgWidth + "' " + "height='" 
				+ list.imgHeight + "'>" + "</a></div>";	
		}	
		newInner += dlese_displayNavListInnerHtml( list, list.left - 1, list.top + list.imgHeight );
	}
	var obj = document.getElementById( divName );
	if ( obj )
		obj.innerHTML = obj.innerHTML + newInner;
}	
function dlese_displayNavListInnerHtml( list, left, top ) {
	if ( list.label.length > 0 ) {
		var newInner = "";
		var topList = list;
		while ( topList.parent )
			topList = topList.parent;
		if ( left && top ) {
			left += 2; top += 2;
			newInner += "<style type='text/css'><!--";
			newInner += ".navDivStyle" + list.div + " { display: none; visibility: hidden; position: absolute;";
			newInner += "left: " + left + "px; top: " + top + "px; ";
			newInner += "background-color: #FFFFFF; font-family: arial, helvetica, sans-serif;";
			newInner += "margin: 0px; padding: 5px; border: 2px outset #DDDDDD; z-index: 100000; }";
			newInner += "-->\n</style>";
			newInner += "<div id='" + list.div 
				+ "' class='navDivStyle" + list.div + "' "
				+ "onMouseOver='dlese_navOver( " + topList.name + " );' "
				+ "onMouseOut='setTimeout( \"dlese_navOut( " + topList.name + " );\", 1 )'>";
		}
		else
			newInner += "<div id='" + list.div + "' class='dlese_siteNavInnerLayer' onMouseOver='dlese_navOver( " + topList.name + " );' "
				+ "onMouseOut='setTimeout( \"dlese_navOut( " + topList.name + " );\", 1 )'>";
		newInner += "<table border='0' cellpadding='0' cellspacing='0' onMouseOver='dlese_navOver( " + topList.name + " );' "
			+ "onMouseOut='setTimeout( \"dlese_navOut( " + topList.name + " );\", 1 )'>";
		for ( var i = 0; i < list.label.length; i++ ) {
			var hasTarget = false;
			var target = " target='" + list.target[ i ] + "'";
			if ( list.target[ i ] != '_top' )
				hasTarget = true;
			if ( list.sublist[ i ] ) {
				newInner += "<tr><td valign='top' nowrap><a href='javascript:dlese_toggleNav( " 
					+ list.sublist[ i ].name + " );' "
					+ "onMouseOver='dlese_navOver( " + topList.name + " ); window.status=\"\"; "
					+ "return true;' onMouseOut='setTimeout( \"dlese_navOut( " + topList.name + " );\", 1 )' "
					+ "class='dlese_siteNavLinks'>" + list.label[ i ] 
					+ " <img alt='List of " + list.label[ i ] + "' border='0' src='" 
					+ dlese_ARROW_CLOSED_DROPDOWN_SRC + "' id='" + list.sublist[ i ].name + "navToggle'></a>"; 
				newInner += dlese_displayNavListInnerHtml( list.sublist[ i ] );
				newInner += "</td></tr>";
			}
			else {
				newInner += "<tr><td valign='top' nowrap>";
				if ( list.href[ i ] && !hasTarget && !dlese_isFrames )
					newInner += "<a href='javascript:dlese_openPage( \"" 
					+ dlese_changeDevDomainSingleLink( list.href[ i ] ) + "\", \""
					+ list.name + "\", \"" + list.label[ i ] + "\" );'" + target 
					+ " class='dlese_siteNavLinks' onMouseOver='dlese_navOver( " + topList.name + " );' "
					+ "onMouseOut='setTimeout( \"dlese_navOut( " + topList.name + " );\", 1 )'>";
				else if ( list.href[ i ] )
					newInner += "<a href='" + list.href[ i ] + "'" + target 
					+ " class='dlese_siteNavLinks' onMouseOver='dlese_navOver( " + topList.name + " );' "
					+ "onMouseOut='setTimeout( \"dlese_navOut( " + topList.name + " );\", 1 )'>";
				newInner += list.label[ i ];
				if ( list.href[ i ] )
					newInner += "</a>";
				newInner += "</td></tr>";
			}
		}		
		newInner += "</table></div>";
	}
	return newInner;
}
function dlese_toggleNavButton( list ) {
	if ( !dlese_noscript ) {
		dlese_hideAllNav();
		window.status = '';
		toggleObjDisplay( list.div, '' );
		var obj = document.getElementById( list.div );
		var imgSrc;
		if ( list.name == dlese_navSelected ) {
			if ( obj.style.visibility == 'visible' ) {
				imgSrc = list.imgSelectedOpen.src;
				list.isOpen = true;
			}
			else {
				imgSrc = list.imgSelectedClosed.src;
				list.isOpen = false;
			}
		}
		else {
			if ( obj.style.visibility == 'visible' ) {
				imgSrc = list.imgOpen.src;
				list.isOpen = true;
			}
			else {
				imgSrc = list.imgClosed.src;
				list.isOpen = false;
			}
		}
		eval( "document.images." + list.name + "navImg.src = '" + imgSrc + "'" );
		if ( list.isOpen )
			dlese_hideSelectListsIE( true );
		else
			dlese_hideSelectListsIE( false );	
	}
}
function dlese_toggleNav( list ) {
	window.status = '';
	toggleObjDisplay( list.div, '' );
	var obj = document.getElementById( list.div );
	if ( obj.style.visibility == 'visible' )
		eval( "document.images." + list.name + "navToggle.src = '" + dlese_ARROW_OPEN_DROPDOWN.src + "'" );
	else
		eval( "document.images." + list.name + "navToggle.src = '" + dlese_ARROW_CLOSED_DROPDOWN.src + "'" );		
}
function dlese_navOver( list ) {
	list.moCount++;
}
function dlese_navOut( list ) {
	list.moCount--;
}
function dlese_hideAllNav() {
	for ( var i = 0; i < dlese_allNav.length; i++ ) {
		var nav = eval( dlese_allNav[ i ] );
		if ( nav.isOpen && nav.moCount < 1 ) {
			var imgSrc = nav.imgClosed.src;
			if ( nav.name == dlese_navSelected )
				imgSrc = nav.imgSelectedClosed.src;
			eval( "document.images." + nav.name + "navImg.src = '" + imgSrc + "'" );
			hideObj( nav.div, '' );
			nav.isOpen = false;
			dlese_hideSelectListsIE( false );
		}
	}
}
function dlese_openPage( url, navList, linkLabel ) {
	window.open( url, '_top' );
}

// -------------------------------------- KeyUp functions --------------------------------------
// Used for keyboard launching of DDS admin area, and Alt+C clearing of vocab lists

if ( dlese_isNetscape )
	document.onkeyup = keyUpFirefox;
else
	document.onkeyup = keyUp;
function keyUp( ev ) {
	if ( window.event.ctrlKey && ( window.event.keyCode == 192 ) )
		document.location.href = "/dds/admin/admin.do";
	else if ( ( document.location.href.indexOf( dlese_DISCOVERY_ROOT ) > -1 ) && 
			window.event.altKey && ( window.event.keyCode == 67 ) ) // Alt+C = clear vocabs
		doClearAll();
	else if ( window.event.ctrlKey && ( window.event.keyCode == 123 ) ) // Ctrl+F12 = stylesheet debugger toggle
		dlese_CSSDebuggerToggle();		
}
function keyUpFirefox( evt ) {
	var e = evt ? evt : window.event;
	if ( !e ) return;
	var key = 0;
	if ( e.keyCode ) { 
		key = e.keyCode; 
	} 
	else if ( typeof( e.which ) != 'undefined' ) { // for moz/fb, if keyCode==0 use 'which'
		key = e.which; 
	}
	if ( e.ctrlKey && ( key == 192 ) )
		document.location.href = "/dds/admin/admin.do";	
	else if ( ( document.location.href.indexOf( dlese_DISCOVERY_ROOT ) > -1 ) && 
			e.altKey && ( key == 67 ) ) // Alt+C = clear vocabs
		doClearAll();	
	else if ( e.ctrlKey && ( key == 123 ) ) // Ctrl+F12 = stylesheet debugger toggle
		dlese_CSSDebuggerToggle();		
}

// ------------------------------------ MouseDown functions ------------------------------------
// Used for hiding of survey, and IE select lists

function dlese_doMouseDown( event ) {
	if ( !dlese_noscript ) {
		if ( !dlese_isNetscape ) {
			if ( ( window.event.clientX < getInsideWindowWidth() ) &&
				 ( window.event.clientY < getInsideWindowHeight() ) )
			 	setTimeout( "dlese_mouseDown()", 1 );
		}
		else {
			if ( ( event.pageX < getInsideWindowWidth() ) &&
				 ( event.pageY < getInsideWindowHeight() ) )
			 	setTimeout( "dlese_mouseDown()", 1 );
		}
	}
}
function dlese_mouseDown() {
	if ( !dlese_noscript ) {
		dlese_vocabsShowing = false;
		var obj = document.getElementById( "dleseSurvey" );
		if ( obj != null && dlese_surveyMOCount == 0 ) {
			obj.style.display = 'none';
			surveyIsShowing = false;
		}		
		if ( dlese_pageHasVocabs ) {
			if ( !mouseClickedOnOpenVocab )
				dlese_hideAllVocab();
			else
				mouseClickedOnOpenVocab = false;
		}
		dlese_hideAllNav();
		if ( !dlese_isFrontPage ) 
			dlese_hideSelectListsIE( false );
		else
			setTimeout( "doSelectListsHide()", 200 );
	}
}
function doSelectListsHide() {
	if ( !dlese_isFrontPage || !dlese_vocabsShowing )
		dlese_hideSelectListsIE( false );
}
document.onmousedown = dlese_doMouseDown;

// -------------------------------------- Browser patches --------------------------------------
// IE (pre-v.7) didn't allow basic page DIVs (layers, paragraphs, etc.) to overlap <select> dropdowns

function dlese_hideSelectListsIE( hide ) {
	// IE select lists don't support z-index or zIndex, so we hide all of them:
	if ( dlese_isOldIE ) {
		for ( var i = 0; i < document.forms.length; i++ ) {
			for ( var j = 0; j < document.forms[i].elements.length; j++ ) {
				if ( document.forms[i].elements[j].type && 
					( document.forms[i].elements[j].type.indexOf( "select" ) == 0 ) ) {
					if ( hide )
						document.forms[i].elements[j].style.visibility = "hidden";
					else
						document.forms[i].elements[j].style.visibility = "visible";
				}
			}
		}
	}
}

// ------------ Render XML buttons (assumes request includes xml and xsl parameters) ------------
function dlese_getRenderedXmlButton( href, buttonLabel, textLabelPrefix, textLabelPostfix, addCss, tooltipText ) {
	if ( !tooltipText )
		tooltipText = "";
	return "<a href=\"" + href + "\" title=\"" + tooltipText 
		+ "\" style=\"text-decoration: none;\"><span class=\"" + addCss + " dlese_xmlButton\">" 
		+ buttonLabel + "</span></a>&nbsp;"	+ "<a href=\"" + href + "\" title=\"" + tooltipText + "\">" 
		+ textLabelPrefix + "</a> " + textLabelPostfix;
}
function dlese_renderXmlButton( href, buttonLabel, textLabelPrefix, textLabelPostfix, addCss, tooltipText ) {
	document.writeln( dlese_getRenderedXmlButton( href, buttonLabel, textLabelPrefix, textLabelPostfix, addCss, tooltipText ) );
}
function dlese_getRequestParam( param, includeAmpersandsInValue ) {
	var ret = "&" + document.location.href.substring( document.location.href.indexOf( "?" ) + 1,
		document.location.href.length ) + "&";
	var ind = ret.indexOf( "&" + param + "=" );
	if ( ind > -1 ) {
		if ( includeAmpersandsInValue )
			return ret.substring( ind + param.length + 2, ret.length - 1 );
		else
			return ret.substring( ind + param.length + 2, ret.indexOf( "&", ind + 1 ) );
	}
	return "";
}

// ---------------------------------- mailto: spambot avoiding ----------------------------------
function renderEmailAddress( prefix, postfix ) {
	var address = prefix + "@" + postfix;
	document.write( "<a href='mailto:" + address + "'>" + address + "</a>" );
}

function dlese_rea13( prefix, postfix ) {
	if ( typeof rot13 != "undefined" )
		renderEmailAddress( rot13( prefix ), rot13( postfix ) );
}

// ------------------------------------------ Cookies ------------------------------------------
// DLESE only uses *session* cookies that disappear when the browser is closed... 

function dlese_createCookie( name, value ) {
	document.cookie = name + "=" + value + "; path=/";
}
function dlese_readCookie( name ) {
	var nameEQ = name + "=";
	var ca = document.cookie.split( ';' );
	for( var i = 0; i < ca.length; i++ ) {
		var c = ca[i];
		while ( c.charAt( 0 ) == ' ' ) 
			c = c.substring( 1, c.length );
		if ( c.indexOf( nameEQ ) == 0 ) {
			return c.substring( nameEQ.length, c.length );
		}
	}
	return null;
}

// ------------------------------- Rot13 for mailto: obfuscation -------------------------------
// This work is hereby released into the Public Domain. To view a copy of the 
// public domain dedication, visit http://creativecommons.org/licenses/publicdomain/ 
// or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
// origin: 2000-01-08 nospam@geht.net http://tools.geht.net/rot13.html
// Use at own risk.
// The problem is that JavaScript 1.0 does not provide a Char to Numeric value conversion.
// Thus we define a map.
// Because there are 64K UniCode characters, this map does not cover all characters.
//
var rot13map; 
function rot13init() { 
	var map = new Array(); 
	var s = "abcdefghijklmnopqrstuvwxyz"; 
	for (i=0; i<s.length; i++) 
		map[s.charAt(i)] = s.charAt((i+13)%26); 
	for (i=0; i<s.length; i++) 
		map[s.charAt(i).toUpperCase()] = s.charAt((i+13)%26).toUpperCase(); 
	return map; 
} 
function rot13(a) { 
	if (!rot13map) 
		rot13map = rot13init(); 
	s = ""; 
	for (i=0; i<a.length; i++) { 
		var b = a.charAt(i); 
		s += (b>='A' && b<='Z' || b>='a' && b<='z' ? rot13map[b] : b); 
	} 
	return s; 
}

// ----------------------- Cross-browser object/div/layer functionality -----------------------

function getObject( name ) {
	if ( !dlese_noscript )
		return document.getElementById( name );
}
function getInsideWindowWidth() {
	if ( !dlese_noscript )
		return document.body.clientWidth;
}
function getInsideWindowHeight() {
	if ( !dlese_noscript )
		return document.body.clientHeight;
}
function showObj( name ) {
	var obj = getObject( name );
	if ( !dlese_noscript ) {
		obj.style.display = "block";
		obj.style.visibility = "visible";
	}
}
function hideObj( name ) {
	var obj = getObject( name );
	if ( obj ) {
		if ( !dlese_noscript ) {
			obj.style.display = "none";
			obj.style.visibility = "hidden";
		}
	}
}
function toggleObjDisplay( name ) {
	var obj = getObject( name );
	var showing;
	showing = obj.style.display;
	if ( !showing || showing == "none" ) {
		showObj( name );
	}
	else {
		hideObj( name );
	}
}

// DELAYED (event rendered) dynamically collapsable trees
// RETAINED ONLY FOR BACKWARDS COMPATIBILITY, BUT DEPRECATED IN FAVOR OF OPML TREES...

var dlese_TREE_COLLAPSE_DELAY = 200,	// ms delay when user toggles menu at level of other open menu
	dlese_treeSiteBase = '';	//
var dlese_TreeIndentImg = new Array();
dlese_TreeIndentImg[ 0 ] = new Image();
dlese_TreeIndentImg[ 0 ].src = '/dlese_shared/tree_menu/images/tree_bullet_indent.gif';
dlese_TreeIndentImg[ 1 ] = new Image();
dlese_TreeIndentImg[ 1 ].src = '/dlese_shared/tree_menu/images/tree_bullet_stick.gif';

function dlese_setSiteBase( base, imagesBase ) {
	dlese_treeSiteBase = base;
}
var dlese_treeDiv = '';
function TreeMenu( name, indent ) {
	this.entries = new TreeMenuEntries();
	this.name = name;
	this.open = false;
	this.parent = null;
	this.rendered = false;
	if ( !indent ) indent = 0;
	this.indent = indent;
	if ( name == 'M0' )
		document.writeln( "<div class='dlese_InnerMenuTop'>\n<div id='dlese_htmlOf" + name + "' class='dlese_InnerMenu'></div>\n</div>\n" );	
	this.closeCall = 0;
}
function TreeMenuEntries() {
	this.link = new Array();
	this.menu = new Array();
	this.label = new Array();
	this.vis = new Array();
	this.target = new Array();
	this.state = new Array();
}
function ATE( winmenu, link, label, menu, target ) {	
	if ( menu ) {
		winmenu.entries.menu[ winmenu.entries.menu.length ] = menu;
		menu.parent = winmenu;
		menu.indent = winmenu.indent + 1;
	}
	else
		winmenu.entries.menu[ winmenu.entries.menu.length ] = null;	
	if ( link ) {
		if ( ( link.indexOf( "http://" ) > -1 ) || ( link.indexOf( "mailto:" ) > -1 ) )
			winmenu.entries.link[ winmenu.entries.link.length ] = link;
		else
			winmenu.entries.link[ winmenu.entries.link.length ] = dlese_treeSiteBase + link;
	}
	else
		winmenu.entries.link[ winmenu.entries.link.length ] = '';
	winmenu.entries.label[ winmenu.entries.label.length ] = label;
}	
function dlese_renderMenu( menu, hasInner, top, left ) {
	if ( !dlese_noscript ) {
		var isCurrentPage = false;
		var menuObj = document.getElementById( "dlese_htmlOf" + menu.name );
		var ret = '';
		if ( menu.rendered ) {
			menuObj.style.display = 'block';
		}
		else if ( menu.name ) { 
			var styleAppend = '';
			if ( menu.name == 'M0' )
				styleAppend = " style='margin-top: " + SIDE_MENU_TOP + "px; width: " + SIDE_MENU_WIDTH + "px;'";
			if ( !menu.indent )
				ret += "<table width=100% height=0 border=0 height=19 border=0 cellpadding=0 cellspacing=0 class='dlese_menuItemBackgroundTop" 
					+ "'" + styleAppend + ">";
			else
				ret += "<table width=100% height=0 border=0 height=19 border=0 cellpadding=0 cellspacing=0 class='dlese_menuItemBackgroundInner" 
					+ "'" + styleAppend + ">"; 
			if ( menu.entries ) {
				for ( var i = 0; i < menu.entries.label.length; i++ ) {
					var ind = document.location.href.indexOf( '//' );
					var ind2 = document.location.href.indexOf( '/', ind + 3 );
					var classOf = '';
					if ( menu.entries.link[ i ] &&
						 ( document.location.href.indexOf( menu.entries.link[ i ] ) == ind2 ) ) {
						classOf = "dlese_menuItemHighlight";
						isCurrentPage = true;
						if ( menu.entries.menu[ i ] )
							setTimeout( "dlese_renderMenu( " + menu.entries.menu[ i ].name + " )", 1 );
					}
					else
						classOf = 'dlese_menuItem';
					var textStyle = '';
					if ( !menu.indent )
						textStyle += "style='font-weight: bold;'";
					if ( menu.entries.menu[ i ] ) {	
						var hrefStr = '';
						if ( menu.entries.link[ i ].length > 0 )
							hrefStr = "href='" + menu.entries.link[ i ] + "'";
						if ( !classOf )
							classOf = 'dlese_menuItem';
						ret += "<tr>"
								+ "<td class='" + classOf + "'>"
									+ "<a " + hrefStr + " onClick='toggleMenu( " + menu.entries.menu[ i ].name + " )'"
									+ " " + textStyle + ">"
										+ indentImages( menu, i, true ) 
										+ menu.entries.label[ i ] 
									+ "</a>\n"
									+ "<div class='dlese_innerMenu' id='dlese_htmlOf" 
									+ menu.entries.menu[ i ].name + "'></div>\n"
								+ "</td></tr>\n";
					}
					else {
						ret += "<tr>"
								+ "<td class='" + classOf + "'>"		
									+ "<a href='" + menu.entries.link[ i ] + "' " + textStyle + ">"
										+ indentImages( menu, i, false ) 
										+ menu.entries.label[ i ] 
									+ "</a>"
								+ "</td>"
							+ "</tr>";
					}
				}
			}	
			ret += "</td></table>\n";
			if ( menuObj ) {
				menu.rendered = true;							
				menuObj.innerHTML = ret + "\n";
					menuObj.style.display = "block";
			}
		}
		menu.open = true;
		return ret;
	}
}
function indentImages( menu, i, hasSub ) {
	var ret = '';
	for ( var j = 0; j < menu.indent; j++ ) {
			ret += "<img src='" + dlese_TreeIndentImg[ 0 ].src + "' height=19 width=10 border=0 align=left hspace=0 vspace=0>";
	}
	if ( hasSub )
		ret += "<img src='" + dlese_TreeIndentImg[ 1 ].src + "' height=19 width=10 border=0 align=left hspace=0 vspace=0>";
	else
		ret += "<img src='" + dlese_TreeIndentImg[ 0 ].src + "' height=19 width=10 border=0 align=left hspace=0 vspace=0>";		
	return ret;
}
var dlese_menuRendered = "";
function checkChildren( menu ) {
	for ( var i = 0; i < menu.entries.label.length; i++ ) {
		if ( menu.entries.link[ i ] && document.location.href.indexOf( menu.entries.link[ i ] ) > -1 ) {
			menu.entries.state[ i ] = 1;
			renderParentThenMenu( menu );
			return true;
		}
		else if ( menu.entries.menu[ i ] )
			checkChildren( menu.entries.menu[ i ] );
	}
	return false;
}
function renderParentThenMenu( menu ) {
	if ( menu.parent )
		renderParentThenMenu( menu.parent );
	dlese_renderMenu( menu );
}
function closeMenu( menu ) {
	if ( menu.rendered ) {
		var obj = document.getElementById( "dlese_htmlOf" + menu.name );
		obj.style.display = "none";
	}
}
function toggleMenu( menu ) {
	menu.open = !menu.open;
	var didClose = false;
	if ( menu.parent ) {
		for ( var i = 0; i < menu.parent.entries.label.length; i++ ) {
			if ( menu.parent.entries.menu[ i ] && menu.parent.entries.menu[ i ].open && ( menu.parent.entries.menu[ i ] != menu ) ) {
				closeMenu( menu.parent.entries.menu[ i ] );
				didClose = true;
			}
		}
		if ( !didClose )
			dlese_showMenu( menu );
		else
			setTimeout( "dlese_showMenu( " + menu.name + " )", dlese_TREE_COLLAPSE_DELAY );
	}
}
function dlese_showMenu( menu ) {
	if ( !menu.rendered ) {
		dlese_renderMenu( menu );
		toggleMenu( menu );
	}
	else {
		var obj = document.getElementById( "dlese_htmlOf" + menu.name );
		obj.style.display = "block";
		menu.open = true;
	}
}
function BTE() {}


// ----------------------- DSV pop-open layers ("CHOOSING AND USING...") -----------------------

var num=10;

function Set_Cookie( name, value) 
{

document.cookie = name + "=" +escape( value ) + ";path=/" ; 
}

// this function gets the cookie, if it exists
function Get_Cookie( name ) {
	
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) )
	{
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );	
	if ( end == -1 ) end = document.cookie.length;
		return unescape( document.cookie.substring( len, end ) );
}
	
// this deletes the cookie when called
function Delete_Cookie( name) {
if ( Get_Cookie( name ) ) document.cookie = name + "=" + ";path=/" + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function clearPopupsStatus(){
	Delete_Cookie("popups"); 
	Set_Cookie("popups", ""); 
}

var popups = '';
function setPopupsStatus()
{
	
	for (i = 0 ; i < num ; i++)
	{
 		var elementId = 'choosingUsing_' + i;
		var objElement = document.getElementById(elementId); 
		if (objElement != null){
			if (objElement.style.display == 'block')
				popups += i+":open&";
			else
				popups += i+":closed&";
	
		}
	}
	Delete_Cookie("popups"); 
	Set_Cookie("popups",  popups);
}


function getPopupsStatus(){
	if (Get_Cookie('popups')) 
	{ 
		arrowUp = new Image;
		arrowDown = new Image;
		arrowUp.src = "images/btnExpandClsd.gif";
		arrowDown.src = "images/btnExpand.gif";
		var popups_all = Get_Cookie('popups'); 
		var separated_values = popups_all.split("&");
		var property_value = "";
		var theInfo = new Array();

		for (var loop = 0; loop < separated_values.length-1; loop++)
		{
			property_value = separated_values[loop];
			var broken_info = property_value.split(":");
			var the_property = broken_info[0];
			var the_value = broken_info[1];
			theInfo[the_property] = the_value;
		}
		
		for (var loop = 0;loop  < theInfo.length ; loop++)
		{
			var elementId = 'choosingUsing_' + loop;
			var objElement = document.getElementById(elementId);
			var arrow = document[ elementId + '_arrow' ];
			if (objElement != null){
				if (theInfo[loop] == 'open')
					{	
					objElement.style.display = 'block';
					if(arrow)
						arrow.src = arrowDown.src;
					}
				else
				{
					objElement.style.display = 'none';
					if(arrow)
					{
						arrow.src = arrowUp.src;
					}
				}
					
			}
	
		} 
		


	}  

}

	
function toggleVisibility( elementID ) {
	arrowUp = new Image;
	arrowDown = new Image;
	arrowUp.src = "images/btnExpandClsd.gif";
	arrowDown.src = "images/btnExpand.gif";
	var objElement = document.getElementById( elementID );
	var arrow = document[ elementID + '_arrow' ];
	if ( objElement != null ) {
		if ( objElement.style.display == 'block' ) {
			objElement.style.display = 'none';
			if(arrow)
			{
				arrow.src = arrowUp.src;
			}
		}
		else {
			objElement.style.display = 'block';
			if(arrow)
				arrow.src = arrowDown.src;
		}
	}
	setTimeout( "setPopupsStatus();", 100 );
}


	


