var styleMapBW;

function set_styleMapBW()
{
    var myStyleProperties = {
        pointRadius : 36,
        label      : "${BWLABEL}",
        fontSize   : "12px",
        fontFamily : "Arial",
        fontWeight : "bold",
        fontColor  : "yellow",
        labelOffsetX : "44",
        labelOffsetY : "-50",
        labelAlign : "cm"
    }

    var imgPath = "http://gis.ibbeck.de/ginfo/apps/Wuppertal/htdocs/Nordbahntrasse/";

    // prepare to style the data
    styleMapBW = new OpenLayers.StyleMap({
        strokeColor: "black",
        strokeWidth: 2,
        strokeOpacity: 0.5,
        fillOpacity: 1.0
    });
    var kategorie = {};
    kategorie["EÜ"]             = OpenLayers.Util.applyDefaults({ labelOffsetX : "${LOX}", labelOffsetY : "${LOY}", externalGraphic:imgPath + "img/bubble_${POS}_green.gif",     graphicXOffset:"${GOX}", graphicYOffset:"${GOY}" }, myStyleProperties);
    kategorie["Durchlass"]      = OpenLayers.Util.applyDefaults({ labelOffsetX : "${LOX}", labelOffsetY : "${LOY}", externalGraphic:imgPath + "img/bubble_${POS}_grey.gif",      graphicXOffset:"${GOX}", graphicYOffset:"${GOY}" }, myStyleProperties);
    kategorie["Prallwand"]      = OpenLayers.Util.applyDefaults({ labelOffsetX : "${LOX}", labelOffsetY : "${LOY}", externalGraphic:imgPath + "img/bubble_${POS}_grey.gif",      graphicXOffset:"${GOX}", graphicYOffset:"${GOY}" }, myStyleProperties);
    kategorie["Kaskade"]        = OpenLayers.Util.applyDefaults({ labelOffsetX : "${LOX}", labelOffsetY : "${LOY}", externalGraphic:imgPath + "img/bubble_${POS}_grey.gif",      graphicXOffset:"${GOX}", graphicYOffset:"${GOY}" }, myStyleProperties);
    kategorie["Personentunnel"] = OpenLayers.Util.applyDefaults({ labelOffsetX : "${LOX}", labelOffsetY : "${LOY}", externalGraphic:imgPath + "img/bubble_${POS}_grey.gif",      graphicXOffset:"${GOX}", graphicYOffset:"${GOY}" }, myStyleProperties);
    kategorie["Treppenanlage"]  = OpenLayers.Util.applyDefaults({ labelOffsetX : "${LOX}", labelOffsetY : "${LOY}", externalGraphic:imgPath + "img/bubble_${POS}_grey.gif",      graphicXOffset:"${GOX}", graphicYOffset:"${GOY}" }, myStyleProperties);
    kategorie["Schachtgebäude"] = OpenLayers.Util.applyDefaults({ labelOffsetX : "${LOX}", labelOffsetY : "${LOY}", externalGraphic:imgPath + "img/bubble_${POS}_grey.gif",      graphicXOffset:"${GOX}", graphicYOffset:"${GOY}" }, myStyleProperties);
    kategorie["Stützwand"]      = OpenLayers.Util.applyDefaults({ labelOffsetX : "${LOX}", labelOffsetY : "${LOY}", externalGraphic:imgPath + "img/bubble_${POS}_orange.gif",    graphicXOffset:"${GOX}", graphicYOffset:"${GOY}" }, myStyleProperties);
    kategorie["Tunnel"]         = OpenLayers.Util.applyDefaults({ labelOffsetX : "${LOX}", labelOffsetY : "${LOY}", externalGraphic:imgPath + "img/bubble_${POS}_lila.gif",      graphicXOffset:"${GOX}", graphicYOffset:"${GOY}" }, myStyleProperties);
    kategorie["SÜ"]             = OpenLayers.Util.applyDefaults({ labelOffsetX : "${LOX}", labelOffsetY : "${LOY}", externalGraphic:imgPath + "img/bubble_${POS}_blue.gif",      graphicXOffset:"${GOX}", graphicYOffset:"${GOY}" }, myStyleProperties);
    kategorie["Viadukt"]        = OpenLayers.Util.applyDefaults({ labelOffsetX : "${LOX}", labelOffsetY : "${LOY}", externalGraphic:imgPath + "img/bubble_${POS}_lightblue.gif", graphicXOffset:"${GOX}", graphicYOffset:"${GOY}" }, myStyleProperties);
    kategorie["Bahnsteigdach"]  = OpenLayers.Util.applyDefaults({ labelOffsetX : "${LOX}", labelOffsetY : "${LOY}", externalGraphic:imgPath + "img/bubble_${POS}_lightred.gif",  graphicXOffset:"${GOX}", graphicYOffset:"${GOY}" }, myStyleProperties);
    kategorie["Bahnsteigzugang"]= OpenLayers.Util.applyDefaults({ labelOffsetX : "${LOX}", labelOffsetY : "${LOY}", externalGraphic:imgPath + "img/bubble_${POS}_lightred.gif",  graphicXOffset:"${GOX}", graphicYOffset:"${GOY}" }, myStyleProperties);
    kategorie["Bahnsteig"]      = OpenLayers.Util.applyDefaults({ labelOffsetX : "${LOX}", labelOffsetY : "${LOY}", externalGraphic:imgPath + "img/bubble_${POS}_lightred.gif",  graphicXOffset:"${GOX}", graphicYOffset:"${GOY}" }, myStyleProperties);

    // add unique value rules with your color lookup
    styleMapBW.addUniqueValueRules("default", "BWART", kategorie);


    var rules = [new OpenLayers.Rule({
    symbolizer: OpenLayers.Util.applyDefaults({ externalGraphic:imgPath + "img/bubble_${POS}_red.gif",      graphicXOffset:0, graphicYOffset:-4 }, myStyleProperties),
    elseFilter: true
    })];
    styleMapBW.styles["default"].addRules(rules);

}

