OpenLayers WFS with OpenLayers.StrategyFilter and Filter Logical

HTML

<script src="http://cdnjs.cloudflare.com/ajax/libs/openlayers/2.11/OpenLayers.js"></script>
<body onload="init()">
    <p>OpenLayers WFS with OpenLayers.StrategyFilter and Filter Logical <br/>
    OpenLayers.Filter.Comparison, OpenLayers.Filter.Logical, OpenLayers.Filter.Comparison.IS_NULL</p>
    <div id="button1">Click to filter layer</div>Features before filtering: 
    <span id="before">xx</span> 
    <br />Features after filtering: <span id="after">xx</span>
    <br />
    <div id="map"></div>
</body>

CSS

#map {
    width: 100%;
    height: 400px;
}
#button1 {
    width:150px;
    background: yellow;
    border:1px solid red;
}

JavaScript

var map;
var layer, wms, filterStrategy;

function init() {
    map = new OpenLayers.Map('map');
    wms = new OpenLayers.Layer.WMS(
        "OpenLayers WMS", "http://localhost:8080/geoserver/nfs/wms", {
        layers: 'basic'
    });


    filterStrategy = new OpenLayers.Strategy.Filter();
    console.log(filterStrategy);
    
    

    OpenLayers.Request.GET({
        url: 'http://localhost:8080/geoserver/nfs/wms',
        params: {
            service: 'WFS',
            version: '1.0.0',
            request: 'GetFeature',
            typeName: 'ne_10m_populated_places',
            featureNS: "http://openstreemap.org",
            bbox: '137.9109375,-54.98359375,155.4890625,-28.61640625'
           
        },
        
        success: function (response) {
            var gmlReader = new OpenLayers.Format.GML({
                extractAttributes: true
            });
            var features = gmlReader.read(response.responseText);
            layer.addFeatures(features);

        }
    });


}





function updateFilter(station_id) {
    document.getElementById("before").innerHTML = map.layers[1].features.length;

    
    var attribute = "MAX_POP50";
    
    
    
   var filter_featureclass= new OpenLayers.Filter.Comparison({
        type: OpenLayers.Filter.Comparison.EQUAL_TO,
        property: "FEATURECLA",
        value: 'Populated place' });
    
    var filter_zero = new OpenLayers.Filter.Comparison({
        type: OpenLayers.Filter.Comparison.EQUAL_TO,
        property: attribute,
        value: 0
    });

    var filter_null = new OpenLayers.Filter.Comparison({
        type: OpenLayers.Filter.Comparison.IS_NULL,
        property: attribute
    });
    

	 var filter_not_null= new OpenLayers.Filter.Logical({
	            type: OpenLayers.Filter.Logical.NOT,
	            filters: [filter_null]
	        });

    var parent_type_filter = new OpenLayers.Filter.Logical({
        type: OpenLayers.Filter.Logical.OR,
        filters: [filter_zero,...