/* 2005-01-23 Form specific routines */ 

function form_fToggleAll(elm, prefix) {
  // form_fToggle(checkbox, "item");

  var form = elm.form;
	var currVal = elm.checked;

  if (currVal)
    form_xSelectAll(form,prefix,true);
  else
    form_xSelectAll(form,prefix,false);
}

function form_fClearAll(elm) {

  var form=elm.form;
	var prefix = elm.name;
	var aelm=document.getElementById(prefix+"[_all]");
	if (!aelm) return;

	if (elm.checked) {
		var flag=1;
		for (var i=0, len=form.elements.length; i<len; i++) {
			var name = form.elements[i].name;
			if (name==prefix) {
					if (!form.elements[i].checked) flag=0;
			}
		}
		if (flag) aelm.checked=true;
	}
	else {
		aelm.checked=false;
	}
}

function form_fRefreshAll(elm) {

  if (!elm) return;
  var form=elm.form;
	var prefix = elm.name;
	var aelm=document.getElementById(prefix+"[_all]");
	if (!aelm) return;

	var flag=1;
	for (var i=0, len=form.elements.length; i<len; i++) {
		var name = form.elements[i].name;
		if (name==prefix) {
				if (!form.elements[i].checked) flag=0;
		}
	}
	aelm.checked=(flag)?true:false;
}

function form_xSelectAll(form,prefix,flag) {
  for (var i=0, len=form.elements.length; i<len; i++) {
    var name = form.elements[i].name;
    if (name.indexOf(prefix)>-1) {
        form.elements[i].checked=flag;
    }
  }
}

function form_SelectCount(form,prefix) {
  var cnt=0;
  for (var i=0, len=form.elements.length; i<len; i++) {
    var name = form.elements[i].name;
    if (name.indexOf(prefix)>-1) {
       if (form.elements[i].checked) cnt++;
    }
  }
	return cnt;
}


