$(function() {
    BemsWebApplication.Facility.setupMultiViewInPopup = function(viewModel, selectedFacility, multiViewDataSource) {
        "use strict";

        var facilityFactory = BemsWebApplication.Factory.Facility,
            dataViewModel = new BemsWebApplication.CmFacilityViewModel(),
            datagrid = null;

        var dataSource = BWA.DataUtil.createDataSource({
            dataSourceOptions: facilityFactory.getDataSourceForDataGrid()
        }, 'CmFacility');

        var dataGridOptions = utils.datagrid.defaultOptions({
            dxDataSource: dataSource,
            selectedSourceItem: dataViewModel,
            datagridId: 'childFacilitiesDataGrid',
            dbId: 'CmFacility',
            height: 480,

            handleDataGridRowClick: function() {

            },

            contentReadyAction: function(e) {
            },

            columns: facilityFactory.getColumns([
                { dataField: 'ClassName', width: '25%' },
                { dataField: 'Name', width: '30%' },
                { dataField: 'ManufactureModel', width: '15%' },
                { dataField: 'Location', width: '30%' }
            ]),
            wordWrapEnabled: true,
            cellPrepared: BemsWebApplication.Factory.Facility.cellPrepared,
        });

        //function load() {
        //    //var f = BWA.DataUtil.makeEqualArrayForFilter;
        //    //datagrid.filter([
        //    //    f('SiteId', selectedFacility().SiteId()),
        //    //    'and',
        //    //    f('ParentFacilityCode', selectedFacility().FacilityCode())
        //    //]);        
        //}

        selectedFacility.subscribe(function(item) {
            if (_.has(item, 'SiteId') === false ||
                _.has(item, 'FacilityCode') === false) {
                return;
            }

            var eq = BWA.DataUtil.constructEqualFilter;
            $('#childFacilitiesDataGrid').dxDataGrid('instance').filter([
                eq('SiteId', item.SiteId()),
                'and',
                eq('ParentFacilityCode', item.FacilityCode())
            ]);

        });

        multiViewDataSource.push({
            viewModel: viewModel,
            dataGridOptions: dataGridOptions,
            template: 'childFacilities'
        });

        return {
            //      load: load

        }
    };
});