function clearFilter(containerID) {
   var d = document.getElementById(containerID);
   var inp = d.getElementsByTagName("INPUT");
   for (i = 0; i < inp.length; i ++) {
       var t = inp[i].type.toLowerCase();
       if (t == "radio") inp[i].checked = false;
       else if (t == "checkbox") inp[i].checked = false;
       else if (t == "text") inp[i].value = "";
   }
   var txt = d.getElementsByTagName("TEXTAREA");
   for (i = 0; i < txt.length; i ++) {
       txt[i].value = "";
   }
   var sel = d.getElementsByTagName("SELECT");
   for (i = 0; i < sel.length; i ++) {
       sel[i].selectedIndex = 0;
   }
}

function toggleCheckBoxFilter(checkBoxContainerID, toggleLabel, expandStateID) {
   var expandState = document.getElementById(expandStateID);
   var d = document.getElementById(checkBoxContainerID);
   if (!d) return;
   var lbl = document.getElementById(toggleLabel).children[0].children[0];
   if (d.style.display == "none") {
       if (lbl) lbl.innerText = "Hide";
       d.style.display = "inline";
       if (expandState.value.indexOf(checkBoxContainerID) == -1)
       {
           if (expandState.value != "") expandState.value += "|";
           expandState.value += checkBoxContainerID;
       }
   } else {
       if (lbl) lbl.innerText = "Show";
       d.style.display = "none";
       var arr = expandState.value.split("|");
       expandState.value = "";
       for (i = 0; i < arr.length; i++) {
           if (arr[i] != checkBoxContainerID)
           {
               if (expandState.value != "") expandState.value += "|";
               expandState.value += arr[i];
           }
       }
   }
}