function createOpenLayersMap(id) {

    // The Map and TileCache Extent
    var bounds = new OpenLayers.Bounds(1048974, 473455, 1453419, 798937);

    // Create the OpenLayers Map
    var openLayersMap = new OpenLayers.Map(id, {
        projection: 'EPSG:2927',
        maxExtent: bounds,
        maxResolution: 1200,
        units: 'ft',
        numZoomLevels: 9,
        controls: []
    });

    // Add the TileCached Basemap
    var basemap = new OpenLayers.Layer.TileCache("Basemap", "http://matterhorn9.co.pierce.wa.us/tilecache_new/", "pc_basemap", {
        projection: 'EPSG:2927',
        units: 'ft',
        maxResolution: 1200,
        maxExtent: bounds,
        numZoomLevels: 9,
        size: 512
    });
    openLayersMap.setBaseLayer(basemap);
    openLayersMap.addLayer(basemap);

    // Add controls
    openLayersMap.addControl(new OpenLayers.Control.Navigation());
    openLayersMap.addControl(new OpenLayers.Control.PanZoomBar());
    openLayersMap.addControl(new OpenLayers.Control.MousePosition());
    openLayersMap.addControl(new OpenLayers.Control.KeyboardDefaults());
    openLayersMap.addControl(new OpenLayers.Control.ScaleLine());

    // Zoom the map extent (initially)
    if (!openLayersMap.getCenter()) {
        openLayersMap.zoomToMaxExtent();
    }

    return openLayersMap;
}

function createBufferStyle() {
    var styleMap = new OpenLayers.StyleMap(OpenLayers.Util.applyDefaults(
    {
        fillColor: "#ff0000",
        fillOpacity: 0.3,
        strokeColor: "#ff0000",
        strokeWidth: 14,
        strokeDashstyle: "solid"
    }, OpenLayers.Feature.Vector.style["default"]));
    return styleMap;
}

function createBufferStyleGreen() {
    var styleMap = new OpenLayers.StyleMap(OpenLayers.Util.applyDefaults(
    {
        fillColor: "#00ff00",
        fillOpacity: 0.3,
        strokeColor: "#00ff00",
        strokeWidth: 14,
        strokeDashstyle: "solid"
    }, OpenLayers.Feature.Vector.style["default"]));
    return styleMap;
}


function createLocatorStyle() {
    var styleMap = new OpenLayers.StyleMap(OpenLayers.Util.applyDefaults(
    {
        fillColor: "#ff0000",
        fillOpacity: 0.3,
        strokeColor: "#ff0000",
        strokeWidth: 6,
        strokeDashstyle: "solid"
    }, OpenLayers.Feature.Vector.style["default"]));
    return styleMap;
}

function createPolygonStyle() {
    var styleMap = new OpenLayers.StyleMap(OpenLayers.Util.applyDefaults(
    {
        fillColor: "#00ff00",
        fillOpacity: 0.5,
        strokeColor: "#00ff00",
        strokeWidth: 4,
        strokeDashstyle: "solid"
    }, OpenLayers.Feature.Vector.style["default"]));
    return styleMap;
}