function clickCategoryAndPerform(code, performClick) {
	var clickedAnswer = findAnswer(parseInt(code.value))
	if (questionConstraints.useJavascriptAnswer.value == "true") {
		if (code.checked == true) {
			var found = false;
			for (var i = 0; i < codesAnswer.length; i++) {
				if (codesAnswer[i] == clickedAnswer) {
					found = true;
					break;
				}
			}
			if (found == false) {
				codesAnswer[codesAnswer.length] = clickedAnswer;
				if (questionConstraints.orderCategories && questionConstraints.orderCategories == true)  {
					codesAnswer[codesAnswer.length - 1].orderColumn.innerHTML = "&nbsp;&nbsp;[" + codesAnswer.length + "]";
					var cls = clickedAnswer.holder.className;
					clickedAnswer.holder.className = cls + " odincategory-ordered";
				}
			}
		} else {
			if (questionConstraints.orderCategories && questionConstraints.orderCategories == true)  {
				clickedAnswer.orderColumn.innerHTML = "";
				var cls = clickedAnswer.holder.className;
				var re = new RegExp("odincategory-ordered", "g");
				clickedAnswer.holder.className = cls.replace(re, "");
			}
			var oldAnswers = new Array(0);
			for (var i = 0; i < codesAnswer.length; ++i) {
				oldAnswers[oldAnswers.length] = codesAnswer[i];
			}
			codesAnswer = new Array(0);
			for (var i = 0; i < oldAnswers.length; i++) {
				if (oldAnswers[i].codevalue != parseInt(code.value)) {
					codesAnswer[codesAnswer.length] = oldAnswers[i];
					if (questionConstraints.orderCategories && questionConstraints.orderCategories == true)  {
						codesAnswer[codesAnswer.length - 1].orderColumn.innerHTML = "&nbsp;&nbsp;[" + codesAnswer.length + "]";
					}
				}
			}
		}
	} else {
		if (code.checked == true) {
			codesAnswer[0] = findAnswer(parseInt(code.value));
		}
	}
	if (!document.getElementById) {
		return true;
	}
	var cls = clickedAnswer.holder.className;
	if (code.checked == true) {
		if (cls.indexOf("odincategory-checked") < 0) {
			clickedAnswer.holder.className = cls + " odincategory-checked";// + " ui-state-active";
		}
	} else {
		var re = new RegExp("odincategory-checked|ui-state-active", "g");
		clickedAnswer.holder.className = cls.replace(re, "");
	}
	if (performClick && performClick == "true") {
		if (code.checked == true) {
			if (code.className.indexOf("odincategorycheckmulti") >= 0) {
				deselectNmul();
			} else if (code.className.indexOf("odincategorychecknmul") >= 0 || code.className.indexOf("odincategorychecksingle") >= 0) {
				deselectAllExcept(code);
			}
			if (code.className.indexOf("odincategorycheckopen") >= 0) {
				clickedAnswer.openInput.focus();
			}
		}
	}
}
