function checkCategoryLevels(field) {
  for(i=0;i<field.options.length;i++) {
	  thisOption = field.options[i];
	  if (thisOption.selected && isSubCat(thisOption)) {
		  for(j=i-1;j>=0;j=j-1) {
			  if(!isSubCat(field.options[j])) {
				  field.options[j].selected = true;
					break;
				}
			}
		}
	}
}

function isSubCat(thisOption) {
  if (thisOption.text) {
	  optionString = escape(thisOption.text);
    return null != optionString.match(/^(%20|%A0)/);
	}
	else {
	  return false;
	}
}