// Prototype Extensions - Checkbox
// Version:               0.1
// Documentation:         http://rafael.adm.br/prototype-extensions
// License:               http://creativecommons.org/licenses/by/2.5/
// Author:                Wagner Rodrigues
// Contributors:          Rafael Lima (http://rafael.adm.br)

var Checkbox = {
  toggleAll: function(form, name) {
	if(!this.getChecked(form, name).length)
		this.checkAll(form,name);
	else 
		this.uncheckAll(form,name);
  },

  toggleEach: function(form, name) {
	this.getAll(form,name).each(function (element){if(element.checked) {element.checked = false} else {element.checked = true}})
  },
 
  checkAll: function(form, name) {
	$(form).getInputs('checkbox', name).each(function(element){element.checked = true;});
  },

  uncheckAll: function(form, name) {
	$(form).getInputs('checkbox', name).each(function(element){element.checked = false;});
  },

  getAll: function(form, name) {
	return $(form).getInputs('checkbox', name);
  },
  
  getAllEnabled: function(form, name) {
	return $(form).getInputs('checkbox', name).findAll(function(element){return !element.disabled});
  },

  getChecked: function(form, name) {
	return $(form).getInputs('checkbox', name).findAll(function(element){return element.checked});
  },

  getUnchecked: function(form) {
	return $(form).getInputs('checkbox', name).findAll(function(element){return element.checked == false});
  }
}
