//zmienione przeze mnie, dodałem, by sprawdzał dodatkową klasę przed zwinięciem wszystkiego

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)
			{
				//parentElementId='collapsesection';
				//triggerelements='h2';
				var triggerClass=/trigger/;
	
				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;
						}
						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;
					}
				}
			}
			checkmenus();
		}
		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(checkClass('drugiecollapse',t)){
					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);
		}
		
		
		function checkmenus(s) {
		 var leftmenu=document.getElementById('menu_left');
		 var el = leftmenu.getElementsByTagName("div");
		 var str = "";
		 var wlhref=window.location.href;
		 if (wlhref.charAt(wlhref.length-1) == "/")
		    wlhref = wlhref.substring(0,wlhref.length-1);
		 str += wlhref.length;
		 str += wlhref+"\n";
		 for (i = 0; i < el.length; i++) {
		    if (el[i].className.indexOf('pierwszy')!= -1) {
		          
   		    str += i+": ";
   		    pierwszy = el[i];
   		    //pierwszy.style.display='block';
   		    var elements1 = pierwszy.getElementsByTagName("h5");
   		    for (j = 0; j < elements1.length; j++) {

   		       if (elements1[j].className.indexOf('trigger')!=-1) {
   		       }
   		       else {
   		          var links = elements1[j].getElementsByTagName("a");
   		          if (links[0].href == wlhref) {
   		             //juggleClass(pierwszy,normalTriggerClass,0);
   		             //juggleClass(pierwszy,expandedTriggerClass,1);
   		             pierwszy.className+="elementnormal";
   		             str += "("+links[0].href+")";
   		           }
   		       }
   		    }
   		    
   		    var elements2 = pierwszy.getElementsByTagName("ul");
 		       if (i == 2)  
 		         var members = elements2[0];
   		    for (j = 0; j < elements2.length; j++) {
   		       if ((elements2[j].className.indexOf('drugi') != -1) || (elements2[j].className.indexOf('long') != -1)) {
   		          var links = elements2[j].getElementsByTagName("a");
   		          //window.alert(elements2[j]);
   		          for (k = 0; k < links.length; k++) {
   		             str += "("+links[k].href+")"+window.location.href+"-"+(links[k].href==window.location.href)+"\n"; 
   		             if (links[k].href == wlhref) {
   		                pierwszy.className+="elementnormal";
   		                str += "("+links[k].href+")";
   		                elements2[j].className+="elementnormal";
   		              }
   		          }
   		       }
   		    }
   		    
   		    
   		    str += "\n";
		    }
		 }
		 
		 if (wlhref.indexOf("profiles.php?id=") != -1) {
		    el[2].className+="elementnormal";
         members.className+="elementnormal";		    
		 }
		 
		 if (s==1) window.alert(str);
		 
		}
		

		window.onload=domCollapse;
	
