var map, layer;

function init(){
    var options = {
                  projection: new OpenLayers.Projection("EPSG:900913"),
                  units: "m",
                  maxResolution: 156543.0339,
                  restrictedExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34,
                                                     20037508.34, 20037508.34),
                  maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34,
                                                   20037508.34, 20037508.34),
                  numZoomLevels: 19,
                  controls: [],
                  displayProjection: new OpenLayers.Projection("EPSG:4326")
              };
    
    
    var lon = 8.19884;
    var lat = 53.1495;
    var zoom = 7;
    
    var tms_hosts = ["http://a.osm.omniscale.net/proxy/tiles/",
                     "http://b.osm.omniscale.net/proxy/tiles/"];
    
    var osm_copyright = '&copy; 2010 <a href="http://omniscale.de">Omniscale</a>, '
                        + 'Map Data: <a href="http://openstreetmap.org">OpenStreetMap</a> Contributors, '
                        + 'License: <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-SA-BY</a>';

    map = new OpenLayers.Map( 'map', options );
    var osm_tms = new OpenLayers.Layer.TMS( "OpenStreetMap (TMS)", tms_hosts,
            {layername: 'osm_EPSG900913', type:'png', buffer:1,
             attribution: osm_copyright});
    
    var osm_wms = new OpenLayers.Layer.WMS("OpenStreetMap (WMS)",
            ["http://osm.omniscale.net/proxy/service?"],
            {layers: 'osm', format: 'image/png', "sphericalMercator": true}, {singleTile: true, ratio: 1});
    
    map.addLayer(osm_wms);
    map.addLayer(osm_tms);
    
    map.addControl(new OpenLayers.Control.Navigation());
    map.addControl(new OpenLayers.Control.PanZoom());
    map.addControl(new OpenLayers.Control.LayerSwitcher());
    map.addControl(new OpenLayers.Control.Attribution(
      {div: OpenLayers.Util.getElement('attribution')}));
  
    if (!map.getCenter()) {
      var lonlat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
      map.setCenter(lonlat, zoom);
    }
}

