
function jsfOnLoad()
{
	jsfBrowserDetect();
	if (document.getElementById('jsA')&&((!browser.isIE501)||(!browser.isMACIE)))
	{
		setGlossary();
	}
}

function jsfBrowserDetect()
{
	var ua = navigator.userAgent.toLowerCase(); 
	this.isIE501 = (ua.indexOf('msie 5.01') != -1);
	this.isFF = (ua.indexOf('firefox')!= -1);
	this.isMACIE = ((ua.indexOf('msie')!= -1)  && (ua.indexOf('mac_powerpc')!= -1)) ;
}

var browser = new jsfBrowserDetect();

var glossaryLetters = [ 'jsA',
				 		'jsB',
				 		'jsC',
				 		'jsD',
				 		'jsE',
				 		'jsF',
				 		'jsG',
				 		'jsH',
				 		'jsI',
				 		'jsJ',
				 		'jsK',
				 		'jsL',
						'jsM',
						'jsN',
						'jsO',
						'jsP',
						'jsQ',
						'jsR',
						'jsS',
						'jsT',
						'jsU',
						'jsV',
						'jsW',
						'jsX',
						'jsY',
						'jsZ'];

		//function used as the on click function in the HTML
		function showGlossary(letterId)
		{
			if(textNodeFlag == 0)
			{
				hideContent();
			}
			hideAll();
			chosenElement = document.getElementById(letterId);
			if (chosenElement)
			{
				chosenElement.style.display= "block";
			}
		}
		
		//function that hides all blocks of content
		function hideAll()
		{
			for(i=0; i<(glossaryLetters.length);i++)
			{
				currentElement = document.getElementById(glossaryLetters[i]);
				if (currentElement)
				{
					currentElement.style.display= "none";
				}
			}
		}
		//function that shows all blocks of content
		function showAll()
		{
			for(i=0; i<(glossaryLetters.length);i++)
			{
				currentElement = document.getElementById(glossaryLetters[i]);
				if (currentElement)
				{
					currentElement.style.display= "block";
				}
			}
		}
		
		var linkNodeLink = document.createElement("a");
		var linkNodeLinkText = document.createTextNode("List whole alphabet");
		var linkNodeLinkText2 = document.createTextNode("Show By Letter");
		var textNodeFlag = 1;
		
		//Function that shows all content and changes the link to a 'hide all terms'
		function showContent()
		{
			textNodeFlag = 0;
			showAll();
			linkNode = document.getElementById('jsLink01');
			if (linkNode)
			{
				
				linkNodeLink.setAttribute("href","javascript:hideContent()");
				linkNodeLink.removeChild(linkNodeLinkText);
				linkNodeLink.appendChild(linkNodeLinkText2);
				linkNode.appendChild(linkNodeLink);
			}
		}
		
		//Function that hides all content and changes the link to a 'show all terms'
		function hideContent()
		{
			textNodeFlag = 1;
			showGlossary('jsA');
			linkNode = document.getElementById('jsLink01');
			if (linkNode)
			{
				
				linkNodeLink.setAttribute("href","javascript:showContent()");
				linkNodeLink.removeChild(linkNodeLinkText2);
				linkNodeLink.appendChild(linkNodeLinkText);
				linkNode.appendChild(linkNodeLink);
			}
		}
		function setGlossary()
		{
			var varvalue; 
			varvalue = document.location.search.substring(document.location.search.length-3);
			if(varvalue.substring(0,2)=="js"){			
			showGlossary(varvalue);
			}
			else{
			showGlossary('jsA');
			}

			linkNode = document.getElementById('jsLink01');
			if (linkNode)
			{
				
				linkNodeLink.setAttribute("href","javascript:showContent()");
				linkNodeLink.appendChild(linkNodeLinkText);
				linkNode.appendChild(linkNodeLink);
			}
			listings = document.getElementById('extGlossary');
			listings.setAttribute("class","extWithJS");
			listings.setAttribute("className","extWithJS");
		}

	function displayToolTip(desc) {
		if(desc != null){
			document.getElementById('mylabel').innerHTML = desc;
		}
	}

if (window.addEventListener)
{
	window.addEventListener("load", jsfOnLoad, false);
}
else
{
	if (window.attachEvent)
	{
		window.attachEvent("onload", jsfOnLoad);
	}
	else
	{
	if (document.getElementById)
		{
			window.onload = jsfOnLoad;
		}
	}
}