    /*!
     * Ext JS Library 3.3.1
     * Copyright(c) 2006-2010 Sencha Inc.
     * licensing@sencha.com
     * http://www.sencha.com/license
     */
    /**
     * @class Ext.ux.grid.filter.BooleanFilter
     * @extends Ext.ux.grid.filter.Filter
     * Boolean filters use unique radio group IDs (so you can have more than one!)
     * Example Usage:
     *
    var filters = new Ext.ux.grid.GridFilters({
        ...
        filters: [{
            // required configs
            type: 'boolean',
            dataIndex: 'visible'

            // optional configs
            defaultValue: null, // leave unselected (false selected by default)
            yesText: 'Yes',     // default
            noText: 'No'        // default
        }]
    });
     *
     */
    Ext.ux.grid.filter.BooleanFilter = Ext.extend(Ext.ux.grid.filter.Filter, {
    	/**
    	 * @cfg {Boolean} defaultValue
    	 * Set this to null if you do not want either option to be checked by default. Defaults to false.
    	 */
    	defaultValue : false,
    	/**
    	 * @cfg {String} yesText
    	 * Defaults to 'Yes'.
    	 */
    	yesText : 'Yes',
    	/**
    	 * @cfg {String} noText
    	 * Defaults to 'No'.
    	 */
    	noText : 'No',

        /**
         * @private
         * Template method that is to initialize the filter and install required menu items.
         */
        init : function (config) {
            var gId = Ext.id();
    		this.options = [
    			new Ext.menu.CheckItem({text: this.yesText, group: gId, checked: this.defaultValue === true}),
    			new Ext.menu.CheckItem({text: this.noText, group: gId, checked: this.defaultValue === false})];

    		this.menu.add(this.options[0], this.options[1]);

    		for(var i=0; i/**
         * Template method that is to validate the provided Ext.data.Record
         * against the filters configuration.
         * @param {Ext.data.Record} record The record to validate
         * @return {Boolean} true if the record is valid within the bounds
         * of the filter, false otherwise.
         */
        validateRecord : function (record) {
    		return record.get(this.dataIndex) == this.getValue();
    	}
    });