	function getElementsByClassName(node, classname)
	{
		var a = [];
		var re = new RegExp('\\b' + classname + '\\b');
		var els = node.getElementsByTagName("*");
		for(var i=0,j=els.length; i<j; i++)
			if(re.test(els[i].className))a.push(els[i]);
		return a;
	}


// Used for alternating/highlighting tables  
// when the page loads it sees how each table is tagged and then gives
// it the appropriate highlighting/alternating colors...
// for example: 
// 			table class='tableLines' id='tableShade' = alternating tr colors
//			table class='tableLines' id='tableHighlight' = mouseover highlighting of trs
//			table class='tableLines' id='' = no tr colors, no highlighting
//			table class='tableAllLines' id='tableShade' = alternating tr colors
//			table class='tableAllLines' id='tableHighlight' = mouseover highlighting of trs
function alternate()
{
		// ALL TABLES W/ CLASS tableLines ----------------------
		tables = getElementsByClassName(document, 'tableLines');
		for(i = 0; i<tables.length; i++)
		{
		// sets array of all trs within tables with className tableLines
		trs = tables[i].getElementsByTagName('tr');
			// CLASS = tableLines ---- ID = 'tableShade'
			if(tables[i].id == 'tableShade')
			{
				for(k = 0; k < trs.length; k++)
				{
					if((k%2) == 0)
					{
						trs[k].className = "even";
					} 
					else 
					{
						trs[k].className = "odd";
					}
				}
			} 
			// CLASS = tableLines ---- ID = 'tableHighlight'
			else if(tables[i].id == 'tableHighlight')
			{
				for(k = 0; k < trs.length; k++)
				{
					trs[k].onmouseover = function()
					{
						this.className = "even";
					}
					trs[k].onmouseout = function()
					{
						this.className = "odd";
					}
				}
			}
		}
		
		// ALL TABLES W/ CLASS tableAllLines ----------------------
		tableAlls = getElementsByClassName(document, 'tableAllLines');
		for(l = 0; l<tableAlls.length; l++)
		{
			// sets array of all trs within tables with className = 'tableAllLines'
			trsAll = tableAlls[l].getElementsByTagName('tr');
			// CLASS = tableAllLines ---- ID = 'tableShade'
			if(tableAlls[l].id == 'tableShade')
			{
				for(m = 0; m < trsAll.length; m++)
				{
					if((m%2) == 0)
					{
						trsAll[m].className = "even";
					} 
					else 
					{
						trsAll[m].className = "odd";
					}
				}
			}
			// CLASS = tableAllLines ---- ID = 'tableHighlight'
			else if(tableAlls[l].id == 'tableHighlight')
			{
				for(m = 0; m < trsAll.length; m++)
				{
					trsAll[m].onmouseover = function()
					{
						this.className = "even";
					}
					trsAll[m].onmouseout = function()
					{
						this.className = "odd";
					}
				}
			}
		}
}	

	
//<iframe style="visibility: hidden" height="1" width="1" src="[~~ESTUDIO_SERVICE~~]serviceName=search&contentID=0" application="yes"></iframe>	
	
	
	
	<!--//--><![CDATA[//><!--
LINEHEIGHT = 21;
IFRAMEWIDTH = 110 + 'px';

sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
			if(this.parentNode.id == 'nav') 
			{
				numLIs = this.getElementsByTagName('li').length;
				this.getElementsByTagName('iframe')[0].style.height = (LINEHEIGHT * numLIs) + 'px';//- ((numLIs * 2) - 4) + 'px';
				this.getElementsByTagName('iframe')[0].style.width = IFRAMEWIDTH;
				this.getElementsByTagName('iframe')[0].style.display = 'block';
			}
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			
			if(this.parentNode.id == 'nav') {
				this.getElementsByTagName('iframe')[0].style.display = 'none';
			}
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

//--><!]]>