function elementSetClass(curEl, className) {
	if (document.all) {
		curEl.setAttribute('className', className);
	} else {
        curEl.setAttribute('class', className);
	}
}

function toggleMoreSubcats(hrefEl) {
	var idParts = hrefEl.id.split(/_/);
	var categoryId = idParts[1];
	if (!categoryOpen[categoryId]) {
		categoryOpen[categoryId] = false;
	}
	categoryOpen[categoryId] = !categoryOpen[categoryId];
	var categoryUlId = 'category_' + categoryId;
	var categoryUl = document.getElementById(categoryUlId);
	var counter = 0;
	var liDisplayClass = '';
	for (i = 0; i < categoryUl.childNodes.length; i++) {
		var curNode = categoryUl.childNodes[i];
		if (curNode.tagName != 'LI') continue;
		counter++;
		if (categoryOpen[categoryId]) {
			liDisplayClass = 'subcatvisible';
		} else {
			liDisplayClass = 'subcathidden';
		}
		if (counter > 3) {
			elementSetClass(curNode, liDisplayClass);
		}
	}
	if (categoryOpen[categoryId]) {
		hrefEl.innerHTML = "fewer...";
	} else {
		hrefEl.innerHTML = "more...";
	}
}

var categoryOpen = new Array();