

        function mapreset() {
            var proj = new OpenLayers.Projection("EPSG:4326");
            var point = new OpenLayers.LonLat(13.42186,52.523533);
            map.setCenter(point.transform(proj, map.getProjectionObject()));
            map.zoomTo(12);
            }


        function init(){
            
//            if(locateAdditionally == 'no'){
                //document.getElementById('infopopup').style.display = "none";
                //document.getElementById('infopopup').style.visibility = "hide";
                //document.getElementById('sn_speichern').style.visibility = "hide";
                //document.getElementById('sn_speichern').style.display = "none";
//                }
//            else if(locateAdditionally == 'yes'){
            
//                }



            // basic map initialization
            // ##########################################################################################
            var options = {
                projection: new OpenLayers.Projection("EPSG:900913"),
                displayProjection: new OpenLayers.Projection("EPSG:4326"),
                units: "m",
                numZoomLevels: 20,
                maxResolution: 156543.0339,
                maxExtent: new OpenLayers.Bounds(1471508, 6847508, 1511508, 6967508)

            };
            map = new OpenLayers.Map('map', options);



            // Google layer definitions
            // ##########################################################################################
            var gmap = new OpenLayers.Layer.Google(
                " Google Streets",
                {'sphericalMercator': true}
            );
            var ghyb = new OpenLayers.Layer.Google(
                " Google Hybrid",
                {type: G_HYBRID_MAP, numZoomLevels: 20}
           );
            var gsat = new OpenLayers.Layer.Google(
                " Google Satellite",
                {type: G_SATELLITE_MAP, numZoomLevels: 22}
            );



            // kml layer
            // ##########################################################################################
//            var myGML = new OpenLayers.Layer.GML(" KML", "site/templates/doc.kml", {
//                format: OpenLayers.Format.KML,
//                internalProjection: map.getProjectionObject(),
//                externalProjection: map.displayProjection,
//                formatOptions: {
//                  extractStyles: true,
//                  extractAttributes: true,
//                  maxDepth: 5
//                },
//                projection: new OpenLayers.Projection("EPSG:4326")
//            });



            // vector layer
            // ##########################################################################################
            sketchSymbolizers2 = {
                "Point": {
                    pointRadius: 4,
                    graphicName: "square",
                    fillColor: "blue",
                    fillOpacity: 0.7,
                    strokeWidth: 1,
                    strokeOpacity: 1,
                    strokeColor: "#000000"
                },
                "Line": {
                    strokeWidth: 2,
                    strokeOpacity: 1,
                    strokeColor: "#0000FF"
                },
                "Polygon": {
                    strokeWidth: 1,
                    strokeOpacity: 1,
                    strokeColor: "#000000",
                    fillColor: "blue",
                    fillOpacity: 0.6
                }
            };
            sketchSymbolizers3 = {
                "Point": {
                    pointRadius: 4,
                    graphicName: "square",
                    fillColor: "red",
                    fillOpacity: 0.9,
                    strokeWidth: 1,
                    strokeOpacity: 1,
                    strokeColor: "#FF0000"
                },
                "Line": {
                    strokeWidth: 2,
                    strokeOpacity: 1,
                    strokeColor: "#FF0000"
                },
                "Polygon": {
                    strokeWidth: 1,
                    strokeOpacity: 1,
                    strokeColor: "#000000",
                    fillColor: "red",
                    fillOpacity: 0.6
                }
            };

            var style2 = new OpenLayers.Style();
            style2.addRules([
                new OpenLayers.Rule({symbolizer: this.sketchSymbolizers2})
            ]);
            var selStyle = new OpenLayers.Style();
            selStyle.addRules([
                new OpenLayers.Rule({symbolizer: this.sketchSymbolizers3})
            ]);

            var vectorStyleMap = new OpenLayers.StyleMap({
            	"default": style2,
                "select": selStyle
            	});


            vectors = new OpenLayers.Layer.Vector(" Editable Vectors", {styleMap: vectorStyleMap});



            // own editing toolbar
            // ##########################################################################################
            var panelControls = [
                new OpenLayers.Control.Navigation(),
                new OpenLayers.Control.DrawFeature(vectors, OpenLayers.Handler.Point, {'displayClass': 'olControlDrawFeaturePoint'})
            ];
            toolbar = new OpenLayers.Control.Panel({
              displayClass: 'olControlEditingToolbar',
              defaultControl: panelControls[0]
            });
            toolbar.addControls(panelControls);
            //map.addControl(toolbar);



            // baking...
            // ##########################################################################################
            //layers = [gmap, ghyb, gsat, myGML, vectors];
            layers = [gmap, ghyb, gsat, vectors];
            //layers = [gmap, vectors];
            map.addLayers(layers);

            //map.addControl(new OpenLayers.Control.EditingToolbar(vectors));
            map.addControl(new OpenLayers.Control.MousePosition());




            // 19. mouse over
            // ################################################################
            var optionsmo = {
                hover: false,
                onSelect: BObjectInfo
                };
            var select = new OpenLayers.Control.SelectFeature(vectors, optionsmo);
            map.addControl(select);
            select.activate();






            // placing map
            // ##########################################################################################
            var proj = new OpenLayers.Projection("EPSG:4326");
            var point = new OpenLayers.LonLat(13.42186,52.523533);
            map.setCenter(point.transform(proj, map.getProjectionObject()));
            map.zoomTo(12);



            updateFormats();
            var click = new OpenLayers.Control.Click();
            map.addControl(click);
            click.activate();
            init_polygonstring();



            // again IE c**p: to detect f**** IE8:
            if (document.documentMode) {
                map.zoomIn();
                map.zoomOut();
                }
                
                
            map.addControl(toolbar);
           
        }

