var Counties = function(){
  	var countyLoader;
    var countyList;
    var qualifiedColors;
    var infoTableHTML, infoTableTemplate;
    var searchURL;
    var zoomLevels = [];
    
    return{
        
            init: function(){
                 countyLoader = new Ext.data.JsonStore({
                                             url: 'findByBounds.m',
                                           fields: ['county_id', 'county', 'non_metro', 'encodedPoints', 'encodedLevels']
                         });
                     //census tracts
                 countyList = new Ext.util.MixedCollection(
                                                      false,
                                                      function(obj){
                                                            return obj.id;
                                                      });
                                                                         
                 qualifiedColors= ["#ffb500", "#ff0000"];
                 searchURL= 'data.m';

                 infoTableHTML = '<table>' +
                                                '<tr><td>County:</td><td>{county}</td></tr>' +
                                                '<tr><td>State:</td><td>{state}</td></tr>' +
                                                '<tr><td>MSA:</td><td>{msa}</td></tr>' +
                                                '<tr><td>Type:</td><td>{non_metro}</td></tr>' +
                                            '</table>';
                
                infoTableTemplate = new Ext.DomHelper.Template(infoTableHTML);
                infoTableTemplate.compile();
                 
               },
		
		     getZoomLevels: function(){
		              return{
  		                  minZoom      : 8,
		                  normalZoom : 9,
		                  maxZoom     : 13 
		              }
		     },
		     
             getQualifiedColors: function(){
                    return  qualifiedColors;
             },
       
             getSearchURL: function(){
                  return searchURL;
              },
              
             getLoader: function(){
                return  countyLoader;
              },
              
            getInfoWindowText: function(countyTxt){           
                     var obj = Ext.util.JSON.decode(countyTxt);
                     return infoTableTemplate.applyTemplate(obj );
            }
    }
}