﻿Type.registerNamespace("PEAB.Base");

PEAB.Base.CheckBox = function(element) {
	this.click$delegate = Function.createDelegate(this, this.click);
	PEAB.Base.CheckBox.initializeBase(this, [element]);
}

PEAB.Base.CheckBox.prototype =
{
	initialize: function() {
		PEAB.Base.CheckBox.callBaseMethod(this, "initialize");
		$addHandler(this.get_element().parentNode, "click", this.click$delegate);
		var label = this.get_element().nextSibling ? this.get_element().nextSibling : this.get_element().previousSibling;
		label.removeAttribute("for");
	},

	dispose: function() {
		$removeHandler(this.get_element().parentNode, "click", this.click$delegate);
		PEAB.Base.CheckBox.callBaseMethod(this, "dispose");
	},

	click: function() {
		this.toggle();
	},

	toggle: function() {
		this.get_element().checked = !this.get_element().checked;
		Sys.UI.DomElement.toggleCssClass(this.get_element().parentNode, "checkBox-checked");
	}
}

PEAB.Base.CheckBox.registerClass("PEAB.Base.CheckBox", Sys.UI.Control);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();