		var expandedTriggerClass='triggerexpanded';
		var normalTriggerClass='triggernormal';
		var hoverTriggerClass='triggerhover';
		var normalElementClass='elementnormal';
		var collapsedElementClass='elementcollapsed';
		var collapsedElements=new Array();
		var triggerElements=new Array();
    	function domCollapse()
		{
			if(document.getElementById && document.createTextNode) // verifies that browser supports the DOM
			{
				//parentElementId='collapsesection';
				//triggerelements='p';
				var triggerClass=/trigger/;
				
				// grab nav from url
				var navClass = "blank"; var expandNow = new Array();
				var topurl = new String(top.location.href); // Grab url from top frame
				var pos = topurl.indexOf("#");  //finds the INDEX of # char
				if(pos >= 0) //if there IS an nav token
				{
					var navflag = topurl.substring(topurl.length - ((topurl.length-pos)-1), topurl.length); // grabs navigation flag
					expandNow.push(navflag); //alert(navflag);
					/*switch(navflag)
					{
						case "burgeras":
						case "currierras":
						case "stanleyras":
						case "daumras":
							expandNow.push("enstaff"); expandNow.push("acs"); break;
							
						case "mayflowerras":
						case "parklawnras":
							expandNow.push("nnstaff"); expandNow.push("acs"); break;
							
						case "hillcrestras":
						case "slaterras":
						case "quadrangleras":
						case "rienowras":
							expandNow.push("wnstaff"); expandNow.push("acs"); break;
							
						case "nnstaff":
						case "enstaff":
						case "wnstaff":
							expandNow.push("acs");break;
					}*/		
				}
				// end TEST segment
				
				
				var elms,tohide,colobj,elementsToCheck,triggerelements,parentElementId;
				elementsToCheck=triggerelements?triggerelements:'*';
				
				if(parentElementId)
				{
					elms=document.getElementById('parentElementId').getElementsByTagName(elementsToCheck);
				} else {
					elms=document.getElementsByTagName(elementsToCheck);
				}
				for (i=0;i<elms.length;i++)
				{
					if(triggerClass.test(elms[i].className))
					{
						tohide=elms[i].nextSibling;
						while(tohide.nodeType!=1)
						{
							tohide=tohide.nextSibling; // Loops until it rests on final div
						}
						collapsedElements.push(tohide)
						triggerElements.push(elms[i])
						juggleClass(tohide,normalElementClass,0);
						juggleClass(tohide,collapsedElementClass,1);
						elms[i].colobj=tohide;
						elms[i].onmouseover=function(){doTriggerHover(this);}
						elms[i].onmouseout=function(){juggleClass(this,hoverTriggerClass,0);}
						elms[i].onclick=function(){doDomCollapse(this,this.colobj);return false}
						elms[i].className=elms[i].className+' '+normalTriggerClass;
						
						//expandThis(elms[i], expandNow[]);
						
						for(j=0;j<expandNow.length;j++)
						{
						if(elms[i].className.indexOf(expandNow[j]) >= 0) 
						{
						//alert('I found a trigger called: '+ expandNow[j]); 
						doDomCollapse(elms[i], elms[i].colobj);
						}
						}
					}
				}
			}
		}
		function doTriggerHover(o)
		{
			if(!checkClass(hoverTriggerClass,o) && !checkClass(expandedTriggerClass,o))
			{
				juggleClass(o,hoverTriggerClass,1);
			}
		}
		function doDomCollapse(o,t)
		{
			if(t)
			{
				if(checkClass(collapsedElementClass,t))
				{
					juggleClass(t,collapsedElementClass,0);
					juggleClass(t,normalElementClass,1);
					juggleClass(o,normalTriggerClass,0);
					juggleClass(o,expandedTriggerClass,1);
				}else{
					juggleClass(t,normalElementClass,0);
					juggleClass(t,collapsedElementClass,1);
					juggleClass(o,expandedTriggerClass,0);
					juggleClass(o,normalTriggerClass,1);
				}
			}
		}
		function doDomCollapseAll(state){
			var i,o,t;
			for(i=0;i<collapsedElements.length;i++){
				t=collapsedElements[i];	
				o=triggerElements[i];	
				if(state==1){
					juggleClass(t,collapsedElementClass,0);
					juggleClass(t,normalElementClass,1);
					juggleClass(o,normalTriggerClass,0);
					juggleClass(o,expandedTriggerClass,1);
				} else {
					juggleClass(t,normalElementClass,0);
					juggleClass(t,collapsedElementClass,1);
					juggleClass(o,expandedTriggerClass,0);
					juggleClass(o,normalTriggerClass,1);
				}
			}
		}
		function juggleClass(o,c,s)
		{
			if(s==0) 
			{
				o.className=o.className.replace(c,'');	
			}
			if (s==1 && !checkClass(c,o))
			{
				o.className+=' '+c
			}
		}
		function checkClass(c,o)
		{
			var re=new RegExp('\\b'+c+'\\b');
			return re.test(o.className);
		}

		window.onload=domCollapse;
	