	var numOfEls = 2;
	
	function minimizeCategories(section, catClassName){
		var cats = $(section).getElementsByClassName(catClassName);
		for(i=0; i < cats.length; i++){
			Event.observe(cats[i].down(), 'click', function(event){
				var elt = Event.element(event);
				toggleCategory(this);
			} );
			var divElement = document.createElement("div");
			divElement.className = 'off';
			divElement.innerHTML = '<a href="#" onclick="toggleCategory(this);return false;">more &raquo;</a>';
			cats[i].appendChild(divElement);
			toggleCategory(cats[i].down());
		}
	}
	function findElementUL(element){
		element = element.next();
		if(element.nodeName == 'UL'){
			return element;
		}
		if(element == undefined){
			return element;
		}
		return findElementUL(element);
	}
	function toggleCategory(element){
		if(numOfEls == undefined){
			var numOfEls = 2;
		}
		var mrInfPattern = /more /;
		if(mrInfPattern.test(element.innerHTML)){
			element = element.parentNode;
			element = element.parentNode;
			element = element.down();
		}
		
		var	pointer = findElementUL(element);
		
		if(pointer == undefined){
			return false;
		}
		pointer = pointer.down();
		
		var moreInfo = pointer.up().next();

		if(mrInfPattern.test(moreInfo.innerHTML) == false){
			moreInfo = false;
		}
		
		var i = 0; 
		while(pointer != undefined){
			if(i > (numOfEls-1)){
				if(pointer.className == 'off'){
					pointer.className = 'on';
					if(moreInfo){
						moreInfo.className = 'off';
					}			
				}else{
					pointer.className = 'off';
					if(moreInfo){
						moreInfo.className = 'on';
					}
				}
			}
			i++;
			pointer = pointer.next();
		}
	}
