// dom, 2004-07-23
// Dis- oder Enabled eine Gruppe von Objekten, die als Array übergeben werden
function disableChkGroup(toForm, tasChkIds, tfDisable)
{
  // kleiner Sicherheitscheck
  if (typeof(toForm) == 'undefined' || typeof(tasChkIds) == 'undefined')  return;
  if (typeof(tasChkIds.length) == 'undefined' || tasChkIds.length < 1)  return;
  if (typeof(tfDisable) == 'undefined') tfDisable = true;
  
  // Sicherheitshalber tfDisable in Boolean umformen
  tfDisable = (tfDisable == true);
  
  // alle Einträge in tasChkIds durchlaufen
  var t;
  for(t=0; t < tasChkIds.length; t++)
  {
    o = eval('toForm.' + tasChkIds[t]);
    if (typeof(o) != 'undefined')   o.disabled = tfDisable;
  }
}

// dom, 2004-07-23
// Selektiert oder Deselektiert eine Gruppe von Checkboxen/Radiobuttons, die als Array übergeben werden.
// Sinnvollerweiste sollten die Arrays als var ... = new Array() vorher definiert werden.
// Parameter:
// - toForm             Referenz auf die aktuelle Form (in der Regel this.form oder 
//                      document.forms['FormName'])
// - tasChkIds          num. Array mit IDs der Checkboxen-Gruppe
// - [tfCheck]          (optional) true (default) für anwählen / false für abwählen
// - [tfJumpDisabled]   (optional) bei true (default) werden gesperrte (disabled) Checkboxen übersprungen
function selectChkGroup(toForm, tasChkIds, tfCheck, tfJumpDisabled)
{
  // kleiner Sicherheitscheck
  if (typeof(toForm) == 'undefined' || typeof(tasChkIds) == 'undefined')  return;
  if (typeof(tasChkIds.length) == 'undefined' || tasChkIds.length < 1)  return;

  // Defaultwerte setzen
  if (typeof(tfCheck) == 'undefined') tfCheck = true;
  if (typeof(tfJumpDisabled) == 'undefined') tfJumpDisabled = true;

  // Sicherheitshalber tfDisable in Boolean umformen
  tfCheck = (tfCheck == true);
  
  // alle Einträge in tasChkIds durchlaufen
  var t, o;
  for(t=0; t < tasChkIds.length; t++)
  {
    o = eval('toForm.' + tasChkIds[t]);
    if (typeof(o) != 'undefined' && !tfJumpDisabled || o.disabled != true)
        o.checked = tfCheck;
  }
}


// dom, 2005-05-16
// Diese Funktion überprüft, ob alle Mitglieder einer Checkbox-Gruppe angewählt sind
// und selektiert dann den Parent. Falls nur eine Checkbox nicht angewählt ist, wird
// die Parent-Checkbox abgewählt.
// Sinnvollerweiste sollten die Arrays als var ... = new Array() vorher definiert werden.
// - toForm             Referenz auf die aktuelle Form (in der Regel this.form oder 
//                      document.forms['FormName'])
// - toParent           (object) Referenz auf Parent-Objekt (z.B. this.form.chkParent) oder
//                      (string) ParentId (z.B. 'chkParent')
// - tasChkIds          num. Array mit IDs der Checkboxen-Gruppe
function selectChkParent(toForm, toParent, tasChkIds)
{
  // kleiner Sicherheitscheck
  if (typeof(toForm) == 'undefined' || typeof(tasChkIds) == 'undefined')  return;
  if (typeof(tasChkIds.length) == 'undefined' || tasChkIds.length < 1)  return;
  
  // ggf. toParent suchen bzw. zurück bei Fehlern
  if (typeof(toParent) == 'string')     toParent = eval('toForm.' + toParent);
  if (typeof(toParent) == 'undefined')  return;
  
  // alle Einträge in tasChkIds durchlaufen
  var t, o, fAllChecked = true;
  for(t=0; t < tasChkIds.length; t++)
  {
    o = eval('toForm.' + tasChkIds[t]);
    if (typeof(o) != 'undefined' && !o.checked)
    {
      fAllChecked = false;
      break;
    }
  }

  // ggf. Parent an- oder abwählen
  if (fAllChecked && !toParent.checked)       toParent.checked = true;
  else if (!fAllChecked && toParent.checked)  toParent.checked = false;
}