function setAllChecked(index, checked)
{
  var sub_categories = main_categories[index];
  for (i = 0; i < sub_categories.length; i++)
  {
    var checkbox = document.getElementById('job_sub_category_' + sub_categories[i]);
    checkbox.checked = checked;
  }

  new Ajax.Updater('job_results', '/jobs', {asynchronous:true, evalScripts:true, method:'post', parameters: Form.serialize('searchform')});
}

function onCheckboxClicked(main_index, sub_index, checked)
{
  if(checked)
  {
    var sub_categories = main_categories[main_index];
    checkedCount = 0;
    for (; checkedCount < sub_categories.length; checkedCount++)
    {
      var checkbox = document.getElementById('job_sub_category_' + sub_categories[checkedCount]);
      if (!checkbox.checked)
        return;
    }
    if (checkedCount == sub_categories.length)
    {
      var checkbox = document.getElementById('job_main_category_' + main_index);
      checkbox.checked = true;
    }
  }
  else
  {
    var checkbox = document.getElementById('job_main_category_' + main_index);
    checkbox.checked = false;
  }
  
  new Ajax.Updater('job_results', '/jobs', {asynchronous:true, evalScripts:true, method:'post', parameters: Form.serialize('searchform')});
  //document.forms[0].submit();
}
