Checkbox = new Class({
	Implements: [
		Events,
		Options
	],
	options: {
		transform: ''
	},
	initialize: function(options){
		this.setOptions(options);
		this.render();
	},
	render: function() {
		var that = this;
		this.element = $(this.options.transform).set({
			events: {
				click: function() {
					if (that.element.get('checked')) {
						that.overlay.addClass('Checked');
					}
					else {
						that.overlay.removeClass('Checked');
					}
				}
			},
			styles: {
				visibility: 'hidden'
			}
		}).addClass('Checkbox-Element');
		this.overlay = new Element('div', {
			events: {
				click: function() {
					if (!that.element.get('disabled')) {
						that.element.click();
					}
				}
			}//,
			//styles: {
				//position: 'absolute',
				//top: that.element.getPosition().y,
				//left: that.element.getPosition().x
			//}
		}).addClass('Checkbox-Overlay').inject(that.element, 'after');
		
		if (this.element.get('checked')) {
			this.overlay.addClass('Checked');
		}
		if (this.element.get('disabled')) {
			this.overlay.addClass('Disabled');
		}
	},
	toggle: function() {
		this.element.click();
	},
	disable: function() {
		this.element.set('disabled', true);
		this.overlay.addClass('Disabled');
	},
	enable: function() {
		this.element.set('disabled', false);
		this.overlay.removeClass('Disabled');
	}
});