/*
Fixed Fieldset checkboxToggle setValue Code
http://extjs.com/forum/showthread.php?t=15516&highlight=fieldset+checkbox
*/
Ext.namespace("Ext.ux.form");
Ext.ux.form.FieldSet = Ext.extend(Ext.form.FieldSet, {
    initComponent: function() {
        Ext.ux.form.FieldSet.superclass.initComponent.call(this);
        if (this.checkboxToggle && this.checkboxName) {
            this.hiddenCheckboxValue = new Ext.ux.form.FieldSetHiddenCheckboxValue({
                name: this.checkboxName
            });
            this.hiddenCheckboxValue.on('valuechange', function(field, value) {
                if (value=='0' || !value) {
                    this.collapse();
                } else {
                    this.expand();
                }
            }, this);
            this.add(this.hiddenCheckboxValue);
            delete this.checkboxName;
        }
        //Ext.ux.form.FieldSet.superclass.initComponent.call(this);
    },
    onCheckClick : function() {
        this.hiddenCheckboxValue.setValue(this.checkbox.dom.checked ? '1' : '0');
    }
});

Ext.ux.form.FieldSetHiddenCheckboxValue = Ext.extend(Ext.form.Hidden, {
    initComponent: function() {
        this.addEvents({
            'valuechange': true
        });
        Ext.ux.form.FieldSetHiddenCheckboxValue.superclass.initComponent.call(this);
    },
    setValue : function(v) {
        Ext.ux.form.FieldSetHiddenCheckboxValue.superclass.setValue.call(this, v);
        this.fireEvent('valuechange', this, v);
    }
});

Ext.reg('uxfieldset', Ext.ux.form.FieldSet);