function selectAll(id)
{
  var parent = document.getElementById('parent_' + id);
  var elements = document.getElementsByName('module_' + id + '[]');
  var i = 0;
  if (elements && parent)
  {
    if (parent.checked)
    {
      for (i = 0; i < elements.length; i++)
      {
        if (!elements[i].checked)
        {
          elements[i].checked = true;
        }
      }
    }
    else
    {
      for (i = 0; i < elements.length; i++)
      {
        if (elements[i].checked)
        {
          elements[i].checked = false;
        }
      }
    }
  }

  return 0;
}

function selectOne(parent_id)
{
  var parent = document.getElementById('parent_' + parent_id);
  var elements = document.getElementsByName('module_' + parent_id + '[]');
  
  var i = 0;
  var counter = 0;
  
  if (elements && parent)
  {
    var length = elements.length;
    
    for (i = 0; i < length; i++)
    {
      if (elements[i].checked)
      {
        counter++;
      }
    }
    
    if (length == counter)
    {
      parent.checked = true;
    }
    else
    {
      parent.checked = false;
    }
  }

  return 0;
}
