function helloRows () {
  
  var selInd2 = document.theForm.area.selectedIndex;
  var classRows = document.getElementsByTagName("tr");
  var sortValue = document.theForm.area.options[selInd2].value;

					<!------------------------------------sorting by area begins------------------------------------>
					
  for (var i=0; i < classRows.length; i++) {
	var whatIsThere = classRows[i].className;
	var correctValue=whatIsThere.search(sortValue);
	var isHidden=whatIsThere.search("hidden");
	var headerRow=whatIsThere.search("header_row");
	var sortRow=whatIsThere.search("sort_filter");
	if (headerRow != -1 || sortRow != -1) {      // check to see if it is a header row
		classRows[i].className = whatIsThere;
	}
	else { 
		if (correctValue > -1 && isHidden > -1) {  // if not a header row, check to see if it is the correct area and hidden
			var myClasses = whatIsThere.split(" ");
			var bob=myClasses.length;
			var newValue="";
			for (var j=0; j < myClasses.length-1; j++) {
				newValue = newValue + myClasses[j] + " "; // remove hidden class, making row visible
			}
			classRows[i].className = newValue;
			whatIsThere = classRows[i].className;
		}
		else if (correctValue == -1 && isHidden == -1) {  // if it is not the correct area and it is visible, then hide it
			classRows[i].className = classRows[i].className + " " + "hidden";
			whatIsThere = classRows[i].className;
		}
		else {  //incorrect area and hidden, leave the row the way it is, all correct areas rows now visible
			classRows[i].className = whatIsThere;
		}
	}
					<!------------------------------------sorting by area ends------------------------------------>
					
					<!------------------------------------filtering by term begins------------------------------------>
					
	isHidden = whatIsThere.search("hidden"); // new check to see if row is hidden
	var myClassesNew = whatIsThere.split(" ");
	if (isHidden == -1 && headerRow == -1) {  // if row is visible and not a header row
		var someChecked = false;
		var rowVisible = false;
		for (var k=0; k < document.theForm.classterm.length; k++){ //check to see if any box is checked
			var box = eval("document.theForm.classterm[k]");
			if (box.checked == true) { 
				someChecked = true; 
			}
		}
		if (someChecked == false) { // if no boxes checked, keep the row exactly the same
			classRows[i].className = whatIsThere;
		}
		if (someChecked == true) {
			for (var m=0; m < document.theForm.classterm.length; m++){ // if box is checked and value is contained in the row, keep row visible
				var box2 = eval("document.theForm.classterm[m]");
				if (box2.checked == true) { 
					for (var n=0; n < myClassesNew.length; n++) {
						if (document.theForm.classterm[m].value == myClassesNew[n]) {
							rowVisible=true;
						}
					}
				}
			}
			if (rowVisible == false) {  //if no checked box matches class, hide row	
				classRows[i].className = classRows[i].className + " " + "hidden"; 
			}	
		}
	}
					<!------------------------------------filtering by term ends------------------------------------>
   }
}