set_styleMapBW();

var serverObj = { server:
[
  {
      "title": "WFS BW Nordbahntrasse",
      "url": "http://gis.ibbeck.de/ginfo/apps/planwerk/bwnordbahntrasse.asp",
      "mapfile": "",
      "params": [
          {
              "typename": "BWDATA",
              "SERVICE": "WFS",
              "VERSION": "1.0.0",
              "REQUEST": "GetFeature"
          },
          {
              "typename": "BWDATA",
              "maxfeatures": 100,
              "extractAttributes": true,
              "projection": "EPSG:31466"
          }
      ],
      "options": {
          "typename": "BWDATA",
          "maxfeatures": 100,
          "extractAttributes": true,
          "minScale": 4000,
          "maxScale": 500,
          "isBaseLayer": false,
          "isVisible": true,
          "buffer": 1,
          "opacity": 1,
          "displayOutsideMaxExtent": true
      },
      "vendor": {
          "sid": "lyrWFS_982",
          "service": "WFS",
          "aktlayers": "BWDATA",
          "aktqlayers": "",
          "styleMap": "styleMapBW",
          "lyrNames": ["BWDATA"],
          "lyrTitles": ["BWDATA"],
          "lyrVisible": [1],
          "lyrQueryable": [0],
          "lyrQChecked": [0]
      }
  }
]
};

function setLocalUrl(Url)
{
    var adres = window.location["protocol"] + "//" + window.location["host"];

    if(adres == Url.substr(0,adres.length))
    {   console.log(Url.substr(adres.length));
        Url = Url.substr(adres.length);
    }

    return(Url);
}

function addWFS(obj)
{   obj["url"] = setLocalUrl(obj["url"]);
    var lyr = new OpenLayers.Layer.WFS(obj["title"], obj["url"], obj["params"][0], obj["params"][1] );

    lyr.vendor  = obj["vendor"];
    lyr.options = obj["options"];
    lyr.setVisibility(lyr.options.isVisible);
    map.addLayer(lyr);

    if(obj["vendor"]["styleMap"])
    {
        lyr.styleMap = eval(obj["vendor"]["styleMap"]);
        lyr.refresh();
    }
    wfsBWDATA = lyr;
}

