<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>OpenStreetMap Embedded</title>
    <style type="text/css">
        html {
            width: 100%;
            height: 100%;
                }
        body {
            width: 100%;
            height: 100%;
            margin: 0px;
                }
        #map {
            width: 100%;
            height: 100%;
        }
        .olControlAttribution {
            bottom: 3px!important;
        }
    </style>
    <script src="http://openstreetmap.org/openlayers/OpenLayers.js" type="text/javascript"></script>
    <script src="http://openstreetmap.org/openlayers/OpenStreetMap.js" type="text/javascript"></script>
    <script type="text/javascript">
// <![CDATA[
        var map, layer;
        function init(){
            map = new OpenLayers.Map ("map", {
              controls: [
                  new OpenLayers.Control.Attribution(),
                  new OpenLayers.Control.Navigation()
              ],
              maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,
                                               20037508.34,20037508.34),
              numZoomLevels: 20,
              maxResolution: 156543.0339,
              displayProjection: new OpenLayers.Projection("EPSG:4326"),
              units: 'm',
              projection: new OpenLayers.Projection("EPSG:900913")
            });

            var attribution = 'Data by <a target="_parent" href="http://www.openstreetmap.org">OpenStreetMap</a>';
            var args = OpenLayers.Util.getParameters();
            if (!args.layer || args.layer == "mapnik") {
                var mapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik", {
                   displayOutsideMaxExtent: true,
                   wrapDateLine: true,
                   attribution: attribution
                });
                map.addLayer(mapnik);
            } else if (args.layer == "osmarender") {
                var osmarender = new OpenLayers.Layer.OSM.Osmarender("Osmarender", {
                   displayOutsideMaxExtent: true,
                   wrapDateLine: true,
                   attribution: attribution
                });
                map.addLayer(osmarender);
            } else if (args.layer == "cycle map") {
                var cyclemap = new OpenLayers.Layer.OSM.CycleMap("Cycle Map", {
                   displayOutsideMaxExtent: true,
                   wrapDateLine: true,
                   attribution: attribution
                });
                map.addLayer(cyclemap);
            }

            if (args.marker) {
                var markers = new OpenLayers.Layer.Markers();
                map.addLayer(markers);
                markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(args.marker[1], args.marker[0]).transform(map.displayProjection, map.getProjectionObject())));
                map.marker = true;
            }

            if (args.bbox) {
                var bounds = OpenLayers.Bounds.fromArray(args.bbox).transform(map.displayProjection, map.getProjectionObject());
                map.zoomToExtent(bounds)
            } else {
                map.zoomToMaxExtent();
            }

            var size = map.getSize();
            if (size.h > 320) {
                map.addControl(new OpenLayers.Control.PanZoomBar());
            } else {
                map.addControl(new OpenLayers.Control.PanZoom());
            }
        }
// ]]>
    </script>
  </head>

  <body onload="init()">
    <div id="map"></div>
  </body>
</html>